UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

41 lines (40 loc) 1.69 kB
/** * Component helpers legacy * * This is a legacy component. */ import type React from 'react'; /** * Check if device is touch device or not */ export declare function isTouchDevice(): boolean; export declare function defineNavigator(): void; export declare const processChildren: (props: Record<string, any>) => any; /** * [detectOutsideClick Detects a click outside a given DOM element] * @param {HTMLElement} ignoreElement [The element we want to protect from a click] * @param {Function} onSuccess [Will be called on outside click] * @param {Object} [options] [Options] * @return {DetectOutsideClickClass} [A new instance of DetectOutsideClickClass] */ export declare const detectOutsideClick: (ignoreElements: HTMLElement | HTMLElement[] | React.RefObject<HTMLElement>[], onSuccess: (args: { event: Event; }) => void, options?: { includedKeys?: string[]; }) => DetectOutsideClickClass; export declare class DetectOutsideClickClass { handleClickOutside: ((event: Event, onDone?: () => void) => void) | null; keydownCallback: ((event: KeyboardEvent) => void) | null; keyupCallback: ((event: KeyboardEvent) => void) | null; constructor(ignoreElementsInput: HTMLElement | HTMLElement[] | React.RefObject<HTMLElement>[], onSuccess: (args: { event: Event; }) => void, options?: { includedKeys?: string[]; }); remove(): void; checkOutsideClick: ({ event, ignoreElements, }: { event: Event; ignoreElements: (HTMLElement | React.RefObject<HTMLElement> | null)[]; }, onSuccess?: (() => void) | null) => void; } export declare const checkIfHasScrollbar: (elem: HTMLElement | null) => boolean;