{ "stack": "lit", "generatedAt": "2026-06-30T07:46:35.458Z", "irRef": "756634c", "components": [ { "name": "Button", "status": "ok", "tag": "wn-button", "issues": [ { "kind": "non-portable", "prop": "onClick", "detail": "type=function; not attribute-mappable — handle explicitly, never drop.", "severity": "info" }, { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" }, { "kind": "prop-extra", "prop": "size", "detail": "on (attribute 'size'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "iconEnd", "detail": "on (attribute 'icon-end'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "type", "detail": "on (attribute 'type'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "disabled", "detail": "on (attribute 'disabled'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "href", "detail": "on (attribute 'href'), not in IR contract.", "severity": "info" } ] }, { "name": "Eyebrow", "status": "ok", "tag": "wn-eyebrow", "issues": [ { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" }, { "kind": "prop-extra", "prop": "strong", "detail": "on (attribute 'strong'), not in IR contract.", "severity": "info" } ] }, { "name": "Icon", "status": "ok", "tag": "wn-icon", "issues": [ { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" } ] }, { "name": "PageHeader", "status": "ok", "tag": "wn-page-header", "issues": [ { "kind": "prop-via-slot", "prop": "actions", "detail": "IR prop honoured by on (slotted content, not an attribute).", "severity": "info" }, { "kind": "prop-extra", "prop": "hasActions", "detail": "on (attribute 'hasactions'), not in IR contract.", "severity": "info" } ] }, { "name": "PipelineStrip", "status": "ok", "tag": "wn-pipeline", "issues": [ { "kind": "prop-extra", "prop": "stages", "detail": "on (attribute 'stages'), not in IR contract.", "severity": "info" } ] }, { "name": "Sidebar", "status": "ok", "tag": "wn-sidebar", "issues": [ { "kind": "prop-missing", "prop": "current", "detail": "in IR (attribute 'current'), absent on ", "severity": "info", "accepted": "Composition divergence (intentional). The React Sidebar is monolithic and takes a `current` selection-key prop, comparing it against its own internal NAV_ITEMS. The Lit stack decomposes the sidebar into + + , modelling selection as per-item `active` state on the slotted children rather than a container-level key. There is no single `current` attribute to honour on ; the contract is satisfied compositionally. Reconcile upstream only if the React designbook is ever made composable." }, { "kind": "non-portable", "prop": "onNav", "detail": "type=function; not attribute-mappable — handle explicitly, never drop.", "severity": "info" }, { "kind": "variant-axis-missing", "prop": "current", "detail": "IR variant axis 'current' (doc:) has no Lit property.", "severity": "info", "accepted": "Same composition divergence as Sidebar.current above — the `current` variant axis is expressed as item-level `active` on , not as a property." }, { "kind": "prop-extra", "prop": "activation", "detail": "on (attribute 'activation'), not in IR contract.", "severity": "info" } ] }, { "name": "StageDot", "status": "ok", "tag": "wn-stage-dot", "issues": [ { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" } ] }, { "name": "Stamp", "status": "ok", "tag": "wn-stamp", "issues": [ { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" } ] }, { "name": "Tag", "status": "ok", "tag": "wn-tag", "issues": [ { "kind": "non-portable", "prop": "style", "detail": "type=object; not attribute-mappable — handle explicitly, never drop.", "severity": "info" } ] }, { "name": "TopNav", "status": "ok", "tag": "wn-top-nav", "issues": [ { "kind": "non-portable", "prop": "onNew", "detail": "type=function; not attribute-mappable — handle explicitly, never drop.", "severity": "info" }, { "kind": "prop-extra", "prop": "logoSrc", "detail": "on (attribute 'logo-src'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "brand", "detail": "on (attribute 'brand'), not in IR contract.", "severity": "info" }, { "kind": "prop-extra", "prop": "slug", "detail": "on (attribute 'slug'), not in IR contract.", "severity": "info" } ] } ] }