@uva-glass/component-library
Version:
React components UvA
26 lines (25 loc) • 1.52 kB
TypeScript
import { FormHTMLAttributes, PropsWithChildren, ReactNode } from 'react';
export interface PageOverlayProps {
/** The buttons of the dialog. */
buttons?: ReactNode;
/** `true` to show a spinner, if the contents of the dialog is lazy loaded; otherwise, `false`. */
isLoading?: boolean;
/** The `aria-valuetext` value of the [Spinner](/story/atoms-spinner--spinner-example) component. Used together with `isLoading`. */
spinnerAriaValueText?: string;
/** The `aria-label` value of the [OverlayCloseButton](/story/atoms-overlayclosebutton--overlay-close-button-example) component. */
closeButtonAriaValueText?: string;
/** `true` to render the dialog opened; otherwise, `false`. */
isOpen: boolean;
/** `true` to disable form validation; otherwise, `false`. */
noValidate?: boolean;
/** The callback function that is invoked when the dialog is closed. */
onClose?(): void;
/** The callback function that is invoked when the form is submitted. */
onSubmit?: FormHTMLAttributes<HTMLFormElement>['onSubmit'];
/** The title of the dialog. */
title?: string;
/** The contents of the dialog header. */
headerContent?: ReactNode;
}
/** Represents a component for a modal dialog. */
export declare function PageOverlay({ buttons, children, isLoading, spinnerAriaValueText, closeButtonAriaValueText, isOpen, noValidate, onClose, onSubmit, title, headerContent, }: PropsWithChildren<PageOverlayProps>): import("react/jsx-runtime").JSX.Element | null;