Vapor Mode, per component
Every component compiles to direct DOM operations rather than to a virtual DOM tree. It is opt-in per file, so a Vapor component drops into an application that is not.
How it works
Every component arrives with the keyboard, focus and screen-reader behaviour already done.
Every component compiles to direct DOM operations rather than to a virtual DOM tree. It is opt-in per file, so a Vapor component drops into an application that is not.
How it works
Focus management, keyboard interaction, collections and internationalisation are implemented in full rather than approximated — including the parts that only show up on a screen reader.
What that covers
A palette on the element and light or dark on the same one, so both change independently. Every bundled theme ships as tokens you can read, extend or replace.
Theming
A select is a trigger with a list box inside it. Nothing hides its insides behind a wall of props, so the thing you need to change is a part you can reach.
See one
State is published on data attributes and colours go through custom properties, so a single state can be retuned without a wrapper, a fork, or an important.
State colors
A component page shows one family doing one thing. A pattern arranges several into something you would ship — a form, a table screen, the shell around both — and each is a single file, copied whole.
Patterns
Buddhist, Hebrew, Islamic, Japanese and the rest are one opt-in away, and stay out of the bundle until you ask — so a project that never leaves Gregorian never carries them.
Calendar systems