55 element groups across text, buttons, choice, input, slider, layout, status, overlays, gallery and the wheel picker. Each lands in a registry-driven catalogue that shows every variant in both themes, so an element that fails to register is visibly absent rather than quietly missing. rule_content_is_data iterates the REGISTRY, not a list: a new element is attacked with markup the moment it calls define(), and one without a demo fails the suite. That is announcement-not-enumeration applied to the tests. Fixes found while building: checkbox silently ignored its label (inverted logic left it with aria-label=toggle), the overlay root set z-index 0 and so became a stacking context that trapped every overlay it was built to free, and raising a window left its peers' z stale because z is derived from position -- claim() now notifies a rung when a peer moves. The wheel highlights the actual sector rather than a box around the label: the lit shape is the region that picks the item, which is what makes it aimable.
20 lines
651 B
JavaScript
20 lines
651 B
JavaScript
// Every element file, imported for its side effect: each one calls define() and
|
|
// so announces itself into the registry. This list is the only place element
|
|
// files are named, and it is the only enumeration in the kit -- ES modules give
|
|
// no way to discover siblings at runtime without a build step.
|
|
//
|
|
// Elements land here one at a time, each with its catalogue section and tests.
|
|
|
|
import "./text.js";
|
|
import "./button.js";
|
|
import "./input.js";
|
|
import "./choice.js";
|
|
import "./slider.js";
|
|
import "./layout.js";
|
|
import "./status.js";
|
|
import "./modal.js";
|
|
import "./popover.js";
|
|
import "./floating.js";
|
|
import "./gallery.js";
|
|
import "./wheel.js";
|