surf-design-system
Version:
Surf Design System
45 lines (44 loc) • 2.19 kB
TypeScript
/** @jsxRuntime classic */
/** @jsx jsx */
import React from 'react';
import { sizeSDS } from '../types/common';
export interface ActionType {
actionType?: 'none' | 'single' | 'double' | 'triple';
}
export interface ModalProps extends ActionType {
visible: boolean;
title?: React.ReactNode;
onClickCloseButton?: React.MouseEventHandler;
onClickOverlay?: React.MouseEventHandler;
overlayColor?: string;
children?: React.ReactNode;
secondaryBtnLabel?: React.ReactNode;
secondaryBtnDisable?: boolean;
secondaryBtnFunction?: React.MouseEventHandler;
secondaryBtnMould?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom';
secondaryBtnButtonColor?: string;
secondaryBtnHoverColor?: string;
secondaryBtnLabelColor?: string;
secondaryBtnDisabledColor?: string;
primaryBtnLabel?: React.ReactNode;
primaryBtnDisable?: boolean;
primaryBtnFunction?: React.MouseEventHandler;
primaryBtnMould?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom';
primaryBtnButtonColor?: string;
primaryBtnHoverColor?: string;
primaryBtnLabelColor?: string;
primaryBtnDisabledColor?: string;
footer?: React.ReactNode;
onClickLink?: () => void;
linkLabel?: React.ReactNode;
size?: sizeSDS;
width?: string;
maxHeight?: string;
top?: string;
center?: boolean;
draggable?: boolean;
left?: string;
isBackgroundActive?: boolean;
isCloseIconVisible?: boolean;
}
export default function Modal({ visible, title, onClickOverlay, overlayColor, children, actionType, secondaryBtnLabel, secondaryBtnFunction, secondaryBtnButtonColor, secondaryBtnHoverColor, secondaryBtnLabelColor, secondaryBtnMould, secondaryBtnDisabledColor, primaryBtnFunction, primaryBtnLabel, primaryBtnMould, primaryBtnButtonColor, primaryBtnHoverColor, primaryBtnLabelColor, primaryBtnDisabledColor, footer, onClickLink, linkLabel, size, width, top, left, center, draggable, maxHeight, isBackgroundActive, isCloseIconVisible, primaryBtnDisable, secondaryBtnDisable, onClickCloseButton, }: ModalProps): import("@emotion/react/jsx-runtime").JSX.Element | null;