@anarchitects/common-angular-ui-layouts
Pluggable layout runtime infrastructure for Angular bricks.
This package provides the Phase 3 layout system contracts, registry,
runtime host, and built-in default layouts. It is shared infrastructure
only and does not migrate domain forms/auth components in this phase.
Features
- Layout contracts and runtime host components for pluggable rendering
- Registry-based layout resolution with explicit defaults
- Default implementations for form/list/detail layout kinds
Installation
npm install @anarchitects/common-angular-ui-layouts
# or
yarn add @anarchitects/common-angular-ui-layouts
Entry points
@anarchitects/common-angular-ui-layouts/contracts@anarchitects/common-angular-ui-layouts/registry@anarchitects/common-angular-ui-layouts/host@anarchitects/common-angular-ui-layouts/defaults
Layout kinds and defaults
form:form:stacked,form:grid,form:inline,form:cardlist:list:list,list:grid,list:card,list:tabledetail:detail:page,detail:card,detail:sidebar
Resolution precedence
- explicit host input
[layout] - provider default from
ANX_LAYOUT_DEFAULTS[kind] - built-in fallback for the kind
Consumer extension
Consumer apps can add layouts without modifying core by:
- Creating a renderer component that accepts
context: AnxResolvedLayoutContext - Registering it with
provideAnxLayouts([...]) - Overriding defaults with
provideAnxLayoutDefaults({...})
Usage
Use this package when you need runtime-selectable layouts with deterministic fallback behavior across UI feature surfaces.
Development notes
- Keep runtime resolution deterministic and side-effect free.
- Register new layouts through provider APIs rather than hardcoded switches.
- Avoid domain-specific assumptions in shared layout contracts.