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)
// Modals// Padding applied to the modal body$modal-inner-padding: 1.5rem !default;// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding$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: 0px 10px 20px rgba($black, 0.15), 0px 8px 20px rgba($black, 0.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-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility$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; // Keep this for backwards compatibility$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
nodeRequiredSpecifies the content of the dialog
title
stringRequiredThe aria-label of the dialog
onClose
funcRequiredA callback to close the modal dialog
isOpen
boolDefaultfalseIs the modal dialog open or closed
hasCloseButton
boolDefaulttrueThe close 'x' icon button in the top right of the dialog box
size
enum'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'Sizes determine the maximum width of the dialog box
variant
enum'default' | 'warning' | 'danger' | 'success' | 'dark'Default'default'The visual style of the dialog box
closeLabel
stringDefault'Close'The label supplied to the close icon button if one is rendered
className
stringSpecifies class name to append to the base element
isFullscreenScroll
boolDefaultfalseDetermines 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
boolDefaultfalseTo show full screen view on mobile screens
isBlocking
boolDefaultfalsePrevent clicking on the backdrop to close the modal
as
elementTypeDefault'h2'Specifies the base element
children
nodeRequiredSpecifies the contents of the header
className
stringSpecifies class name to append to the base element
as
elementTypeDefault'div'Specifies the base element
children
nodeRequiredSpecifies the contents of the header
className
stringSpecifies class name to append to the base element
- Default'div'
as
elementType children
nodeRequiredclassName
string
as
elementTypeDefault'div'Specifies the base element
children
nodeRequiredSpecifies the contents of the header
className
stringSpecifies class name to append to the base element
as
elementTypeDefaultButtonSpecifies the base element
children
nodeDefaultnullSpecifies the content of the button
className
stringSpecifies class name to append to the base element
onClick
funcSpecifies the callback function when the close button is clicked