{"success":true,"data":{"block":{"id":"navbar-dropdown-menu","name":"Navbar Dropdown Menu","title":"NavBar Dropdown Menu","category":"Navbar","categorySlug":"navbar","description":"A responsive navigation bar with dropdown menus for desktop and a slide-out sheet menu for mobile. Features logo, navigation links with dropdown submenus containing icons and descriptions, and call-to-action buttons. The desktop view shows horizontal navigation with hover-triggered dropdowns, while mobile uses a hamburger menu that opens a full sheet with accordion-style navigation. Ideal for marketing sites, SaaS applications, and corporate websites that need organized multi-level navigation.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290150/uvtfdxd1a01up72dfcwc3i7ju1uc/navbar-dropdown-menu-desktop.png","mobile":"https://cdn.ing/assets/i/r/290151/dikrnuxap3x28ziukbb1rljc4o5b/navbar-dropdown-menu-mobile.png"},"componentPath":"blocks/navbars/navbar-dropdown-menu.tsx","code":"import { NavbarDropdownMenu } from \"@opensite/ui/blocks/navbars/navbar-dropdown-menu\";\nimport { brandLogoPlaceholders } from \"@/lib/media\";\nimport CarouselAnimatedSections from \"@/blocks/carousel/carousel-animated-sections\";\nimport FeatureShowcase from \"@/blocks/features/feature-showcase\";\nimport FaqSplitHelp from \"@/blocks/faq/faq-split-help\";\n\nexport default function Demo() {\n  return (\n    <>\n      <NavbarDropdownMenu\n      logo={{\n        url: \"/\",\n        src: brandLogoPlaceholders.black[0],\n        title: \"SaaS Platform\",\n        alt: \"SaaS Platform Logo\",\n      }}\n      menu={[\n        {\n          title: \"Features\",\n          url: \"#\",\n          items: [\n            {\n              title: \"Analytics Dashboard\",\n              url: \"#\",\n              description: \"Visualize your business data\",\n              icon: \"lucide/pie-chart\",\n            },\n            {\n              title: \"Team Collaboration\",\n              url: \"#\",\n              description: \"Work together seamlessly\",\n              icon: \"lucide/users-2\",\n            },\n            {\n              title: \"Automation Tools\",\n              url: \"#\",\n              description: \"Automate repetitive tasks\",\n              icon: \"lucide/zap\",\n            },\n            {\n              title: \"Integrations\",\n              url: \"#\",\n              description: \"Connect your favorite apps\",\n              icon: \"lucide/plug\",\n            },\n          ],\n        },\n        {\n          title: \"Solutions\",\n          url: \"#\",\n          items: [\n            {\n              title: \"For Marketing Teams\",\n              url: \"#\",\n              description: \"Grow your brand presence\",\n              icon: \"lucide/target\",\n            },\n            {\n              title: \"For Sales Teams\",\n              url: \"#\",\n              description: \"Close more deals faster\",\n              icon: \"lucide/trending-up\",\n            },\n            {\n              title: \"For Support Teams\",\n              url: \"#\",\n              description: \"Deliver excellent support\",\n              icon: \"lucide/headphones\",\n            },\n          ],\n        },\n        {\n          title: \"Resources\",\n          url: \"#\",\n        },\n        {\n          title: \"Pricing\",\n          url: \"#\",\n        },\n      ]}\n      authActions={[\n        {\n          label: \"Login\",\n          variant: \"ghost\",\n          href: \"#\",\n        },\n        {\n          label: \"Start Free Trial\",\n          variant: \"default\",\n          href: \"#\",\n        },\n      ]}\n      />\n\n      <CarouselAnimatedSections />\n      <FeatureShowcase />\n      <FaqSplitHelp />\n    </>\n  );\n}","propsSchema":{"logo":{"type":"object","description":"Logo configuration","fields":{"url":{"type":"string","description":"URL to navigate to when logo is clicked","required":false},"src":{"type":"string","description":"Image source for the logo","required":false},"alt":{"type":"string","description":"Alt text for the logo image","required":false},"title":{"type":"object","description":"Text title to display (alternative to image)","typeLabel":"React.ReactNode","required":false},"className":{"type":"string","description":"Additional CSS classes for the logo","required":false}},"typeLabel":"LogoConfig","required":false},"menu":{"type":"array","description":"Navigation menu items","items":{"type":"object","description":"","fields":{"title":{"type":"string","description":"","required":true},"url":{"type":"string","description":"","required":false},"tabs":{"type":"array","description":"","items":{"type":"object","description":"","fields":{"id":{"type":"string","description":"","required":true},"title":{"type":"string","description":"","required":true},"icon":{"type":"object","description":"","fields":{},"typeLabel":"DynamicIconName","required":false},"links":{"type":"array","description":"","items":{"type":"object","description":"","fields":{"title":{"type":"string","description":"","required":true},"description":{"type":"string","description":"","required":false},"url":{"type":"string","description":"","required":true},"icon":{"type":"object","description":"","fields":{},"typeLabel":"DynamicIconName","required":false}},"typeLabel":"{ title: string; description?: string; url: string; icon?: DynamicIconName; }"},"typeLabel":"{ title: string; description?: string; url: string; icon?: DynamicIconName; }[]","required":true},"featured":{"type":"object","description":"","fields":{"title":{"type":"string","description":"","required":true},"description":{"type":"string","description":"","required":true},"url":{"type":"string","description":"","required":true},"image":{"type":"string","description":"","required":true}},"typeLabel":"{ title: string; description: string; url: string; image: string; }","required":false}},"typeLabel":"TabItem"},"typeLabel":"TabItem[]","required":false}},"typeLabel":"MenuItem"},"typeLabel":"MenuItem[]","required":false},"authActions":{"type":"array","description":"Authentication action configurations","items":{"type":"object","description":"","fields":{"variant":{"type":"string","description":"","typeLabel":"\"default\" | \"destructive\" | \"outline\" | \"secondary\" | \"ghost\" | \"link\"","required":false},"size":{"type":"string","description":"","typeLabel":"\"default\" | \"sm\" | \"md\" | \"lg\" | \"icon\" | \"icon-sm\" | \"icon-lg\"","required":false},"label":{"type":"object","description":"Button/link label text or ReactNode","typeLabel":"ReactNode","required":false},"icon":{"type":"object","description":"Icon to display (typically before label)","typeLabel":"ReactNode","required":false},"iconAfter":{"type":"object","description":"Icon to display after the label","typeLabel":"ReactNode","required":false},"href":{"type":"string","description":"URL for link behavior","required":false},"onClick":{"type":"object","description":"Click handler for button behavior","typeLabel":"MouseEventHandler","required":false},"className":{"type":"string","description":"Additional CSS classes for the action","required":false},"children":{"type":"object","description":"Custom children (overrides label + icon rendering)","typeLabel":"ReactNode","required":false},"aria-label":{"type":"string","description":"ARIA label for accessibility","required":false},"asButton":{"type":"boolean","description":"Render as a button element instead of an anchor/link","required":false}},"typeLabel":"ActionConfig"},"typeLabel":"ActionConfig[]","required":false}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["navbar","navigation","header","dropdown","menu","responsive","mobile-menu","sheet","accordion","cta-buttons"],"performance":{},"importantUsageNotes":"Use this navbar when the site needs a standard SaaS-style navigation with 4 top-level 'menu' items where some items open standard dropdown menus — well-suited for product-led sites with Features, Solutions, flat Resources, and flat Pricing links. The demo uses exactly 4 menu items: 'Features' with 4 icon-linked dropdown 'items', 'Solutions' with 3 icon-linked dropdown 'items', and 2 flat href items; each dropdown item supports 'title', 'url', 'description', and 'icon' (lucide name) — use 3-5 sub-items per dropdown. The 'authActions' prop accepts 1-2 buttons: the demo shows a ghost 'Login' and a default 'Start Free Trial' — use a non-default variant (ghost or link) for the first and 'default' for the primary CTA. Only set 'logo.src' if a real brand logo exists in the media library; otherwise omit 'logo.src' and rely on 'logo.title' as plain text. Only use real internal route hrefs and important external URLs — do not invent or guess routes. The mobile menu is built into this block — do not strip it or override its behavior; preserve the demo's mobile structure. Follow the example props closely for this block — the demo encodes the canonical layout, and deviating from it will produce broken or unusable navigation."}},"timestamp":"2026-05-13T10:44:01.240Z"}