UNPKG

@neo4j-ndl/react

Version:

React implementation of Neo4j Design System

64 lines (63 loc) 2.65 kB
/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import React from 'react'; import { type HtmlAttributes, type PolymorphicForwardRefExoticComponent } from '../_common/types'; import { type ModalProps } from '../modal'; export interface DialogBaseProps { className?: string; children: React.ReactNode; /** HTML attributes */ htmlAttributes?: HtmlAttributes<'div'>; } export declare enum DialogCloseReason { ESCAPE_KEY_DOWN = "escapeKeyDown", CLOSE_BUTTON_CLICK = "closeButtonClick" } export type DialogType = 'info' | 'warning' | 'danger'; export interface DialogProps extends Omit<ModalProps, 'onClose'> { isOpen: boolean; type?: DialogType; hasDisabledCloseButton?: boolean; onClose?: (e: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: DialogCloseReason) => void; /** HTML attributes */ htmlAttributes?: HtmlAttributes<'div'>; } export declare const useIsInsideDialog: () => boolean; export declare const Dialog: { ({ isOpen, onClose, children, type, size, container, rootProps, hasDisabledCloseButton, modalProps, htmlAttributes, }: DialogProps): import("react/jsx-runtime").JSX.Element | null; Actions: PolymorphicForwardRefExoticComponent<"div", DialogBaseProps>; Header: PolymorphicForwardRefExoticComponent<"h4", DialogHeaderProps>; Subtitle: PolymorphicForwardRefExoticComponent<"div", DialogBaseProps>; Description: PolymorphicForwardRefExoticComponent<"div", DialogBaseProps>; Content: PolymorphicForwardRefExoticComponent<"div", DialogBaseProps>; Image: React.ForwardRefExoticComponent<DialogImageProps & React.RefAttributes<HTMLImageElement>>; }; type DialogHeaderProps = Omit<DialogBaseProps, 'children'> & { children?: React.ReactNode; }; type DialogImageProps = { src: string; alt: string; htmlAttributes?: HtmlAttributes<'img'>; className?: string; style?: React.CSSProperties; }; export {};