App-Wide UI Components Get a Generic API as Pre-Payment for Library Extraction

App-Wide UI Components Get a Generic API as Pre-Payment for Library Extraction

In the Reuse Scope Drives Angular Component Extraction and Placement ladder, the app-wide (tier 4) component is the only tier that earns an explicit public API and its own data model. Consuming components adapt their payload to that model rather than the component reaching into theirs.

Why the cost lands only here: app-wide components are the extraction candidates for a future standalone component library. Giving them a self-contained input model now is pre-payment — when extraction happens, the component already has no dependency on any feature's shapes, so it lifts out cleanly. The decoupling work is done in anticipation of the move, not after.

Why feature-scoped tiers skip it: feature components are feature-coupled by nature and never library-bound. Forcing a generic adapter on them buys nothing — no extraction is coming — and adds an indirection layer that only obscures intent. The boundary where generic-API cost becomes worth paying is exactly the boundary where library extraction becomes plausible.