@ahmetilhn/hanui 5.5.0 → 5.6.1
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/README.md +3 -2
- package/build/index.cjs +3 -3
- package/build/index.cjs.map +1 -1
- package/build/index.d.ts +45 -5
- package/build/index.js +2586 -2492
- package/build/index.js.map +1 -1
- package/build/styles.css +1 -1
- package/package.json +1 -1
package/build/index.d.ts
CHANGED
|
@@ -444,6 +444,28 @@ declare const ConfirmDialog_2: FC<Props_50>;
|
|
|
444
444
|
|
|
445
445
|
export declare type ConfirmKind = 'destructive' | 'warning' | 'neutral';
|
|
446
446
|
|
|
447
|
+
export declare const ContextMenu: MemoExoticComponent<({ point, onClose, items, label, header, className, testId, }: ContextMenuProps) => JSX.Element>;
|
|
448
|
+
|
|
449
|
+
declare type ContextMenuProps = {
|
|
450
|
+
/**
|
|
451
|
+
* Açılış noktası — `contextmenu` olayının `clientX` / `clientY`si (görünüm alanı koordinatı).
|
|
452
|
+
* `null` iken menü kapalı.
|
|
453
|
+
*/
|
|
454
|
+
point: {
|
|
455
|
+
x: number;
|
|
456
|
+
y: number;
|
|
457
|
+
} | null;
|
|
458
|
+
/** Escape, Tab, dışarı tıklama ya da seçilen eylemden sonra çağrılır; çağıran `point`i `null` yapar. */
|
|
459
|
+
onClose: () => void;
|
|
460
|
+
items: MenuItem[];
|
|
461
|
+
/** Menünün erişilebilir adı ("Seçim seçenekleri"). */
|
|
462
|
+
label: string;
|
|
463
|
+
/** Eylemlerin ÜSTÜNDE okunan bağlam (seçimin özeti, ölçümler) — `role="menu"`nün DIŞINDA. */
|
|
464
|
+
header?: ReactNode;
|
|
465
|
+
className?: string;
|
|
466
|
+
testId?: string;
|
|
467
|
+
};
|
|
468
|
+
|
|
447
469
|
export declare const CopyField: typeof CopyField_2;
|
|
448
470
|
|
|
449
471
|
/** Kopyalanabilir teknik değer — tek dokunuşla panoya. */
|
|
@@ -897,10 +919,19 @@ export declare type HanuiToken = keyof typeof LIGHT_THEME;
|
|
|
897
919
|
|
|
898
920
|
/**
|
|
899
921
|
* `Escape`i tüketecek AÇIK bir yüzey var mı — kipsel pencere, açılır panel, bildirim.
|
|
900
|
-
* ⚠ Sayfa düzeyinde `Escape` dinleyen her kod (sohbetin "akışı durdur" kısayolu gibi)
|
|
901
|
-
* sorar. Sormayan bir dinleyici, kullanıcı yalnızca bir
|
|
902
|
-
*
|
|
903
|
-
*
|
|
922
|
+
* ⚠ Sayfa düzeyinde `Escape` dinleyen her kod (sohbetin "akışı durdur" kısayolu gibi) İKİSİNİ BİRDEN
|
|
923
|
+
* sorar: `event.defaultPrevented || hasOpenSurface()`. Sormayan bir dinleyici, kullanıcı yalnızca bir
|
|
924
|
+
* yüzeyi kapatmak isterken arkadaki işi de iptal ediyordu.
|
|
925
|
+
* - `Popover`, `Tooltip` ve `Toast` tuşu belge düzeyindeki kendi dinleyicilerinde tüketir, işaretler
|
|
926
|
+
* (`preventDefault`) ve AYNI tuş vuruşunda yığından düşer: gerçek tarayıcıda React ayrık olayın
|
|
927
|
+
* güncellemesini dinleyiciler arasında boşaltır. Yüzeyin dinleyicisinden SONRA koşan kod (pencerede
|
|
928
|
+
* ya da belgede sonradan eklenmiş) burada `false` görür; ona kalan kanıt `defaultPrevented`.
|
|
929
|
+
* Ölçüldü (2026-10-27): yardım `Popover`ını kapatan `Escape` bir grafik seçimini de siliyordu.
|
|
930
|
+
* jsdom bunu göremez: `fireEvent` betikten gönderilir, dinleyiciler arasında mikro görev
|
|
931
|
+
* boşaltılmaz.
|
|
932
|
+
* - Yüzeyin dinleyicisinden ÖNCE koşan kod işareti göremez ama yığın henüz düşmemiştir: `true`.
|
|
933
|
+
* - `<dialog>` tabanlı kipsel yüzeyler (`Modal`, `Drawer`, `BottomSheet`, `CommandPalette`) tuş olayı
|
|
934
|
+
* bittikten sonra `cancel` ile kapanır: tuş boyunca burada `true`.
|
|
904
935
|
*/
|
|
905
936
|
export declare const hasOpenSurface: () => boolean;
|
|
906
937
|
|
|
@@ -1288,6 +1319,13 @@ export declare type PositioningOptions = {
|
|
|
1288
1319
|
isOpen: boolean;
|
|
1289
1320
|
};
|
|
1290
1321
|
|
|
1322
|
+
declare type PositioningRect = {
|
|
1323
|
+
top: number;
|
|
1324
|
+
left: number;
|
|
1325
|
+
width: number;
|
|
1326
|
+
height: number;
|
|
1327
|
+
};
|
|
1328
|
+
|
|
1291
1329
|
export declare type PositioningState = {
|
|
1292
1330
|
/** Yüzeye uygulanacak stil — `position: fixed` + hesaplanmış koordinat. */
|
|
1293
1331
|
style: {
|
|
@@ -2612,7 +2650,9 @@ export declare const useListboxNavigation: <T extends HTMLElement = HTMLElement>
|
|
|
2612
2650
|
* temeli.
|
|
2613
2651
|
*/
|
|
2614
2652
|
export declare const usePositioning: (anchorRef: {
|
|
2615
|
-
current:
|
|
2653
|
+
current: {
|
|
2654
|
+
getBoundingClientRect: () => PositioningRect;
|
|
2655
|
+
} | null;
|
|
2616
2656
|
}, surfaceRef: {
|
|
2617
2657
|
current: HTMLElement | null;
|
|
2618
2658
|
}, { side, align, offset, padding, isOpen }: PositioningOptions) => PositioningState;
|