React Modal Component API

Modal API

Rocket
New Year sale. Skyrocket your business in 2025!
Extra 25% off for all sale items + Free CoreUI Icons PRO with every order!
Limited-time offer for the first 100 customers in 2025. Use code 2025SKY25 at checkout.

Explore the API reference for the React Modal component and discover how to effectively utilize its props for customization.

CModal#

import { CModal } from '@coreui/react'
// or
import CModal from '@coreui/react/src/components/modal/CModal'
PropertyDefaultType
alignment#-'top', 'center'

Align the modal in the center or top of the screen.

backdrop#trueboolean, 'static'

Apply a backdrop on body while modal is open.

className#-string

A string of all className you want applied to the base component.

container#5.3.0+-Element, DocumentFragment, (() => Element | DocumentFragment)

Appends the react modal to a specific element. You can pass an HTML element or function that returns a single element. By default document.body.

focus#4.10.0+trueboolean

Puts the focus on the modal when shown.

fullscreen#-boolean, 'sm', 'md', 'lg', 'xl', 'xxl'

Set modal to covers the entire user viewport.

keyboard#trueboolean

Closes the modal when escape key is pressed.

onClose#-() => void

Callback fired when the component requests to be closed.

onClosePrevented#-() => void

Callback fired when the component requests to be closed.

onShow#-() => void

Callback fired when the modal is shown, its backdrop is static and a click outside the modal or an escape key press is performed with the keyboard option set to false.

portal#trueboolean

Generates modal using createPortal.

scrollable#-boolean

Create a scrollable modal that allows scrolling the modal body.

size#-'sm', 'lg', 'xl'

Size the component small, large, or extra large.

transition#trueboolean

Remove animation to create modal that simply appear rather than fade in to view.

unmountOnClose#trueboolean

By default the component is unmounted after close animation, if you want to keep the component mounted set this property to false.

visible#-boolean

Toggle the visibility of modal component.

CModalBody#

import { CModalBody } from '@coreui/react'
// or
import CModalBody from '@coreui/react/src/components/modal/CModalBody'
PropertyDefaultType
className#-string

A string of all className you want applied to the base component.

CModalFooter#

import { CModalFooter } from '@coreui/react'
// or
import CModalFooter from '@coreui/react/src/components/modal/CModalFooter'
PropertyDefaultType
className#-string

A string of all className you want applied to the base component.

CModalHeader#

import { CModalHeader } from '@coreui/react'
// or
import CModalHeader from '@coreui/react/src/components/modal/CModalHeader'
PropertyDefaultType
className#-string

A string of all className you want applied to the base component.

closeButton#trueboolean

Add a close button component to the header.

CModalTitle#

import { CModalTitle } from '@coreui/react'
// or
import CModalTitle from '@coreui/react/src/components/modal/CModalTitle'
PropertyDefaultType
as#-(ElementType & 'symbol'), (ElementType & 'object'), (ElementType & 'h5'), (ElementType & 'slot'), (ElementType & 'style'), ... 174 more ..., (ElementType & FunctionComponent<...>)

Component used for the root node. Either a string to use a HTML element or a component.

className#-string

A string of all className you want applied to the base component.