StandardModal
The standard ModalDialog
composition. StandardModal
passes all of its props through to an underlying ModalDialog
component providing some limited customization. If you have unique needs, use the ModalDialog
compound component family directly.
Basic usage
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
node
RequiredSpecifies the content of the
Modal
title
string
RequiredThe title for the
Modal
onClose
func
RequiredOptional callback function for when the modal it dismissed.
isOpen
bool
DefaultfalseIs the modal open or closed
hasCloseButton
bool
DefaulttrueThe close 'x' icon button in the top right corner
size
enum
'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'The modal size
variant
enum
'default' | 'warning' | 'danger' | 'success' | 'dark'Default'default'The modal style variant to use
closeLabel
string
Default'Close'Specifies the
aria-label
attribute for the close buttonclassName
string
A class name to append to the modal
isFullscreenScroll
bool
DefaultfalseDetermines 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.
footerNode
node
DefaultnullSpecifies what should be displayed in the footer of the nodal
beforeBodyNode
node
DefaultnullSpecifies what should be displayed before the body block
afterBodyNode
node
DefaultnullSpecifies what should be displayed after the body block
children
node
RequiredSpecifies the content of the dialog
title
string
RequiredThe aria-label of the dialog
onClose
func
RequiredA callback to close the modal dialog
isOpen
bool
DefaultfalseIs the modal dialog open or closed
hasCloseButton
bool
DefaulttrueThe 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
string
Default'Close'The label supplied to the close icon button if one is rendered
className
string
Specifies class name to append to the base element
isFullscreenScroll
bool
DefaultfalseDetermines 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
bool
DefaultfalseTo show full screen view on mobile screens
isBlocking
bool
DefaultfalsePrevent clicking on the backdrop to close the modal
zIndex
number