Co-authored-by: Thomas Allmer <Thomas.Allmer@ing.com> Co-authored-by: Joren Broekema <Joren.Broekema@ing.com> Co-authored-by: Mikhail Bashkirov <Mikhail.Bashkirov@ing.com>
1.5 KiB
1.5 KiB
Overlays System
Supports different types of overlays like dialogs, toasts, tooltips, dropdown, etc... Manages their position on the screen relative to other elements, including other overlays.
Features
- Overlays Manager, a global repository keeping track of all different types of overlays.
- Overlays System: Scope, outline of all possible occurrences of overlays. Divided into two main types:
- Global Overlay Controller, controller for overlays relative to the viewport.
- Local Overlay Controller, controller for overlays positioned next to invokers they are related to.
How to use
Installation
npm i --save @lion/overlays
Example
import { overlays } from '@lion/overlays';
const myCtrl = overlays.add(
new OverlayTypeController({
/* options */
}),
);
// name OverlayTypeController is for illustration purpose only
// please read below about existing classes for different types of overlays
Rationals
- No
aria-controls: as support for it is not quite there yet - No
aria-haspopupPeople knowing the haspop up and hear about it don’t expect a dialog to open (at this moment in time) but expect a sub-menu. Until support for the dialog value has better implementation, it’s probably best to not use aria-haspopup on the element that opens the modal dialog.