@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
33 lines (32 loc) • 1.53 kB
TypeScript
import { type Dispatch, type SetStateAction } from "react";
import type { Placement, ReferenceElement } from "../../external/floating-ui";
import type { FocusTrapOptions } from "@1771technologies/lytenyte-shared";
export interface DialogContext {
readonly open: boolean;
readonly onOpenChange: (open: boolean) => void;
readonly onOpenChangeComplete: (open: boolean) => void;
readonly id: string;
readonly titleId: string;
readonly descriptionId: string;
readonly hide?: boolean;
readonly lockScroll?: boolean;
readonly modal?: boolean;
readonly lightDismiss?: boolean | ((el: HTMLElement) => boolean);
readonly focusTrap?: boolean;
readonly focusInitial?: FocusTrapOptions["initialFocus"];
readonly focusReturn?: FocusTrapOptions["setReturnFocus"];
readonly focusFallback?: FocusTrapOptions["fallbackFocus"];
readonly focusCanReturn?: FocusTrapOptions["checkCanReturnFocus"];
readonly focusCanTrap?: FocusTrapOptions["checkCanFocusTrap"];
readonly focusPreventScroll?: FocusTrapOptions["preventScroll"];
readonly anchor: ReferenceElement | string | null;
readonly placement: Placement;
readonly shiftPadding: number;
readonly inline: boolean;
readonly sideOffset: number;
readonly alignOffset: number;
readonly arrow: HTMLElement | null;
readonly setArrow: Dispatch<SetStateAction<HTMLElement | null>>;
}
export declare const context: import("react").Context<DialogContext>;
export declare const useDialogRoot: () => DialogContext;