LiveInteractionContracts (live_interaction_contracts v1.0.0)

Copy Markdown View Source

Dev/test-only conformance harness for Phoenix LiveView browser-native interaction contracts. Not a UI component library.

It answers, with real browsers (Chromium/Firefox/WebKit) over a real LiveSocket, whether browser-native interaction state survives LiveView patching: popover openness, dialog/details open state, focus/selection, scroll, and combobox aria-activedescendant / Channel staleness.

Tasks

Runtime users can import all conformance-backed reference components with:

use LiveInteractionContracts.Components

See SPEC.md, KERNEL.md, and the *_CONTRACT.md files for the durable invariants. The generated delegation-ledger.{md,json} carries the version-specific classification.

Summary

Functions

Resolve the bundled fixture/priv directory (works in-project and as a dep).

Detect the LiveView version to test against.

Functions

priv_dir()

Resolve the bundled fixture/priv directory (works in-project and as a dep).

resolve_lv_spec(override \\ nil)

Detect the LiveView version to test against.

Order: explicit --lv / LV_SPEC env, else the host project's loaded :phoenix_live_view version (so the harness tests the consumer's real version), else a pinned default.