From 8f3a13c854082bb248457cafa23a1d5f70ae62cf Mon Sep 17 00:00:00 2001 From: Ajay Ghanwat Date: Mon, 24 Aug 2026 22:57:13 +0530 Subject: [PATCH] fix(ui): render only supplied mega menu metadata --- bun.lock | 2 +- docs/ui-visual-contract-0.8.json | 2 +- packages/ui/components/MegaMenu.wrn | 21 ++------------------- packages/ui/package.json | 2 +- packages/ui/test/ui.test.ts | 2 ++ 5 files changed, 7 insertions(+), 22 deletions(-) diff --git a/bun.lock b/bun.lock index 4448c828..0a424205 100644 --- a/bun.lock +++ b/bun.lock @@ -688,7 +688,7 @@ }, "packages/ui": { "name": "@wrnexus/ui", - "version": "0.8.36", + "version": "0.8.37", "dependencies": { "@wrnexus/core": "workspace:*", }, diff --git a/docs/ui-visual-contract-0.8.json b/docs/ui-visual-contract-0.8.json index b2b6c879..e39db199 100644 --- a/docs/ui-visual-contract-0.8.json +++ b/docs/ui-visual-contract-0.8.json @@ -55,7 +55,7 @@ "packages/ui/components/Map.wrn": "3e6d5de5a21dd050c5c65950d6fb2f89af4024e1856a48f055b65b88fcd7b890", "packages/ui/components/MarketingSectionHeader.wrn": "39b79499b77dc1c7d34e4e5ecb45a9ddc6182f78c2a2586671c4fa07f44679ad", "packages/ui/components/Marquee.wrn": "81cd80732be34c8d7e4bf28b00347e1a9273166afdf66589d9f5d5774b69403b", - "packages/ui/components/MegaMenu.wrn": "c0bcd0613dba0237b211c4d0f2beb26616e4e1468715ad60965a31922860fcce", + "packages/ui/components/MegaMenu.wrn": "1726a935b963b4a7ad9420b24e1ba6ad6de979709fa552e4717fb67e79c4de42", "packages/ui/components/MetricCard.wrn": "513a6e99be3d9db46d96af9942b51331a0a048b184603e77e814506f0a52bdc5", "packages/ui/components/MetricGrid.wrn": "1fcebf51dcbe8520fe16bda904c1ef206c25c3900438d53877492c64ea21a1a5", "packages/ui/components/Modal.wrn": "7fa4b877772736f29f690e24d8742922b310397ef3083f0b78acb67a9f0d14b2", diff --git a/packages/ui/components/MegaMenu.wrn b/packages/ui/components/MegaMenu.wrn index 39d6c213..2f3c66c6 100644 --- a/packages/ui/components/MegaMenu.wrn +++ b/packages/ui/components/MegaMenu.wrn @@ -58,23 +58,6 @@ component MegaMenu { return column && Array.isArray(column.items) ? column.items : [] } - shared function itemIcon(item) { - if (item && item.icon) { - return item.icon - } - return variant === "catalog" ? "icon-[lucide--component]" : "" - } - - shared function itemDescription(item, column) { - if (item && item.description) { - return item.description - } - if (variant === "catalog" && item && item.label) { - return "Open " + item.label + (column && column.heading ? " in " + column.heading : "") - } - return "" - } - shared function railList() { return Array.isArray(rail) ? rail : [] } @@ -259,11 +242,11 @@ component MegaMenu {
  • {#if item.image}{/if} - + {#if item.icon}{/if} {#if item.eyebrow}{item.eyebrow}{/if} {item.label}{#if item.badge}{item.badge}{/if} - {itemDescription(item, column)} + {#if item.description}{item.description}{/if}
  • diff --git a/packages/ui/package.json b/packages/ui/package.json index 72cbee5a..757b51bc 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ui", - "version": "0.8.36", + "version": "0.8.37", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/ui/test/ui.test.ts b/packages/ui/test/ui.test.ts index 5f3d475a..7fc9ad80 100644 --- a/packages/ui/test/ui.test.ts +++ b/packages/ui/test/ui.test.ts @@ -2972,6 +2972,8 @@ test("catalog mega menu renders only the active rail category", async () => { expect(source).toContain("overflow-y: auto"); expect(source).not.toContain("@mouseenter='chooseCategory(item, index)'"); expect(dom.querySelector(".wrn-mega__column-header")?.textContent).toContain("Sales"); + expect(dom.querySelectorAll(".wrn-mega__link-icon")).toHaveLength(0); + expect(dom.querySelectorAll(".wrn-mega__link-description")).toHaveLength(0); }); test("mega menu supports rails, icons, badges, media, featured content and footer actions", async () => {