Toggle theme
@volvo-cars/react-overlay
💡 This package includes Typescript definitions
Renders an accessible modal box with a titled header, integrated close button and a scrollable content area. Can be displayed fullscreen or constrained to a grid colSpan
. When displayed constrained, a dark semi-opaque background covers the background content.
The TitledOverlay will trap focus on mount and release it on unmount.
The ref
is forwarded to the root element.
Name | Description | Type | Default Value |
---|---|---|---|
children | Content to be wrapped | React.ReactNode | undefined |
close | Function to be invoked on click of the close icon in the header | () => void | undefined |
title | Title to be rendered in the modal header | string | undefined |
colSpan | Optional. If empty, modal will render fullscreen | number | undefined |
elementId | Optional. If empty, a unique identifier will be generated for you | string | undefined |
minimisableTitle | Optional. If true, Title will render large and decrease in size on scroll | boolean | false |
navPreviousPane | Optional. If provided, a back arrow will be rendered in the header block | () => void) | undefined |
zIndex | Optional. Custom zIndex for use in cases of conflict with other absolutely positioned elements | number | undefined |
Renders an accessible modal box with a integrated close button and a scrollable content area. Can be displayed fullscreen or constrained to a grid colSpan
. When displayed constrained, a dark semi-opaque background covers the background content.
The Overlay will trap focus on mount and release it on unmount.
The ref
is forwarded to the root element.
Name | Description | Type | Default Value |
---|---|---|---|
children | Content to be wrapped | React.ReactNode | undefined |
close | Function to be invoked on click of the close icon in the header | () => void | undefined |
colSpan | Optional. If empty, modal will render fullscreen | number | undefined |
zIndex | Optional. Custom zIndex for use in cases of conflict with other absolutely positioned elements | number | undefined |
The TitledOverlay
makes no assumptions about the content you wish to render within the modal box. However, we do export a ContentBlock
component to wrap your content which will maintain DLS compliance for responsive content width and paddings and this should almost always be used.
Name | Description | Type | Default Value |
---|---|---|---|
children | Content to be wrapped | React.ReactNode | undefined |
parentDimensions | Automatically passed when the first child of TitledOverlay . | Dimensions | undefined |
Demo implementations can be found in the Storybook