# ADR-006: UI Component Purity and Container-Facade Pattern

Status: Accepted
Date: 2026-07-03

## Context

Reusable platform components cannot contain business and integration concerns.

## Decision

Separate visual and business responsibilities:

- UI components are presentational only.
- Container components connect facades to UI components.
- Facades own orchestration and use services.
- Services handle IO and integration.

UI component restrictions:

- No HttpClient.
- No localStorage/sessionStorage access.
- No environment import.
- No tenant awareness.
- No authentication/payment logic.
- No route logic.

## Consequences

Positive:

- Maximum reuse and testability.
- Supports widget library portability.

Negative:

- Requires refactoring of mixed legacy components.

## Compliance Requirements

- Components must use Inputs for data and Outputs for events.
- Business behavior belongs to facades/containers only.
