AlertModal
Alert Dialogs are used to block the user from moving forward in a particular workflow with a quick message that requires agreement before the action or next step can be taken. An example is providing a warning that settings may not be updated if the user has not chosen to save their changes.
This is the alert style ModalDialog
composition. AlertModal
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
Any Paragon component or export may be added to the code example.
Variants
Any Paragon component or export may be added to the code example.
Any Paragon component or export may be added to the code example.
Any Paragon component or export may be added to the code example.
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;
Props API#
- children
node
Required - title
string
RequiredThe aria-label of the dialog
- isOpen
bool
DefaultfalseIs the modal dialog open or closed
- isBlocking
bool
DefaultfalsePrevent clicking on the backdrop to close the modal
- hasCloseButton
bool
DefaultfalseSpecifies whether the dialog box should contain 'x' icon button in the top right
- onClose
requiredWhenNot(PropTypes.func, 'isBlocking')
Default() => {}A callback to close the modal dialog
- size
enum
'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'Default'md'Sizes determine the maximum width of the dialog box
- variant
enum
'default' | 'warning' | 'danger' | 'success'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.
- footerNode
node
DefaultnullSpecifies what should be displayed in the footer of the dialog box
- icon
elementType
Icon that will be shown in the header of modal
- 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
Usage Insights#
AlertModal
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-account | 20.28.5 | 1 | |
frontend-app-admin-portal | 20.26.3 | 9 | |
frontend-app-communications | 20.30.1 | 1 | |
frontend-app-discussions | 20.15.0 | 1 | |
frontend-app-learner-portal-enterprise | 20.31.1 | 1 | |
frontend-app-learning | 20.28.4 | 1 | |
frontend-app-library-authoring | 20.30.1 | 1 | |
frontend-app-ora-grading | 20.30.0 | 2 | |
frontend-lib-content-components | 20.32.0 | 1 |
ModalDialog
Project Name | Paragon Version | Instance Count | |
---|---|---|---|
frontend-app-account | 20.28.5 | 4 | |
frontend-app-admin-portal | 20.26.3 | 12 | |
frontend-app-authn | 20.34.0 | 2 | |
frontend-app-course-authoring | 20.32.0 | 3 | |
frontend-app-discussions | 20.15.0 | 2 | |
frontend-app-enterprise-public-catalog | 20.29.0 | 2 | |
frontend-app-gradebook | 19.25.4 | 1 | |
frontend-app-learner-dashboard | 20.32.0 | 5 | |
frontend-app-learner-portal-enterprise | 20.31.1 | 1 | |
frontend-app-learner-record | 20.32.0 | 1 | |
frontend-app-learning | 20.28.4 | 1 | |
frontend-app-library-authoring | 20.30.1 | 3 | |
frontend-app-profile | 20.32.3 | 1 | |
frontend-app-publisher | 20.28.5 | 1 | |
frontend-app-support-tools | 20.26.0 | 14 | |
frontend-lib-content-components | 20.32.0 | 2 | |
frontend-lib-special-exams | 20.22.4 | 1 | |
prospectus | 20.32.3 | 3 |