alert @starting-style
A message that stays until you remove it — the counterpart to toast.
baseline: widely
js_loaded = 0 B
Copy-paste, or $ npx nojsui add <name>. Each page
shows the demo, the source, and the fallback tier.
overlays & feedback — 08
@starting-style A message that stays until you remove it — the counterpart to toast.
baseline: widely
dialog + radio A modal list filtered by category — deliberately not a palette.
baseline: newly
dialog The same <dialog>, pinned to a viewport edge with logical margins.
baseline: newly
commandfor Invoker Commands: modality, focus containment and return come from <dialog> itself.
baseline: newly
popovertarget The invoker is the anchor — light dismiss, Esc and focus return are native.
baseline: newly
<progress> Styled native <progress> — the value comes from markup, never from script.
baseline: limited
@starting-style Appears, announced politely, removes itself on a timer — no script.
baseline: newly
aria-describedby Announced by screen readers whether or not the bubble is visible.
baseline: widely
navigation — 06
scroll() Site chrome that condenses as the page moves, on a scroll timeline.
baseline: widely
typed attr() The bar is computed from data-step, so the number and the bar cannot disagree.
baseline: widely
::scroll-marker Scroll-snap everywhere; arrows and dots generated by CSS.
baseline: widely
flex-wrap Brand, link groups and a legal bar — responsive without a media query.
baseline: widely
clip-path The first tab stop on the page, hidden until it is focused.
baseline: widely
radio group One tab stop and arrow-key selection come from the browser.
baseline: widely
inputs & disclosure — 06
details[name] The browser enforces that opening one closes the others.
baseline: newly
inline-grid One button on a native <button> or <a>; the fill can be any color or image.
baseline: widely
accent-color Three native controls, one look — the switch is a checkbox, so forms and keyboards work.
baseline: widely
<datalist> A native slider with tick marks; a live value readout needs script, so it ships without one.
baseline: widely
appearance A real <select> with a styleable picker. Arrow keys and form data are native.
baseline: widely
:placeholder-shown The label floats when the field has content, driven by the input's own state.
baseline: widely
layout & theming — 04
max-inline-size Eyebrow, heading, lede and body copy at a reading measure.
baseline: widely
@container Lays itself out from the space it is given, not the width of the window.
baseline: widely
max-inline-size Page rhythm, alternating surfaces and a centred measure — the page shell.
baseline: widely
color-mix() A fixed decorative backdrop that inverts with the theme on its own.
baseline: widely
motion — 04
animation-fill-mode Content arrives on load — the one moment a scroll timeline cannot reach.
baseline: widely
@view-transition Cross-document view transitions: real navigations that animate, with no router.
baseline: limited
animation-timeline Depth from a scroll() timeline, off entirely under reduced motion.
baseline: widely
animation-timeline Content rises into place on a view() timeline — visible without it.
baseline: widely
coming: element-scoped view transitions and the grid-lanes gallery, once a second engine ships them
open the playground →