Modal draft Storybook 
Overview
Modals are used to display content to users that needs immediate attention or is critical to their current user flow. When a modal is open, users are unable to interact with the on-page content behind the modal and cannot return to the previous workflow until the user completes the requirement or dismisses the modal.
When to Use
- There is a need for an immediate response from the user.
- Notify the user of urgent information concerning their current work.
- Confirm a user decision.
When not to use
- Avoid using a modal when the task should be repeatedly done by the user.
- Do not use modals for non-essential information that’s not related to the current workflow.
Usage
The main component has these props:
- title- title for the modal or custom header element
- className
- contentClassName- specific class for the content of the modal
- closeOnEscape
- closeOnBackdropClick
- trapFocus- whether to restore focus back to the element that was focused when the focus scope mounted, after the focus scope unmounts.
- isOpen
- onDismiss
- onClickBackdrop- if not set will call- onDismissif that is set
ModalTabsHeader - custom header element with tabs that has the following props:
- icon
- title
- tabs
- activeTab
- onChangeTab
Types and Behaviors
- 
Basic Modal: the basic modal with the default header, main content, close buttons and/or action buttons. 
- 
Modal using the contentClassName prop: in this case the modal content has applied a specific class. 
- 
Modal with tabs: in this ocassion, the modal has tabs, each of one with its main content and buttons. 
Accessibility
Dialog (Modal) Pattern Please check the keyboard's behaviour when building a modal. We have noticed that when the content is overflowing, the user cannot scroll it unless:
- The modal contains interactive elements, such as buttons, on the bottom.
- The content has tabIndex = 0, and therefore, it can be keyboard-focusable.