use-exit-intent
Version:
A React Hook to handle exit intent strategies
33 lines (32 loc) • 976 B
TypeScript
export declare type DeepRequired<T> = {
[K in keyof T]: Required<DeepRequired<T[K]>>;
};
export interface CookieOptions {
key?: string;
daysToExpire?: number;
}
export interface DesktopOptions {
triggerOnIdle?: boolean;
triggerOnMouseLeave?: boolean;
delayInSecondsToTrigger?: number;
useBeforeUnload?: boolean;
mouseLeaveDelayInSeconds?: number;
}
export interface MobileOptions {
triggerOnIdle?: boolean;
delayInSecondsToTrigger?: number;
}
export declare type InternalExitIntentSettings = Required<DeepRequired<ExitIntentSettings>>;
export interface ExitIntentSettings {
cookie?: CookieOptions;
desktop?: DesktopOptions;
mobile?: MobileOptions;
}
declare type EventPrefix<T extends string> = `on${T}`;
export declare type Context = EventPrefix<'Trigger' | 'Unsubscribe' | 'Desktop' | 'Mobile'> | void | '';
export interface ExitIntentHandler {
id: string;
handler: Function;
context?: Context[];
}
export {};