UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

64 lines (63 loc) 2.19 kB
/** * Web Modal Component * */ import React from 'react'; import { InteractionInvalidation } from '../../shared/component-helper'; import { CloseHandlerParams, ModalContentProps, TriggeredBy } from './types'; import { ContextProps } from '../../shared/Context'; interface ModalContentState { color: string; } declare global { interface Window { __modalStack: any[]; } } export default class ModalContent extends React.PureComponent<ModalContentProps, ModalContentState> { state: { color: any; }; _contentRef: React.RefObject<HTMLElement>; _scrollRef: React.RefObject<HTMLElement>; _overlayClickRef: { current: null | HTMLElement; }; _id: string; _lockTimeout: NodeJS.Timeout; _focusTimeout: NodeJS.Timeout; _androidFocusTimeout: NodeJS.Timeout; _ii: InteractionInvalidation; _iiLocal: InteractionInvalidation; _triggeredBy: TriggeredBy; _triggeredByEvent: React.SyntheticEvent; _mounted: number; _lastFocusTime: number; static contextType: React.Context<ContextProps>; context: ContextProps; constructor(props: ModalContentProps); componentDidUpdate(prevProps: ModalContentProps): void; componentDidMount(): void; componentWillUnmount(): void; wasOpenedManually(): boolean; lockBody: () => void; removeLocks(): void; setAndroidFocusHelper(): void; removeAndroidFocusHelper(): void; _androidFocusHelper: () => void; setFocus(): void; removeScrollPossibility(): void; revertScrollPossibility(): void; preventClick: (event: any) => void; onCloseClickHandler: (event: React.SyntheticEvent) => void; onContentMouseDownHandler: (event: React.SyntheticEvent) => void; onContentClickHandler: (event: React.SyntheticEvent) => void; onKeyDownHandler: (event: any) => void; setModalContentState: (event: React.SyntheticEvent, { triggeredBy }: CloseHandlerParams) => void; closeModalContent(event: any, { triggeredBy, ...params }: CloseHandlerParams & { ifIsLatest?: boolean; }): void; setBackgroundColor: (color: string) => void; render(): import("react/jsx-runtime").JSX.Element; } export {};