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;$modal-inner-padding-bottom: .7rem !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;
- children
node
Required RequiredSpecifies the content of the
Modal
- title
string
Required RequiredThe title for the
Modal
- onClose
func
Required RequiredOptional callback function for when the modal it dismissed.
- isOpen
bool
RequiredDefaultfalseIs the modal open or closed
- hasCloseButton
bool
RequiredDefaulttrueThe close 'x' icon button in the top right corner
- size
enum
Required'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'The modal size
- variant
enum
Required'default' | 'warning' | 'danger' | 'success' | 'dark'Default'default'The modal style variant to use
- closeLabel
string
RequiredDefault'Close'Specifies the
aria-label
attribute for the close button - className
string
RequiredA class name to append to the modal
- isFullscreenScroll
bool
RequiredDefaultfalseDetermines 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
RequiredDefaultnullSpecifies what should be displayed in the footer of the nodal
- beforeBodyNode
node
RequiredDefaultnullSpecifies what should be displayed before the body block
- afterBodyNode
node
RequiredDefaultnullSpecifies what should be displayed after the body block
- children
node
Required RequiredSpecifies the content of the dialog
- title
string
Required RequiredThe aria-label of the dialog
- onClose
func
Required RequiredA callback to close the modal dialog
- isOpen
bool
RequiredDefaultfalseIs the modal dialog open or closed
- hasCloseButton
bool
RequiredDefaulttrueThe close 'x' icon button in the top right of the dialog box
- size
enum
Required'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'Sizes determine the maximum width of the dialog box
- variant
enum
Required'default' | 'warning' | 'danger' | 'success' | 'dark'Default'default'The visual style of the dialog box
- closeLabel
string
RequiredDefault'Close'The label supplied to the close icon button if one is rendered
- className
string
RequiredSpecifies class name to append to the base element
- isFullscreenScroll
bool
RequiredDefaultfalseDetermines 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
RequiredDefaultfalseTo show full screen view on mobile screens
- isBlocking
bool
RequiredDefaultfalsePrevent clicking on the backdrop to close the modal
- zIndex
number
Required