Modal
Example Usage
configurable buttons
<Modalopentitle="Modal title."body="Modal body."buttons={[<Button variant="primary">Blue button!</Button>,{label: 'Red button!',buttonType: 'danger',},<Button variant="success">Green button!</Button>,]}onClose={() => {}}/>
configurable title and body
<Modalopentitle="Custom title!"body="Custom body!"buttons={[<Button variant="dark">Dark button!</Button>]}onClose={() => {}}/>
configurable buttons that perform actions
<Modalopentitle="Modal title."body="Modal body."buttons={[<Buttonvariant="light"onClick={action('button-click')}>Click me and check the console!</Button>,]}onClose={() => {}}/>
configurable close button string
<Modalopentitle="Modal title."body="Modal body."closeText="SHOO!"onClose={() => {}}/>
configurable close button element
<Modalopentitle="Modal title."body="Modal body."closeText={<IconclassName="fa fa-ship"screenReaderText="Close"/>}onClose={() => {}}/>
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: 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;// Keep this for backwards compatibility$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;// Keep this for backwards compatibility$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;
- openboolDefaultfalsespecifies whether the modal renders open or closed on the initial render. It defaults to false. 
- parentSelectorstringDefault'body'is the selector for an element in the dom which the modal should be rendered under. It uses querySelector to find the first element that matches that selector, and then creates a react portal to a div underneath the parent element. 
- titlestring|elementRequireda string or an element that is rendered inside of the modal title, above the modal body. 
- bodystring|elementRequireda string or an element that is rendered inside of the modal body, between the title and the footer. 
- buttonselement|shape{}[]Default[]an array of either elements or shapes that take the form of the buttonPropTypes. See the buttonPropTypes for a list of acceptable props to pass as part of a button. 
- closeTextstring|elementDefault'Close'specifies the display text of the default Close button. It defaults to "Close". 
- onClosefuncRequireda function that is called on close. It can be used to perform actions upon closing of the modal, such as restoring focus to the previous logical focusable element. 
- variantDefault{}shape{status:}string,
- renderDefaultCloseButtonboolDefaulttruespecifies whether the default close button is rendered in the footer. It defaults to true. 
- renderHeaderCloseButtonboolDefaulttruespecifies whether a close button is rendered in the modal header. It defaults to true. 
- dialogClassNamestringSpecifies optional classes to add to the element with the '.modal-dialog' class. See Bootstrap documentation for possible classes. Some options: modal-lg, modal-sm, modal-dialog-centered