A set of vanilla-JS web components and shared CSS patterns. Native elements first
(<dialog>, Popover API, anchor positioning), light DOM, no build step,
Open Props tokens.
<dialog>, the Popover API, and CSS Anchor Positioning for native modal and popover behavior.public/ are served directly. Vite runs a dev server for convenience; it is not required.public/ui/components/.mjs, tagged ui-* or x-*public/ui/lib/dialog.mjs, toast.mjs, tooltip.mjs, theme.mjs, l10n.mjs, etc.public/ui/ui.cssforms.css, and defines the CSS that several components or plain markup share. A component's own CSS lives in its module.public/ui/docs/public/ui/test/*.test.mjs runs under npm test (Node's test runner + happy-dom), *wpt.spec.mjs under npm run test:wpt (Playwright, Chromium and Firefox)public/open-props/public/index.css