@ahmetilhn/hanui 3.3.1 → 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.d.ts CHANGED
@@ -49,10 +49,7 @@ export declare type AlertTone = 'info' | 'success' | 'warning' | 'danger';
49
49
  /** Duyurunun aciliyeti. */
50
50
  export declare type AnnouncePoliteness = 'polite' | 'assertive';
51
51
 
52
- /**
53
- * Ezmeleri belgeye yazar. Aynı `<style>` etiketi tekrar kullanılır: her
54
- * çağrıda yeni bir etiket eklemek, birbirini ezen onlarca blok bırakıyordu.
55
- */
52
+ /** Ezmeleri belgeye yazar. */
56
53
  export declare const applyThemeConfig: (config: HanuiThemeConfig | undefined) => void;
57
54
 
58
55
  export declare const Avatar: typeof Avatar_2;
@@ -102,13 +99,9 @@ declare type BaseProps_2 = {
102
99
 
103
100
  declare type BaseProps_3 = {
104
101
  isOpen: boolean;
105
- /** Vazgeçme ve perde/Escape kapanışı. Başarı kapanışını bileşen kendisi yapar. */
102
+ /** Vazgeçme ve perde/Escape kapanışı. */
106
103
  onClose: () => void;
107
- /**
108
- * Girilen değerle çalışır (değer kırpılmış gönderilir). Reddederse pencere
109
- * AÇIK kalır ve metin korunur; hata bildirimi çağıranın işi — bildirimi
110
- * gösterip hatayı yeniden fırlatın ya da hiç yakalamayın.
111
- */
104
+ /** Girilen değerle çalışır (değer kırpılmış gönderilir). */
112
105
  onSubmit: (value: string) => void | Promise<void>;
113
106
  title: string;
114
107
  /** Girdi alanının etiketi. */
@@ -117,18 +110,14 @@ declare type BaseProps_3 = {
117
110
  submitLabel?: string;
118
111
  /** Verilmezse `labels.cancel`. */
119
112
  cancelLabel?: string;
120
- /** Kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
113
+ /** Kapatma düğmesinin erişilebilir adı. */
121
114
  closeLabel?: string;
122
115
  /** Başlığın altındaki bir cümlelik bağlam. */
123
116
  description?: ReactNode;
124
117
  hint?: string;
125
118
  placeholder?: string;
126
119
  defaultValue?: string;
127
- /**
128
- * `text` tek satır, `multiline` gerekçe gibi uzun metin, `number` adet/fark
129
- * gibi sayılar. Değer her durumda dize döner; ayrıştırmak çağıranın işi
130
- * (bir stok farkı `-5` gibi işaretli olabiliyor).
131
- */
120
+ /** `text` tek satır, `multiline` gerekçe gibi uzun metin, `number` adet/fark gibi sayılar. */
132
121
  inputMode?: 'text' | 'multiline' | 'number';
133
122
  maxLength?: number;
134
123
  rows?: number;
@@ -137,20 +126,17 @@ declare type BaseProps_3 = {
137
126
  declare type BaseProps_4 = {
138
127
  page: number;
139
128
  totalPages: number;
140
- /** Gezinme bölgesinin erişilebilir adı. Verilmezse `labels.pagination.label`. */
129
+ /** Gezinme bölgesinin erişilebilir adı. */
141
130
  label?: string;
142
131
  /** Verilmezse `labels.pagination.previous`. */
143
132
  previousLabel?: string;
144
133
  /** Verilmezse `labels.pagination.next`. */
145
134
  nextLabel?: string;
146
- /**
147
- * Sayfa değiştiğinde ekran okuyucuya duyurulacak metin
148
- * ("3. sayfa · 1.248 sonuç").
149
- */
135
+ /** Sayfa değiştiğinde ekran okuyucuya duyurulacak metin ("3. sayfa · 1.248 sonuç"). */
150
136
  formatAnnouncement?: (page: number, totalPages: number) => string;
151
137
  /**
152
- * Sayfa değiştiren bir tıklamadan sonra kaydırma. `'top'` verilirse pencere
153
- * en üste alınır — çağıran tarafta kaydırma kodu yazılmaz.
138
+ * Sayfa değiştiren bir tıklamadan sonra kaydırma. `'top'` verilirse pencere en üste alınır —
139
+ * çağıran tarafta kaydırma kodu yazılmaz.
154
140
  */
155
141
  scrollTo?: 'top';
156
142
  className?: string;
@@ -171,11 +157,7 @@ export declare const Button: typeof Button_2;
171
157
 
172
158
  /**
173
159
  * Düğme.
174
- *
175
- * @example
176
- * <Button variant={UIVariant.PRIMARY} isLoading={isSaving} onClick={save}>
177
- * Kaydet
178
- * </Button>
160
+ * @example <Button variant={UIVariant.PRIMARY} isLoading={isSaving} onClick={save}> Kaydet…
179
161
  */
180
162
  declare const Button_2: ForwardRefExoticComponent<Partial<{
181
163
  variant: UIVariant;
@@ -191,10 +173,7 @@ testId: string;
191
173
  }> & ButtonHTMLAttributes<HTMLButtonElement> & {
192
174
  /** Verilirse düğme bir bağlantı olarak çizilir. */
193
175
  href?: string;
194
- /**
195
- * Uygulama dışına çıkan bağlantı: yeni sekmede açılır ve yönlendirici
196
- * devreye girmez.
197
- */
176
+ /** Uygulama dışına çıkan bağlantı: yeni sekmede açılır ve yönlendirici devreye girmez. */
198
177
  isExternal?: boolean;
199
178
  /** Yönlendiriciye geçirilecek ek props (`{ scroll: false }`, `{ replace: true }`). */
200
179
  linkProps?: HanuiLinkExtraProps;
@@ -211,23 +190,14 @@ export declare const Card: typeof Card_2;
211
190
 
212
191
  /**
213
192
  * Kart — medya + gövde + eylem şeridi.
214
- *
215
- * @example
216
- * <Card as="article" isInteractive>
217
- * <CardMedia href="/urun/x" ratio={1}>
218
- * <CardOverlay position="top-left"><Badge>Yeni</Badge></CardOverlay>
219
- * <img src={…} alt="" />
220
- * </CardMedia>
221
- * <CardBody>…</CardBody>
222
- * <CardFooter>…</CardFooter>
223
- * </Card>
193
+ * @example <Card as="article" isInteractive> <CardMedia href="/urun/x" ratio={1}>…
224
194
  */
225
195
  declare const Card_2: FC<CardProps>;
226
196
 
227
197
  /** Kartın metin gövdesi: başlık, açıklama, üstyazı. */
228
198
  export declare const CardBody: FC<CardSectionProps>;
229
199
 
230
- /** Eylem şeridi — tutar, düğmeler. Kartın dibine yapışır. */
200
+ /** Eylem şeridi — tutar, düğmeler. */
231
201
  export declare const CardFooter: FC<CardSectionProps>;
232
202
 
233
203
  /** Kartın görsel alanı. */
@@ -238,20 +208,15 @@ export declare type CardMediaFit = 'cover' | 'contain' | 'inset';
238
208
 
239
209
  declare type CardMediaProps = {
240
210
  children: ReactNode;
241
- /** Genişlik / yükseklik oranı. Sabit oran yükleme sırasında kaymayı önler. */
211
+ /** Genişlik / yükseklik oranı. */
242
212
  ratio?: number;
243
213
  /** Medya alanı tıklanabilirse: görsel bağlantının içine alınır. */
244
214
  href?: string;
245
215
  /** Yönlendiriciye geçirilecek ek props. */
246
216
  linkProps?: HanuiLinkExtraProps;
247
- /** Görsel çerçeveyi nasıl doldurur — bkz. {@link CardMediaFit}. */
217
+ /** Görsel çerçeveyi nasıl doldurur — bkz. */
248
218
  fit?: CardMediaFit;
249
- /**
250
- * @deprecated `fit` kullanın: `isContained` → `fit="contain"`,
251
- * `isContained={false}` → `fit="cover"`. Boolean yalnızca iki durumu
252
- * anlatabiliyordu, üçüncüsü (`inset`) ona sığmadı. Eski yol bir sürüm daha
253
- * çalışır; `CLAUDE.md` → Göç.
254
- */
219
+ /** @deprecated `fit` kullanın: `isContained` → `fit="contain"`, `isContained={false}` →… */
255
220
  isContained?: boolean;
256
221
  className?: string;
257
222
  };
@@ -299,7 +264,7 @@ export declare const Chip: typeof Chip_2;
299
264
 
300
265
  /** Çip — seçilebilir etiket. */
301
266
  declare const Chip_2: ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
302
- /** Görünen metin. Yalnız ikon taşıyan çipte verilmez; `label` zorunlu olur. */
267
+ /** Görünen metin. */
303
268
  children?: ReactNode;
304
269
  /** Metnin solundaki ikon. */
305
270
  icon?: ReactNode;
@@ -309,20 +274,13 @@ endIcon?: ReactNode;
309
274
  count?: number;
310
275
  isSelected?: boolean;
311
276
  size?: ChipSize;
312
- /**
313
- * Erişilebilir ad. Görünür metin yoksa <strong>zorunlu</strong>: yalnız ikon
314
- * taşıyan bir çip ekran okuyucuda "düğme" diye okunur.
315
- */
277
+ /** Erişilebilir ad. */
316
278
  label?: string;
317
279
  /** Verilirse çip bir bağlantı olarak çizilir. */
318
280
  href?: string;
319
281
  /** Yönlendiriciye geçirilecek ek props. */
320
282
  linkProps?: HanuiLinkExtraProps;
321
- /**
322
- * Grup içindeki ARIA rolü. Tek seçimli gruplarda `radio`, çok seçimlide
323
- * verilmez — {@link ChipGroup} bunu kendisi ayarlar; elle kullanımda
324
- * `aria-pressed` üretilir.
325
- */
283
+ /** Grup içindeki ARIA rolü. */
326
284
  role?: "radio";
327
285
  testId?: string;
328
286
  } & RefAttributes<HTMLButtonElement>>;
@@ -346,7 +304,7 @@ declare type CircleProps = {
346
304
  /** Tamamlanan miktar. `undefined` → BELİRSİZ; çember döner. */
347
305
  value?: number;
348
306
  max?: number;
349
- /** Erişilebilir ad. ZORUNLU. */
307
+ /** Erişilebilir ad. */
350
308
  label: string;
351
309
  valueText?: string;
352
310
  /** Yüzdeyi çemberin ortasına yazar. */
@@ -360,15 +318,7 @@ declare type CircleProps = {
360
318
 
361
319
  export declare const CodeBadge: typeof CodeBadge_2;
362
320
 
363
- /**
364
- * Teknik kod rozeti — monospace kod, marka zeminli çerçeve.
365
- *
366
- * `CopyField`ten farkı ÇERÇEVEDİR: CopyField satır içi çıplak değer, bu
367
- * bileşen sayfanın kahramanı olan kod (arıza kodu başlığı gibi). Pano
368
- * mantığı ikisinde de `useCopyFeedback` — ayrışamazlar. Etiketler de
369
- * `labels.copyField` sözlüğünü paylaşır: aynı eylem için ikinci bir sözlük
370
- * anahtarı, iki ayrı çeviri kaynağı olurdu.
371
- */
321
+ /** Teknik kod rozeti — monospace kod, marka zeminli çerçeve. */
372
322
  declare const CodeBadge_2: FC<Props_22>;
373
323
 
374
324
  export declare type CodeBadgeSize = 'sm' | 'md' | 'lg';
@@ -408,9 +358,8 @@ declare type ComboboxProps<T extends string> = {
408
358
  onChange: (value: T | null) => void;
409
359
  labels: ComboboxLabels;
410
360
  /**
411
- * Verilirse arama <strong>sunucuda</strong> yapılır: bileşen listeyi kendisi
412
- * filtrelemez, yazılanı 300 ms bekleyip buraya bildirir. Verilmezse
413
- * filtreleme yerelde ve aksan duyarsız yapılır.
361
+ * Verilirse arama sunucuda yapılır: bileşen listeyi kendisi filtrelemez, yazılanı 300 ms bekleyip
362
+ * buraya bildirir.
414
363
  */
415
364
  onSearch?: (query: string) => void;
416
365
  isLoading?: boolean;
@@ -422,7 +371,7 @@ declare type ComboboxProps<T extends string> = {
422
371
  /** Tetikleyicinin solundaki ikon. */
423
372
  icon?: ReactNode;
424
373
  id?: string;
425
- /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. Bkz. `Select.required`. */
374
+ /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. */
426
375
  required?: boolean;
427
376
  'aria-describedby'?: string;
428
377
  'aria-invalid'?: boolean;
@@ -435,10 +384,10 @@ export declare type CommandItem = {
435
384
  label: string;
436
385
  /** Ayırt edici ikincil satır — bir komutun nereye götürdüğü. */
437
386
  description?: string;
438
- /** Gruplama başlığı ("Gezinme", "Eylemler"). Aynı grup ardışık çizilir. */
387
+ /** Gruplama başlığı ("Gezinme", "Eylemler"). */
439
388
  group?: string;
440
389
  icon?: ReactNode;
441
- /** Kısayol ipucu ("⌘K"). Yalnızca GÖSTERİLİR; tuşu çağıran bağlar. */
390
+ /** Kısayol ipucu ("⌘K"). */
442
391
  shortcut?: string;
443
392
  onSelect: () => void;
444
393
  };
@@ -457,33 +406,15 @@ export declare type CommonElementProps = Partial<{
457
406
 
458
407
  /** YOĞUN (compact) KİP — `<html data-hanui-density="compact">`. */
459
408
  export declare const COMPACT_DENSITY: {
460
- readonly 'space-2': "6px";
461
- readonly 'space-3': "8px";
462
- readonly 'space-4': "12px";
463
- readonly 'space-5': "16px";
464
- readonly 'space-6': "24px";
465
- readonly 'space-7': "32px";
466
- readonly 'font-size-2xs': "11px";
467
- readonly 'font-size-xs': "12px";
468
- readonly 'font-size-sm': "13px";
469
- readonly 'font-size-base': "15px";
470
- readonly 'font-size-body': "16px";
471
- readonly 'font-size-lg': "18px";
472
- readonly 'font-size-xl': "21px";
473
- readonly 'font-size-2xl': "25px";
474
- readonly 'font-size-3xl': "31px";
475
- readonly 'font-size-4xl': "39px";
476
- readonly 'leading-normal': "1.5";
477
- readonly 'leading-relaxed': "1.6";
409
+ readonly 'type-scale': "0.93";
410
+ readonly 'space-scale': "0.88";
478
411
  };
479
412
 
480
413
  export declare const ConfirmDialog: typeof ConfirmDialog_2;
481
414
 
482
415
  /**
483
416
  * Onay penceresi.
484
- *
485
- * @example
486
- * const [target, setTarget] = useState<Address | null>(null);
417
+ * @example const [target, setTarget] = useState<Address | null>(null);
487
418
  */
488
419
  declare const ConfirmDialog_2: FC<Props_45>;
489
420
 
@@ -491,10 +422,7 @@ export declare type ConfirmKind = 'destructive' | 'warning' | 'neutral';
491
422
 
492
423
  export declare const CopyField: typeof CopyField_2;
493
424
 
494
- /**
495
- * Kopyalanabilir teknik değer — <strong>tek dokunuşla panoya</strong>.
496
- * Pano mantığı `useCopyFeedback`te, `CodeBadge` ile ortak.
497
- */
425
+ /** Kopyalanabilir teknik değer — tek dokunuşla panoya. */
498
426
  declare const CopyField_2: FC<Props_23>;
499
427
 
500
428
  export declare type Crumb = {
@@ -514,19 +442,15 @@ declare const DataTable_2: FC<Props_49>;
514
442
  export declare type DataTableColumn = {
515
443
  /** Sütun kimliği (React key). */
516
444
  key: string;
517
- /** Başlık hücresinin içeriği. Toplu seçim kutusu gibi öğeler de girebilir. */
445
+ /** Başlık hücresinin içeriği. */
518
446
  label?: ReactNode;
519
- /**
520
- * Görsel başlığı olmayan sütunun erişilebilir adı (eylem sütunu gibi).
521
- * Boş bir `<th>` ekran okuyucuda adsız bir sütun bırakıyordu.
522
- */
447
+ /** Görsel başlığı olmayan sütunun erişilebilir adı (eylem sütunu gibi). */
523
448
  srLabel?: string;
524
449
  /** Sıralanabilir sütunun yönü (`aria-sort`). */
525
450
  ariaSort?: 'ascending' | 'descending';
526
451
  /**
527
- * Sütun sıralanabilir. `DataTable.onSort` ile birlikte anlamlı; ikisinden
528
- * biri eksikse başlık düz metin kalır — tıklanabilir görünüp hiçbir şey
529
- * yapmayan bir başlık, kullanıcıya var olmayan bir yetenek vaat ediyordu.
452
+ * Sütun sıralanabilir. `DataTable.onSort` ile birlikte anlamlı; ikisinden biri eksikse başlık düz
453
+ * metin kalır
530
454
  */
531
455
  isSortable?: boolean;
532
456
  /** Sütun yatay kaydırmada YERİNDE kalır. */
@@ -538,7 +462,7 @@ export declare const DataTableRow: FC<RowProps>;
538
462
 
539
463
  export declare const DateField: typeof DateField_2;
540
464
 
541
- /** Tarih alanı — <strong>yerel</strong> `<input type="date">`. */
465
+ /** Tarih alanı — yerel `<input type="date">`. */
542
466
  declare const DateField_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
543
467
  /** `date` (varsayılan) · `datetime-local` · `month` · `time`. */
544
468
  type?: "date" | "datetime-local" | "month" | "time";
@@ -556,23 +480,14 @@ export declare type DateRangeValue = {
556
480
  /** Kütüphanenin varsayılan font yığınları — hepsi sistem fontlarına iner. */
557
481
  export declare const DEFAULT_FONTS: Required<HanuiFonts>;
558
482
 
559
- /**
560
- * Bilgi yoğunluğunun taşındığı öznitelik.
561
- * `<html data-hanui-density="compact">`.
562
- */
483
+ /** Bilgi yoğunluğunun taşındığı öznitelik. `<html data-hanui-density="compact">`. */
563
484
  export declare const DENSITY_ATTRIBUTE = "data-hanui-density";
564
485
 
565
486
  export declare const Directory: typeof Directory_2;
566
487
 
567
488
  /**
568
489
  * Dizin — harf veya konu başlıklı, gruplanmış bağlantı listesi.
569
- *
570
- * @example
571
- * <Directory>
572
- * <DirectoryGroup label="A">
573
- * <DirectoryRow href="/marka/ate" name="ATE" media={<img … />} />
574
- * </DirectoryGroup>
575
- * </Directory>
490
+ * @example <Directory> <DirectoryGroup label="A"> <DirectoryRow href="/marka/ate" name="ATE"…
576
491
  */
577
492
  declare const Directory_2: FC<DirectoryProps>;
578
493
 
@@ -582,10 +497,7 @@ export declare const DirectoryGroup: FC<DirectoryGroupProps>;
582
497
  declare type DirectoryGroupProps = {
583
498
  /** Grup başlığı: harf ("A", "0-9") veya konu ("Fren sistemi"). */
584
499
  label: string;
585
- /**
586
- * Başlık kendisi bir hedefe götürüyorsa. Harf gruplarında verilmez — "A"
587
- * diye bir sayfa yok.
588
- */
500
+ /** Başlık kendisi bir hedefe götürüyorsa. */
589
501
  href?: string;
590
502
  /** Yönlendiriciye geçirilecek ek props. */
591
503
  linkProps?: HanuiLinkExtraProps;
@@ -604,7 +516,7 @@ declare type DirectoryJumpProps = {
604
516
  labels: string[];
605
517
  /** Çıpa kimliğini üretir; `DirectoryGroup id` ile aynı olmalı. */
606
518
  toId: (label: string) => string;
607
- /** Şeridin erişilebilir adı. Verilmezse `labels.directoryJump`. */
519
+ /** Şeridin erişilebilir adı. */
608
520
  label?: string;
609
521
  };
610
522
 
@@ -619,7 +531,7 @@ export declare const DirectoryRow: FC<DirectoryRowProps>;
619
531
  declare type DirectoryRowProps = {
620
532
  href: string;
621
533
  name: string;
622
- /** Logo, ikon veya baş harf madalyonu. Satırın solunda. */
534
+ /** Logo, ikon veya baş harf madalyonu. */
623
535
  media?: ReactNode;
624
536
  /** Sağ uçta duran işaret: rozet, kayıt sayısı. */
625
537
  marker?: ReactNode;
@@ -647,15 +559,8 @@ export declare const Field: typeof Field_2;
647
559
 
648
560
  /**
649
561
  * Form alanı sarmalayıcısı.
650
- *
651
- * @example
652
- * <Field label="E-posta" isRequired requiredLabel="(zorunlu)" error={emailError}>
653
- * {props => <Input {...props} type="email" value={email} onChange={onChange} />}
654
- * </Field>
655
- *
656
- * @example
657
- * // `{...props}` yaymayan bileşenlerde (Combobox, Select) yalnızca `id`:
658
- * <Field label="Şehir">{props => <Combobox id={props.id} … />}</Field>
562
+ * @example <Field label="E-posta" isRequired requiredLabel="(zorunlu)"…
563
+ * @example // `{...props}` yaymayan bileşenlerde (Combobox, Select) yalnızca `id`…
659
564
  */
660
565
  declare const Field_2: FC<Props_15>;
661
566
 
@@ -669,17 +574,14 @@ export declare type FieldChildProps = {
669
574
 
670
575
  declare type FieldProps = {
671
576
  children: ReactNode;
672
- /**
673
- * Alan kalan genişliği doldurur (arama kutusu). Diğer alanlar tercih
674
- * ettikleri genişlikte kalır ve şerit sağa doğru boşluk bırakır.
675
- */
577
+ /** Alan kalan genişliği doldurur (arama kutusu). */
676
578
  isWide?: boolean;
677
579
  className?: string;
678
580
  };
679
581
 
680
582
  export declare const FileUpload: typeof FileUpload_2;
681
583
 
682
- /** Dosya yükleme — sürükle-bırak <strong>ve</strong> düğme. */
584
+ /** Dosya yükleme — sürükle-bırak ve düğme. */
683
585
  declare const FileUpload_2: ({ files, onSelect, onRemove, label, hint, accept, isMultiple, maxSize, removeLabel, dropLabel, sizeErrorText, isDisabled, error, children, className, testId, }: Props_16) => JSX.Element;
684
586
 
685
587
  export declare const FilterBar: typeof FilterBar_2;
@@ -687,24 +589,18 @@ export declare const FilterBar: typeof FilterBar_2;
687
589
  /** Filtre şeridi. */
688
590
  declare const FilterBar_2: FC<Props_50>;
689
591
 
690
- /**
691
- * Şerit içindeki tek alanın genişlik sözleşmesi. İçine `Field` + girdi ya da
692
- * yalın `Input` konur; genişlik kararı alanın kendisine yazılmaz.
693
- */
592
+ /** Şerit içindeki tek alanın genişlik sözleşmesi. */
694
593
  export declare const FilterBarField: FC<FieldProps>;
695
594
 
696
595
  /**
697
596
  * Sayı biçimlendiricileri: değere bağlı metinler dizeyle verilemez.
698
- *
699
- * ⚠ `helpers/label.helper.ts` de aynı imzayı ELLE taşıyordu. Tip
700
- * <strong>index.ts'ten dışa verilmiyor</strong>, yani birleştirmek genel API'yi
701
- * değiştirmez — ölçüldü (`npm run check:api`).
597
+ * ⚠ `helpers/label.helper.ts` de aynı imzayı ELLE taşıyordu.
702
598
  */
703
599
  declare type Formatter<TArgs extends unknown[]> = (...args: TArgs) => string;
704
600
 
705
601
  /**
706
- * Kullanıcının SEÇİMİ. `system` = açık bir seçim yok, işletim sistemi tercihi
707
- * izlenir (`prefers-color-scheme`).
602
+ * Kullanıcının SEÇİMİ. `system` = açık bir seçim yok, işletim sistemi tercihi izlenir
603
+ * (`prefers-color-scheme`).
708
604
  */
709
605
  export declare type HanuiColorPreference = HanuiColorScheme | 'system';
710
606
 
@@ -714,15 +610,12 @@ export declare type HanuiColorScheme = 'light' | 'dark';
714
610
  export declare type HanuiContextValue = {
715
611
  /** Tüketicinin yönlendiricisi (`next/link`, `react-router`ın `Link`i…). */
716
612
  linkComponent?: HanuiLinkComponent;
717
- /** Uygulanan tema ezmeleri. Salt okunur; değiştirmek için `HanuiProvider`. */
613
+ /** Uygulanan tema ezmeleri. */
718
614
  theme?: HanuiThemeConfig;
719
615
  /**
720
- * Arayüz metinleri. Bir bileşen metnini prop olarak almadıysa buradan okur;
721
- * varsayılanlar `HanuiLabels` alanlarının yanında yazılı.
722
- *
723
- * ⚠ Referans bir dönem `theme/labels.ts`yi gösteriyordu; o dosya yalnızca
724
- * tek satırlık bir başlık yorumu taşıyordu (sıfır export, sıfır import) ve
725
- * kaldırıldı — belge var olmayan bir yeri işaret ediyordu.
616
+ * Arayüz metinleri.
617
+ * ⚠ Referans bir dönem `theme/labels.ts`yi gösteriyordu; o dosya yalnızca tek satırlık bir başlık
618
+ * yorumu taşıyordu (sıfır export, sıfır…
726
619
  */
727
620
  labels?: HanuiLabels;
728
621
  };
@@ -742,9 +635,8 @@ export declare type HanuiLabels = Partial<{
742
635
  close: string;
743
636
  /**
744
637
  * Bildirim yığınının bölge adı ("Bildirimler"). `ToastHub`.
745
- *
746
- * ⚠ Yığın bir `role="region"` ve `aria-live` bölgesi; adsız bir bölge
747
- * ekran okuyucuda yalnızca "bölge" diye okunur.
638
+ * ⚠ Yığın bir `role="region"` ve `aria-live` bölgesi; adsız bir bölge ekran okuyucuda yalnızca
639
+ * "bölge" diye okunur.
748
640
  */
749
641
  notifications: string;
750
642
  /** Vazgeçme eylemi. `ConfirmDialog`, `PromptDialog`. */
@@ -799,18 +691,14 @@ export declare type HanuiLabels = Partial<{
799
691
  loading: string;
800
692
  }>;
801
693
  copyField: Partial<{
802
- /** Kopyalama düğmesinin adı. Değeri İÇERİR: bir listede on beş düğme var
803
- * ve hepsi "Kopyala" diye okunduğunda hangisi olduğu belli olmuyordu. */
694
+ /** Kopyalama düğmesinin adı. */
804
695
  copy: Formatter<[value: string]>;
805
696
  copied: Formatter<[value: string]>;
806
697
  announcement: string;
807
698
  }>;
808
699
  /**
809
700
  * Dosya yukleme.
810
- *
811
701
  * ⚠ `tooLarge` bir BICIMLENDIRICI: mesaj dosya adini ve siniri TASIMALI.
812
- * Sabit bir "cok buyuk" metni, on dosyalik bir listede hangisinin
813
- * reddedildigini soylemiyordu.
814
702
  */
815
703
  fileUpload: Partial<{
816
704
  tooLarge: Formatter<[name: string, max: string]>;
@@ -821,10 +709,7 @@ export declare type HanuiLabels = Partial<{
821
709
  }>;
822
710
  /**
823
711
  * Sayisal gostergenin YON metni.
824
- *
825
- * ⚠ Uc deger de SR-ONLY: ok isareti gorsel bir sinyal ve ekran okuyucuya
826
- * hicbir sey soylemiyor. Verilmezse gosterge "yuzde 12" der, artis mi
827
- * azalis mi belirsiz kalir.
712
+ * ⚠ Uc deger de SR-ONLY: ok isareti gorsel bir sinyal ve ekran okuyucuya hicbir sey soylemiyor.
828
713
  */
829
714
  stat: Partial<{
830
715
  increase: string;
@@ -853,8 +738,7 @@ export declare type HanuiLabels = Partial<{
853
738
  srLabel: Formatter<[value: number, count: number | undefined]>;
854
739
  /** Puan girişinde yıldız sayısı ("4 yıldız"). */
855
740
  starCount: Formatter<[star: number]>;
856
- /** Beş puanın anlamı. Dolu yıldız sayısı tek başına bir şekil sinyali;
857
- * yanındaki metin renk körü kullanıcıya ikinci bir ipucu verir. */
741
+ /** Beş puanın anlamı. */
858
742
  scale: Record<1 | 2 | 3 | 4 | 5, string>;
859
743
  }>;
860
744
  }>;
@@ -864,10 +748,7 @@ export declare type HanuiLinkComponent = ComponentType<HanuiLinkProps>;
864
748
 
865
749
  /**
866
750
  * Bileşenden yönlendiriciye geçirilecek ek props.
867
- *
868
- * @example
869
- * // Next.js App Router: sayfa numarasına basınca liste yukarı sıçramasın.
870
- * <Pagination linkProps={{ scroll: false }} … />
751
+ * @example // Next.js App Router: sayfa numarasına basınca liste yukarı sıçramasın.…
871
752
  */
872
753
  export declare type HanuiLinkExtraProps = Record<string, unknown>;
873
754
 
@@ -878,7 +759,7 @@ export declare type HanuiLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
878
759
  [key: string]: unknown;
879
760
  };
880
761
 
881
- /** Ölçü ezmeleri. Kısmî verilebilir; verilmeyen her ölçü varsayılanında kalır. */
762
+ /** Ölçü ezmeleri. */
882
763
  export declare type HanuiMetrics = Partial<Record<HanuiMetricToken, string>>;
883
764
 
884
765
  /** Ölçü token adları — `METRIC_TOKENS`ten türetilir. */
@@ -886,11 +767,7 @@ export declare type HanuiMetricToken = keyof typeof METRIC_TOKENS;
886
767
 
887
768
  /**
888
769
  * Kütüphane sağlayıcısı.
889
- *
890
- * @example
891
- * <HanuiProvider linkComponent={NextLink} theme={{ light: { blue: '#0d6efd' } }}>
892
- * <App />
893
- * </HanuiProvider>
770
+ * @example <HanuiProvider linkComponent={NextLink} theme={{ light: { blue: '#0d6efd' } }}> <App…
894
771
  */
895
772
  export declare const HanuiProvider: FC<Props>;
896
773
 
@@ -899,15 +776,7 @@ export declare type HanuiResolvedTokens = Record<HanuiToken, string>;
899
776
 
900
777
  /**
901
778
  * Dışarıdan verilebilecek tema yapılandırması.
902
- *
903
- * @example
904
- * initHanui({
905
- * theme: {
906
- * light: { blue: '#0d6efd', 'blue-text': '#0a58ca' },
907
- * dark: { blue: '#6ea8fe' },
908
- * fonts: { heading: 'Archivo, sans-serif' },
909
- * },
910
- * });
779
+ * @example initHanui({ theme: { light: { blue: '#0d6efd', 'blue-text': '#0a58ca' }, dark: {…
911
780
  */
912
781
  export declare type HanuiThemeConfig = Partial<{
913
782
  light: HanuiThemeTokens;
@@ -915,24 +784,18 @@ export declare type HanuiThemeConfig = Partial<{
915
784
  fonts: HanuiFonts;
916
785
  /**
917
786
  * Ölçü ezmeleri — yarıçap, boşluk, punto, süre.
918
- *
919
- * @example
920
- * initHanui({ theme: { metrics: { 'radius-md': '2px', 'radius-lg': '4px' } } });
787
+ * @example initHanui({ theme: { metrics: { 'radius-md': '2px', 'radius-lg': '4px' } } });
921
788
  */
922
789
  metrics: HanuiMetrics;
923
790
  }>;
924
791
 
925
792
  declare type HanuiThemeState = {
926
793
  /**
927
- * ÇÖZÜLMÜŞ tema — ekranda çizili olan. `preference` `system` iken bu alan
928
- * işletim sisteminin o anki tercihini taşır.
794
+ * ÇÖZÜLMÜŞ tema — ekranda çizili olan. `preference` `system` iken bu alan işletim sisteminin o
795
+ * anki tercihini taşır.
929
796
  */
930
797
  scheme: HanuiColorScheme;
931
- /**
932
- * Kullanıcının SEÇİMİ. Üç durumlu bir tema anahtarı (Açık / Koyu / Sistem)
933
- * bunu okur; `scheme` okunsaydı "Sistem" seçiliyken düğme "Koyu"yu işaretli
934
- * gösterirdi.
935
- */
798
+ /** Kullanıcının SEÇİMİ. */
936
799
  preference: HanuiColorPreference;
937
800
  /** `'system'` verildiğinde AÇIK seçim silinir ve sistem tercihi izlenir. */
938
801
  setScheme: (preference: HanuiColorPreference) => void;
@@ -942,20 +805,19 @@ declare type HanuiThemeState = {
942
805
  isReady: boolean;
943
806
  };
944
807
 
945
- /** Bir temanın token → değer eşlemesi. Kısmî verilebilir; eksikler varsayılandan gelir. */
808
+ /** Bir temanın token → değer eşlemesi. */
946
809
  export declare type HanuiThemeTokens = Partial<Record<HanuiToken, string>>;
947
810
 
948
811
  /** Token adları — `LIGHT_THEME`den türetilir, elle listelenmez. */
949
812
  export declare type HanuiToken = keyof typeof LIGHT_THEME;
950
813
 
951
814
  declare type HubProps = {
952
- /** Kapatma düğmelerinin erişilebilir adı. Verilmezse `labels.close`. */
815
+ /** Kapatma düğmelerinin erişilebilir adı. */
953
816
  closeLabel?: string;
954
817
  /**
955
818
  * Yığının erişilebilir adı ("Bildirimler").
956
- *
957
- * ⚠ Yığın artık bir `role="region"` ve canlı bölge; adsız bir bölge ekran
958
- * okuyucuda yalnızca "bölge" diye okunur.
819
+ * ⚠ Yığın artık bir `role="region"` ve canlı bölge; adsız bir bölge ekran okuyucuda yalnızca
820
+ * "bölge" diye okunur.
959
821
  */
960
822
  regionLabel?: string;
961
823
  className?: string;
@@ -968,10 +830,7 @@ declare const IconButton_2: ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLB
968
830
  icon: ReactNode;
969
831
  /** Görsel etiketi olmayan düğmenin erişilebilir adı — ZORUNLU. */
970
832
  label: string;
971
- /**
972
- * `cart` <strong>yalnızca dönüşüm eyleminde</strong> kullanılır — ekranda
973
- * görünen tek doygun turuncu odur. Nötr dolgu için `solid`.
974
- */
833
+ /** `cart` yalnızca dönüşüm eyleminde kullanılır — ekranda görünen tek doygun turuncu odur. */
975
834
  variant?: IconButtonVariant;
976
835
  size?: "sm" | "md";
977
836
  /** Verilirse öğe bir bağlantı olarak çizilir. */
@@ -984,29 +843,17 @@ testId?: string;
984
843
  export declare type IconButtonVariant = 'ghost' | 'outline' | 'solid' | 'cart' | 'danger';
985
844
 
986
845
  /**
987
- * Kütüphaneyi <strong>React ağacının dışından</strong> yapılandırır.
988
- *
989
- * @example
990
- * // app/layout.tsx — <head> içine, boyamadan önce.
991
- * <script dangerouslySetInnerHTML={{ __html: `
992
- * document.documentElement.dataset.hanuiTheme =
993
- * localStorage.getItem('theme') ?? 'light';
994
- * ` }} />
846
+ * Kütüphaneyi React ağacının dışından yapılandırır.
847
+ * @example // app/layout.tsx — <head> içine, boyamadan önce. <script…
995
848
  */
996
849
  export declare const initHanui: (options?: InitHanuiOptions) => void;
997
850
 
998
851
  export declare type InitHanuiOptions = Partial<{
999
- /** Tema ve ölçü ezmeleri. Yalnızca değiştirilen token'lar verilir. */
852
+ /** Tema ve ölçü ezmeleri. */
1000
853
  theme: HanuiThemeConfig;
1001
- /**
1002
- * Başlangıç şeması. Verilmezse `<html data-hanui-theme>` neyse o kalır;
1003
- * o da yoksa sistem tercihi (`prefers-color-scheme`) devreye girer.
1004
- */
854
+ /** Başlangıç şeması. */
1005
855
  colorScheme: HanuiColorScheme;
1006
- /**
1007
- * Bilgi yoğunluğu. Verilmezse `<html data-hanui-density>` neyse o kalır;
1008
- * o da yoksa `default`.
1009
- */
856
+ /** Bilgi yoğunluğu. */
1010
857
  density: HanuiDensity;
1011
858
  }>;
1012
859
 
@@ -1018,89 +865,96 @@ declare const Input_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLIn
1018
865
  prefix?: ReactNode;
1019
866
  /** Sağda gösterilen ikon veya birim (göz simgesi, "kg"). */
1020
867
  suffix?: ReactNode;
1021
- /** Teknik veri: SKU, kod, seri numarası — monospace ve harf aralıklı. */
868
+ /** Teknik veri: */
1022
869
  isTechnical?: boolean;
1023
870
  testId?: string;
1024
871
  } & RefAttributes<HTMLInputElement>>;
1025
872
 
1026
873
  /** AÇIK TEMA — varsayılan. */
1027
874
  export declare const LIGHT_THEME: {
1028
- readonly page: "#ffffff";
1029
- readonly surface: "#ffffff";
1030
- readonly 'surface-2': "#eff4f1";
1031
- readonly 'surface-3': "#e8efec";
1032
- readonly 'surface-inset': "#f9fbfa";
1033
- readonly border: "#d6e1dc";
1034
- readonly 'border-strong': "#c5d3cc";
1035
- readonly text: "#00120f";
1036
- readonly 'text-2': "#38594f";
1037
- readonly 'text-3': "#506d63";
1038
- readonly graphite: "#00322a";
1039
- readonly 'graphite-2': "#004d40";
1040
- readonly 'graphite-3': "#0f574a";
875
+ readonly page: "#f7fcf8";
876
+ readonly surface: "#fdfefd";
877
+ readonly 'surface-2': "#e9f7ed";
878
+ readonly 'surface-3': "#dff3e5";
879
+ /** Girinti sayfanın ALTINA iner (arama kutusu, kod bloğu, pasif girdi). */
880
+ readonly 'surface-inset': "#f1faf4";
881
+ readonly border: "#c0eacf";
882
+ readonly 'border-strong': "#aaddbf";
883
+ readonly text: "#010f0b";
884
+ readonly 'text-2': "#325a4d";
885
+ readonly 'text-3': "#467060";
886
+ readonly shell: "#00322a";
887
+ readonly 'shell-2': "#154c3d";
888
+ readonly 'shell-3': "#225f4d";
1041
889
  readonly action: "#00322a";
1042
- readonly 'action-hover': "#004d40";
1043
- readonly 'action-active': "#0f574a";
1044
- readonly 'on-action': "#ffffff";
890
+ readonly 'action-hover': "#154c3d";
891
+ readonly 'action-active': "#225f4d";
892
+ readonly 'on-action': "#fdfefd";
1045
893
  /** Dolgunun SINIRI; açık temada dolgunun kendisi (bkz. `ACTION_LINE`). */
1046
894
  readonly 'action-line': "#00322a";
1047
- /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. Button `:disabled`). */
1048
- readonly 'action-soft': "#c5d3cc";
895
+ /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. */
896
+ readonly 'action-soft': "#aaddbf";
1049
897
  /** PASİF DOLGU ÜZERİNDEKİ METİN. */
1050
- readonly 'on-action-soft': "#26403a";
1051
- readonly amber: "#22a76d";
1052
- readonly 'amber-hover': "#2ab97a";
1053
- readonly 'amber-active': "#1d9a64";
1054
- readonly 'amber-soft': "#8fd3b6";
1055
- readonly 'on-amber': "#02180f";
1056
- readonly blue: "#1a7f61";
1057
- readonly 'blue-hover': "#10654b";
1058
- readonly 'blue-active': "#0a4d39";
1059
- readonly 'blue-text': "#147155";
1060
- readonly 'blue-tint': "#e9f6f2";
1061
- readonly 'blue-line': "#acd8cb";
1062
- readonly 'on-blue': "#ffffff";
1063
- readonly 'ok-bg': "#e6f4ed";
1064
- readonly 'ok-fg': "#156f4e";
1065
- readonly 'ok-line': "#a8dcc4";
1066
- readonly 'warn-bg': "#fdf0dd";
1067
- readonly 'warn-fg': "#7a3e02";
1068
- readonly 'warn-line': "#ebc687";
1069
- readonly 'off-bg': "#f0f4f3";
1070
- readonly 'off-fg': "#26403a";
1071
- readonly 'off-line': "#cddad4";
1072
- readonly 'bad-bg': "#f8ebeb";
1073
- readonly 'bad-fg': "#bb1e1e";
1074
- readonly 'bad-line': "#e6a6a6";
1075
- readonly 'oem-bg': "#edf8f5";
1076
- readonly 'oem-fg': "#0d5942";
1077
- readonly 'oem-line': "#b5ded2";
1078
- readonly 'alt-bg': "#eeebfa";
1079
- readonly 'alt-fg': "#2e2661";
1080
- readonly 'alt-line': "#c0b6ea";
1081
- readonly 'sale-bg': "#e6f4ed";
1082
- readonly 'sale-fg': "#156f4e";
1083
- readonly 'red-accent': "#dc2626";
1084
- readonly 'green-accent': "#1d9a64";
1085
- readonly 'green-accent-hover': "#17814f";
1086
- readonly 'on-green': "#02180f";
1087
- readonly star: "#9a5f04";
1088
- readonly 'danger-solid': "#dc2626";
1089
- readonly 'danger-solid-hover': "#bb1e1e";
1090
- readonly 'on-danger': "#ffffff";
1091
- readonly 'nav-bg': "#ffffff";
1092
- readonly 'nav-bg-2': "#eff4f1";
1093
- readonly 'nav-fg': "#00120f";
1094
- readonly 'nav-fg-2': "#38594f";
1095
- readonly 'nav-fg-3': "#506d63";
1096
- readonly 'nav-line': "#e3eae7";
1097
- readonly 'nav-line-strong': "#c5d3cc";
1098
- readonly 'nav-hover': "#eff4f1";
1099
- readonly 'footer-bg': "#eff4f1";
898
+ readonly 'on-action-soft': "#1d4238";
899
+ readonly cart: "#1ba055";
900
+ readonly 'cart-hover': "#20b360";
901
+ readonly 'cart-active': "#19934e";
902
+ readonly 'cart-soft': "#84cb97";
903
+ readonly 'on-cart': "#021407";
904
+ readonly role: "#1f7b56";
905
+ readonly 'role-hover': "#176446";
906
+ readonly 'role-active': "#115037";
907
+ readonly 'role-text': "#17704e";
908
+ readonly 'role-tint': "#d5f6e4";
909
+ readonly 'role-line': "#93dfba";
910
+ readonly 'on-role': "#fdfefd";
911
+ readonly 'ok-bg': "#c2f6cf";
912
+ readonly 'ok-fg': "#166e3a";
913
+ readonly 'ok-line': "#7eda99";
914
+ readonly 'warn-bg': "#f6e4cf";
915
+ readonly 'warn-fg': "#7c5212";
916
+ readonly 'warn-line': "#e8b97f";
917
+ readonly 'off-bg': "#daece5";
918
+ readonly 'off-fg': "#4d625a";
919
+ readonly 'off-line': "#afcabf";
920
+ readonly 'bad-bg': "#f6e2e0";
921
+ readonly 'bad-fg': "#a91922";
922
+ readonly 'bad-line': "#e9b3ae";
923
+ readonly 'oem-bg': "#a7f7c8";
924
+ readonly 'oem-fg': "#0c5d3a";
925
+ readonly 'oem-line': "#6ace97";
926
+ readonly 'alt-bg': "#e9e4f6";
927
+ readonly 'alt-fg': "#751dc8";
928
+ readonly 'alt-line': "#c9bae7";
929
+ readonly 'sale-bg': "#c2f6cf";
930
+ readonly 'sale-fg': "#166e3a";
931
+ readonly 'red-accent': "#de1b2c";
932
+ readonly 'green-accent': "#18904c";
933
+ readonly 'green-accent-hover': "#12783e";
934
+ readonly 'on-green': "#021407";
935
+ readonly star: "#8c6a11";
936
+ readonly 'danger-solid': "#c21625";
937
+ readonly 'danger-solid-hover': "#a2111d";
938
+ readonly 'on-danger': "#fdfefd";
939
+ readonly 'nav-bg': "#fdfefd";
940
+ readonly 'nav-bg-2': "#e9f7ed";
941
+ readonly 'nav-fg': "#010f0b";
942
+ readonly 'nav-fg-2': "#325a4d";
943
+ readonly 'nav-fg-3': "#467060";
944
+ readonly 'nav-line': "#d5f0de";
945
+ readonly 'nav-line-strong': "#aaddbf";
946
+ readonly 'nav-hover': "#e9f7ed";
947
+ readonly 'footer-bg': "#e9f7ed";
1100
948
  readonly 'band-bg': "#00322a";
1101
- readonly 'band-fg': "#eff4f1";
1102
- readonly 'band-fg-2': "#8fb3a7";
1103
- readonly 'band-line': "#0a4a3e";
949
+ readonly 'band-fg': "#e9f7ed";
950
+ readonly 'band-fg-2': "#8abaa1";
951
+ /**
952
+ * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu. Panelin kenar çubuğu rayı bu ikisini bir dönem
953
+ * SABİT HEX olarak taşıyordu (`#799a8f`, `#43ff9c`)
954
+ */
955
+ readonly 'band-fg-3': "#79a790";
956
+ readonly 'band-accent': "#43ff9c";
957
+ readonly 'band-line': "#143f34";
1104
958
  readonly 'band-hover': string;
1105
959
  readonly 'shadow-xs': `0 1px 2px ${string}`;
1106
960
  readonly 'shadow-sm': `0 1px 2px ${string}, 0 1px 3px ${string}`;
@@ -1111,22 +965,22 @@ export declare const LIGHT_THEME: {
1111
965
  readonly 'shadow-up': `0 -2px 4px ${string}, 0 -8px 24px ${string}`;
1112
966
  /** Odak halkası MAVİ: odak bir gezinme olayıdır, bir dönüşüm değil. */
1113
967
  readonly ring: `0 0 0 3px ${string}`;
1114
- readonly 'ring-color': "#1a7f61";
968
+ readonly 'ring-color': "#1f7b56";
1115
969
  readonly 'ring-danger': `0 0 0 3px ${string}`;
1116
970
  readonly 'ring-ok': `0 0 0 4px ${string}`;
1117
971
  readonly scrim: string;
1118
972
  readonly 'scrim-soft': string;
1119
973
  readonly glass: string;
1120
- readonly 'glass-solid': "#ffffff";
1121
- readonly 'on-scrim': "#ffffff";
1122
- readonly 'skeleton-a': "#eff4f1";
1123
- readonly 'skeleton-b': "#f9fbfa";
974
+ readonly 'glass-solid': "#fdfefd";
975
+ readonly 'on-scrim': "#fdfefd";
976
+ readonly 'skeleton-a': "#e9f7ed";
977
+ readonly 'skeleton-b': "#f7fcf8";
1124
978
  readonly track: string;
1125
979
  /** Görsel yer tutucu (medya yoksa). */
1126
- readonly 'media-bg': "#eff4f1";
980
+ readonly 'media-bg': "#e9f7ed";
1127
981
  readonly 'glow-1': string;
1128
982
  readonly 'glow-2': string;
1129
- readonly 'glow-amber': string;
983
+ readonly 'glow-cart': string;
1130
984
  };
1131
985
 
1132
986
  declare type LinkProps = BaseProps_4 & {
@@ -1146,7 +1000,7 @@ export declare type ListboxNavigation<T extends HTMLElement = HTMLElement> = {
1146
1000
  };
1147
1001
 
1148
1002
  export declare type ListboxNavigationOptions = {
1149
- /** Seçenek sayısı. Liste süzüldüğünde değişir. */
1003
+ /** Seçenek sayısı. */
1150
1004
  count: number;
1151
1005
  isOpen: boolean;
1152
1006
  /** Açılışta etkin olacak dizin — genellikle seçili olan. */
@@ -1182,26 +1036,31 @@ export declare const METRIC_TOKENS: {
1182
1036
  readonly 'radius-lg': "12px";
1183
1037
  readonly 'radius-xl': "16px";
1184
1038
  readonly 'radius-pill': "999px";
1039
+ /** YOĞUNLUK ÇARPANLARI — akışkan ölçeğin üzerine binen tek ayar. */
1040
+ readonly 'type-scale': "1";
1041
+ readonly 'space-scale': "1";
1185
1042
  readonly 'space-0': "0";
1186
1043
  readonly 'space-1': "4px";
1187
1044
  readonly 'space-2': "8px";
1188
- readonly 'space-3': "12px";
1189
- readonly 'space-4': "16px";
1190
- readonly 'space-5': "24px";
1191
- readonly 'space-6': "32px";
1192
- readonly 'space-7': "48px";
1193
- readonly 'space-8': "64px";
1194
- readonly 'space-9': "96px";
1195
- readonly 'font-size-2xs': "12px";
1196
- readonly 'font-size-xs': "13px";
1197
- readonly 'font-size-sm': "15px";
1198
- readonly 'font-size-base': "16px";
1199
- readonly 'font-size-body': "17px";
1200
- readonly 'font-size-lg': "19px";
1201
- readonly 'font-size-xl': "23px";
1202
- readonly 'font-size-2xl': "29px";
1203
- readonly 'font-size-3xl': "37px";
1204
- readonly 'font-size-4xl': "47px";
1045
+ readonly 'space-3': string;
1046
+ readonly 'space-4': string;
1047
+ readonly 'space-5': string;
1048
+ readonly 'space-6': string;
1049
+ readonly 'space-7': string;
1050
+ readonly 'space-8': string;
1051
+ readonly 'space-9': string;
1052
+ readonly 'font-size-2xs': string;
1053
+ readonly 'font-size-xs': string;
1054
+ readonly 'font-size-sm': string;
1055
+ readonly 'font-size-base': string;
1056
+ readonly 'font-size-body': string;
1057
+ readonly 'font-size-lg': string;
1058
+ readonly 'font-size-xl': string;
1059
+ readonly 'font-size-2xl': string;
1060
+ readonly 'font-size-3xl': string;
1061
+ readonly 'font-size-4xl': string;
1062
+ /** FORM DENETİMİ PUNTOSU — ölçekten AYRI ve 16px'in altına inmez. */
1063
+ readonly 'font-size-control': `max(16px, ${string})`;
1205
1064
  readonly 'leading-none': "1";
1206
1065
  readonly 'leading-tight': "1.16";
1207
1066
  readonly 'leading-snug': "1.35";
@@ -1223,10 +1082,7 @@ export declare const METRIC_TOKENS: {
1223
1082
  readonly 'duration-shimmer': "1400ms";
1224
1083
  };
1225
1084
 
1226
- /**
1227
- * Kırılma noktaları — `styles/_variables.scss` içindeki `$breakpoint-*` ile
1228
- * <strong>aynı</strong> değerler.
1229
- */
1085
+ /** Kırılma noktaları — `styles/_variables.scss` içindeki `$breakpoint-*` ile aynı değerler. */
1230
1086
  export declare const MOBILE_BREAKPOINT = 640;
1231
1087
 
1232
1088
  export declare const Modal: typeof Modal_2;
@@ -1242,7 +1098,7 @@ declare type MultipleProps<T extends string> = BaseProps<T> & {
1242
1098
  onChange: (value: T[]) => void;
1243
1099
  };
1244
1100
 
1245
- /** Serbest metin arama anahtarı: ASCII, küçük harf, tek boşlukla ayrılmış. */
1101
+ /** Serbest metin arama anahtarı: */
1246
1102
  export declare const normalizeSearchTerm: (value: string) => string;
1247
1103
 
1248
1104
  export declare const PageHeader: typeof PageHeader_2;
@@ -1259,11 +1115,7 @@ export declare const Panel: typeof Panel_2;
1259
1115
 
1260
1116
  /**
1261
1117
  * Panel — başlığı olan içerik kutusu.
1262
- *
1263
- * @example
1264
- * <Panel title="Profil bilgileri" description="Fatura bu bilgilerle kesilir">
1265
- * <PanelForm>…alanlar…</PanelForm>
1266
- * </Panel>
1118
+ * @example <Panel title="Profil bilgileri" description="Fatura bu bilgilerle kesilir">…
1267
1119
  */
1268
1120
  declare const Panel_2: FC<Props_27>;
1269
1121
 
@@ -1277,7 +1129,7 @@ declare type PanelFormProps = {
1277
1129
  className?: string;
1278
1130
  };
1279
1131
 
1280
- /** İki alanı yan yana koyan satır. Dar ekranda alt alta düşer. */
1132
+ /** İki alanı yan yana koyan satır. */
1281
1133
  export declare const PanelRow: FC<PanelRowProps>;
1282
1134
 
1283
1135
  declare type PanelRowProps = {
@@ -1288,17 +1140,14 @@ declare type PanelRowProps = {
1288
1140
  export declare const PasswordInput: typeof PasswordInput_2;
1289
1141
 
1290
1142
  /**
1291
- * Şifre girdisi — yanında göz düğmesi.
1292
- *
1293
- * `hanparca-admin` ve `hanparca-frontend`te BİREBİR AYNI dosya olarak
1294
- * duruyordu; iki kopya da hanui'nin `Input` + `IconButton` bileşenlerini
1295
- * sarmalıyordu, yani zaten bu kütüphaneye aitti.
1143
+ * Şifre girdisi — yanında göz düğmesi. `hanparca-admin` ve `hanparca-frontend`te BİREBİR AYNI dosya
1144
+ * olarak duruyordu
1296
1145
  */
1297
1146
  declare const PasswordInput_2: FC<Props_13>;
1298
1147
 
1299
1148
  export declare const Popover: typeof Popover_2;
1300
1149
 
1301
- /** Popover — <strong>eylem taşıyabilen</strong>, odaklanabilir yüzey. */
1150
+ /** Popover — eylem taşıyabilen, odaklanabilir yüzey. */
1302
1151
  declare const Popover_2: ({ trigger, children, label, side, align, isOpen: controlledOpen, onOpenChange, className, testId, }: Props_5) => JSX.Element | null;
1303
1152
 
1304
1153
  /** Tercih edilen kenar boyunca hizalama. */
@@ -1325,23 +1174,16 @@ export declare type PositioningState = {
1325
1174
  /** ÇÖZÜLMÜŞ kenar: çarpışma yüzünden tercih edilenin karşıtı olabilir. */
1326
1175
  side: PositionSide;
1327
1176
  /**
1328
- * Tetikleyicinin ölçülen genişliği (px) — açılır listeler panelin genişliğini
1329
- * buna bağlıyor.
1330
- *
1331
- * ⚠ ÖLÇÜM BURADA, ÇAĞIRANDA DEĞİL. `Combobox` ve `Select` bu değeri render
1332
- * sırasında `triggerRef.current?.offsetWidth` ile okuyordu; render sırasında
1333
- * DOM okumak iki şeyi birden kırıyor: ilk render'da ref henüz boş olabilir
1334
- * (`undefined` genişlik) ve değer bir daha GÜNCELLENMEZ — pencere yeniden
1335
- * boyutlandığında ya da yazı tipi geldiğinde panel bayat genişlikte kalır.
1336
- * Kanca tetikleyiciyi `ResizeObserver` ile zaten izliyor, yani ölçüm burada
1337
- * bedavaya reaktif.
1177
+ * Tetikleyicinin ölçülen genişliği (px) — açılır listeler panelin genişliğini buna bağlıyor.
1178
+ * ⚠ ÖLÇÜM BURADA, ÇAĞIRANDA DEĞİL. `Combobox` ve `Select` bu değeri render sırasında
1179
+ * `triggerRef.current?.offsetWidth` ile okuyordu
1338
1180
  */
1339
1181
  anchorWidth: number;
1340
- /** İlk ölçüm yapıldı mı. Yapılmadan çizilen yüzey sol üst köşede parlıyor. */
1182
+ /** İlk ölçüm yapıldı mı. */
1341
1183
  isPositioned: boolean;
1342
1184
  };
1343
1185
 
1344
- /** Yüzeyin tercih ettiği kenar. Yer yoksa karşıtına düşer. */
1186
+ /** Yüzeyin tercih ettiği kenar. */
1345
1187
  export declare type PositionSide = 'top' | 'bottom' | 'left' | 'right';
1346
1188
 
1347
1189
  export declare const Price: typeof Price_2;
@@ -1351,7 +1193,7 @@ declare const Price_2: FC<Props_28>;
1351
1193
 
1352
1194
  export declare const Progress: typeof Progress_2;
1353
1195
 
1354
- /** İlerleme çubuğu — <strong>ölçülebilir</strong> bekleme. */
1196
+ /** İlerleme çubuğu — ölçülebilir bekleme. */
1355
1197
  declare const Progress_2: ({ value, max, label, valueText, isValueVisible, tone, size, className, testId, }: Props_35) => JSX.Element;
1356
1198
 
1357
1199
  export declare const ProgressCircle: MemoExoticComponent<({ value, max, label, valueText, isValueVisible, tone, size, className, testId, }: CircleProps) => JSX.Element>;
@@ -1363,17 +1205,11 @@ declare const PromptDialog_2: FC<Props_47>;
1363
1205
 
1364
1206
  declare type Props = {
1365
1207
  children: ReactNode;
1366
- /**
1367
- * Tema ezmeleri. Yalnızca DEĞİŞTİRİLEN token'lar verilir; verilmeyen her
1368
- * token varsayılanında kalır.
1369
- */
1208
+ /** Tema ezmeleri. */
1370
1209
  theme?: HanuiThemeConfig;
1371
1210
  /**
1372
- * Tüketicinin bağlantı bileşeni. Verilmezse ham `<a>` çizilir.
1373
- *
1374
- * @example
1375
- * import NextLink from 'next/link';
1376
- * <HanuiProvider linkComponent={NextLink}>…</HanuiProvider>
1211
+ * Tüketicinin bağlantı bileşeni.
1212
+ * @example import NextLink from 'next/link'; <HanuiProvider linkComponent={NextLink}>…</Ha…
1377
1213
  */
1378
1214
  linkComponent?: HanuiLinkComponent;
1379
1215
  /** Arayüz metinleri — bir kez, burada. */
@@ -1387,18 +1223,15 @@ declare type Props_10 = {
1387
1223
  value: RangeValue;
1388
1224
  /** Sürükleme sürerken her adımda çağrılır — ekrandaki değeri günceller. */
1389
1225
  onChange: (value: RangeValue) => void;
1390
- /**
1391
- * Sürükleme <em>bittiğinde</em> çağrılır. Adres çubuğuna yazmak veya
1392
- * sunucuya istek atmak gibi pahalı işler buraya bağlanır.
1393
- */
1226
+ /** Sürükleme bittiğinde çağrılır. */
1394
1227
  onCommit?: (value: RangeValue) => void;
1395
1228
  /** Ham sayıyı okunur metne çevirir ("125000" → "1.250 TL"). */
1396
1229
  formatValue?: (value: number) => string;
1397
1230
  /** Grubun erişilebilir adı ("Fiyat aralığı"). */
1398
1231
  label: string;
1399
- /** Alt kulbun erişilebilir ad eki. Verilmezse `labels.range.min`. */
1232
+ /** Alt kulbun erişilebilir ad eki. */
1400
1233
  minLabel?: string;
1401
- /** Üst kulbun erişilebilir ad eki. Verilmezse `labels.range.max`. */
1234
+ /** Üst kulbun erişilebilir ad eki. */
1402
1235
  maxLabel?: string;
1403
1236
  isDisabled?: boolean;
1404
1237
  className?: string;
@@ -1411,14 +1244,10 @@ declare type Props_11 = {
1411
1244
  /** Grubun erişilebilir adı ("Ürün puanı"). */
1412
1245
  label: string;
1413
1246
  /**
1414
- * Puan açıklamaları. Hem ekran okuyucuya okunur hem de seçildiğinde
1415
- * yıldızların altında yazar. Verilmezse `labels.rating.scale`.
1247
+ * Puan açıklamaları. Hem ekran okuyucuya okunur hem de seçildiğinde yıldızların altında yazar.
1416
1248
  */
1417
1249
  ratingLabels?: RatingLabels;
1418
- /**
1419
- * Ekran okuyucuda yıldız sayısını okuyan biçimlendirici ("4 yıldız").
1420
- * Verilmezse `labels.rating.starCount`.
1421
- */
1250
+ /** Ekran okuyucuda yıldız sayısını okuyan biçimlendirici ("4 yıldız"). */
1422
1251
  formatStarCount?: (star: number) => string;
1423
1252
  isDisabled?: boolean;
1424
1253
  className?: string;
@@ -1428,7 +1257,7 @@ declare type Props_11 = {
1428
1257
  declare type Props_12 = {
1429
1258
  value: number;
1430
1259
  onChange: (value: number) => void;
1431
- /** Grubun ve girdinin erişilebilir adı. Verilmezse `labels.quantity.label`. */
1260
+ /** Grubun ve girdinin erişilebilir adı. */
1432
1261
  label?: string;
1433
1262
  /** Verilmezse `labels.quantity.decrease`. */
1434
1263
  decreaseLabel?: string;
@@ -1452,18 +1281,18 @@ declare type Props_13 = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {
1452
1281
  declare type Props_14 = {
1453
1282
  values: string[];
1454
1283
  onChange: (values: string[]) => void;
1455
- /** Alanın erişilebilir adı. ZORUNLU. */
1284
+ /** Alanın erişilebilir adı. */
1456
1285
  label: string;
1457
1286
  placeholder?: string;
1458
- /** Her etiketin kaldırma düğmesinin ad öneki ("Kaldır"). ZORUNLU. */
1287
+ /** Her etiketin kaldırma düğmesinin ad öneki ("Kaldır"). */
1459
1288
  removeLabel: string;
1460
- /** Etiketi bitiren tuşlar. Varsayılan `Enter` ve virgül. */
1289
+ /** Etiketi bitiren tuşlar. */
1461
1290
  separators?: string[];
1462
- /** En fazla kaç etiket. Dolduğunda girdi PASİF olur, gizlenmez. */
1291
+ /** En fazla kaç etiket. */
1463
1292
  maxTags?: number;
1464
1293
  isDisabled?: boolean;
1465
1294
  id?: string;
1466
- /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. Bkz. `Select.required`. */
1295
+ /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. */
1467
1296
  required?: boolean;
1468
1297
  'aria-describedby'?: string;
1469
1298
  'aria-invalid'?: boolean;
@@ -1482,14 +1311,14 @@ declare type Props_16 = {
1482
1311
  /** Kullanıcı dosya seçtiğinde/bıraktığında çağrılır — DOĞRULANMIŞ liste. */
1483
1312
  onSelect: (files: File[]) => void;
1484
1313
  onRemove: (id: string) => void;
1485
- /** Alanın görünür etiketi ve erişilebilir adı. ZORUNLU. */
1314
+ /** Alanın görünür etiketi ve erişilebilir adı. */
1486
1315
  label: string;
1487
1316
  /** Etiketin altındaki kural cümlesi ("PDF veya JPG, en fazla 5 MB"). */
1488
1317
  hint?: string;
1489
1318
  /** `<input accept>` — tarayıcının dosya seçicisini süzer. */
1490
1319
  accept?: string;
1491
1320
  isMultiple?: boolean;
1492
- /** Bayt. Aşan dosya `onSelect`e HİÇ ulaşmaz; hata metni burada üretilir. */
1321
+ /** Bayt. */
1493
1322
  maxSize?: number;
1494
1323
  /** Kaldırma düğmelerinin erişilebilir ad öneki ("Kaldır"). */
1495
1324
  removeLabel: string;
@@ -1518,10 +1347,7 @@ declare type Props_17 = {
1518
1347
  declare type Props_18 = {
1519
1348
  /** Tam ad; baş harfler buradan üretilir ve görsel yoksa `alt` metnidir. */
1520
1349
  name: string;
1521
- /**
1522
- * Profil görseli. Verilmezse baş harf madalyonuna düşer — çağıran tarafın
1523
- * koşul yazması gerekmez.
1524
- */
1350
+ /** Profil görseli. */
1525
1351
  imageUrl?: string;
1526
1352
  /** Baş harfleri büyütürken kullanılacak dil etiketi ("tr", "az"). */
1527
1353
  locale?: string;
@@ -1553,7 +1379,7 @@ declare type Props_2 = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
1553
1379
 
1554
1380
  declare type Props_20 = {
1555
1381
  items: Crumb[];
1556
- /** Gezinme bölgesinin erişilebilir adı. Verilmezse `labels.breadcrumb`. */
1382
+ /** Gezinme bölgesinin erişilebilir adı. */
1557
1383
  label?: string;
1558
1384
  /** Yönlendiriciye geçirilecek ek props. */
1559
1385
  linkProps?: HanuiLinkExtraProps;
@@ -1563,23 +1389,18 @@ declare type Props_20 = {
1563
1389
 
1564
1390
  declare type Props_21 = {
1565
1391
  children: ReactNode;
1566
- /** Şeridin erişilebilir adı ("Öne çıkan ürünler"). ZORUNLU. */
1392
+ /** Şeridin erişilebilir adı ("Öne çıkan ürünler"). */
1567
1393
  label: string;
1568
- /** Önceki/sonraki düğmelerinin erişilebilir adları. ZORUNLU. */
1394
+ /** Önceki/sonraki düğmelerinin erişilebilir adları. */
1569
1395
  previousLabel: string;
1570
1396
  nextLabel: string;
1571
1397
  /** Sayfa göstergesinin ad üreticisi (`index` 1 tabanlı). */
1572
1398
  formatDotLabel?: (index: number, total: number) => string;
1573
- /**
1574
- * Bir kartın genişliği. Şerit her kartı bu genişlikte çizer.
1575
- * Duyarlı genişlik ya da "yarım kart görünsün" gibi bir ölçü gerekiyorsa
1576
- * CSS'ten `--hanui-carousel-item` ezilir; buradaki değer yalnızca varsayılan.
1577
- */
1399
+ /** Bir kartın genişliği. Şerit her kartı bu genişlikte çizer. */
1578
1400
  itemWidth?: number;
1579
1401
  /**
1580
- * @deprecated `itemWidth` kullanın. Ad bir ASGARİ genişlik vaat ediyordu ama
1581
- * şerit artık kartları germiyor: verilen değer kartın genişliğinin kendisi.
1582
- * Eski yol bir sürüm daha çalışır; `CLAUDE.md` → Göç.
1402
+ * @deprecated `itemWidth` kullanın. Ad bir ASGARİ genişlik vaat ediyordu ama şerit artık
1403
+ * kartları…
1583
1404
  */
1584
1405
  itemMinWidth?: number;
1585
1406
  className?: string;
@@ -1591,11 +1412,11 @@ declare type Props_22 = {
1591
1412
  code: string;
1592
1413
  /** Kopyalama düğmesi ekler. */
1593
1414
  isCopyable?: boolean;
1594
- /** Kopyalama düğmesinin erişilebilir adı. Verilmezse `labels.copyField.copy(code)`. */
1415
+ /** Kopyalama düğmesinin erişilebilir adı. */
1595
1416
  copyLabel?: string;
1596
- /** Kopyalandıktan sonraki ad. Verilmezse `labels.copyField.copied(code)`. */
1417
+ /** Kopyalandıktan sonraki ad. */
1597
1418
  copiedLabel?: string;
1598
- /** `aria-live` ile duyurulan onay cümlesi. Verilmezse `labels.copyField.announcement`. */
1419
+ /** `aria-live` ile duyurulan onay cümlesi. */
1599
1420
  copiedAnnouncement?: string;
1600
1421
  size?: CodeBadgeSize;
1601
1422
  className?: string;
@@ -1607,9 +1428,9 @@ declare type Props_23 = {
1607
1428
  value: string;
1608
1429
  /** Kopyalama düğmesinin erişilebilir adı. */
1609
1430
  copyLabel?: string;
1610
- /** Kopyalandıktan sonraki ad. Verilmezse `labels.copyField.copied(value)`. */
1431
+ /** Kopyalandıktan sonraki ad. */
1611
1432
  copiedLabel?: string;
1612
- /** `aria-live` ile duyurulan onay cümlesi. Verilmezse `labels.copyField.announcement`. */
1433
+ /** `aria-live` ile duyurulan onay cümlesi. */
1613
1434
  copiedAnnouncement?: string;
1614
1435
  size?: 'sm' | 'md';
1615
1436
  /** Kopyalama düğmesini gizler. */
@@ -1645,14 +1466,11 @@ declare type Props_26 = {
1645
1466
  eyebrow?: string;
1646
1467
  /** Bir cümlelik açıklama. 68ch ile sınırlı tutulur. */
1647
1468
  description?: ReactNode;
1648
- /** Sağ tarafta duran eylemler. Dar ekranda başlığın altına düşer. */
1469
+ /** Sağ tarafta duran eylemler. */
1649
1470
  actions?: ReactNode;
1650
1471
  /** Başlık satırının üstündeki kırıntı yolu. */
1651
1472
  breadcrumb?: ReactNode;
1652
- /**
1653
- * Başlığın yanındaki sayaç ("1.248 kayıt"). Açıklamanın değil BAŞLIĞIN
1654
- * hizasında durur; kullanıcı sayıyı başlıkla birlikte okur.
1655
- */
1473
+ /** Başlığın yanındaki sayaç ("1.248 kayıt"). */
1656
1474
  meta?: ReactNode;
1657
1475
  /** Başlık bloğunun altında duran ek içerik (filtre şeridi, sekmeler). */
1658
1476
  children?: ReactNode;
@@ -1664,7 +1482,7 @@ declare type Props_26 = {
1664
1482
 
1665
1483
  declare type Props_27 = {
1666
1484
  children: ReactNode;
1667
- /** Panel başlığı. Verilmezse başlık şeridi hiç çizilmez. */
1485
+ /** Panel başlığı. */
1668
1486
  title?: string;
1669
1487
  /** Başlık altındaki tek satırlık açıklama. */
1670
1488
  description?: ReactNode;
@@ -1685,9 +1503,9 @@ declare type Props_27 = {
1685
1503
  };
1686
1504
 
1687
1505
  declare type Props_28 = {
1688
- /** BİÇİMLENMİŞ tutar: "1.299,90". Bileşen hesap yapmaz. */
1506
+ /** BİÇİMLENMİŞ tutar: "1.299,90". */
1689
1507
  value: string;
1690
- /** Para birimi simgesi ya da kodu. Verilmezse `labels.currency`. */
1508
+ /** Para birimi simgesi ya da kodu. */
1691
1509
  currency?: string;
1692
1510
  /** Değeri `Intl.NumberFormat` ile biçimlendirir. */
1693
1511
  isFormatted?: boolean;
@@ -1703,7 +1521,7 @@ declare type Props_28 = {
1703
1521
  };
1704
1522
 
1705
1523
  declare type Props_29 = {
1706
- /** 0–5 arası puan. Yarım yıldız desteklenir. */
1524
+ /** 0–5 arası puan. */
1707
1525
  value: number;
1708
1526
  /** Değerlendirme sayısı; verilirse yıldızların yanında gösterilir. */
1709
1527
  count?: number;
@@ -1719,23 +1537,14 @@ declare type Props_3 = {
1719
1537
  content: ReactNode;
1720
1538
  /** Açıklamanın bağlandığı öğe — düğme, ikon, etiket. */
1721
1539
  children: ReactNode;
1722
- /**
1723
- * Tercih edilen kenar. Yer yoksa KARŞITINA düşer; üçüncü bir kenara
1724
- * atlamaz (bkz. `usePositioning`).
1725
- */
1540
+ /** Tercih edilen kenar. */
1726
1541
  side?: PositionSide;
1727
- /**
1728
- * Açılma gecikmesi (ms). Fare bir araç çubuğunun üzerinden geçerken sıfır
1729
- * gecikme, art arda beş balon açıp kapatıyordu.
1730
- */
1542
+ /** Açılma gecikmesi (ms). */
1731
1543
  openDelay?: number;
1732
1544
  /**
1733
- * @deprecated `side` kullanın. Bu prop bir sonraki büyük sürümde kalkacak.
1734
- *
1735
- * <p>Ad değişti çünkü davranış değişti: `position` SABİT bir kenar
1736
- * yazıyordu ve balon oraya sığmadığında görünüm alanının dışına taşıyordu.
1737
- * `side` yalnızca TERCİH — yer yoksa karşıt kenara düşülüyor. Aynı adı
1738
- * korumak, artık doğru olmayan bir sözü sürdürmek olurdu.
1545
+ * Ad değişti çünkü davranış değişti: `position` SABİT bir kenar yazıyordu ve balon oraya
1546
+ * sığmadığında görünüm alanının dışına taşıyordu. `side`…
1547
+ * @deprecated `side` kullanın.
1739
1548
  */
1740
1549
  position?: 'top' | 'bottom';
1741
1550
  className?: string;
@@ -1756,7 +1565,7 @@ declare type Props_30 = {
1756
1565
 
1757
1566
  declare type Props_31 = {
1758
1567
  children: ReactNode;
1759
- /** Kaydırılabilir bölgenin erişilebilir adı. ZORUNLU. */
1568
+ /** Kaydırılabilir bölgenin erişilebilir adı. */
1760
1569
  label: string;
1761
1570
  /** Kaydırma yönü. `both` iki eksende de kaydırır. */
1762
1571
  axis?: 'vertical' | 'horizontal' | 'both';
@@ -1782,7 +1591,7 @@ declare type Props_32 = {
1782
1591
  declare type Props_33 = {
1783
1592
  /** Ölçülen şeyin adı ("Bugünkü sipariş"). */
1784
1593
  label: string;
1785
- /** Değerin KENDİSİ — biçimlendirilmiş dize. Bileşen hesap yapmaz. */
1594
+ /** Değerin KENDİSİ — biçimlendirilmiş dize. */
1786
1595
  value: ReactNode;
1787
1596
  /** Değerin yanındaki birim ("₺", "adet"). */
1788
1597
  unit?: string;
@@ -1790,16 +1599,13 @@ declare type Props_33 = {
1790
1599
  delta?: string;
1791
1600
  /** Değişimin yönü. */
1792
1601
  trend?: StatTrend;
1793
- /** Artış İYİ mi. Varsayılan `true`. */
1602
+ /** Artış İYİ mi. */
1794
1603
  isUpPositive?: boolean;
1795
1604
  /** Değerin altındaki bir cümlelik bağlam ("geçen haftaya göre"). */
1796
1605
  description?: ReactNode;
1797
1606
  /** Sol üstte duran ikon madalyonu. */
1798
1607
  icon?: ReactNode;
1799
- /**
1800
- * `plain` KUTUYU kaldırır: zemin, kenarlık ve dolgu gider, yalnızca sayı
1801
- * kalır. Varsayılan `card`.
1802
- */
1608
+ /** `plain` KUTUYU kaldırır: zemin, kenarlık ve dolgu gider, yalnızca sayı kalır. */
1803
1609
  variant?: 'card' | 'plain';
1804
1610
  size?: 'sm' | 'md';
1805
1611
  className?: string;
@@ -1826,13 +1632,12 @@ declare type Props_34 = {
1826
1632
 
1827
1633
  declare type Props_35 = {
1828
1634
  /**
1829
- * Tamamlanan miktar. `undefined` → BELİRSİZ ilerleme (sonu bilinmiyor);
1830
- * çubuk kendi kendine akar.
1635
+ * Tamamlanan miktar. `undefined` → BELİRSİZ ilerleme (sonu bilinmiyor); çubuk kendi kendine akar.
1831
1636
  */
1832
1637
  value?: number;
1833
1638
  /** Ölçeğin üst ucu. */
1834
1639
  max?: number;
1835
- /** Çubuğun erişilebilir adı ("Yükleme", "Ödeme adımı"). ZORUNLU. */
1640
+ /** Çubuğun erişilebilir adı ("Yükleme", "Ödeme adımı"). */
1836
1641
  label: string;
1837
1642
  /** Ekran okuyucuya okunan METİN karşılığı ("3 / 5 dosya"). */
1838
1643
  valueText?: string;
@@ -1866,20 +1671,11 @@ declare type Props_37 = {
1866
1671
 
1867
1672
  declare type Props_38 = {
1868
1673
  steps: StepItem[];
1869
- /**
1870
- * Bulunulan adımın DİZİNİ (0 tabanlı). Öncesi tamamlanmış sayılır.
1871
- * VERİLMEZSE liste ilerleme değil SIRALI TALİMAT olarak çizilir: durum
1872
- * metni yok, tik yok, `aria-current` yok — yalnızca numaralı adımlar
1873
- * ("olası nedenler — kontrol sırasıyla" gibi teşhis listeleri).
1874
- */
1674
+ /** Bulunulan adımın DİZİNİ (0 tabanlı). */
1875
1675
  currentIndex?: number;
1876
- /**
1877
- * Bir adıma dönülebiliyorsa verilir. Verilmediğinde adımlar düğme DEĞİL
1878
- * düz metin olur — tıklanabilir görünüp hiçbir şey yapmayan bir adım,
1879
- * kullanıcıya var olmayan bir yol vaat ediyordu.
1880
- */
1676
+ /** Bir adıma dönülebiliyorsa verilir. */
1881
1677
  onStepClick?: (index: number) => void;
1882
- /** Akışın erişilebilir adı ("Ödeme adımları"). ZORUNLU. */
1678
+ /** Akışın erişilebilir adı ("Ödeme adımları"). */
1883
1679
  label: string;
1884
1680
  orientation?: 'horizontal' | 'vertical';
1885
1681
  className?: string;
@@ -1902,10 +1698,10 @@ declare type Props_39 = {
1902
1698
  };
1903
1699
 
1904
1700
  declare type Props_4 = {
1905
- /** Tetikleyici. TEK öğe; bileşen ona `ref` ve ARIA ekliyor. */
1701
+ /** Tetikleyici. */
1906
1702
  trigger: ReactElement;
1907
1703
  items: MenuItem[];
1908
- /** Menünün erişilebilir adı ("Satır eylemleri"). ZORUNLU. */
1704
+ /** Menünün erişilebilir adı ("Satır eylemleri"). */
1909
1705
  label: string;
1910
1706
  side?: PositionSide;
1911
1707
  align?: PositionAlign;
@@ -1929,7 +1725,7 @@ declare type Props_40 = {
1929
1725
 
1930
1726
  declare type Props_41 = {
1931
1727
  events: TimelineEvent[];
1932
- /** Akışın erişilebilir adı ("Sipariş geçmişi"). ZORUNLU. */
1728
+ /** Akışın erişilebilir adı ("Sipariş geçmişi"). */
1933
1729
  label: string;
1934
1730
  className?: string;
1935
1731
  testId?: string;
@@ -1937,18 +1733,18 @@ declare type Props_41 = {
1937
1733
 
1938
1734
  declare type Props_42 = {
1939
1735
  title: string;
1940
- /** Kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1736
+ /** Kapatma düğmesinin erişilebilir adı. */
1941
1737
  closeLabel?: string;
1942
1738
  onClose: () => void;
1943
1739
  children: ReactNode;
1944
1740
  /**
1945
- * Başlığın altında duran, gövde kaydırılırken yerinde kalan şerit —
1946
- * `Combobox`ın arama kutusu gibi.
1741
+ * Başlığın altında duran, gövde kaydırılırken yerinde kalan şerit — `Combobox`ın arama kutusu
1742
+ * gibi.
1947
1743
  */
1948
1744
  toolbar?: ReactNode;
1949
1745
  /** Dipte duran eylem şeridi. */
1950
1746
  footer?: ReactNode;
1951
- /** Panelin <strong>kendiliğinden kapandığı</strong> medya sorgusu. */
1747
+ /** Panelin kendiliğinden kapandığı medya sorgusu. */
1952
1748
  closeAbove?: string;
1953
1749
  className?: string;
1954
1750
  testId?: string;
@@ -1963,7 +1759,7 @@ declare type Props_43 = {
1963
1759
  children?: ReactNode;
1964
1760
  /** Başlığın altındaki bir cümlelik açıklama. */
1965
1761
  description?: ReactNode;
1966
- /** Altta duran eylemler. Sağa yaslanır; dar ekranda tam genişliğe yayılır. */
1762
+ /** Altta duran eylemler. */
1967
1763
  footer?: ReactNode;
1968
1764
  /** Başlığın solunda duran ikon madalyonu; `tone` rengini alır. */
1969
1765
  icon?: ReactNode;
@@ -1980,11 +1776,11 @@ declare type Props_44 = {
1980
1776
  isOpen: boolean;
1981
1777
  onClose: () => void;
1982
1778
  items: CommandItem[];
1983
- /** Pencerenin erişilebilir adı ("Komut paleti"). ZORUNLU. */
1779
+ /** Pencerenin erişilebilir adı ("Komut paleti"). */
1984
1780
  label: string;
1985
- /** Arama kutusunun yer tutucusu ve erişilebilir adı. ZORUNLU. */
1781
+ /** Arama kutusunun yer tutucusu ve erişilebilir adı. */
1986
1782
  searchPlaceholder: string;
1987
- /** Sonuç yokken yazılan metin. ZORUNLU. */
1783
+ /** Sonuç yokken yazılan metin. */
1988
1784
  emptyMessage: string;
1989
1785
  className?: string;
1990
1786
  testId?: string;
@@ -1994,11 +1790,11 @@ declare type Props_45 = {
1994
1790
  isOpen: boolean;
1995
1791
  onClose: () => void;
1996
1792
  /**
1997
- * Onaylandığında çalışır. `Promise` dönerse düğme beklerken yükleme
1998
- * durumuna geçer ve pencere <strong>kapanmaz</strong>.
1793
+ * Onaylandığında çalışır. `Promise` dönerse düğme beklerken yükleme durumuna geçer ve pencere
1794
+ * kapanmaz.
1999
1795
  */
2000
1796
  onConfirm: () => void | Promise<void>;
2001
- /** Soru cümlesi. Eylem odaklı yazılır: "…silinsin mi?". */
1797
+ /** Soru cümlesi. */
2002
1798
  title: string;
2003
1799
  /** Sonucu açıklar: neyin geri alınamaz olduğu burada yazılır. */
2004
1800
  description?: ReactNode;
@@ -2010,7 +1806,7 @@ declare type Props_45 = {
2010
1806
  closeLabel?: string;
2011
1807
  /** Onayın türü — ikon, ton ve onay düğmesinin varyantını birlikte belirler. */
2012
1808
  variant?: ConfirmKind;
2013
- /** @deprecated `variant` kullanın. Bir sonraki büyük sürümde kalkacak. */
1809
+ /** @deprecated `variant` kullanın. */
2014
1810
  kind?: ConfirmKind;
2015
1811
  /** Ek bağlam: silinecek kaydın özeti, uyarı kutusu. */
2016
1812
  children?: ReactNode;
@@ -2020,10 +1816,10 @@ declare type Props_46 = {
2020
1816
  isOpen: boolean;
2021
1817
  onClose: () => void;
2022
1818
  title: string;
2023
- /** Kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1819
+ /** Kapatma düğmesinin erişilebilir adı. */
2024
1820
  closeLabel?: string;
2025
1821
  children: ReactNode;
2026
- /** Panelin hangi kenardan geldiği. Mantıksal: `end` RTL'de sola açılır. */
1822
+ /** Panelin hangi kenardan geldiği. */
2027
1823
  side?: 'start' | 'end';
2028
1824
  size?: 'sm' | 'md' | 'lg';
2029
1825
  /** Dipte duran eylem şeridi; gövde kaydırılırken yerinde kalır. */
@@ -2042,18 +1838,9 @@ declare type Props_47 = BaseProps_3 & {
2042
1838
  };
2043
1839
 
2044
1840
  declare type Props_48 = TableHTMLAttributes<HTMLTableElement> & Partial<{
2045
- /**
2046
- * Hücre dolgusu. Tablolar aynı iskeleti paylaşır ama yoğunlukları içeriğe
2047
- * göre değişir: yüzlerce satırlık bir liste sıkı, karşılaştırma matrisi
2048
- * ferah durur.
2049
- */
1841
+ /** Hücre dolgusu. */
2050
1842
  density: 'compact' | 'regular' | 'spacious';
2051
- /**
2052
- * Başlık satırı `$surface-2` zeminle kutunun içinde YAPIŞKAN kalır.
2053
- * Zemin zorunlu: saydam başlığın arkasından kayan satırlar geçiyordu.
2054
- * `top: 0` doğru olan — referans üst bant değil, tablonun kendi kaydırma
2055
- * kutusu.
2056
- */
1843
+ /** Başlık satırı `$surface-2` zeminle kutunun içinde YAPIŞKAN kalır. */
2057
1844
  hasStickyHead: boolean;
2058
1845
  /** Satır hover zemini: çok sütunlu tabloda göz satırını kaybediyor. */
2059
1846
  hasRowHover: boolean;
@@ -2063,38 +1850,25 @@ declare type Props_49 = {
2063
1850
  columns: DataTableColumn[];
2064
1851
  /**
2065
1852
  * Tablonun erişilebilir adı ("Bekleyen siparişler").
2066
- *
2067
- * ⚠ ADSIZ TABLO EKRAN OKUYUCUDA YALNIZCA "tablo" DİYE OKUNUR. Panelde
2068
- * aynı anda birden fazla tablo bulunabiliyor ve kullanıcı hangisinde
2069
- * olduğunu ayırt edemiyordu. `<caption>` yerine `aria-label` seçildi:
2070
- * başlık zaten `PageHeader`/`Panel` içinde görünür durumda, ikinci kez
2071
- * çizmek görsel tekrar olurdu.
1853
+ * ⚠ ADSIZ TABLO EKRAN OKUYUCUDA YALNIZCA "tablo" DİYE OKUNUR.
2072
1854
  */
2073
1855
  label?: string;
2074
1856
  /**
2075
- * Gövde satırları (`<tr>`). Ekranların özel hücreleri, bağlantıları ve satır
2076
- * tintleri burada yaşar; tablo yalnızca kabuğu ve durum satırlarını
2077
- * üstlenir. Uyarı tinti için {@link DataTableRow}.
1857
+ * Gövde satırları (` `). Ekranların özel hücreleri, bağlantıları ve satır tintleri burada yaşar;
1858
+ * tablo yalnızca kabuğu ve durum satırlarını üstlenir.
2078
1859
  */
2079
1860
  children?: ReactNode;
2080
- /** Satır yokken gösterilen metin. Verilmezse `labels.dataTable.empty`. */
1861
+ /** Satır yokken gösterilen metin. */
2081
1862
  emptyMessage?: string;
2082
- /** Yükleme sürerken gösterilen metin. Verilmezse `labels.dataTable.loading`. */
1863
+ /** Yükleme sürerken gösterilen metin. */
2083
1864
  loadingMessage?: string;
2084
1865
  isLoading?: boolean;
2085
1866
  /**
2086
- * Liste ÇEKİLEMEDİ. <strong>"Yüklenemedi" ile "boş" ayrı durumlardır</strong>:
2087
- * hata verilmişken boş mesajı asla çizilmez — ağ hatasını "kayıt kalmamış"
2088
- * diye okutmak kullanıcıya yanlış karar verdirir. Hatayı tablonun dışında
2089
- * (`Alert`) gösteren ekran bu prop'u geçmez.
1867
+ * Liste ÇEKİLEMEDİ. "Yüklenemedi" ile "boş" ayrı durumlardır: hata verilmişken boş mesajı asla
1868
+ * çizilmez
2090
1869
  */
2091
1870
  error?: string | null;
2092
- /**
2093
- * Gövde `100dvh - <bant>` ile sınırlanır ve başlık satırı kendi kaydırma
2094
- * alanına yapışır. Sınırsız yükseklikte `position: sticky` HİÇ çalışmıyordu:
2095
- * `overflow` alanı ekrandan uzun olunca başlık sayfayla birlikte yukarı çıkıp
2096
- * gidiyordu.
2097
- */
1871
+ /** Gövde `100dvh - <bant>` ile sınırlanır ve başlık satırı kendi kaydırma alanına yapışır. */
2098
1872
  hasViewportCap?: boolean;
2099
1873
  /** Sıralanabilir bir başlığa basıldığında çağrılır. */
2100
1874
  onSort?: (key: string, direction: 'ascending' | 'descending') => void;
@@ -2105,17 +1879,14 @@ declare type Props_49 = {
2105
1879
  };
2106
1880
 
2107
1881
  declare type Props_5 = {
2108
- /**
2109
- * Tetikleyici. TEK bir öğe olmak zorunda: bileşen ona `ref`, `onClick` ve
2110
- * `aria-expanded` ekliyor.
2111
- */
1882
+ /** Tetikleyici. */
2112
1883
  trigger: ReactElement;
2113
1884
  children: ReactNode;
2114
- /** Yüzeyin erişilebilir adı. ZORUNLU — adsız bir bölge "grup" diye okunur. */
1885
+ /** Yüzeyin erişilebilir adı. */
2115
1886
  label: string;
2116
1887
  side?: PositionSide;
2117
1888
  align?: PositionAlign;
2118
- /** Kontrollü kullanım. Verilmezse bileşen durumu kendisi tutar. */
1889
+ /** Kontrollü kullanım. */
2119
1890
  isOpen?: boolean;
2120
1891
  onOpenChange?: (isOpen: boolean) => void;
2121
1892
  className?: string;
@@ -2124,15 +1895,15 @@ declare type Props_5 = {
2124
1895
 
2125
1896
  declare type Props_50 = {
2126
1897
  /**
2127
- * Filtreler uygulanır. `preventDefault` bileşenin işi; çağıran yalnızca
2128
- * durumunu günceller (sayfayı 1'e almak + aramayı uygulamak gibi).
1898
+ * Filtreler uygulanır. `preventDefault` bileşenin işi; çağıran yalnızca durumunu günceller
1899
+ * (sayfayı 1'e almak + aramayı uygulamak gibi).
2129
1900
  */
2130
1901
  onSubmit: () => void;
2131
- /** Alanlar — her biri {@link FilterBarField} içinde. */
1902
+ /** Alanlar — her biri FilterBarField içinde. */
2132
1903
  children: ReactNode;
2133
1904
  /** Şeridin sağ ucundaki eylemler ("Uygula" düğmesi gibi). */
2134
1905
  actions?: ReactNode;
2135
- /** Şeridin erişilebilir adı. Verilmezse `labels.filters`. */
1906
+ /** Şeridin erişilebilir adı. */
2136
1907
  label?: string;
2137
1908
  className?: string;
2138
1909
  testId?: string;
@@ -2146,7 +1917,7 @@ declare type Props_7<T extends string> = {
2146
1917
  options: SegmentOption<T>[];
2147
1918
  value: T;
2148
1919
  onChange: (value: T) => void;
2149
- /** Grubun erişilebilir adı ("Görünüm"). ZORUNLU. */
1920
+ /** Grubun erişilebilir adı ("Görünüm"). */
2150
1921
  label: string;
2151
1922
  /** Etiketler gizlenir, yalnızca ikon çizilir. `label` yine okunur. */
2152
1923
  isIconOnly?: boolean;
@@ -2159,14 +1930,11 @@ declare type Props_8<T extends string> = {
2159
1930
  options: SelectOption<T>[];
2160
1931
  value: T;
2161
1932
  onChange: (value: T) => void;
2162
- /**
2163
- * Alanın adı. İki işi birden yapar: alt sayfanın başlığı olur ve
2164
- * tetikleyicinin <strong>erişilebilir adı</strong>dır.
2165
- */
1933
+ /** Alanın adı. */
2166
1934
  label: string;
2167
- /** Seçim yokken tetikleyicide görünen metin. Verilmezse `labels.selectPlaceholder`. */
1935
+ /** Seçim yokken tetikleyicide görünen metin. */
2168
1936
  placeholder?: string;
2169
- /** Alt sayfanın kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1937
+ /** Alt sayfanın kapatma düğmesinin erişilebilir adı. */
2170
1938
  closeLabel?: string;
2171
1939
  /** Tetikleyicinin solundaki ikon. */
2172
1940
  icon?: ReactNode;
@@ -2178,14 +1946,8 @@ declare type Props_8<T extends string> = {
2178
1946
  id?: string;
2179
1947
  /**
2180
1948
  * Zorunluluk — `Field`in `FieldChildProps` sözleşmesinden gelir.
2181
- *
2182
- * ⚠ Bileşen `...rest` YAYMIYOR, yani `Props`ta bildirilmeyen her alan
2183
- * sessizce buharlaşır. `required` bir dönem tam olarak öyleydi: `<Field
2184
- * isRequired>{props => <Select {...props} …/>}</Field>` yazan çağıran
2185
- * görsel `*` ve sr-only "(zorunlu)" alıyor ama KONTROLDE hiçbir işaret
2186
- * olmuyordu — doğrudan kutuya atlayan ekran okuyucu kullanıcısı alanın
2187
- * zorunlu olduğunu hiç duymuyordu. `props` taze bir nesne literali olmadığı
2188
- * için TypeScript'in fazla-özellik denetimi de uyarmıyordu.
1949
+ * ⚠ Bileşen `...rest` YAYMIYOR, yani `Props`ta bildirilmeyen her alan sessizce buharlaşır.
1950
+ * `required` bir dönem tam olarak öyleydi: `<Field…
2189
1951
  */
2190
1952
  required?: boolean;
2191
1953
  'aria-describedby'?: string;
@@ -2230,11 +1992,11 @@ declare const RadioCard_2: FC<Props_9>;
2230
1992
  declare type RangeProps = {
2231
1993
  value: DateRangeValue;
2232
1994
  onChange: (value: DateRangeValue) => void;
2233
- /** Başlangıç alanının erişilebilir adı ("Başlangıç"). ZORUNLU. */
1995
+ /** Başlangıç alanının erişilebilir adı ("Başlangıç"). */
2234
1996
  startLabel: string;
2235
- /** Bitiş alanının erişilebilir adı ("Bitiş"). ZORUNLU. */
1997
+ /** Bitiş alanının erişilebilir adı ("Bitiş"). */
2236
1998
  endLabel: string;
2237
- /** İki alanın arasındaki ayraç. Varsayılan yarım tire. */
1999
+ /** İki alanın arasındaki ayraç. */
2238
2000
  separator?: string;
2239
2001
  /** Ölçeğin uçları; ikisi de yerel öğeye geçer. */
2240
2002
  min?: string;
@@ -2277,22 +2039,16 @@ declare type RowProps = HTMLAttributes<HTMLTableRowElement> & {
2277
2039
 
2278
2040
  export declare const ScrollArea: typeof ScrollArea_2;
2279
2041
 
2280
- /** Kaydırma kutusu — <strong>klavyeyle erişilebilir</strong> kaydırma bölgesi. */
2042
+ /** Kaydırma kutusu — klavyeyle erişilebilir kaydırma bölgesi. */
2281
2043
  declare const ScrollArea_2: FC<Props_31>;
2282
2044
 
2283
2045
  declare type ScrollerProps = HTMLAttributes<HTMLDivElement> & {
2284
- /**
2285
- * Çerçeve (hairline + yarıçap + yüzey). Gömülü tablolarda kapatılır: orada
2286
- * tablo zaten bir kartın içinde ve ikinci bir çerçeve kutu içinde kutu
2287
- * görünüyordu.
2288
- */
2046
+ /** Çerçeve (hairline + yarıçap + yüzey). */
2289
2047
  hasFrame?: boolean;
2290
2048
  /**
2291
2049
  * Kaydırma bölgesinin erişilebilir adı ("Sipariş kalemleri").
2292
- *
2293
- * ⚠ ZORUNLU değil ama VERİLMELİ: kutu klavyeyle odaklanabilir bir
2294
- * `region` ve adsız bir bölge ekran okuyucuda yalnızca "bölge" diye
2295
- * okunur — kullanıcı neyin içinde olduğunu bilemez.
2050
+ * ⚠ ZORUNLU değil ama VERİLMELİ: kutu klavyeyle odaklanabilir bir `region` ve adsız bir bölge
2051
+ * ekran okuyucuda yalnızca "bölge" diye okunur
2296
2052
  */
2297
2053
  label?: string;
2298
2054
  };
@@ -2304,7 +2060,7 @@ declare const SectionHeader_2: FC<Props_30>;
2304
2060
 
2305
2061
  export declare const SegmentedControl: typeof SegmentedControl_2;
2306
2062
 
2307
- /** Bölmeli denetim — <strong>görünüm</strong> değiştirme. */
2063
+ /** Bölmeli denetim — görünüm değiştirme. */
2308
2064
  declare const SegmentedControl_2: <T extends string>({ options, value, onChange, label, isIconOnly, size, className, testId, }: Props_7<T>) => JSX.Element;
2309
2065
 
2310
2066
  export declare type SegmentOption<T extends string = string> = {
@@ -2379,13 +2135,7 @@ declare const Steps_2: FC<Props_38>;
2379
2135
 
2380
2136
  export declare const SummaryCard: typeof SummaryCard_2;
2381
2137
 
2382
- /**
2383
- * Özet kartı — başlık + kısa açıklama + meta satırı taşıyan BAĞLANTILI kart.
2384
- *
2385
- * Kartın tamamı tıklanır ama sekme durağı TEKTİR: bağlantı başlıktadır,
2386
- * yüzeyi `::after` katmanı kaplar. `meta` satırı katmanın ÜSTÜNDE durur —
2387
- * içine konan çip/rozet tıklamaları kart bağlantısına düşmez.
2388
- */
2138
+ /** Özet kartı — başlık + kısa açıklama + meta satırı taşıyan BAĞLANTILI kart. */
2389
2139
  declare const SummaryCard_2: FC<Props_34>;
2390
2140
 
2391
2141
  export declare type SummaryCardHeadingLevel = 2 | 3 | 4;
@@ -2393,15 +2143,8 @@ export declare type SummaryCardHeadingLevel = 2 | 3 | 4;
2393
2143
  export declare const Switch: typeof Switch_2;
2394
2144
 
2395
2145
  /**
2396
- * Anahtar (switch) — <strong>anında</strong> uygulanan aç/kapa.
2397
- *
2398
- * @example
2399
- * <Switch
2400
- * label="Kampanya bildirimleri"
2401
- * hint="E-posta ile ayda en fazla iki ileti"
2402
- * checked={isSubscribed}
2403
- * onChange={event => subscribe(event.target.checked)}
2404
- * />
2146
+ * Anahtar (switch) — anında uygulanan aç/kapa.
2147
+ * @example <Switch label="Kampanya bildirimleri" hint="E-posta ile ayda en fazla iki…
2405
2148
  */
2406
2149
  declare const Switch_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "role" | "type"> & {
2407
2150
  /** Anahtarın görünür etiketi. */
@@ -2431,28 +2174,20 @@ export declare const TableCheckbox: typeof TableCheckbox_2;
2431
2174
 
2432
2175
  /** Tablo hücresindeki toplu seçim kutusu. */
2433
2176
  declare const TableCheckbox_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "aria-label"> & {
2434
- /**
2435
- * Erişilebilir ad — ZORUNLU. Hücrede görünür etiket yok (etiket sütun
2436
- * başlığında); adsız kutu ekran okuyucuda yalnızca "onay kutusu" diye
2437
- * okunur. Satır kutusunda kaydın kimliğini söyleyin ("SP-2026-000123 seç").
2438
- */
2177
+ /** Erişilebilir ad — ZORUNLU. */
2439
2178
  label: string;
2440
2179
  /**
2441
2180
  * "Bazı satırlar seçili" — başlık kutusunun üçüncü durumu.
2442
- *
2443
- * ⚠ Bu prop OLMADAN o durum İFADE EDİLEMİYORDU. `indeterminate` bir HTML
2444
- * niteliği değil, yalnızca DOM ÖZELLİĞİ; JSX ile yazılamaz, `ref` üzerinden
2445
- * atanması gerekir. Sonuç: başlık kutusu ya "hiçbiri" ya "hepsi" diyordu,
2446
- * kısmi seçimde ise sessizce YANLIŞ bilgi veriyordu — operatör "hepsi
2447
- * seçili" sanıp toplu işlem yapıyordu.
2181
+ * ⚠ Bu prop OLMADAN o durum İFADE EDİLEMİYORDU. `indeterminate` bir HTML niteliği değil, yalnızca
2182
+ * DOM ÖZELLİĞİ
2448
2183
  */
2449
2184
  isIndeterminate?: boolean;
2450
2185
  testId?: string;
2451
2186
  } & RefAttributes<HTMLInputElement>>;
2452
2187
 
2453
2188
  /**
2454
- * Tablo kaydırma kutusu — "tablo kendi kutusunda kayar, sayfa asla yatay
2455
- * kaymaz" kuralının tek uygulaması.
2189
+ * Tablo kaydırma kutusu — "tablo kendi kutusunda kayar, sayfa asla yatay kaymaz" kuralının tek
2190
+ * uygulaması.
2456
2191
  */
2457
2192
  export declare const TableScroller: FC<ScrollerProps>;
2458
2193
 
@@ -2504,7 +2239,7 @@ declare const Timeline_2: FC<Props_41>;
2504
2239
  export declare type TimelineEvent = {
2505
2240
  id: string;
2506
2241
  title: string;
2507
- /** Zaman damgası — BİÇİMLENDİRİLMİŞ dize. Bileşen tarih biçimlendirmez. */
2242
+ /** Zaman damgası — BİÇİMLENDİRİLMİŞ dize. */
2508
2243
  time?: string;
2509
2244
  description?: ReactNode;
2510
2245
  status?: TimelineStatus;
@@ -2517,10 +2252,7 @@ export declare type TimelineStatus = 'done' | 'current' | 'pending' | 'failed';
2517
2252
 
2518
2253
  /**
2519
2254
  * BİLDİRİM SÖZLEŞMESİ — süre, ikon ve renk kararları TEK YERDE.
2520
- *
2521
- * @example
2522
- * toast.success('Adres kaydedildi');
2523
- * toast.error('Kart reddedildi', { action: { label: 'Yeniden dene', onClick: retry } });
2255
+ * @example toast.success('Adres kaydedildi'); toast.error('Kart reddedildi', { action: { label…
2524
2256
  */
2525
2257
  export declare const toast: {
2526
2258
  show: (message: string, options?: ToastOptions) => number;
@@ -2535,7 +2267,7 @@ export declare const toast: {
2535
2267
 
2536
2268
  export declare const ToastHub: typeof ToastHub_2;
2537
2269
 
2538
- /** Bildirim yığını — uygulamada <strong>BİR KEZ</strong> çizilir. */
2270
+ /** Bildirim yığını — uygulamada BİR KEZ çizilir. */
2539
2271
  declare const ToastHub_2: ({ closeLabel, regionLabel, className }: HubProps) => ReactPortal | null;
2540
2272
 
2541
2273
  export declare type ToastOptions = {
@@ -2555,12 +2287,7 @@ export declare const ToastPortal: typeof ToastPortal_2;
2555
2287
 
2556
2288
  /**
2557
2289
  * `ToastHub`ı montajdan SONRA çizen sarmalayıcı.
2558
- *
2559
- * ⚠ SUNUCUDA ÇİZİLMEMESİ ŞART. `ToastHub` portal kullanıyor ve `document`
2560
- * olmadan çalışamaz; sunucu tarafında çizilen bir ağaçta doğrudan kullanmak
2561
- * hidrasyon uyuşmazlığı üretir. Next.js kullanan iki uygulamada da aynı
2562
- * sarmalayıcı BİREBİR AYNI dosya olarak yazılmıştı — çözüm uygulamaya değil
2563
- * bileşene ait.
2290
+ * ⚠ SUNUCUDA ÇİZİLMEMESİ ŞART. `ToastHub` portal kullanıyor ve `document` olmadan çalışamaz
2564
2291
  */
2565
2292
  declare const ToastPortal_2: FC;
2566
2293
 
@@ -2580,16 +2307,13 @@ export declare enum UISize {
2580
2307
 
2581
2308
  /** Düğme ve eylem varyantları. */
2582
2309
  export declare enum UIVariant {
2583
- /** Ekranın tek beklenen eylemi: <strong>nötr grafit</strong> dolgu. */
2310
+ /** Ekranın tek beklenen eylemi: nötr grafit dolgu. */
2584
2311
  PRIMARY = "PRIMARY",
2585
- /** <strong>Dönüşüm eylemi — ve yalnızca o.</strong> */
2312
+ /** Dönüşüm eylemi — ve yalnızca o. */
2586
2313
  CART = "CART",
2587
2314
  /** Nötr ikincil eylem: gri kenarlık, koyu metin ("Vazgeç"). */
2588
2315
  SECONDARY = "SECONDARY",
2589
- /**
2590
- * Mavi çerçeveli eylem — teşvik edilen ama birincil olmayan gezinme
2591
- * ("Tümünü gör").
2592
- */
2316
+ /** Mavi çerçeveli eylem — teşvik edilen ama birincil olmayan gezinme ("Tümünü gör"). */
2593
2317
  OUTLINE = "OUTLINE",
2594
2318
  /** Vurgu bandı içindeki eylem: bandın kendi yüzey merdivenini kullanır. */
2595
2319
  DARK = "DARK",
@@ -2597,25 +2321,22 @@ export declare enum UIVariant {
2597
2321
  LIGHT = "LIGHT",
2598
2322
  /** Zeminsiz eylem: araç çubuğu ve satır içi ikincil işler. */
2599
2323
  GHOST = "GHOST",
2600
- /** Yıkıcı eylem: silme onayı. Durum tinti değil, gerçek bir dolgu. */
2324
+ /** Yıkıcı eylem: silme onayı. */
2601
2325
  DANGER = "DANGER"
2602
2326
  }
2603
2327
 
2604
2328
  export declare type UploadFile = {
2605
2329
  id: string;
2606
2330
  name: string;
2607
- /** Bayt. Ekranda okunur biçime çevrilir. */
2331
+ /** Bayt. */
2608
2332
  size: number;
2609
2333
  /** 0-100. `undefined` → yükleme başlamadı ya da bitti. */
2610
2334
  progress?: number;
2611
- /** Bu dosyaya ait hata. Satır kırmızı çizilir ve metin okunur. */
2335
+ /** Bu dosyaya ait hata. */
2612
2336
  error?: string;
2613
2337
  };
2614
2338
 
2615
- /**
2616
- * Duyuru fonksiyonu döndürür. Referans SABİT: bağımlılık dizisine güvenle
2617
- * konur, her render'da yeni bir kapanış üretip etkileri tetiklemez.
2618
- */
2339
+ /** Duyuru fonksiyonu döndürür. */
2619
2340
  export declare const useAnnounce: () => ((message: string, politeness?: AnnouncePoliteness) => void);
2620
2341
 
2621
2342
  /** Sağlayıcı ZORUNLU DEĞİL. */
@@ -2623,9 +2344,7 @@ export declare const useHanui: () => HanuiContextValue;
2623
2344
 
2624
2345
  /**
2625
2346
  * Açık/koyu seçimini okur ve değiştirir.
2626
- *
2627
- * @example
2628
- * const { scheme, toggle, isReady } = useHanuiTheme();
2347
+ * @example const { scheme, toggle, isReady } = useHanuiTheme();
2629
2348
  */
2630
2349
  export declare const useHanuiTheme: () => HanuiThemeState;
2631
2350
 
@@ -2635,8 +2354,8 @@ export declare const useListboxNavigation: <T extends HTMLElement = HTMLElement>
2635
2354
  }) => ListboxNavigation<T>;
2636
2355
 
2637
2356
  /**
2638
- * ÇARPIŞMAYA DUYARLI KONUMLANDIRMA — `Tooltip`, `Popover`, `Menu` ve açılır
2639
- * listelerin ortak temeli.
2357
+ * ÇARPIŞMAYA DUYARLI KONUMLANDIRMA — `Tooltip`, `Popover`, `Menu` ve açılır listelerin ortak
2358
+ * temeli.
2640
2359
  */
2641
2360
  export declare const usePositioning: (anchorRef: {
2642
2361
  current: HTMLElement | null;