Packages
corex
0.1.0-beta.5
0.1.2
0.1.1
0.1.0
0.1.0-rc.1
0.1.0-rc.0
0.1.0-beta.5
0.1.0-beta.4
0.1.0-beta.3
0.1.0-beta.2
0.1.0-beta.1
0.1.0-alpha.33
0.1.0-alpha.32
0.1.0-alpha.31
0.1.0-alpha.30
0.1.0-alpha.29
0.1.0-alpha.28
0.1.0-alpha.27
0.1.0-alpha.26
0.1.0-alpha.25
0.1.0-alpha.24
0.1.0-alpha.23
0.1.0-alpha.22
0.1.0-alpha.21
0.1.0-alpha.20
0.1.0-alpha.19
0.1.0-alpha.18
0.1.0-alpha.17
0.1.0-alpha.16
0.1.0-alpha.15
0.1.0-alpha.14
0.1.0-alpha.13
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
Accessible and unstyled UI components library written in Elixir and TypeScript that integrates Zag.js state machines into the Phoenix Framework.
Current section
Files
Jump to
Current section
Files
priv/static/chunks/chunk-7BZGUIUZ.mjs
// ../node_modules/.pnpm/@zag-js+live-region@1.40.0/node_modules/@zag-js/live-region/dist/index.mjs
var ID = "__live-region__";
function createLiveRegion(opts = {}) {
const { level = "polite", document: doc = document, root, delay: _delay = 0 } = opts;
const win = doc.defaultView ?? window;
const parent = root ?? doc.body;
function announce(message, delay) {
const oldRegion = doc.getElementById(ID);
oldRegion?.remove();
delay = delay ?? _delay;
const region = doc.createElement("span");
region.id = ID;
region.dataset.liveAnnouncer = "true";
const role = level !== "assertive" ? "status" : "alert";
region.setAttribute("aria-live", level);
region.setAttribute("role", role);
Object.assign(region.style, {
border: "0",
clip: "rect(0 0 0 0)",
height: "1px",
margin: "-1px",
overflow: "hidden",
padding: "0",
position: "absolute",
width: "1px",
whiteSpace: "nowrap",
wordWrap: "normal"
});
parent.appendChild(region);
win.setTimeout(() => {
region.textContent = message;
}, delay);
}
function destroy() {
const oldRegion = doc.getElementById(ID);
oldRegion?.remove();
}
return {
announce,
destroy,
toJSON() {
return ID;
}
};
}
export {
createLiveRegion
};