/** * Copyright (c) 2018 - 2022 Dell Inc., or its subsidiaries. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 */ import React from "react"; /** * General component description : * The signpost is a convenient way to show contextual help to user. */ /** * Props for SignPost *@param {direction} for SignPostDirection *@param {style} for css style *@param {className} for css class name *@param {openAt} element or text to open signPost on its click *@param {showCloseButton} for close button *@param {onClick} callback function to call on open of signPost *@param {onClose} callback function to call on close of signPost *@param {dataqa} for Quality Engineering *@param {customSignPostTrigger} flag to show custom signpost trigger *@param {triggerClassNames} css classNames for signPost *@param {signpostHeading} heading for signpost */ declare type SignPostProps = { direction?: SignPostDirection; style?: any; className?: string; openAt?: any; showCloseButton?: boolean; onClick?: Function; onClose?: Function; dataqa?: string; customSignPostTrigger?: boolean; triggerClassNames?: string; signpostHeading?: any; }; /** * State for SignPost *@param {isOpen} If true signPost is open else close *@param {transformVal} CSS transformX and transformY values for signPost positions */ declare type SignPostState = { isOpen: boolean; transformVal: string; }; export declare enum SignPostDirection { TOP_LEFT = "top-left", TOP_MIDDLE = "top-middle", TOP_RIGHT = "top-right", RIGHT_TOP = "right-top", RIGHT_MIDDLE = "right-middle", RIGHT_BOTTOM = "right-bottom", BOTTOM_LEFT = "bottom-left", BOTTOM_MIDDLE = "bottom-middle", BOTTOM_RIGHT = "bottom-right", LEFT_TOP = "left-top", LEFT_MIDDLE = "left-middle", LEFT_BOTTOM = "left-bottom" } export declare class SignPost extends React.PureComponent { static defaultProps: { direction: SignPostDirection; showCloseButton: boolean; }; private refParent; private refChild; state: SignPostState; componentWillUnmount(): void; handleOnClick: () => void; handleClose: () => void; toggle(isOpen?: boolean): void; afterToggle: () => void; subscribeDocumentClick: () => void; unsubscribeDocumentClick: () => void; handleDocumentClick: (evt: React.MouseEvent) => void; componentDidUpdate(): void; buildSignPostTriggerButton: () => JSX.Element; buildSignPost: () => JSX.Element; render(): JSX.Element; } export {};