mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
every control on the page is an <li role="option">, the shape the replay ui gives its step rows, and the spec carries no action of its own: the property firing is the evidence the default enumeration offered a tap on one.
17 lines
662 B
TypeScript
17 lines
662 B
TypeScript
import { always, extract, taps } from "@sanderling/spec";
|
|
|
|
const selections = extract((s) => {
|
|
const el = s.ax.find({ id: "selected" });
|
|
return el ? parseInt(el.text, 10) || 0 : 0;
|
|
}).named("selections");
|
|
|
|
// Every control on the page is an <li role="option">, the shape the replay UI
|
|
// gives its own step rows. Nothing else can move this counter, so the spec
|
|
// carries no action of its own: this property firing IS the evidence that the
|
|
// default enumeration offered a tap on a role-based control.
|
|
const noRowWasEverSelected = always(() => selections.current === 0);
|
|
|
|
export const properties = { noRowWasEverSelected };
|
|
|
|
export const actionsRoot = taps;
|