@ahmetilhn/hanui 2.8.0 → 3.0.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,6 +49,12 @@ 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
+ */
56
+ export declare const applyThemeConfig: (config: HanuiThemeConfig | undefined) => void;
57
+
52
58
  export declare const Avatar: typeof Avatar_2;
53
59
 
54
60
  /** Avatar — kullanıcı madalyonu. */
@@ -529,6 +535,12 @@ export declare type DateRangeValue = {
529
535
  /** Kütüphanenin varsayılan font yığınları — hepsi sistem fontlarına iner. */
530
536
  export declare const DEFAULT_FONTS: Required<HanuiFonts>;
531
537
 
538
+ /**
539
+ * Bilgi yoğunluğunun taşındığı öznitelik.
540
+ * `<html data-hanui-density="compact">`.
541
+ */
542
+ export declare const DENSITY_ATTRIBUTE = "data-hanui-density";
543
+
532
544
  export declare const Directory: typeof Directory_2;
533
545
 
534
546
  /**
@@ -772,6 +784,49 @@ export declare type HanuiLabels = Partial<{
772
784
  copied: Formatter<[value: string]>;
773
785
  announcement: string;
774
786
  }>;
787
+ /**
788
+ * Dosya yukleme.
789
+ *
790
+ * ⚠ `tooLarge` bir BICIMLENDIRICI: mesaj dosya adini ve siniri TASIMALI.
791
+ * Sabit bir "cok buyuk" metni, on dosyalik bir listede hangisinin
792
+ * reddedildigini soylemiyordu.
793
+ */
794
+ fileUpload: Partial<{
795
+ tooLarge: Formatter<[name: string, max: string]>;
796
+ /** Yukleme sirasindaki ekran okuyucu duyurusu. */
797
+ uploading: Formatter<[name: string]>;
798
+ /** Dosya secildiginde yapilan duyuru. */
799
+ added: Formatter<[count: number]>;
800
+ }>;
801
+ /**
802
+ * Sayisal gostergenin YON metni.
803
+ *
804
+ * ⚠ Uc deger de SR-ONLY: ok isareti gorsel bir sinyal ve ekran okuyucuya
805
+ * hicbir sey soylemiyor. Verilmezse gosterge "yuzde 12" der, artis mi
806
+ * azalis mi belirsiz kalir.
807
+ */
808
+ stat: Partial<{
809
+ increase: string;
810
+ decrease: string;
811
+ unchanged: string;
812
+ }>;
813
+ /** Adim gostergesinin DURUM metinleri — hepsi sr-only. */
814
+ steps: Partial<{
815
+ completed: string;
816
+ current: string;
817
+ upcoming: string;
818
+ }>;
819
+ /** Zaman cizelgesinin DURUM metinleri — hepsi sr-only. */
820
+ timeline: Partial<{
821
+ completed: string;
822
+ current: string;
823
+ failed: string;
824
+ }>;
825
+ /** Etiket girisi. `removed` bir bicimlendirici: hangi etiketin kalktigi. */
826
+ tagInput: Partial<{
827
+ added: Formatter<[value: string]>;
828
+ removed: Formatter<[value: string]>;
829
+ }>;
775
830
  rating: Partial<{
776
831
  /** Yıldızların ekran okuyucu karşılığı ("5 üzerinden 4,5 — 12 değerlendirme"). */
777
832
  srLabel: Formatter<[value: number, count: number | undefined]>;
@@ -947,9 +1002,6 @@ isTechnical?: boolean;
947
1002
  testId?: string;
948
1003
  } & RefAttributes<HTMLInputElement>>;
949
1004
 
950
- /** Odaklanınca mobilde ekran klavyesini açacak bir öğe mi? */
951
- export declare const isKeyboardOpeningElement: (element: Element | null) => boolean;
952
-
953
1005
  /** AÇIK TEMA — varsayılan. */
954
1006
  export declare const LIGHT_THEME: {
955
1007
  readonly page: "#ffffff";
@@ -1258,12 +1310,6 @@ export declare type PositioningState = {
1258
1310
  /** Yüzeyin tercih ettiği kenar. Yer yoksa karşıtına düşer. */
1259
1311
  export declare type PositionSide = 'top' | 'bottom' | 'left' | 'right';
1260
1312
 
1261
- /**
1262
- * `showModal()` ÇAĞRILDIKTAN SONRA çağrılır. Odak bir metin alanına düştüyse
1263
- * panelin kendisine geri alınır; düşmediyse hiçbir şey yapılmaz.
1264
- */
1265
- export declare const preventAutoKeyboard: (dialog: HTMLDialogElement) => void;
1266
-
1267
1313
  export declare const Price: typeof Price_2;
1268
1314
 
1269
1315
  /** Tutar gösterimi. */
@@ -2341,6 +2387,9 @@ export declare const TextLink: typeof TextLink_2;
2341
2387
  /** Metin bağlantısı. */
2342
2388
  declare const TextLink_2: ({ href, children, hasArrow, tone, size, className, linkProps, ...rest }: Props_2) => JSX.Element;
2343
2389
 
2390
+ /** Temanın taşındığı öznitelik. `<html data-hanui-theme="dark">`. */
2391
+ export declare const THEME_ATTRIBUTE = "data-hanui-theme";
2392
+
2344
2393
  export declare const Tile: typeof Tile_2;
2345
2394
 
2346
2395
  /** Karo — ikon madalyonu + etiket. */
@@ -2494,18 +2543,6 @@ export declare const usePositioning: (anchorRef: {
2494
2543
  current: HTMLElement | null;
2495
2544
  }, { side, align, offset, padding, isOpen }: PositioningOptions) => PositioningState;
2496
2545
 
2497
- export declare const useScrollLock: (isLocked?: boolean) => void;
2498
-
2499
- /**
2500
- * Alt sayfayi <strong>gorunen</strong> alana yaslar.
2501
- *
2502
- * @param isActive Panel acik mi. Yalnizca acikken olculur: kendisi yalnizca
2503
- * acikken cizilen bir panel varsayilani kullanir, ama sayfa boyunca DOM'da
2504
- * duran bir panel bayraksiz cagirdiginda her kullanicida iki gorunum alani
2505
- * dinleyicisi bos yere acik kaliyordu.
2506
- */
2507
- export declare const useSheetViewport: (isActive?: boolean) => void;
2508
-
2509
2546
  /** SANALLAŞTIRMA — yalnızca görünen satırları çiz. */
2510
2547
  export declare const useVirtualList: (count: number, { rowHeight, overscan, isEnabled }?: {
2511
2548
  rowHeight?: number | undefined;