Commit Graph

2 Commits

Author SHA1 Message Date
Richard Osborne
ade2afee85 feat(uba): UBA-008/009 panel registration + health indicator
UBA-008: Register UBAPanel in editor sidebar (router.setup.ts)
UBA-009: Health indicator widget in Configure tab
  - useUBAHealth hook polling UBAClient.health() every 30s
  - HealthBadge component: 4 states (unknown/checking/healthy/unhealthy)
  - Pulsing animation on checking; design token colours with fallbacks
  - Shown only when schema.backend.endpoints.health is present

Test fix: UBASchemaParser.test.ts
  - isFailure<T>() type guard for webpack ts-loader friendly narrowing
  - eslint-disable for destructuring discard patterns
2026-02-18 20:43:03 +01:00
Richard Osborne
6e0ad689ae feat(styles+uba): STYLE-005 wiring + UBA-001/002
STYLE-005: ElementStyleSectionHost wraps ElementStyleSection with
SuggestionBanner. Uses useStyleSuggestions + executeSuggestionAction.
propertyeditor.ts updated to use host (drop-in, zero API change).

UBA-001: types.ts — Field discriminated union (8 types), BackendMetadata,
Section, Condition, ParseResult<T>. Zero external deps.

UBA-002: SchemaParser.ts validates pre-parsed objects against UBA v1.
Forward-compat: unknown field types/versions produce warnings not errors.
22 unit tests in tests/models/UBASchemaParser.test.ts.
2026-02-18 17:38:55 +01:00