| .. | ||
| docs | ||
| src | ||
| stories | ||
| test | ||
| test-helpers | ||
| translations | ||
| CHANGELOG.md | ||
| index.js | ||
| package.json | ||
| README.md | ||
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.