@fest-lib/dom
Level 1 — Agate measure, decor, mixins, and inline stylesheets for LUR.E / FL.UI.
Browser DOM helpers: viewport / zoom / launcher grid (Agate), appear / shape / animation decor, style and behavior mixins, observers, and loaders that inject CSS without a bundler plugin.
core
└── fest/dom ← you are here
└── lure · veela · icon · image · fl-ui
npm install @fest-lib/core @fest-lib/domPeer: @fest-lib/core >=0.1.0. ESM, Node 20+, sideEffects: true.
import { loadInlineStyle, loadStyleSheet } from "@fest-lib/dom";
await loadInlineStyle(".panel { padding: 1rem; }");
loadStyleSheet(cssTextOrBlob); // <link> or adopted sheetloadInlineStyle(css, root?, layer?) prepends a <style> (default: document.head). Optional layer wraps the text in @layer.
| Path | Role |
|---|---|
src/agate/* |
viewport, zoom, measure, launcher grid |
src/decor/* |
animation, appear, shape |
src/mixin/* |
observer, style, behavior, store, handler |
src/mixin/junction/* |
pointer / junction (moving toward LUR.E) |
Agate numbers are the same coordinate story as Veela’s oriented-space tokens: client vs oriented vs algorithm space. Measure here; paint tokens in @fest-lib/veela.
cd modules/projects/dom.ts
npm run dev
npm run build
npm run publishLicense: MIT.