@expofp/floorplan
Version:
Interactive floor plan library for expos and events
34 lines • 1.05 kB
TypeScript
import './Modal.scss';
import React from 'react';
import { type ButtonVariant } from '../Button';
export type ModalVariant = 'default' | 'share';
export interface ModalButton {
label: string;
variant?: ButtonVariant;
disabled?: boolean;
withBadge?: boolean;
onClick: () => void;
}
type ModalFooterButton = Omit<ModalButton, 'withBadge'>;
type ModalLabel = {
title: string;
ariaLabel?: string;
} | {
title?: undefined;
ariaLabel: string;
};
export type ModalProps = ModalLabel & {
open: boolean;
className?: string;
variant?: ModalVariant;
maxWidth?: number;
children?: React.ReactNode;
closeLabel: string;
renderTarget?: HTMLElement | null;
footerLeft?: ModalFooterButton[];
footerRight?: ModalButton[];
onClose: () => void;
};
declare const Modal: ({ open, className, variant, title, ariaLabel, maxWidth, children, closeLabel, renderTarget, footerLeft, footerRight, onClose, }: ModalProps) => React.ReactPortal | null;
export default Modal;
//# sourceMappingURL=Modal.d.ts.map