Jump to main content


The modal component can be used to overlay an area of the screen which can contain a prompt, dialog or interaction.

On p-modal set display to display:flex or display:none to toggle the visibility of the modal.

Optional footer element with a p-modal__footer class name can be added to the modal dialog to provide additional options.


To import just this component into your project, copy the snippet below and include it in your main Sass file.

// import Vanilla and include base mixins
// this only needs to happen once in a given project
@import 'vanilla-framework/scss/vanilla';
@include vf-base;

@include vf-p-modal;

For more information see Customising Vanilla in your projects, which includes overrides and importing instructions.


For any elements that launch a modal, please ensure that the label contains a trailing ellipsis , e.g. "Launch modal…". This is a convention used to indicate that the element launches a dialog.

When a modal is launched, focus should be set and contained within the modal dialog, using JavaScript. When the modal is closed, focus should be set back to the element that opened it.


You can use modal dialogs in React by installing our react-component library and importing Modal component.

See the documentation for our React Modal component