@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.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
  };
@@ -455,18 +404,7 @@ export declare type CommonElementProps = Partial<{
455
404
  testId: string;
456
405
  }>;
457
406
 
458
- /**
459
- * YOĞUN (compact) KİP — `<html data-hanui-density="compact">`.
460
- *
461
- * <p>⚠ <strong>17 SABİT DEĞER İKİ ÇARPANA İNDİ.</strong> Eski kip ölçeğin her
462
- * kademesini elle eziyordu ve o değerler (11/12/13/15/16/18/21/25/31/39)
463
- * akışkan ölçeğin mobil tabanlarıyla **neredeyse birebir aynıydı**. Sonuç:
464
- * yoğun kipi açan panel bir telefonda küçülmeyi İKİ KEZ yiyor, `2xs` 10px'in
465
- * altına düşüyordu. Ezme yerine çarpma, ikisini yapısal olarak uzlaştırıyor.
466
- *
467
- * <p>İkinci kazanç: kip artık ölçeğin ÜST ucunu da doğru taşıyor. Eski liste
468
- * elle yazıldığı için bir kademe eklendiğinde güncellenmesi unutulabilirdi.
469
- */
407
+ /** YOĞUN (compact) KİP — `<html data-hanui-density="compact">`. */
470
408
  export declare const COMPACT_DENSITY: {
471
409
  readonly 'type-scale': "0.93";
472
410
  readonly 'space-scale': "0.88";
@@ -476,9 +414,7 @@ export declare const ConfirmDialog: typeof ConfirmDialog_2;
476
414
 
477
415
  /**
478
416
  * Onay penceresi.
479
- *
480
- * @example
481
- * const [target, setTarget] = useState<Address | null>(null);
417
+ * @example const [target, setTarget] = useState<Address | null>(null);
482
418
  */
483
419
  declare const ConfirmDialog_2: FC<Props_45>;
484
420
 
@@ -486,10 +422,7 @@ export declare type ConfirmKind = 'destructive' | 'warning' | 'neutral';
486
422
 
487
423
  export declare const CopyField: typeof CopyField_2;
488
424
 
489
- /**
490
- * Kopyalanabilir teknik değer — <strong>tek dokunuşla panoya</strong>.
491
- * Pano mantığı `useCopyFeedback`te, `CodeBadge` ile ortak.
492
- */
425
+ /** Kopyalanabilir teknik değer — tek dokunuşla panoya. */
493
426
  declare const CopyField_2: FC<Props_23>;
494
427
 
495
428
  export declare type Crumb = {
@@ -509,19 +442,15 @@ declare const DataTable_2: FC<Props_49>;
509
442
  export declare type DataTableColumn = {
510
443
  /** Sütun kimliği (React key). */
511
444
  key: string;
512
- /** 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. */
513
446
  label?: ReactNode;
514
- /**
515
- * Görsel başlığı olmayan sütunun erişilebilir adı (eylem sütunu gibi).
516
- * Boş bir `<th>` ekran okuyucuda adsız bir sütun bırakıyordu.
517
- */
447
+ /** Görsel başlığı olmayan sütunun erişilebilir adı (eylem sütunu gibi). */
518
448
  srLabel?: string;
519
449
  /** Sıralanabilir sütunun yönü (`aria-sort`). */
520
450
  ariaSort?: 'ascending' | 'descending';
521
451
  /**
522
- * Sütun sıralanabilir. `DataTable.onSort` ile birlikte anlamlı; ikisinden
523
- * biri eksikse başlık düz metin kalır — tıklanabilir görünüp hiçbir şey
524
- * 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
525
454
  */
526
455
  isSortable?: boolean;
527
456
  /** Sütun yatay kaydırmada YERİNDE kalır. */
@@ -533,7 +462,7 @@ export declare const DataTableRow: FC<RowProps>;
533
462
 
534
463
  export declare const DateField: typeof DateField_2;
535
464
 
536
- /** Tarih alanı — <strong>yerel</strong> `<input type="date">`. */
465
+ /** Tarih alanı — yerel `<input type="date">`. */
537
466
  declare const DateField_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
538
467
  /** `date` (varsayılan) · `datetime-local` · `month` · `time`. */
539
468
  type?: "date" | "datetime-local" | "month" | "time";
@@ -551,23 +480,14 @@ export declare type DateRangeValue = {
551
480
  /** Kütüphanenin varsayılan font yığınları — hepsi sistem fontlarına iner. */
552
481
  export declare const DEFAULT_FONTS: Required<HanuiFonts>;
553
482
 
554
- /**
555
- * Bilgi yoğunluğunun taşındığı öznitelik.
556
- * `<html data-hanui-density="compact">`.
557
- */
483
+ /** Bilgi yoğunluğunun taşındığı öznitelik. `<html data-hanui-density="compact">`. */
558
484
  export declare const DENSITY_ATTRIBUTE = "data-hanui-density";
559
485
 
560
486
  export declare const Directory: typeof Directory_2;
561
487
 
562
488
  /**
563
489
  * Dizin — harf veya konu başlıklı, gruplanmış bağlantı listesi.
564
- *
565
- * @example
566
- * <Directory>
567
- * <DirectoryGroup label="A">
568
- * <DirectoryRow href="/marka/ate" name="ATE" media={<img … />} />
569
- * </DirectoryGroup>
570
- * </Directory>
490
+ * @example <Directory> <DirectoryGroup label="A"> <DirectoryRow href="/marka/ate" name="ATE"…
571
491
  */
572
492
  declare const Directory_2: FC<DirectoryProps>;
573
493
 
@@ -577,10 +497,7 @@ export declare const DirectoryGroup: FC<DirectoryGroupProps>;
577
497
  declare type DirectoryGroupProps = {
578
498
  /** Grup başlığı: harf ("A", "0-9") veya konu ("Fren sistemi"). */
579
499
  label: string;
580
- /**
581
- * Başlık kendisi bir hedefe götürüyorsa. Harf gruplarında verilmez — "A"
582
- * diye bir sayfa yok.
583
- */
500
+ /** Başlık kendisi bir hedefe götürüyorsa. */
584
501
  href?: string;
585
502
  /** Yönlendiriciye geçirilecek ek props. */
586
503
  linkProps?: HanuiLinkExtraProps;
@@ -599,7 +516,7 @@ declare type DirectoryJumpProps = {
599
516
  labels: string[];
600
517
  /** Çıpa kimliğini üretir; `DirectoryGroup id` ile aynı olmalı. */
601
518
  toId: (label: string) => string;
602
- /** Şeridin erişilebilir adı. Verilmezse `labels.directoryJump`. */
519
+ /** Şeridin erişilebilir adı. */
603
520
  label?: string;
604
521
  };
605
522
 
@@ -614,7 +531,7 @@ export declare const DirectoryRow: FC<DirectoryRowProps>;
614
531
  declare type DirectoryRowProps = {
615
532
  href: string;
616
533
  name: string;
617
- /** Logo, ikon veya baş harf madalyonu. Satırın solunda. */
534
+ /** Logo, ikon veya baş harf madalyonu. */
618
535
  media?: ReactNode;
619
536
  /** Sağ uçta duran işaret: rozet, kayıt sayısı. */
620
537
  marker?: ReactNode;
@@ -642,15 +559,8 @@ export declare const Field: typeof Field_2;
642
559
 
643
560
  /**
644
561
  * Form alanı sarmalayıcısı.
645
- *
646
- * @example
647
- * <Field label="E-posta" isRequired requiredLabel="(zorunlu)" error={emailError}>
648
- * {props => <Input {...props} type="email" value={email} onChange={onChange} />}
649
- * </Field>
650
- *
651
- * @example
652
- * // `{...props}` yaymayan bileşenlerde (Combobox, Select) yalnızca `id`:
653
- * <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`…
654
564
  */
655
565
  declare const Field_2: FC<Props_15>;
656
566
 
@@ -664,17 +574,14 @@ export declare type FieldChildProps = {
664
574
 
665
575
  declare type FieldProps = {
666
576
  children: ReactNode;
667
- /**
668
- * Alan kalan genişliği doldurur (arama kutusu). Diğer alanlar tercih
669
- * ettikleri genişlikte kalır ve şerit sağa doğru boşluk bırakır.
670
- */
577
+ /** Alan kalan genişliği doldurur (arama kutusu). */
671
578
  isWide?: boolean;
672
579
  className?: string;
673
580
  };
674
581
 
675
582
  export declare const FileUpload: typeof FileUpload_2;
676
583
 
677
- /** 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. */
678
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;
679
586
 
680
587
  export declare const FilterBar: typeof FilterBar_2;
@@ -682,24 +589,18 @@ export declare const FilterBar: typeof FilterBar_2;
682
589
  /** Filtre şeridi. */
683
590
  declare const FilterBar_2: FC<Props_50>;
684
591
 
685
- /**
686
- * Şerit içindeki tek alanın genişlik sözleşmesi. İçine `Field` + girdi ya da
687
- * yalın `Input` konur; genişlik kararı alanın kendisine yazılmaz.
688
- */
592
+ /** Şerit içindeki tek alanın genişlik sözleşmesi. */
689
593
  export declare const FilterBarField: FC<FieldProps>;
690
594
 
691
595
  /**
692
596
  * Sayı biçimlendiricileri: değere bağlı metinler dizeyle verilemez.
693
- *
694
- * ⚠ `helpers/label.helper.ts` de aynı imzayı ELLE taşıyordu. Tip
695
- * <strong>index.ts'ten dışa verilmiyor</strong>, yani birleştirmek genel API'yi
696
- * değiştirmez — ölçüldü (`npm run check:api`).
597
+ * ⚠ `helpers/label.helper.ts` de aynı imzayı ELLE taşıyordu.
697
598
  */
698
599
  declare type Formatter<TArgs extends unknown[]> = (...args: TArgs) => string;
699
600
 
700
601
  /**
701
- * Kullanıcının SEÇİMİ. `system` = açık bir seçim yok, işletim sistemi tercihi
702
- * 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`).
703
604
  */
704
605
  export declare type HanuiColorPreference = HanuiColorScheme | 'system';
705
606
 
@@ -709,15 +610,12 @@ export declare type HanuiColorScheme = 'light' | 'dark';
709
610
  export declare type HanuiContextValue = {
710
611
  /** Tüketicinin yönlendiricisi (`next/link`, `react-router`ın `Link`i…). */
711
612
  linkComponent?: HanuiLinkComponent;
712
- /** Uygulanan tema ezmeleri. Salt okunur; değiştirmek için `HanuiProvider`. */
613
+ /** Uygulanan tema ezmeleri. */
713
614
  theme?: HanuiThemeConfig;
714
615
  /**
715
- * Arayüz metinleri. Bir bileşen metnini prop olarak almadıysa buradan okur;
716
- * varsayılanlar `HanuiLabels` alanlarının yanında yazılı.
717
- *
718
- * ⚠ Referans bir dönem `theme/labels.ts`yi gösteriyordu; o dosya yalnızca
719
- * tek satırlık bir başlık yorumu taşıyordu (sıfır export, sıfır import) ve
720
- * 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…
721
619
  */
722
620
  labels?: HanuiLabels;
723
621
  };
@@ -737,9 +635,8 @@ export declare type HanuiLabels = Partial<{
737
635
  close: string;
738
636
  /**
739
637
  * Bildirim yığınının bölge adı ("Bildirimler"). `ToastHub`.
740
- *
741
- * ⚠ Yığın bir `role="region"` ve `aria-live` bölgesi; adsız bir bölge
742
- * 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.
743
640
  */
744
641
  notifications: string;
745
642
  /** Vazgeçme eylemi. `ConfirmDialog`, `PromptDialog`. */
@@ -794,18 +691,14 @@ export declare type HanuiLabels = Partial<{
794
691
  loading: string;
795
692
  }>;
796
693
  copyField: Partial<{
797
- /** Kopyalama düğmesinin adı. Değeri İÇERİR: bir listede on beş düğme var
798
- * ve hepsi "Kopyala" diye okunduğunda hangisi olduğu belli olmuyordu. */
694
+ /** Kopyalama düğmesinin adı. */
799
695
  copy: Formatter<[value: string]>;
800
696
  copied: Formatter<[value: string]>;
801
697
  announcement: string;
802
698
  }>;
803
699
  /**
804
700
  * Dosya yukleme.
805
- *
806
701
  * ⚠ `tooLarge` bir BICIMLENDIRICI: mesaj dosya adini ve siniri TASIMALI.
807
- * Sabit bir "cok buyuk" metni, on dosyalik bir listede hangisinin
808
- * reddedildigini soylemiyordu.
809
702
  */
810
703
  fileUpload: Partial<{
811
704
  tooLarge: Formatter<[name: string, max: string]>;
@@ -816,10 +709,7 @@ export declare type HanuiLabels = Partial<{
816
709
  }>;
817
710
  /**
818
711
  * Sayisal gostergenin YON metni.
819
- *
820
- * ⚠ Uc deger de SR-ONLY: ok isareti gorsel bir sinyal ve ekran okuyucuya
821
- * hicbir sey soylemiyor. Verilmezse gosterge "yuzde 12" der, artis mi
822
- * azalis mi belirsiz kalir.
712
+ * ⚠ Uc deger de SR-ONLY: ok isareti gorsel bir sinyal ve ekran okuyucuya hicbir sey soylemiyor.
823
713
  */
824
714
  stat: Partial<{
825
715
  increase: string;
@@ -848,8 +738,7 @@ export declare type HanuiLabels = Partial<{
848
738
  srLabel: Formatter<[value: number, count: number | undefined]>;
849
739
  /** Puan girişinde yıldız sayısı ("4 yıldız"). */
850
740
  starCount: Formatter<[star: number]>;
851
- /** Beş puanın anlamı. Dolu yıldız sayısı tek başına bir şekil sinyali;
852
- * yanındaki metin renk körü kullanıcıya ikinci bir ipucu verir. */
741
+ /** Beş puanın anlamı. */
853
742
  scale: Record<1 | 2 | 3 | 4 | 5, string>;
854
743
  }>;
855
744
  }>;
@@ -859,10 +748,7 @@ export declare type HanuiLinkComponent = ComponentType<HanuiLinkProps>;
859
748
 
860
749
  /**
861
750
  * Bileşenden yönlendiriciye geçirilecek ek props.
862
- *
863
- * @example
864
- * // Next.js App Router: sayfa numarasına basınca liste yukarı sıçramasın.
865
- * <Pagination linkProps={{ scroll: false }} … />
751
+ * @example // Next.js App Router: sayfa numarasına basınca liste yukarı sıçramasın.…
866
752
  */
867
753
  export declare type HanuiLinkExtraProps = Record<string, unknown>;
868
754
 
@@ -873,7 +759,7 @@ export declare type HanuiLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
873
759
  [key: string]: unknown;
874
760
  };
875
761
 
876
- /** Ölçü ezmeleri. Kısmî verilebilir; verilmeyen her ölçü varsayılanında kalır. */
762
+ /** Ölçü ezmeleri. */
877
763
  export declare type HanuiMetrics = Partial<Record<HanuiMetricToken, string>>;
878
764
 
879
765
  /** Ölçü token adları — `METRIC_TOKENS`ten türetilir. */
@@ -881,11 +767,7 @@ export declare type HanuiMetricToken = keyof typeof METRIC_TOKENS;
881
767
 
882
768
  /**
883
769
  * Kütüphane sağlayıcısı.
884
- *
885
- * @example
886
- * <HanuiProvider linkComponent={NextLink} theme={{ light: { blue: '#0d6efd' } }}>
887
- * <App />
888
- * </HanuiProvider>
770
+ * @example <HanuiProvider linkComponent={NextLink} theme={{ light: { blue: '#0d6efd' } }}> <App…
889
771
  */
890
772
  export declare const HanuiProvider: FC<Props>;
891
773
 
@@ -894,15 +776,7 @@ export declare type HanuiResolvedTokens = Record<HanuiToken, string>;
894
776
 
895
777
  /**
896
778
  * Dışarıdan verilebilecek tema yapılandırması.
897
- *
898
- * @example
899
- * initHanui({
900
- * theme: {
901
- * light: { blue: '#0d6efd', 'blue-text': '#0a58ca' },
902
- * dark: { blue: '#6ea8fe' },
903
- * fonts: { heading: 'Archivo, sans-serif' },
904
- * },
905
- * });
779
+ * @example initHanui({ theme: { light: { blue: '#0d6efd', 'blue-text': '#0a58ca' }, dark: {…
906
780
  */
907
781
  export declare type HanuiThemeConfig = Partial<{
908
782
  light: HanuiThemeTokens;
@@ -910,24 +784,18 @@ export declare type HanuiThemeConfig = Partial<{
910
784
  fonts: HanuiFonts;
911
785
  /**
912
786
  * Ölçü ezmeleri — yarıçap, boşluk, punto, süre.
913
- *
914
- * @example
915
- * initHanui({ theme: { metrics: { 'radius-md': '2px', 'radius-lg': '4px' } } });
787
+ * @example initHanui({ theme: { metrics: { 'radius-md': '2px', 'radius-lg': '4px' } } });
916
788
  */
917
789
  metrics: HanuiMetrics;
918
790
  }>;
919
791
 
920
792
  declare type HanuiThemeState = {
921
793
  /**
922
- * ÇÖZÜLMÜŞ tema — ekranda çizili olan. `preference` `system` iken bu alan
923
- * 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.
924
796
  */
925
797
  scheme: HanuiColorScheme;
926
- /**
927
- * Kullanıcının SEÇİMİ. Üç durumlu bir tema anahtarı (Açık / Koyu / Sistem)
928
- * bunu okur; `scheme` okunsaydı "Sistem" seçiliyken düğme "Koyu"yu işaretli
929
- * gösterirdi.
930
- */
798
+ /** Kullanıcının SEÇİMİ. */
931
799
  preference: HanuiColorPreference;
932
800
  /** `'system'` verildiğinde AÇIK seçim silinir ve sistem tercihi izlenir. */
933
801
  setScheme: (preference: HanuiColorPreference) => void;
@@ -937,20 +805,19 @@ declare type HanuiThemeState = {
937
805
  isReady: boolean;
938
806
  };
939
807
 
940
- /** Bir temanın token → değer eşlemesi. Kısmî verilebilir; eksikler varsayılandan gelir. */
808
+ /** Bir temanın token → değer eşlemesi. */
941
809
  export declare type HanuiThemeTokens = Partial<Record<HanuiToken, string>>;
942
810
 
943
811
  /** Token adları — `LIGHT_THEME`den türetilir, elle listelenmez. */
944
812
  export declare type HanuiToken = keyof typeof LIGHT_THEME;
945
813
 
946
814
  declare type HubProps = {
947
- /** Kapatma düğmelerinin erişilebilir adı. Verilmezse `labels.close`. */
815
+ /** Kapatma düğmelerinin erişilebilir adı. */
948
816
  closeLabel?: string;
949
817
  /**
950
818
  * Yığının erişilebilir adı ("Bildirimler").
951
- *
952
- * ⚠ Yığın artık bir `role="region"` ve canlı bölge; adsız bir bölge ekran
953
- * 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.
954
821
  */
955
822
  regionLabel?: string;
956
823
  className?: string;
@@ -963,10 +830,7 @@ declare const IconButton_2: ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLB
963
830
  icon: ReactNode;
964
831
  /** Görsel etiketi olmayan düğmenin erişilebilir adı — ZORUNLU. */
965
832
  label: string;
966
- /**
967
- * `cart` <strong>yalnızca dönüşüm eyleminde</strong> kullanılır — ekranda
968
- * görünen tek doygun turuncu odur. Nötr dolgu için `solid`.
969
- */
833
+ /** `cart` yalnızca dönüşüm eyleminde kullanılır — ekranda görünen tek doygun turuncu odur. */
970
834
  variant?: IconButtonVariant;
971
835
  size?: "sm" | "md";
972
836
  /** Verilirse öğe bir bağlantı olarak çizilir. */
@@ -979,29 +843,17 @@ testId?: string;
979
843
  export declare type IconButtonVariant = 'ghost' | 'outline' | 'solid' | 'cart' | 'danger';
980
844
 
981
845
  /**
982
- * Kütüphaneyi <strong>React ağacının dışından</strong> yapılandırır.
983
- *
984
- * @example
985
- * // app/layout.tsx — <head> içine, boyamadan önce.
986
- * <script dangerouslySetInnerHTML={{ __html: `
987
- * document.documentElement.dataset.hanuiTheme =
988
- * localStorage.getItem('theme') ?? 'light';
989
- * ` }} />
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…
990
848
  */
991
849
  export declare const initHanui: (options?: InitHanuiOptions) => void;
992
850
 
993
851
  export declare type InitHanuiOptions = Partial<{
994
- /** Tema ve ölçü ezmeleri. Yalnızca değiştirilen token'lar verilir. */
852
+ /** Tema ve ölçü ezmeleri. */
995
853
  theme: HanuiThemeConfig;
996
- /**
997
- * Başlangıç şeması. Verilmezse `<html data-hanui-theme>` neyse o kalır;
998
- * o da yoksa sistem tercihi (`prefers-color-scheme`) devreye girer.
999
- */
854
+ /** Başlangıç şeması. */
1000
855
  colorScheme: HanuiColorScheme;
1001
- /**
1002
- * Bilgi yoğunluğu. Verilmezse `<html data-hanui-density>` neyse o kalır;
1003
- * o da yoksa `default`.
1004
- */
856
+ /** Bilgi yoğunluğu. */
1005
857
  density: HanuiDensity;
1006
858
  }>;
1007
859
 
@@ -1013,7 +865,7 @@ declare const Input_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLIn
1013
865
  prefix?: ReactNode;
1014
866
  /** Sağda gösterilen ikon veya birim (göz simgesi, "kg"). */
1015
867
  suffix?: ReactNode;
1016
- /** Teknik veri: SKU, kod, seri numarası — monospace ve harf aralıklı. */
868
+ /** Teknik veri: */
1017
869
  isTechnical?: boolean;
1018
870
  testId?: string;
1019
871
  } & RefAttributes<HTMLInputElement>>;
@@ -1040,7 +892,7 @@ export declare const LIGHT_THEME: {
1040
892
  readonly 'on-action': "#fdfefd";
1041
893
  /** Dolgunun SINIRI; açık temada dolgunun kendisi (bkz. `ACTION_LINE`). */
1042
894
  readonly 'action-line': "#00322a";
1043
- /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. Button `:disabled`). */
895
+ /** Pasif dolgu; saydamlık DEĞİL kendi rengi (bkz. */
1044
896
  readonly 'action-soft': "#aaddbf";
1045
897
  /** PASİF DOLGU ÜZERİNDEKİ METİN. */
1046
898
  readonly 'on-action-soft': "#1d4238";
@@ -1097,11 +949,8 @@ export declare const LIGHT_THEME: {
1097
949
  readonly 'band-fg': "#e9f7ed";
1098
950
  readonly 'band-fg-2': "#8abaa1";
1099
951
  /**
1100
- * Bandın ÜÇÜNCÜ metin kademesi ve imza vurgusu.
1101
- *
1102
- * <p>Panelin kenar çubuğu rayı bu ikisini bir dönem SABİT HEX olarak
1103
- * taşıyordu (`#799a8f`, `#43ff9c`) — uygulamada kalan son renk
1104
- * literalleriydi ve paletten bağımsız hareket ediyorlardı.
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`)
1105
954
  */
1106
955
  readonly 'band-fg-3': "#79a790";
1107
956
  readonly 'band-accent': "#43ff9c";
@@ -1151,7 +1000,7 @@ export declare type ListboxNavigation<T extends HTMLElement = HTMLElement> = {
1151
1000
  };
1152
1001
 
1153
1002
  export declare type ListboxNavigationOptions = {
1154
- /** Seçenek sayısı. Liste süzüldüğünde değişir. */
1003
+ /** Seçenek sayısı. */
1155
1004
  count: number;
1156
1005
  isOpen: boolean;
1157
1006
  /** Açılışta etkin olacak dizin — genellikle seçili olan. */
@@ -1187,12 +1036,7 @@ export declare const METRIC_TOKENS: {
1187
1036
  readonly 'radius-lg': "12px";
1188
1037
  readonly 'radius-xl': "16px";
1189
1038
  readonly 'radius-pill': "999px";
1190
- /**
1191
- * YOĞUNLUK ÇARPANLARI — akışkan ölçeğin üzerine binen tek ayar.
1192
- *
1193
- * <p>Varsayılan `1`, yani hiçbir şeyi değiştirmez; `data-hanui-density`
1194
- * ya da tüketicinin kendi metrik ezmesi bunları düşürür.
1195
- */
1039
+ /** YOĞUNLUK ÇARPANLARI — akışkan ölçeğin üzerine binen tek ayar. */
1196
1040
  readonly 'type-scale': "1";
1197
1041
  readonly 'space-scale': "1";
1198
1042
  readonly 'space-0': "0";
@@ -1215,17 +1059,7 @@ export declare const METRIC_TOKENS: {
1215
1059
  readonly 'font-size-2xl': string;
1216
1060
  readonly 'font-size-3xl': string;
1217
1061
  readonly 'font-size-4xl': string;
1218
- /**
1219
- * FORM DENETİMİ PUNTOSU — ölçekten AYRI ve 16px'in altına inmez.
1220
- *
1221
- * <p>⚠ iOS Safari, hesaplanan puntosu 16px'in ALTINDA olan bir `input`a
1222
- * odaklanıldığında sayfayı zorla yakınlaştırır ve geri çıkmaz. `font-size-base`
1223
- * akışkan olunca dar ekranda 15px'e iniyor, yani bu düzeltme olmadan
1224
- * **telefonda her form alanı sayfayı zıplatırdı.**
1225
- *
1226
- * <p>`max()` kullanılıyor çünkü ölçek büyüdüğünde denetim de büyümeli;
1227
- * sabit `16px` yazmak üst uçta alanı ölçeğin gerisinde bırakırdı.
1228
- */
1062
+ /** FORM DENETİMİ PUNTOSU — ölçekten AYRI ve 16px'in altına inmez. */
1229
1063
  readonly 'font-size-control': `max(16px, ${string})`;
1230
1064
  readonly 'leading-none': "1";
1231
1065
  readonly 'leading-tight': "1.16";
@@ -1248,10 +1082,7 @@ export declare const METRIC_TOKENS: {
1248
1082
  readonly 'duration-shimmer': "1400ms";
1249
1083
  };
1250
1084
 
1251
- /**
1252
- * Kırılma noktaları — `styles/_variables.scss` içindeki `$breakpoint-*` ile
1253
- * <strong>aynı</strong> değerler.
1254
- */
1085
+ /** Kırılma noktaları — `styles/_variables.scss` içindeki `$breakpoint-*` ile aynı değerler. */
1255
1086
  export declare const MOBILE_BREAKPOINT = 640;
1256
1087
 
1257
1088
  export declare const Modal: typeof Modal_2;
@@ -1267,7 +1098,7 @@ declare type MultipleProps<T extends string> = BaseProps<T> & {
1267
1098
  onChange: (value: T[]) => void;
1268
1099
  };
1269
1100
 
1270
- /** Serbest metin arama anahtarı: ASCII, küçük harf, tek boşlukla ayrılmış. */
1101
+ /** Serbest metin arama anahtarı: */
1271
1102
  export declare const normalizeSearchTerm: (value: string) => string;
1272
1103
 
1273
1104
  export declare const PageHeader: typeof PageHeader_2;
@@ -1284,11 +1115,7 @@ export declare const Panel: typeof Panel_2;
1284
1115
 
1285
1116
  /**
1286
1117
  * Panel — başlığı olan içerik kutusu.
1287
- *
1288
- * @example
1289
- * <Panel title="Profil bilgileri" description="Fatura bu bilgilerle kesilir">
1290
- * <PanelForm>…alanlar…</PanelForm>
1291
- * </Panel>
1118
+ * @example <Panel title="Profil bilgileri" description="Fatura bu bilgilerle kesilir">…
1292
1119
  */
1293
1120
  declare const Panel_2: FC<Props_27>;
1294
1121
 
@@ -1302,7 +1129,7 @@ declare type PanelFormProps = {
1302
1129
  className?: string;
1303
1130
  };
1304
1131
 
1305
- /** İki alanı yan yana koyan satır. Dar ekranda alt alta düşer. */
1132
+ /** İki alanı yan yana koyan satır. */
1306
1133
  export declare const PanelRow: FC<PanelRowProps>;
1307
1134
 
1308
1135
  declare type PanelRowProps = {
@@ -1313,17 +1140,14 @@ declare type PanelRowProps = {
1313
1140
  export declare const PasswordInput: typeof PasswordInput_2;
1314
1141
 
1315
1142
  /**
1316
- * Şifre girdisi — yanında göz düğmesi.
1317
- *
1318
- * `hanparca-admin` ve `hanparca-frontend`te BİREBİR AYNI dosya olarak
1319
- * duruyordu; iki kopya da hanui'nin `Input` + `IconButton` bileşenlerini
1320
- * 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
1321
1145
  */
1322
1146
  declare const PasswordInput_2: FC<Props_13>;
1323
1147
 
1324
1148
  export declare const Popover: typeof Popover_2;
1325
1149
 
1326
- /** Popover — <strong>eylem taşıyabilen</strong>, odaklanabilir yüzey. */
1150
+ /** Popover — eylem taşıyabilen, odaklanabilir yüzey. */
1327
1151
  declare const Popover_2: ({ trigger, children, label, side, align, isOpen: controlledOpen, onOpenChange, className, testId, }: Props_5) => JSX.Element | null;
1328
1152
 
1329
1153
  /** Tercih edilen kenar boyunca hizalama. */
@@ -1350,23 +1174,16 @@ export declare type PositioningState = {
1350
1174
  /** ÇÖZÜLMÜŞ kenar: çarpışma yüzünden tercih edilenin karşıtı olabilir. */
1351
1175
  side: PositionSide;
1352
1176
  /**
1353
- * Tetikleyicinin ölçülen genişliği (px) — açılır listeler panelin genişliğini
1354
- * buna bağlıyor.
1355
- *
1356
- * ⚠ ÖLÇÜM BURADA, ÇAĞIRANDA DEĞİL. `Combobox` ve `Select` bu değeri render
1357
- * sırasında `triggerRef.current?.offsetWidth` ile okuyordu; render sırasında
1358
- * DOM okumak iki şeyi birden kırıyor: ilk render'da ref henüz boş olabilir
1359
- * (`undefined` genişlik) ve değer bir daha GÜNCELLENMEZ — pencere yeniden
1360
- * boyutlandığında ya da yazı tipi geldiğinde panel bayat genişlikte kalır.
1361
- * Kanca tetikleyiciyi `ResizeObserver` ile zaten izliyor, yani ölçüm burada
1362
- * 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
1363
1180
  */
1364
1181
  anchorWidth: number;
1365
- /** İlk ölçüm yapıldı mı. Yapılmadan çizilen yüzey sol üst köşede parlıyor. */
1182
+ /** İlk ölçüm yapıldı mı. */
1366
1183
  isPositioned: boolean;
1367
1184
  };
1368
1185
 
1369
- /** Yüzeyin tercih ettiği kenar. Yer yoksa karşıtına düşer. */
1186
+ /** Yüzeyin tercih ettiği kenar. */
1370
1187
  export declare type PositionSide = 'top' | 'bottom' | 'left' | 'right';
1371
1188
 
1372
1189
  export declare const Price: typeof Price_2;
@@ -1376,7 +1193,7 @@ declare const Price_2: FC<Props_28>;
1376
1193
 
1377
1194
  export declare const Progress: typeof Progress_2;
1378
1195
 
1379
- /** İlerleme çubuğu — <strong>ölçülebilir</strong> bekleme. */
1196
+ /** İlerleme çubuğu — ölçülebilir bekleme. */
1380
1197
  declare const Progress_2: ({ value, max, label, valueText, isValueVisible, tone, size, className, testId, }: Props_35) => JSX.Element;
1381
1198
 
1382
1199
  export declare const ProgressCircle: MemoExoticComponent<({ value, max, label, valueText, isValueVisible, tone, size, className, testId, }: CircleProps) => JSX.Element>;
@@ -1388,17 +1205,11 @@ declare const PromptDialog_2: FC<Props_47>;
1388
1205
 
1389
1206
  declare type Props = {
1390
1207
  children: ReactNode;
1391
- /**
1392
- * Tema ezmeleri. Yalnızca DEĞİŞTİRİLEN token'lar verilir; verilmeyen her
1393
- * token varsayılanında kalır.
1394
- */
1208
+ /** Tema ezmeleri. */
1395
1209
  theme?: HanuiThemeConfig;
1396
1210
  /**
1397
- * Tüketicinin bağlantı bileşeni. Verilmezse ham `<a>` çizilir.
1398
- *
1399
- * @example
1400
- * import NextLink from 'next/link';
1401
- * <HanuiProvider linkComponent={NextLink}>…</HanuiProvider>
1211
+ * Tüketicinin bağlantı bileşeni.
1212
+ * @example import NextLink from 'next/link'; <HanuiProvider linkComponent={NextLink}>…</Ha…
1402
1213
  */
1403
1214
  linkComponent?: HanuiLinkComponent;
1404
1215
  /** Arayüz metinleri — bir kez, burada. */
@@ -1412,18 +1223,15 @@ declare type Props_10 = {
1412
1223
  value: RangeValue;
1413
1224
  /** Sürükleme sürerken her adımda çağrılır — ekrandaki değeri günceller. */
1414
1225
  onChange: (value: RangeValue) => void;
1415
- /**
1416
- * Sürükleme <em>bittiğinde</em> çağrılır. Adres çubuğuna yazmak veya
1417
- * sunucuya istek atmak gibi pahalı işler buraya bağlanır.
1418
- */
1226
+ /** Sürükleme bittiğinde çağrılır. */
1419
1227
  onCommit?: (value: RangeValue) => void;
1420
1228
  /** Ham sayıyı okunur metne çevirir ("125000" → "1.250 TL"). */
1421
1229
  formatValue?: (value: number) => string;
1422
1230
  /** Grubun erişilebilir adı ("Fiyat aralığı"). */
1423
1231
  label: string;
1424
- /** Alt kulbun erişilebilir ad eki. Verilmezse `labels.range.min`. */
1232
+ /** Alt kulbun erişilebilir ad eki. */
1425
1233
  minLabel?: string;
1426
- /** Üst kulbun erişilebilir ad eki. Verilmezse `labels.range.max`. */
1234
+ /** Üst kulbun erişilebilir ad eki. */
1427
1235
  maxLabel?: string;
1428
1236
  isDisabled?: boolean;
1429
1237
  className?: string;
@@ -1436,14 +1244,10 @@ declare type Props_11 = {
1436
1244
  /** Grubun erişilebilir adı ("Ürün puanı"). */
1437
1245
  label: string;
1438
1246
  /**
1439
- * Puan açıklamaları. Hem ekran okuyucuya okunur hem de seçildiğinde
1440
- * 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.
1441
1248
  */
1442
1249
  ratingLabels?: RatingLabels;
1443
- /**
1444
- * Ekran okuyucuda yıldız sayısını okuyan biçimlendirici ("4 yıldız").
1445
- * Verilmezse `labels.rating.starCount`.
1446
- */
1250
+ /** Ekran okuyucuda yıldız sayısını okuyan biçimlendirici ("4 yıldız"). */
1447
1251
  formatStarCount?: (star: number) => string;
1448
1252
  isDisabled?: boolean;
1449
1253
  className?: string;
@@ -1453,7 +1257,7 @@ declare type Props_11 = {
1453
1257
  declare type Props_12 = {
1454
1258
  value: number;
1455
1259
  onChange: (value: number) => void;
1456
- /** Grubun ve girdinin erişilebilir adı. Verilmezse `labels.quantity.label`. */
1260
+ /** Grubun ve girdinin erişilebilir adı. */
1457
1261
  label?: string;
1458
1262
  /** Verilmezse `labels.quantity.decrease`. */
1459
1263
  decreaseLabel?: string;
@@ -1477,18 +1281,18 @@ declare type Props_13 = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {
1477
1281
  declare type Props_14 = {
1478
1282
  values: string[];
1479
1283
  onChange: (values: string[]) => void;
1480
- /** Alanın erişilebilir adı. ZORUNLU. */
1284
+ /** Alanın erişilebilir adı. */
1481
1285
  label: string;
1482
1286
  placeholder?: string;
1483
- /** Her etiketin kaldırma düğmesinin ad öneki ("Kaldır"). ZORUNLU. */
1287
+ /** Her etiketin kaldırma düğmesinin ad öneki ("Kaldır"). */
1484
1288
  removeLabel: string;
1485
- /** Etiketi bitiren tuşlar. Varsayılan `Enter` ve virgül. */
1289
+ /** Etiketi bitiren tuşlar. */
1486
1290
  separators?: string[];
1487
- /** En fazla kaç etiket. Dolduğunda girdi PASİF olur, gizlenmez. */
1291
+ /** En fazla kaç etiket. */
1488
1292
  maxTags?: number;
1489
1293
  isDisabled?: boolean;
1490
1294
  id?: string;
1491
- /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. Bkz. `Select.required`. */
1295
+ /** Zorunluluk — `Field`in `FieldChildProps` sözleşmesi. */
1492
1296
  required?: boolean;
1493
1297
  'aria-describedby'?: string;
1494
1298
  'aria-invalid'?: boolean;
@@ -1507,14 +1311,14 @@ declare type Props_16 = {
1507
1311
  /** Kullanıcı dosya seçtiğinde/bıraktığında çağrılır — DOĞRULANMIŞ liste. */
1508
1312
  onSelect: (files: File[]) => void;
1509
1313
  onRemove: (id: string) => void;
1510
- /** Alanın görünür etiketi ve erişilebilir adı. ZORUNLU. */
1314
+ /** Alanın görünür etiketi ve erişilebilir adı. */
1511
1315
  label: string;
1512
1316
  /** Etiketin altındaki kural cümlesi ("PDF veya JPG, en fazla 5 MB"). */
1513
1317
  hint?: string;
1514
1318
  /** `<input accept>` — tarayıcının dosya seçicisini süzer. */
1515
1319
  accept?: string;
1516
1320
  isMultiple?: boolean;
1517
- /** Bayt. Aşan dosya `onSelect`e HİÇ ulaşmaz; hata metni burada üretilir. */
1321
+ /** Bayt. */
1518
1322
  maxSize?: number;
1519
1323
  /** Kaldırma düğmelerinin erişilebilir ad öneki ("Kaldır"). */
1520
1324
  removeLabel: string;
@@ -1543,10 +1347,7 @@ declare type Props_17 = {
1543
1347
  declare type Props_18 = {
1544
1348
  /** Tam ad; baş harfler buradan üretilir ve görsel yoksa `alt` metnidir. */
1545
1349
  name: string;
1546
- /**
1547
- * Profil görseli. Verilmezse baş harf madalyonuna düşer — çağıran tarafın
1548
- * koşul yazması gerekmez.
1549
- */
1350
+ /** Profil görseli. */
1550
1351
  imageUrl?: string;
1551
1352
  /** Baş harfleri büyütürken kullanılacak dil etiketi ("tr", "az"). */
1552
1353
  locale?: string;
@@ -1578,7 +1379,7 @@ declare type Props_2 = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
1578
1379
 
1579
1380
  declare type Props_20 = {
1580
1381
  items: Crumb[];
1581
- /** Gezinme bölgesinin erişilebilir adı. Verilmezse `labels.breadcrumb`. */
1382
+ /** Gezinme bölgesinin erişilebilir adı. */
1582
1383
  label?: string;
1583
1384
  /** Yönlendiriciye geçirilecek ek props. */
1584
1385
  linkProps?: HanuiLinkExtraProps;
@@ -1588,23 +1389,18 @@ declare type Props_20 = {
1588
1389
 
1589
1390
  declare type Props_21 = {
1590
1391
  children: ReactNode;
1591
- /** Şeridin erişilebilir adı ("Öne çıkan ürünler"). ZORUNLU. */
1392
+ /** Şeridin erişilebilir adı ("Öne çıkan ürünler"). */
1592
1393
  label: string;
1593
- /** Önceki/sonraki düğmelerinin erişilebilir adları. ZORUNLU. */
1394
+ /** Önceki/sonraki düğmelerinin erişilebilir adları. */
1594
1395
  previousLabel: string;
1595
1396
  nextLabel: string;
1596
1397
  /** Sayfa göstergesinin ad üreticisi (`index` 1 tabanlı). */
1597
1398
  formatDotLabel?: (index: number, total: number) => string;
1598
- /**
1599
- * Bir kartın genişliği. Şerit her kartı bu genişlikte çizer.
1600
- * Duyarlı genişlik ya da "yarım kart görünsün" gibi bir ölçü gerekiyorsa
1601
- * CSS'ten `--hanui-carousel-item` ezilir; buradaki değer yalnızca varsayılan.
1602
- */
1399
+ /** Bir kartın genişliği. Şerit her kartı bu genişlikte çizer. */
1603
1400
  itemWidth?: number;
1604
1401
  /**
1605
- * @deprecated `itemWidth` kullanın. Ad bir ASGARİ genişlik vaat ediyordu ama
1606
- * şerit artık kartları germiyor: verilen değer kartın genişliğinin kendisi.
1607
- * 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ı…
1608
1404
  */
1609
1405
  itemMinWidth?: number;
1610
1406
  className?: string;
@@ -1616,11 +1412,11 @@ declare type Props_22 = {
1616
1412
  code: string;
1617
1413
  /** Kopyalama düğmesi ekler. */
1618
1414
  isCopyable?: boolean;
1619
- /** Kopyalama düğmesinin erişilebilir adı. Verilmezse `labels.copyField.copy(code)`. */
1415
+ /** Kopyalama düğmesinin erişilebilir adı. */
1620
1416
  copyLabel?: string;
1621
- /** Kopyalandıktan sonraki ad. Verilmezse `labels.copyField.copied(code)`. */
1417
+ /** Kopyalandıktan sonraki ad. */
1622
1418
  copiedLabel?: string;
1623
- /** `aria-live` ile duyurulan onay cümlesi. Verilmezse `labels.copyField.announcement`. */
1419
+ /** `aria-live` ile duyurulan onay cümlesi. */
1624
1420
  copiedAnnouncement?: string;
1625
1421
  size?: CodeBadgeSize;
1626
1422
  className?: string;
@@ -1632,9 +1428,9 @@ declare type Props_23 = {
1632
1428
  value: string;
1633
1429
  /** Kopyalama düğmesinin erişilebilir adı. */
1634
1430
  copyLabel?: string;
1635
- /** Kopyalandıktan sonraki ad. Verilmezse `labels.copyField.copied(value)`. */
1431
+ /** Kopyalandıktan sonraki ad. */
1636
1432
  copiedLabel?: string;
1637
- /** `aria-live` ile duyurulan onay cümlesi. Verilmezse `labels.copyField.announcement`. */
1433
+ /** `aria-live` ile duyurulan onay cümlesi. */
1638
1434
  copiedAnnouncement?: string;
1639
1435
  size?: 'sm' | 'md';
1640
1436
  /** Kopyalama düğmesini gizler. */
@@ -1670,14 +1466,11 @@ declare type Props_26 = {
1670
1466
  eyebrow?: string;
1671
1467
  /** Bir cümlelik açıklama. 68ch ile sınırlı tutulur. */
1672
1468
  description?: ReactNode;
1673
- /** Sağ tarafta duran eylemler. Dar ekranda başlığın altına düşer. */
1469
+ /** Sağ tarafta duran eylemler. */
1674
1470
  actions?: ReactNode;
1675
1471
  /** Başlık satırının üstündeki kırıntı yolu. */
1676
1472
  breadcrumb?: ReactNode;
1677
- /**
1678
- * Başlığın yanındaki sayaç ("1.248 kayıt"). Açıklamanın değil BAŞLIĞIN
1679
- * hizasında durur; kullanıcı sayıyı başlıkla birlikte okur.
1680
- */
1473
+ /** Başlığın yanındaki sayaç ("1.248 kayıt"). */
1681
1474
  meta?: ReactNode;
1682
1475
  /** Başlık bloğunun altında duran ek içerik (filtre şeridi, sekmeler). */
1683
1476
  children?: ReactNode;
@@ -1689,7 +1482,7 @@ declare type Props_26 = {
1689
1482
 
1690
1483
  declare type Props_27 = {
1691
1484
  children: ReactNode;
1692
- /** Panel başlığı. Verilmezse başlık şeridi hiç çizilmez. */
1485
+ /** Panel başlığı. */
1693
1486
  title?: string;
1694
1487
  /** Başlık altındaki tek satırlık açıklama. */
1695
1488
  description?: ReactNode;
@@ -1710,9 +1503,9 @@ declare type Props_27 = {
1710
1503
  };
1711
1504
 
1712
1505
  declare type Props_28 = {
1713
- /** BİÇİMLENMİŞ tutar: "1.299,90". Bileşen hesap yapmaz. */
1506
+ /** BİÇİMLENMİŞ tutar: "1.299,90". */
1714
1507
  value: string;
1715
- /** Para birimi simgesi ya da kodu. Verilmezse `labels.currency`. */
1508
+ /** Para birimi simgesi ya da kodu. */
1716
1509
  currency?: string;
1717
1510
  /** Değeri `Intl.NumberFormat` ile biçimlendirir. */
1718
1511
  isFormatted?: boolean;
@@ -1728,7 +1521,7 @@ declare type Props_28 = {
1728
1521
  };
1729
1522
 
1730
1523
  declare type Props_29 = {
1731
- /** 0–5 arası puan. Yarım yıldız desteklenir. */
1524
+ /** 0–5 arası puan. */
1732
1525
  value: number;
1733
1526
  /** Değerlendirme sayısı; verilirse yıldızların yanında gösterilir. */
1734
1527
  count?: number;
@@ -1744,23 +1537,14 @@ declare type Props_3 = {
1744
1537
  content: ReactNode;
1745
1538
  /** Açıklamanın bağlandığı öğe — düğme, ikon, etiket. */
1746
1539
  children: ReactNode;
1747
- /**
1748
- * Tercih edilen kenar. Yer yoksa KARŞITINA düşer; üçüncü bir kenara
1749
- * atlamaz (bkz. `usePositioning`).
1750
- */
1540
+ /** Tercih edilen kenar. */
1751
1541
  side?: PositionSide;
1752
- /**
1753
- * Açılma gecikmesi (ms). Fare bir araç çubuğunun üzerinden geçerken sıfır
1754
- * gecikme, art arda beş balon açıp kapatıyordu.
1755
- */
1542
+ /** Açılma gecikmesi (ms). */
1756
1543
  openDelay?: number;
1757
1544
  /**
1758
- * @deprecated `side` kullanın. Bu prop bir sonraki büyük sürümde kalkacak.
1759
- *
1760
- * <p>Ad değişti çünkü davranış değişti: `position` SABİT bir kenar
1761
- * yazıyordu ve balon oraya sığmadığında görünüm alanının dışına taşıyordu.
1762
- * `side` yalnızca TERCİH — yer yoksa karşıt kenara düşülüyor. Aynı adı
1763
- * 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.
1764
1548
  */
1765
1549
  position?: 'top' | 'bottom';
1766
1550
  className?: string;
@@ -1781,7 +1565,7 @@ declare type Props_30 = {
1781
1565
 
1782
1566
  declare type Props_31 = {
1783
1567
  children: ReactNode;
1784
- /** Kaydırılabilir bölgenin erişilebilir adı. ZORUNLU. */
1568
+ /** Kaydırılabilir bölgenin erişilebilir adı. */
1785
1569
  label: string;
1786
1570
  /** Kaydırma yönü. `both` iki eksende de kaydırır. */
1787
1571
  axis?: 'vertical' | 'horizontal' | 'both';
@@ -1807,7 +1591,7 @@ declare type Props_32 = {
1807
1591
  declare type Props_33 = {
1808
1592
  /** Ölçülen şeyin adı ("Bugünkü sipariş"). */
1809
1593
  label: string;
1810
- /** Değerin KENDİSİ — biçimlendirilmiş dize. Bileşen hesap yapmaz. */
1594
+ /** Değerin KENDİSİ — biçimlendirilmiş dize. */
1811
1595
  value: ReactNode;
1812
1596
  /** Değerin yanındaki birim ("₺", "adet"). */
1813
1597
  unit?: string;
@@ -1815,16 +1599,13 @@ declare type Props_33 = {
1815
1599
  delta?: string;
1816
1600
  /** Değişimin yönü. */
1817
1601
  trend?: StatTrend;
1818
- /** Artış İYİ mi. Varsayılan `true`. */
1602
+ /** Artış İYİ mi. */
1819
1603
  isUpPositive?: boolean;
1820
1604
  /** Değerin altındaki bir cümlelik bağlam ("geçen haftaya göre"). */
1821
1605
  description?: ReactNode;
1822
1606
  /** Sol üstte duran ikon madalyonu. */
1823
1607
  icon?: ReactNode;
1824
- /**
1825
- * `plain` KUTUYU kaldırır: zemin, kenarlık ve dolgu gider, yalnızca sayı
1826
- * kalır. Varsayılan `card`.
1827
- */
1608
+ /** `plain` KUTUYU kaldırır: zemin, kenarlık ve dolgu gider, yalnızca sayı kalır. */
1828
1609
  variant?: 'card' | 'plain';
1829
1610
  size?: 'sm' | 'md';
1830
1611
  className?: string;
@@ -1851,13 +1632,12 @@ declare type Props_34 = {
1851
1632
 
1852
1633
  declare type Props_35 = {
1853
1634
  /**
1854
- * Tamamlanan miktar. `undefined` → BELİRSİZ ilerleme (sonu bilinmiyor);
1855
- * çubuk kendi kendine akar.
1635
+ * Tamamlanan miktar. `undefined` → BELİRSİZ ilerleme (sonu bilinmiyor); çubuk kendi kendine akar.
1856
1636
  */
1857
1637
  value?: number;
1858
1638
  /** Ölçeğin üst ucu. */
1859
1639
  max?: number;
1860
- /** Çubuğun erişilebilir adı ("Yükleme", "Ödeme adımı"). ZORUNLU. */
1640
+ /** Çubuğun erişilebilir adı ("Yükleme", "Ödeme adımı"). */
1861
1641
  label: string;
1862
1642
  /** Ekran okuyucuya okunan METİN karşılığı ("3 / 5 dosya"). */
1863
1643
  valueText?: string;
@@ -1891,20 +1671,11 @@ declare type Props_37 = {
1891
1671
 
1892
1672
  declare type Props_38 = {
1893
1673
  steps: StepItem[];
1894
- /**
1895
- * Bulunulan adımın DİZİNİ (0 tabanlı). Öncesi tamamlanmış sayılır.
1896
- * VERİLMEZSE liste ilerleme değil SIRALI TALİMAT olarak çizilir: durum
1897
- * metni yok, tik yok, `aria-current` yok — yalnızca numaralı adımlar
1898
- * ("olası nedenler — kontrol sırasıyla" gibi teşhis listeleri).
1899
- */
1674
+ /** Bulunulan adımın DİZİNİ (0 tabanlı). */
1900
1675
  currentIndex?: number;
1901
- /**
1902
- * Bir adıma dönülebiliyorsa verilir. Verilmediğinde adımlar düğme DEĞİL
1903
- * düz metin olur — tıklanabilir görünüp hiçbir şey yapmayan bir adım,
1904
- * kullanıcıya var olmayan bir yol vaat ediyordu.
1905
- */
1676
+ /** Bir adıma dönülebiliyorsa verilir. */
1906
1677
  onStepClick?: (index: number) => void;
1907
- /** Akışın erişilebilir adı ("Ödeme adımları"). ZORUNLU. */
1678
+ /** Akışın erişilebilir adı ("Ödeme adımları"). */
1908
1679
  label: string;
1909
1680
  orientation?: 'horizontal' | 'vertical';
1910
1681
  className?: string;
@@ -1927,10 +1698,10 @@ declare type Props_39 = {
1927
1698
  };
1928
1699
 
1929
1700
  declare type Props_4 = {
1930
- /** Tetikleyici. TEK öğe; bileşen ona `ref` ve ARIA ekliyor. */
1701
+ /** Tetikleyici. */
1931
1702
  trigger: ReactElement;
1932
1703
  items: MenuItem[];
1933
- /** Menünün erişilebilir adı ("Satır eylemleri"). ZORUNLU. */
1704
+ /** Menünün erişilebilir adı ("Satır eylemleri"). */
1934
1705
  label: string;
1935
1706
  side?: PositionSide;
1936
1707
  align?: PositionAlign;
@@ -1954,7 +1725,7 @@ declare type Props_40 = {
1954
1725
 
1955
1726
  declare type Props_41 = {
1956
1727
  events: TimelineEvent[];
1957
- /** Akışın erişilebilir adı ("Sipariş geçmişi"). ZORUNLU. */
1728
+ /** Akışın erişilebilir adı ("Sipariş geçmişi"). */
1958
1729
  label: string;
1959
1730
  className?: string;
1960
1731
  testId?: string;
@@ -1962,18 +1733,18 @@ declare type Props_41 = {
1962
1733
 
1963
1734
  declare type Props_42 = {
1964
1735
  title: string;
1965
- /** Kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1736
+ /** Kapatma düğmesinin erişilebilir adı. */
1966
1737
  closeLabel?: string;
1967
1738
  onClose: () => void;
1968
1739
  children: ReactNode;
1969
1740
  /**
1970
- * Başlığın altında duran, gövde kaydırılırken yerinde kalan şerit —
1971
- * `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.
1972
1743
  */
1973
1744
  toolbar?: ReactNode;
1974
1745
  /** Dipte duran eylem şeridi. */
1975
1746
  footer?: ReactNode;
1976
- /** Panelin <strong>kendiliğinden kapandığı</strong> medya sorgusu. */
1747
+ /** Panelin kendiliğinden kapandığı medya sorgusu. */
1977
1748
  closeAbove?: string;
1978
1749
  className?: string;
1979
1750
  testId?: string;
@@ -1988,7 +1759,7 @@ declare type Props_43 = {
1988
1759
  children?: ReactNode;
1989
1760
  /** Başlığın altındaki bir cümlelik açıklama. */
1990
1761
  description?: ReactNode;
1991
- /** Altta duran eylemler. Sağa yaslanır; dar ekranda tam genişliğe yayılır. */
1762
+ /** Altta duran eylemler. */
1992
1763
  footer?: ReactNode;
1993
1764
  /** Başlığın solunda duran ikon madalyonu; `tone` rengini alır. */
1994
1765
  icon?: ReactNode;
@@ -2005,11 +1776,11 @@ declare type Props_44 = {
2005
1776
  isOpen: boolean;
2006
1777
  onClose: () => void;
2007
1778
  items: CommandItem[];
2008
- /** Pencerenin erişilebilir adı ("Komut paleti"). ZORUNLU. */
1779
+ /** Pencerenin erişilebilir adı ("Komut paleti"). */
2009
1780
  label: string;
2010
- /** Arama kutusunun yer tutucusu ve erişilebilir adı. ZORUNLU. */
1781
+ /** Arama kutusunun yer tutucusu ve erişilebilir adı. */
2011
1782
  searchPlaceholder: string;
2012
- /** Sonuç yokken yazılan metin. ZORUNLU. */
1783
+ /** Sonuç yokken yazılan metin. */
2013
1784
  emptyMessage: string;
2014
1785
  className?: string;
2015
1786
  testId?: string;
@@ -2019,11 +1790,11 @@ declare type Props_45 = {
2019
1790
  isOpen: boolean;
2020
1791
  onClose: () => void;
2021
1792
  /**
2022
- * Onaylandığında çalışır. `Promise` dönerse düğme beklerken yükleme
2023
- * 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.
2024
1795
  */
2025
1796
  onConfirm: () => void | Promise<void>;
2026
- /** Soru cümlesi. Eylem odaklı yazılır: "…silinsin mi?". */
1797
+ /** Soru cümlesi. */
2027
1798
  title: string;
2028
1799
  /** Sonucu açıklar: neyin geri alınamaz olduğu burada yazılır. */
2029
1800
  description?: ReactNode;
@@ -2035,7 +1806,7 @@ declare type Props_45 = {
2035
1806
  closeLabel?: string;
2036
1807
  /** Onayın türü — ikon, ton ve onay düğmesinin varyantını birlikte belirler. */
2037
1808
  variant?: ConfirmKind;
2038
- /** @deprecated `variant` kullanın. Bir sonraki büyük sürümde kalkacak. */
1809
+ /** @deprecated `variant` kullanın. */
2039
1810
  kind?: ConfirmKind;
2040
1811
  /** Ek bağlam: silinecek kaydın özeti, uyarı kutusu. */
2041
1812
  children?: ReactNode;
@@ -2045,10 +1816,10 @@ declare type Props_46 = {
2045
1816
  isOpen: boolean;
2046
1817
  onClose: () => void;
2047
1818
  title: string;
2048
- /** Kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1819
+ /** Kapatma düğmesinin erişilebilir adı. */
2049
1820
  closeLabel?: string;
2050
1821
  children: ReactNode;
2051
- /** Panelin hangi kenardan geldiği. Mantıksal: `end` RTL'de sola açılır. */
1822
+ /** Panelin hangi kenardan geldiği. */
2052
1823
  side?: 'start' | 'end';
2053
1824
  size?: 'sm' | 'md' | 'lg';
2054
1825
  /** Dipte duran eylem şeridi; gövde kaydırılırken yerinde kalır. */
@@ -2067,18 +1838,9 @@ declare type Props_47 = BaseProps_3 & {
2067
1838
  };
2068
1839
 
2069
1840
  declare type Props_48 = TableHTMLAttributes<HTMLTableElement> & Partial<{
2070
- /**
2071
- * Hücre dolgusu. Tablolar aynı iskeleti paylaşır ama yoğunlukları içeriğe
2072
- * göre değişir: yüzlerce satırlık bir liste sıkı, karşılaştırma matrisi
2073
- * ferah durur.
2074
- */
1841
+ /** Hücre dolgusu. */
2075
1842
  density: 'compact' | 'regular' | 'spacious';
2076
- /**
2077
- * Başlık satırı `$surface-2` zeminle kutunun içinde YAPIŞKAN kalır.
2078
- * Zemin zorunlu: saydam başlığın arkasından kayan satırlar geçiyordu.
2079
- * `top: 0` doğru olan — referans üst bant değil, tablonun kendi kaydırma
2080
- * kutusu.
2081
- */
1843
+ /** Başlık satırı `$surface-2` zeminle kutunun içinde YAPIŞKAN kalır. */
2082
1844
  hasStickyHead: boolean;
2083
1845
  /** Satır hover zemini: çok sütunlu tabloda göz satırını kaybediyor. */
2084
1846
  hasRowHover: boolean;
@@ -2088,38 +1850,25 @@ declare type Props_49 = {
2088
1850
  columns: DataTableColumn[];
2089
1851
  /**
2090
1852
  * Tablonun erişilebilir adı ("Bekleyen siparişler").
2091
- *
2092
- * ⚠ ADSIZ TABLO EKRAN OKUYUCUDA YALNIZCA "tablo" DİYE OKUNUR. Panelde
2093
- * aynı anda birden fazla tablo bulunabiliyor ve kullanıcı hangisinde
2094
- * olduğunu ayırt edemiyordu. `<caption>` yerine `aria-label` seçildi:
2095
- * başlık zaten `PageHeader`/`Panel` içinde görünür durumda, ikinci kez
2096
- * çizmek görsel tekrar olurdu.
1853
+ * ⚠ ADSIZ TABLO EKRAN OKUYUCUDA YALNIZCA "tablo" DİYE OKUNUR.
2097
1854
  */
2098
1855
  label?: string;
2099
1856
  /**
2100
- * Gövde satırları (`<tr>`). Ekranların özel hücreleri, bağlantıları ve satır
2101
- * tintleri burada yaşar; tablo yalnızca kabuğu ve durum satırlarını
2102
- * ü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.
2103
1859
  */
2104
1860
  children?: ReactNode;
2105
- /** Satır yokken gösterilen metin. Verilmezse `labels.dataTable.empty`. */
1861
+ /** Satır yokken gösterilen metin. */
2106
1862
  emptyMessage?: string;
2107
- /** Yükleme sürerken gösterilen metin. Verilmezse `labels.dataTable.loading`. */
1863
+ /** Yükleme sürerken gösterilen metin. */
2108
1864
  loadingMessage?: string;
2109
1865
  isLoading?: boolean;
2110
1866
  /**
2111
- * Liste ÇEKİLEMEDİ. <strong>"Yüklenemedi" ile "boş" ayrı durumlardır</strong>:
2112
- * hata verilmişken boş mesajı asla çizilmez — ağ hatasını "kayıt kalmamış"
2113
- * diye okutmak kullanıcıya yanlış karar verdirir. Hatayı tablonun dışında
2114
- * (`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
2115
1869
  */
2116
1870
  error?: string | null;
2117
- /**
2118
- * Gövde `100dvh - <bant>` ile sınırlanır ve başlık satırı kendi kaydırma
2119
- * alanına yapışır. Sınırsız yükseklikte `position: sticky` HİÇ çalışmıyordu:
2120
- * `overflow` alanı ekrandan uzun olunca başlık sayfayla birlikte yukarı çıkıp
2121
- * gidiyordu.
2122
- */
1871
+ /** Gövde `100dvh - <bant>` ile sınırlanır ve başlık satırı kendi kaydırma alanına yapışır. */
2123
1872
  hasViewportCap?: boolean;
2124
1873
  /** Sıralanabilir bir başlığa basıldığında çağrılır. */
2125
1874
  onSort?: (key: string, direction: 'ascending' | 'descending') => void;
@@ -2130,17 +1879,14 @@ declare type Props_49 = {
2130
1879
  };
2131
1880
 
2132
1881
  declare type Props_5 = {
2133
- /**
2134
- * Tetikleyici. TEK bir öğe olmak zorunda: bileşen ona `ref`, `onClick` ve
2135
- * `aria-expanded` ekliyor.
2136
- */
1882
+ /** Tetikleyici. */
2137
1883
  trigger: ReactElement;
2138
1884
  children: ReactNode;
2139
- /** Yüzeyin erişilebilir adı. ZORUNLU — adsız bir bölge "grup" diye okunur. */
1885
+ /** Yüzeyin erişilebilir adı. */
2140
1886
  label: string;
2141
1887
  side?: PositionSide;
2142
1888
  align?: PositionAlign;
2143
- /** Kontrollü kullanım. Verilmezse bileşen durumu kendisi tutar. */
1889
+ /** Kontrollü kullanım. */
2144
1890
  isOpen?: boolean;
2145
1891
  onOpenChange?: (isOpen: boolean) => void;
2146
1892
  className?: string;
@@ -2149,15 +1895,15 @@ declare type Props_5 = {
2149
1895
 
2150
1896
  declare type Props_50 = {
2151
1897
  /**
2152
- * Filtreler uygulanır. `preventDefault` bileşenin işi; çağıran yalnızca
2153
- * 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).
2154
1900
  */
2155
1901
  onSubmit: () => void;
2156
- /** Alanlar — her biri {@link FilterBarField} içinde. */
1902
+ /** Alanlar — her biri FilterBarField içinde. */
2157
1903
  children: ReactNode;
2158
1904
  /** Şeridin sağ ucundaki eylemler ("Uygula" düğmesi gibi). */
2159
1905
  actions?: ReactNode;
2160
- /** Şeridin erişilebilir adı. Verilmezse `labels.filters`. */
1906
+ /** Şeridin erişilebilir adı. */
2161
1907
  label?: string;
2162
1908
  className?: string;
2163
1909
  testId?: string;
@@ -2171,7 +1917,7 @@ declare type Props_7<T extends string> = {
2171
1917
  options: SegmentOption<T>[];
2172
1918
  value: T;
2173
1919
  onChange: (value: T) => void;
2174
- /** Grubun erişilebilir adı ("Görünüm"). ZORUNLU. */
1920
+ /** Grubun erişilebilir adı ("Görünüm"). */
2175
1921
  label: string;
2176
1922
  /** Etiketler gizlenir, yalnızca ikon çizilir. `label` yine okunur. */
2177
1923
  isIconOnly?: boolean;
@@ -2184,14 +1930,11 @@ declare type Props_8<T extends string> = {
2184
1930
  options: SelectOption<T>[];
2185
1931
  value: T;
2186
1932
  onChange: (value: T) => void;
2187
- /**
2188
- * Alanın adı. İki işi birden yapar: alt sayfanın başlığı olur ve
2189
- * tetikleyicinin <strong>erişilebilir adı</strong>dır.
2190
- */
1933
+ /** Alanın adı. */
2191
1934
  label: string;
2192
- /** Seçim yokken tetikleyicide görünen metin. Verilmezse `labels.selectPlaceholder`. */
1935
+ /** Seçim yokken tetikleyicide görünen metin. */
2193
1936
  placeholder?: string;
2194
- /** Alt sayfanın kapatma düğmesinin erişilebilir adı. Verilmezse `labels.close`. */
1937
+ /** Alt sayfanın kapatma düğmesinin erişilebilir adı. */
2195
1938
  closeLabel?: string;
2196
1939
  /** Tetikleyicinin solundaki ikon. */
2197
1940
  icon?: ReactNode;
@@ -2203,14 +1946,8 @@ declare type Props_8<T extends string> = {
2203
1946
  id?: string;
2204
1947
  /**
2205
1948
  * Zorunluluk — `Field`in `FieldChildProps` sözleşmesinden gelir.
2206
- *
2207
- * ⚠ Bileşen `...rest` YAYMIYOR, yani `Props`ta bildirilmeyen her alan
2208
- * sessizce buharlaşır. `required` bir dönem tam olarak öyleydi: `<Field
2209
- * isRequired>{props => <Select {...props} …/>}</Field>` yazan çağıran
2210
- * görsel `*` ve sr-only "(zorunlu)" alıyor ama KONTROLDE hiçbir işaret
2211
- * olmuyordu — doğrudan kutuya atlayan ekran okuyucu kullanıcısı alanın
2212
- * zorunlu olduğunu hiç duymuyordu. `props` taze bir nesne literali olmadığı
2213
- * 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…
2214
1951
  */
2215
1952
  required?: boolean;
2216
1953
  'aria-describedby'?: string;
@@ -2255,11 +1992,11 @@ declare const RadioCard_2: FC<Props_9>;
2255
1992
  declare type RangeProps = {
2256
1993
  value: DateRangeValue;
2257
1994
  onChange: (value: DateRangeValue) => void;
2258
- /** Başlangıç alanının erişilebilir adı ("Başlangıç"). ZORUNLU. */
1995
+ /** Başlangıç alanının erişilebilir adı ("Başlangıç"). */
2259
1996
  startLabel: string;
2260
- /** Bitiş alanının erişilebilir adı ("Bitiş"). ZORUNLU. */
1997
+ /** Bitiş alanının erişilebilir adı ("Bitiş"). */
2261
1998
  endLabel: string;
2262
- /** İki alanın arasındaki ayraç. Varsayılan yarım tire. */
1999
+ /** İki alanın arasındaki ayraç. */
2263
2000
  separator?: string;
2264
2001
  /** Ölçeğin uçları; ikisi de yerel öğeye geçer. */
2265
2002
  min?: string;
@@ -2302,22 +2039,16 @@ declare type RowProps = HTMLAttributes<HTMLTableRowElement> & {
2302
2039
 
2303
2040
  export declare const ScrollArea: typeof ScrollArea_2;
2304
2041
 
2305
- /** Kaydırma kutusu — <strong>klavyeyle erişilebilir</strong> kaydırma bölgesi. */
2042
+ /** Kaydırma kutusu — klavyeyle erişilebilir kaydırma bölgesi. */
2306
2043
  declare const ScrollArea_2: FC<Props_31>;
2307
2044
 
2308
2045
  declare type ScrollerProps = HTMLAttributes<HTMLDivElement> & {
2309
- /**
2310
- * Çerçeve (hairline + yarıçap + yüzey). Gömülü tablolarda kapatılır: orada
2311
- * tablo zaten bir kartın içinde ve ikinci bir çerçeve kutu içinde kutu
2312
- * görünüyordu.
2313
- */
2046
+ /** Çerçeve (hairline + yarıçap + yüzey). */
2314
2047
  hasFrame?: boolean;
2315
2048
  /**
2316
2049
  * Kaydırma bölgesinin erişilebilir adı ("Sipariş kalemleri").
2317
- *
2318
- * ⚠ ZORUNLU değil ama VERİLMELİ: kutu klavyeyle odaklanabilir bir
2319
- * `region` ve adsız bir bölge ekran okuyucuda yalnızca "bölge" diye
2320
- * 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
2321
2052
  */
2322
2053
  label?: string;
2323
2054
  };
@@ -2329,7 +2060,7 @@ declare const SectionHeader_2: FC<Props_30>;
2329
2060
 
2330
2061
  export declare const SegmentedControl: typeof SegmentedControl_2;
2331
2062
 
2332
- /** Bölmeli denetim — <strong>görünüm</strong> değiştirme. */
2063
+ /** Bölmeli denetim — görünüm değiştirme. */
2333
2064
  declare const SegmentedControl_2: <T extends string>({ options, value, onChange, label, isIconOnly, size, className, testId, }: Props_7<T>) => JSX.Element;
2334
2065
 
2335
2066
  export declare type SegmentOption<T extends string = string> = {
@@ -2404,13 +2135,7 @@ declare const Steps_2: FC<Props_38>;
2404
2135
 
2405
2136
  export declare const SummaryCard: typeof SummaryCard_2;
2406
2137
 
2407
- /**
2408
- * Özet kartı — başlık + kısa açıklama + meta satırı taşıyan BAĞLANTILI kart.
2409
- *
2410
- * Kartın tamamı tıklanır ama sekme durağı TEKTİR: bağlantı başlıktadır,
2411
- * yüzeyi `::after` katmanı kaplar. `meta` satırı katmanın ÜSTÜNDE durur —
2412
- * içine konan çip/rozet tıklamaları kart bağlantısına düşmez.
2413
- */
2138
+ /** Özet kartı — başlık + kısa açıklama + meta satırı taşıyan BAĞLANTILI kart. */
2414
2139
  declare const SummaryCard_2: FC<Props_34>;
2415
2140
 
2416
2141
  export declare type SummaryCardHeadingLevel = 2 | 3 | 4;
@@ -2418,15 +2143,8 @@ export declare type SummaryCardHeadingLevel = 2 | 3 | 4;
2418
2143
  export declare const Switch: typeof Switch_2;
2419
2144
 
2420
2145
  /**
2421
- * Anahtar (switch) — <strong>anında</strong> uygulanan aç/kapa.
2422
- *
2423
- * @example
2424
- * <Switch
2425
- * label="Kampanya bildirimleri"
2426
- * hint="E-posta ile ayda en fazla iki ileti"
2427
- * checked={isSubscribed}
2428
- * onChange={event => subscribe(event.target.checked)}
2429
- * />
2146
+ * Anahtar (switch) — anında uygulanan aç/kapa.
2147
+ * @example <Switch label="Kampanya bildirimleri" hint="E-posta ile ayda en fazla iki…
2430
2148
  */
2431
2149
  declare const Switch_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "role" | "type"> & {
2432
2150
  /** Anahtarın görünür etiketi. */
@@ -2456,28 +2174,20 @@ export declare const TableCheckbox: typeof TableCheckbox_2;
2456
2174
 
2457
2175
  /** Tablo hücresindeki toplu seçim kutusu. */
2458
2176
  declare const TableCheckbox_2: ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "aria-label"> & {
2459
- /**
2460
- * Erişilebilir ad — ZORUNLU. Hücrede görünür etiket yok (etiket sütun
2461
- * başlığında); adsız kutu ekran okuyucuda yalnızca "onay kutusu" diye
2462
- * okunur. Satır kutusunda kaydın kimliğini söyleyin ("SP-2026-000123 seç").
2463
- */
2177
+ /** Erişilebilir ad — ZORUNLU. */
2464
2178
  label: string;
2465
2179
  /**
2466
2180
  * "Bazı satırlar seçili" — başlık kutusunun üçüncü durumu.
2467
- *
2468
- * ⚠ Bu prop OLMADAN o durum İFADE EDİLEMİYORDU. `indeterminate` bir HTML
2469
- * niteliği değil, yalnızca DOM ÖZELLİĞİ; JSX ile yazılamaz, `ref` üzerinden
2470
- * atanması gerekir. Sonuç: başlık kutusu ya "hiçbiri" ya "hepsi" diyordu,
2471
- * kısmi seçimde ise sessizce YANLIŞ bilgi veriyordu — operatör "hepsi
2472
- * 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İĞİ
2473
2183
  */
2474
2184
  isIndeterminate?: boolean;
2475
2185
  testId?: string;
2476
2186
  } & RefAttributes<HTMLInputElement>>;
2477
2187
 
2478
2188
  /**
2479
- * Tablo kaydırma kutusu — "tablo kendi kutusunda kayar, sayfa asla yatay
2480
- * 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ı.
2481
2191
  */
2482
2192
  export declare const TableScroller: FC<ScrollerProps>;
2483
2193
 
@@ -2529,7 +2239,7 @@ declare const Timeline_2: FC<Props_41>;
2529
2239
  export declare type TimelineEvent = {
2530
2240
  id: string;
2531
2241
  title: string;
2532
- /** Zaman damgası — BİÇİMLENDİRİLMİŞ dize. Bileşen tarih biçimlendirmez. */
2242
+ /** Zaman damgası — BİÇİMLENDİRİLMİŞ dize. */
2533
2243
  time?: string;
2534
2244
  description?: ReactNode;
2535
2245
  status?: TimelineStatus;
@@ -2542,10 +2252,7 @@ export declare type TimelineStatus = 'done' | 'current' | 'pending' | 'failed';
2542
2252
 
2543
2253
  /**
2544
2254
  * BİLDİRİM SÖZLEŞMESİ — süre, ikon ve renk kararları TEK YERDE.
2545
- *
2546
- * @example
2547
- * toast.success('Adres kaydedildi');
2548
- * toast.error('Kart reddedildi', { action: { label: 'Yeniden dene', onClick: retry } });
2255
+ * @example toast.success('Adres kaydedildi'); toast.error('Kart reddedildi', { action: { label…
2549
2256
  */
2550
2257
  export declare const toast: {
2551
2258
  show: (message: string, options?: ToastOptions) => number;
@@ -2560,7 +2267,7 @@ export declare const toast: {
2560
2267
 
2561
2268
  export declare const ToastHub: typeof ToastHub_2;
2562
2269
 
2563
- /** Bildirim yığını — uygulamada <strong>BİR KEZ</strong> çizilir. */
2270
+ /** Bildirim yığını — uygulamada BİR KEZ çizilir. */
2564
2271
  declare const ToastHub_2: ({ closeLabel, regionLabel, className }: HubProps) => ReactPortal | null;
2565
2272
 
2566
2273
  export declare type ToastOptions = {
@@ -2580,12 +2287,7 @@ export declare const ToastPortal: typeof ToastPortal_2;
2580
2287
 
2581
2288
  /**
2582
2289
  * `ToastHub`ı montajdan SONRA çizen sarmalayıcı.
2583
- *
2584
- * ⚠ SUNUCUDA ÇİZİLMEMESİ ŞART. `ToastHub` portal kullanıyor ve `document`
2585
- * olmadan çalışamaz; sunucu tarafında çizilen bir ağaçta doğrudan kullanmak
2586
- * hidrasyon uyuşmazlığı üretir. Next.js kullanan iki uygulamada da aynı
2587
- * sarmalayıcı BİREBİR AYNI dosya olarak yazılmıştı — çözüm uygulamaya değil
2588
- * bileşene ait.
2290
+ * ⚠ SUNUCUDA ÇİZİLMEMESİ ŞART. `ToastHub` portal kullanıyor ve `document` olmadan çalışamaz
2589
2291
  */
2590
2292
  declare const ToastPortal_2: FC;
2591
2293
 
@@ -2605,16 +2307,13 @@ export declare enum UISize {
2605
2307
 
2606
2308
  /** Düğme ve eylem varyantları. */
2607
2309
  export declare enum UIVariant {
2608
- /** Ekranın tek beklenen eylemi: <strong>nötr grafit</strong> dolgu. */
2310
+ /** Ekranın tek beklenen eylemi: nötr grafit dolgu. */
2609
2311
  PRIMARY = "PRIMARY",
2610
- /** <strong>Dönüşüm eylemi — ve yalnızca o.</strong> */
2312
+ /** Dönüşüm eylemi — ve yalnızca o. */
2611
2313
  CART = "CART",
2612
2314
  /** Nötr ikincil eylem: gri kenarlık, koyu metin ("Vazgeç"). */
2613
2315
  SECONDARY = "SECONDARY",
2614
- /**
2615
- * Mavi çerçeveli eylem — teşvik edilen ama birincil olmayan gezinme
2616
- * ("Tümünü gör").
2617
- */
2316
+ /** Mavi çerçeveli eylem — teşvik edilen ama birincil olmayan gezinme ("Tümünü gör"). */
2618
2317
  OUTLINE = "OUTLINE",
2619
2318
  /** Vurgu bandı içindeki eylem: bandın kendi yüzey merdivenini kullanır. */
2620
2319
  DARK = "DARK",
@@ -2622,25 +2321,22 @@ export declare enum UIVariant {
2622
2321
  LIGHT = "LIGHT",
2623
2322
  /** Zeminsiz eylem: araç çubuğu ve satır içi ikincil işler. */
2624
2323
  GHOST = "GHOST",
2625
- /** Yıkıcı eylem: silme onayı. Durum tinti değil, gerçek bir dolgu. */
2324
+ /** Yıkıcı eylem: silme onayı. */
2626
2325
  DANGER = "DANGER"
2627
2326
  }
2628
2327
 
2629
2328
  export declare type UploadFile = {
2630
2329
  id: string;
2631
2330
  name: string;
2632
- /** Bayt. Ekranda okunur biçime çevrilir. */
2331
+ /** Bayt. */
2633
2332
  size: number;
2634
2333
  /** 0-100. `undefined` → yükleme başlamadı ya da bitti. */
2635
2334
  progress?: number;
2636
- /** Bu dosyaya ait hata. Satır kırmızı çizilir ve metin okunur. */
2335
+ /** Bu dosyaya ait hata. */
2637
2336
  error?: string;
2638
2337
  };
2639
2338
 
2640
- /**
2641
- * Duyuru fonksiyonu döndürür. Referans SABİT: bağımlılık dizisine güvenle
2642
- * konur, her render'da yeni bir kapanış üretip etkileri tetiklemez.
2643
- */
2339
+ /** Duyuru fonksiyonu döndürür. */
2644
2340
  export declare const useAnnounce: () => ((message: string, politeness?: AnnouncePoliteness) => void);
2645
2341
 
2646
2342
  /** Sağlayıcı ZORUNLU DEĞİL. */
@@ -2648,9 +2344,7 @@ export declare const useHanui: () => HanuiContextValue;
2648
2344
 
2649
2345
  /**
2650
2346
  * Açık/koyu seçimini okur ve değiştirir.
2651
- *
2652
- * @example
2653
- * const { scheme, toggle, isReady } = useHanuiTheme();
2347
+ * @example const { scheme, toggle, isReady } = useHanuiTheme();
2654
2348
  */
2655
2349
  export declare const useHanuiTheme: () => HanuiThemeState;
2656
2350
 
@@ -2660,8 +2354,8 @@ export declare const useListboxNavigation: <T extends HTMLElement = HTMLElement>
2660
2354
  }) => ListboxNavigation<T>;
2661
2355
 
2662
2356
  /**
2663
- * ÇARPIŞMAYA DUYARLI KONUMLANDIRMA — `Tooltip`, `Popover`, `Menu` ve açılır
2664
- * listelerin ortak temeli.
2357
+ * ÇARPIŞMAYA DUYARLI KONUMLANDIRMA — `Tooltip`, `Popover`, `Menu` ve açılır listelerin ortak
2358
+ * temeli.
2665
2359
  */
2666
2360
  export declare const usePositioning: (anchorRef: {
2667
2361
  current: HTMLElement | null;