release: complete UI component catalog 0.2.58

This commit is contained in:
2026-07-19 18:14:06 +05:30
parent c0c09426ff
commit 0d3ec79ee4
1481 changed files with 136921 additions and 101 deletions
+19 -3
View File
@@ -13,6 +13,20 @@ test("bundled UI assets are discoverable and readable", () => {
expect(uiCss()).toContain("--wire-");
});
test("generated component reference documents every bundled component and its props", () => {
const reference = JSON.parse(
readFileSync(join(uiComponentsDir(), "..", "component-reference.json"), "utf8"),
) as { count: number; components: Array<{ name: string; props: Array<{ name: string }> }> };
expect(reference.count).toBe(uiComponentNames().length);
expect(reference.count).toBeGreaterThanOrEqual(891);
expect(reference.components.map((component) => component.name)).toEqual(
expect.arrayContaining(uiComponentNames()),
);
expect(reference.components.find((component) => component.name === "Button")?.props).toEqual(
expect.arrayContaining([expect.objectContaining({ name: "label" })]),
);
});
test("PDF minimum-release and essential build-first components are bundled", () => {
const required = [
"Typography",
@@ -67,7 +81,9 @@ test("component-system CSS includes responsive, theme-token, focus, and reduced-
expect(css).toContain("--color-red-600: var(--wire-color-danger)");
});
test.each(uiComponentNames())("bundled UI component %s compiles", (name) => {
const path = join(uiComponentsDir(), `${name}.wrn`);
expect(() => compileWireFile(readFileSync(path, "utf8"), path)).not.toThrow();
test("every bundled UI component compiles", () => {
for (const name of uiComponentNames()) {
const path = join(uiComponentsDir(), `${name}.wrn`);
expect(() => compileWireFile(readFileSync(path, "utf8"), path)).not.toThrow();
}
});