import React, { forwardRef, HTMLAttributes } from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'
export interface CModalDialogProps extends HTMLAttributes {
/**
* Align the modal in the center or top of the screen.
*/
alignment?: 'top' | 'center'
/**
* A string of all className you want applied to the base component.
*/
className?: string
/**
* Set modal to covers the entire user viewport.
*/
fullscreen?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'
/**
* Does the modal dialog itself scroll, or does the whole dialog scroll within the window.
*/
scrollable?: boolean
/**
* Size the component small, large, or extra large.
*/
size?: 'sm' | 'lg' | 'xl'
}
export const CModalDialog = forwardRef(
({ children, alignment, className, fullscreen, scrollable, size, ...rest }, ref) => {
return (
{children}
)
}
)
CModalDialog.propTypes = {
alignment: PropTypes.oneOf(['top', 'center']),
children: PropTypes.node,
className: PropTypes.string,
fullscreen: PropTypes.oneOfType([
PropTypes.bool,
PropTypes.oneOf<'sm' | 'md' | 'lg' | 'xl' | 'xxl'>(['sm', 'md', 'lg', 'xl', 'xxl']),
]),
scrollable: PropTypes.bool,
size: PropTypes.oneOf(['sm', 'lg', 'xl']),
}
CModalDialog.displayName = 'CModalDialog'