DomProbe

The DOM's Probe: boxes from getBoundingClientRect, sizes and visibility from the observers, the viewport, the reduced-motion preference from matchMedia, whether the page is shown, and a container's scroll. layer needs the Environment's AtomRegistry, which it writes its live values through; DomLive provides both.

import * as DomProbe from "@wardic/dom/DomProbe"

const probe = DomProbe.layer.pipe(Layer.provide(AtomRegistry.layer))

Variables

layer

const layer: Layer.Layer<Probe.Probe, never, AtomRegistry.AtomRegistry>;

Core's Probe on the DOM. It needs the Environment's AtomRegistry, which it writes the viewport's size, the reduced-motion preference and whether the page is shown through, and readers read them from; DomLive provides it. Building it on a server fails, with an error that says it's client-only.