A deep-dive into implementing Form-Associated Custom Elements (FACE) across a full web component library (AgnosticUI) built with Lit. Covers the ElementInternals API, a reusable Lit mixin pattern for sharing boilerplate, two validation strategies (delegating to inner native inputs vs. implementing directly against component
Table of contents
What FACE Actually IsSharing the Boilerplate: The Case for a MixinTwo Validation StrategiesHow to Verify it’s WorkingComponent WalkthroughsThe Reality of ElementInternalsSort: