Skip to main content

<uizy-overlay>

Semi-transparent backdrop for modals, drawers, and focus states.

Attributes

AttributeDescription
clip-topPosition below header
clip-bottomPosition above footer

Usage

<uizy-overlay clip-top clip-bottom></uizy-overlay>

CSS Variables

VariableDefaultDescription
--uizy-overlay-colorblackOverlay background color
--uizy-overlay-opacity0.45Overlay opacity
--uizy-overlay-layer10z-index

Controlling the Overlay

Use the app's action() method:

const app = uizy.get("app");

// Show overlay
app.action("overlay", ({ set }) => set(true));

// Hide overlay
app.action("overlay", ({ set }) => set(false));

// Toggle overlay
app.action("overlay", ({ set }) => set());

// Auto mode (follows drawer state)
app.action("overlay", ({ set }) => set(null));

Full-Screen Overlay

For modals that need to cover the entire viewport (including header/footer):

app.action("overlay", ({ set }) => set(true, true)); // second param = full

Example

<uizy-app id="app">
<uizy-header shadow="12">
<button id="open-modal">Open Modal</button>
</uizy-header>

<uizy-overlay clip-top clip-bottom></uizy-overlay>

<uizy-main clip-top clip-bottom> Content </uizy-main>
</uizy-app>

<script type="module">
import uizy from "@dufeut/uizy";

uizy.init(() => {
const app = uizy.get("app");

document.getElementById("open-modal").onclick = () => {
app.action("overlay", ({ set }) => set(true));
};
});
</script>