Commit Graph

4 Commits

Author SHA1 Message Date
Buddy
98c209741d Throw on wrong-class [selector, Class] refs instead of skipping them 2026-11-06 21:33:42 -08:00
Buddy
b26cff3468 Support [selector, Class] refs and show resolved types for refs, observedAttributes, and attributeFor 2026-11-06 21:31:14 -08:00
Buddy
6efcdd210e Rename static attributes map to attributeFor and reserve the name 2026-11-06 14:09:38 -08:00
Buddy
c961d01fc4 Add typed WebComponent mixin factory
WebComponent(spec) builds a custom-element base class from a spec:
shadow root or declarative shadow DOM, template, shared stylesheet
(adopted, or a <style> once per root for light DOM), reflected props
with two-way attribute sync, a per-connection AbortSignal, host event
wiring, and typed element refs.

Types derive exact observedAttributes, prop value types, ref element
types from selectors, and reject prop names that collide with the base
class or mixin members.

Tooling: strict tsconfig, type-aware oxlint, oxfmt, and Vitest browser
mode (Chromium) with type tests.
2026-11-06 00:08:56 -08:00