ModalDialog
Leave feedbackA 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.
Basic Usage
Any Paragon component or export may be added to the code example.
With header content
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
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
- zIndex
number
- 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
- asDefault'div'
elementType - children
nodeRequired - className
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
Usage Insights#
ModalDialog
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 11 | |
| frontend-app-authn | 20.45.5 | 2 | |
| frontend-app-communications | 20.45.0 | 1 | |
| frontend-app-course-authoring | 20.35.1 | 4 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-enterprise-public-catalog | 20.29.0 | 2 | |
| frontend-app-gradebook | 20.45.0 | 1 | |
| frontend-app-learner-dashboard | 20.32.0 | 5 | |
| frontend-app-learner-portal-enterprise | 20.45.1 | 1 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 2 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-payment | 20.45.0 | 2 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 2 | |
| frontend-lib-special-exams | 20.29.0 | 1 | |
| prospectus | 20.45.2 | 5 |
ModalDialogBody
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 11 | |
| frontend-app-authn | 20.45.5 | 2 | |
| frontend-app-communications | 20.45.0 | 1 | |
| frontend-app-course-authoring | 20.35.1 | 4 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-enterprise-public-catalog | 20.29.0 | 2 | |
| frontend-app-gradebook | 20.45.0 | 1 | |
| frontend-app-learner-dashboard | 20.32.0 | 1 | |
| frontend-app-learner-portal-enterprise | 20.45.1 | 1 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 2 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-payment | 20.45.0 | 1 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 4 | |
| frontend-lib-special-exams | 20.29.0 | 1 | |
| prospectus | 20.45.2 | 5 |
ModalDialogCloseButton
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 5 | |
| frontend-app-authn | 20.45.5 | 1 | |
| frontend-app-communications | 20.45.0 | 1 | |
| frontend-app-course-authoring | 20.35.1 | 3 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-gradebook | 20.45.0 | 1 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 3 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 2 | |
| prospectus | 20.45.2 | 2 |
ModalDialogFooter
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 11 | |
| frontend-app-authn | 20.45.5 | 2 | |
| frontend-app-communications | 20.45.0 | 1 | |
| frontend-app-course-authoring | 20.35.1 | 3 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-enterprise-public-catalog | 20.29.0 | 2 | |
| frontend-app-gradebook | 20.45.0 | 1 | |
| frontend-app-learner-portal-enterprise | 20.45.1 | 1 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 1 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-payment | 20.45.0 | 1 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 4 | |
| frontend-lib-special-exams | 20.29.0 | 1 | |
| prospectus | 20.45.2 | 2 |
ModalDialogHeader
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 10 | |
| frontend-app-authn | 20.45.5 | 2 | |
| frontend-app-course-authoring | 20.35.1 | 4 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-learner-dashboard | 20.32.0 | 2 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 2 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-payment | 20.45.0 | 1 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 4 | |
| frontend-lib-special-exams | 20.29.0 | 1 | |
| prospectus | 20.45.2 | 4 |
ModalDialogHero
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-enterprise-public-catalog | 20.29.0 | 2 | |
| frontend-app-learner-dashboard | 20.32.0 | 1 | |
| frontend-app-learner-portal-enterprise | 20.45.1 | 2 | |
| frontend-app-learning | 20.28.4 | 1 |
ModalDialogTitle
| Project Name | Paragon Version | Instance Count | |
|---|---|---|---|
| frontend-app-account | 20.44.0 | 4 | |
| frontend-app-admin-portal | 20.39.2 | 10 | |
| frontend-app-authn | 20.45.5 | 2 | |
| frontend-app-course-authoring | 20.35.1 | 4 | |
| frontend-app-discussions | 20.44.0 | 2 | |
| frontend-app-enterprise-public-catalog | 20.29.0 | 4 | |
| frontend-app-learner-portal-enterprise | 20.45.1 | 1 | |
| frontend-app-learner-record | 20.45.0 | 1 | |
| frontend-app-learning | 20.28.4 | 3 | |
| frontend-app-library-authoring | 20.45.5 | 3 | |
| frontend-app-payment | 20.45.0 | 1 | |
| frontend-app-publisher | 20.28.5 | 1 | |
| frontend-app-support-tools | 20.45.0 | 14 | |
| frontend-lib-content-components | 20.45.0 | 3 | |
| frontend-lib-special-exams | 20.29.0 | 1 | |
| prospectus | 20.45.2 | 4 |