Where the React adapter's WidgetMap is ReadonlyMap<string, RenderFunction>
(a function value per hint name), the Lit adapter resolves widgets by
Custom Element tag name. A schema field carrying
.meta({ component: "color-picker" }) looks up widgets.get("color-picker")
and renders the matching tag — preserving the Web-Components-native
pattern where every renderer override IS a Custom Element.
Tags must be registered via customElements.define before they can
be rendered. Unregistered tags surface as unknown elements with no
upgrade — matching the browser's behaviour rather than throwing.
Widget map — name → custom element tag.
Where the React adapter's
WidgetMapisReadonlyMap<string, RenderFunction>(a function value per hint name), the Lit adapter resolves widgets by Custom Element tag name. A schema field carrying.meta({ component: "color-picker" })looks upwidgets.get("color-picker")and renders the matching tag — preserving the Web-Components-native pattern where every renderer override IS a Custom Element.Tags must be registered via
customElements.definebefore they can be rendered. Unregistered tags surface as unknown elements with no upgrade — matching the browser's behaviour rather than throwing.