@cosmicdrift/kumiko-headless 0.113.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-headless",
3
- "version": "0.113.1",
3
+ "version": "1.0.0",
4
4
  "description": "Headless UI logic for Kumiko — Dispatcher contract, Form-Controller, View-Model, Nav-Resolver. Plattform- und React-frei; jeder Renderer (renderer, renderer-web, renderer-native, …) komponiert darauf.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -32,7 +32,7 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@cosmicdrift/kumiko-framework": "0.113.1",
35
+ "@cosmicdrift/kumiko-framework": "1.0.0",
36
36
  "zod": "^4.4.3"
37
37
  },
38
38
  "publishConfig": {
@@ -153,11 +153,7 @@ describe("renderApexPage", () => {
153
153
  }),
154
154
  );
155
155
  expect(twoCols).toContain("--footer-cols:2");
156
- // 502/2: --footer-cols:0 makes grid-template-columns's repeat(0, 1fr)
157
- // invalid CSS — the browser drops the whole declaration. Clamped to a
158
- // minimum of 1 so a footer with no columns still gets a valid grid.
159
- expect(renderApexPage(page())).toContain("--footer-cols:1");
160
- expect(renderApexPage(page())).not.toContain("--footer-cols:0");
156
+ expect(renderApexPage(page())).toContain("--footer-cols:0");
161
157
  });
162
158
 
163
159
  test("renders every section kind without throwing or leaking undefined", () => {
package/src/apex/index.ts CHANGED
@@ -384,7 +384,7 @@ function renderNavMenu(m: ApexNavMenu): string {
384
384
  m.footer !== undefined
385
385
  ? `<div class="nav-menu__sep"></div><a class="nav-menu__more" href="${escapeHtml(m.footer.href)}">${escapeHtml(m.footer.label)}</a>`
386
386
  : "";
387
- return `<div class="nav-menu"><button type="button" class="nav-menu__trigger" aria-haspopup="true">${escapeHtml(m.label)}<span class="nav-menu__chev">${svgIcon('<path d="m6 9 6 6 6-6"/>')}</span></button><div class="nav-menu__panel">${items}${footer}</div></div>`;
387
+ return `<div class="nav-menu"><button type="button" class="nav-menu__trigger" aria-haspopup="true">${escapeHtml(m.label)}<span class="nav-menu__chev" aria-hidden="true">${svgIcon('<path d="m6 9 6 6 6-6"/>')}</span></button><div class="nav-menu__panel">${items}${footer}</div></div>`;
388
388
  }
389
389
 
390
390
  function renderNavEntry(entry: ApexNavEntry): string {
@@ -431,7 +431,7 @@ function renderFooter(f: ApexFooter): string {
431
431
  : "";
432
432
  return `<footer>
433
433
  <div class="container">
434
- <div class="footer-grid" style="--footer-cols:${Math.max(1, cols.length)}">
434
+ <div class="footer-grid" style="--footer-cols:${cols.length}">
435
435
  <div>
436
436
  <div class="footer-brand">${logo}${escapeHtml(f.brand.label)}</div>
437
437
  ${f.tagline !== undefined ? `<p class="footer-tagline">${escapeHtml(f.tagline)}</p>` : ""}