ModalDialog
A set of components for making all kinds of modal dialogs. Remember to supply
the required title prop to ModalDialog in order ensure there is an accessible
label for the dialog element.
Theme Variables (SCSS)#
$modal-inner-padding: 1.5rem !default;$modal-inner-padding-bottom: .7rem !default;$modal-footer-margin-between: .5rem !default;$modal-dialog-margin: 1.5rem !default;$modal-dialog-margin-y-sm-up: 1.75rem !default;$modal-title-line-height: $line-height-base !default;$modal-content-color: null !default;$modal-content-bg: $white !default;$modal-content-border-color: rgba($black, .2) !default;$modal-content-border-width: 0 !default;$modal-content-border-radius: $border-radius-lg !default;$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;$modal-content-box-shadow-sm-up: 0 10px 20px rgba($black, .15), 0 8px 20px rgba($black, .15) !default;$modal-backdrop-bg: $black !default;$modal-backdrop-opacity: .5 !default;$modal-header-border-color: $border-color !default;$modal-footer-border-color: $modal-header-border-color !default;$modal-header-border-width: $modal-content-border-width !default;$modal-footer-border-width: $modal-header-border-width !default;$modal-header-padding-y: 1rem !default;$modal-header-padding-x: 1.5rem !default;$modal-close-container-top: .625rem !default;$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default;$modal-footer-padding-y: 1rem !default;$modal-footer-padding-x: 1.5rem !default;$modal-footer-padding: $modal-footer-padding-y $modal-footer-padding-x !default;$modal-xl: 1140px !default;$modal-lg: 800px !default;$modal-md: 500px !default;$modal-sm: 400px !default;$modal-fade-transform: translate(0, -50px) !default;$modal-show-transform: none !default;$modal-transition: transform .3s ease-out !default;$modal-scale-transform: scale(1.02) !default;
- children
nodeRequired RequiredSpecifies the content of the dialog
 - title
stringRequired RequiredThe aria-label of the dialog
 - onClose
funcRequired RequiredA callback to close the modal dialog
 - isOpen
boolRequiredDefaultfalseIs the modal dialog open or closed
 - hasCloseButton
boolRequiredDefaulttrueThe close 'x' icon button in the top right of the dialog box
 - size
enumRequired'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'Sizes determine the maximum width of the dialog box
 - variant
enumRequired'default' | 'warning' | 'danger' | 'success' | 'dark'Default'default'The visual style of the dialog box
 - closeLabel
stringRequiredDefault'Close'The label supplied to the close icon button if one is rendered
 - className
stringRequiredSpecifies class name to append to the base element
 - isFullscreenScroll
boolRequiredDefaultfalseDetermines where a scrollbar should appear if a modal is too large for the viewport. When false, the
ModalDialog. Body receives a scrollbar, when true the browser window itself receives the scrollbar. - isFullscreenOnMobile
boolRequiredDefaultfalseTo show full screen view on mobile screens
 - isBlocking
boolRequiredDefaultfalsePrevent clicking on the backdrop to close the modal
 - zIndex
numberRequired 
- as
elementTypeRequiredDefault'h2'Specifies the base element
 - children
nodeRequired RequiredSpecifies the contents of the header
 - className
stringRequiredSpecifies class name to append to the base element
 
- as
elementTypeRequiredDefault'div'Specifies the base element
 - children
nodeRequired RequiredSpecifies the contents of the header
 - className
stringRequiredSpecifies class name to append to the base element
 
- asDefault'div'
elementTypeRequired - children
nodeRequired Required - className
stringRequired 
- as
elementTypeRequiredDefault'div'Specifies the base element
 - children
nodeRequired RequiredSpecifies the contents of the header
 - className
stringRequiredSpecifies class name to append to the base element
 
- as
elementTypeRequiredDefaultButtonSpecifies the base element
 - children
nodeRequiredDefaultnullSpecifies the content of the button
 - className
stringRequiredSpecifies class name to append to the base element
 - onClick
funcRequiredSpecifies the callback function when the close button is clicked