{"success":true,"data":{"block":{"id":"navbar-animated-preview","name":"Navbar Animated Preview","title":"NavBar Animated Preview","category":"Navbar","categorySlug":"navbar","description":"A navigation bar with animated image previews and multiple distinct dropdown styles. Features three dropdown menu types: Products menu with animated image preview that transitions smoothly between items, Solutions menu with featured cards and organized grid layout, and Developers menu with grouped links and featured image section. Navigation menu spans full width with smooth fade-in animations. Mobile view uses full-screen sheet with accordion navigation. Ideal for SaaS products, technology platforms, and companies that want engaging, animated navigation experiences.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290168/1eipzn3pqgle6e5gg752thqdk897/navbar-animated-preview-desktop.png","mobile":"https://cdn.ing/assets/i/r/290169/e4s5xasn4c46y31t4gfu45o32s4w/navbar-animated-preview-mobile.png"},"componentPath":"blocks/navbars/navbar-animated-preview.tsx","code":"import { NavbarAnimatedPreview } from \"@opensite/ui/blocks/navbars/navbar-animated-preview\";\nimport { brandLogoPlaceholders, imagePlaceholders } from \"@/lib/media\";\nimport { DynamicIcon } from \"@opensite/ui\";\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      <NavbarAnimatedPreview\n      logo={{\n        url: \"/\",\n        src: brandLogoPlaceholders.black[0],\n        alt: \"Company Logo\",\n      }}\n      menuLinks={[\n        {\n          label: \"Products\",\n          layout: \"animated-image-preview\",\n          links: [\n            {\n              label: \"Analytics Platform\",\n              description: \"Real-time data insights and reporting\",\n              image: imagePlaceholders[0],\n              url: \"#\",\n              iconName: \"lucide/bar-chart\",\n            },\n            {\n              label: \"Marketing Suite\",\n              description: \"Complete marketing automation tools\",\n              image: imagePlaceholders[1],\n              url: \"#\",\n              iconName: \"lucide/megaphone\",\n            },\n            {\n              label: \"CRM System\",\n              description: \"Customer relationship management\",\n              image: imagePlaceholders[2],\n              url: \"#\",\n              iconName: \"lucide/users\",\n            },\n            {\n              label: \"API Platform\",\n              description: \"Developer-friendly APIs\",\n              image: imagePlaceholders[3],\n              url: \"#\",\n              iconName: \"lucide/code\",\n            },\n          ],\n        },\n        {\n          label: \"Solutions\",\n          layout: \"featured-cards-grid\",\n          featuredLinks: [\n            {\n              label: \"Enterprise\",\n              description: \"Scale your business with enterprise solutions\",\n              url: \"#\",\n              iconName: \"lucide/building\",\n              background: imagePlaceholders[4],\n            },\n            {\n              label: \"Small Business\",\n              description: \"Perfect tools for growing companies\",\n              url: \"#\",\n              iconName: \"lucide/briefcase\",\n              background: imagePlaceholders[5],\n            },\n          ],\n          links: [\n            {\n              label: \"E-Commerce\",\n              description: \"Online store solutions\",\n              url: \"#\",\n              iconName: \"lucide/shopping-cart\",\n            },\n            {\n              label: \"Healthcare\",\n              description: \"HIPAA-compliant solutions\",\n              url: \"#\",\n              iconName: \"lucide/heart-pulse\",\n            },\n            {\n              label: \"Education\",\n              description: \"Learning management systems\",\n              url: \"#\",\n              iconName: \"lucide/graduation-cap\",\n            },\n            {\n              label: \"Finance\",\n              description: \"Secure financial tools\",\n              url: \"#\",\n              iconName: \"lucide/wallet\",\n            },\n          ],\n        },\n        {\n          label: \"Developers\",\n          layout: \"grouped-links-image\",\n          groupLinks: [\n            {\n              label: \"Documentation\",\n              links: [\n                {\n                  label: \"Getting Started\",\n                  description: \"Quick start guide\",\n                  url: \"#\",\n                  iconName: \"lucide/book-open\",\n                },\n                {\n                  label: \"API Reference\",\n                  description: \"Complete API docs\",\n                  url: \"#\",\n                  iconName: \"lucide/file-text\",\n                },\n              ],\n            },\n            {\n              label: \"Resources\",\n              links: [\n                {\n                  label: \"Code Examples\",\n                  description: \"Sample implementations\",\n                  url: \"#\",\n                  iconName: \"lucide/code-2\",\n                },\n                {\n                  label: \"SDKs & Tools\",\n                  description: \"Developer tools\",\n                  url: \"#\",\n                  iconName: \"lucide/package\",\n                },\n              ],\n            },\n          ],\n          imageLink: {\n            label: \"New: API v2.0 Released\",\n            image: imagePlaceholders[6],\n            url: \"#\",\n          },\n        },\n        {\n          label: \"Pricing\",\n          href: \"#\",\n        },\n      ]}\n      actions={[\n        {\n          label: \"Get Started\",\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},"menuLinks":{"type":"array","description":"Navigation menu links with optional dropdown groups","items":{"type":"object","description":"","fields":{"label":{"type":"object","description":"Display text for the menu trigger","typeLabel":"React.ReactNode","required":true},"href":{"type":"string","description":"Direct link URL (for non-dropdown items)","required":false},"layout":{"type":"string","description":"Layout type for dropdown content","typeLabel":"MegaMenuLayout","required":false},"links":{"type":"array","description":"Links array for dropdown content","items":{"type":"object","description":"","fields":{"label":{"type":"object","description":"Display text for the link","typeLabel":"React.ReactNode","required":true},"description":{"type":"object","description":"Optional description text","typeLabel":"React.ReactNode","required":false},"href":{"type":"string","description":"URL the link navigates to (preferred)","required":false},"url":{"type":"string","description":"URL the link navigates to (legacy, use href instead)","required":false},"icon":{"type":"object","description":"Icon name or element to display","fields":{},"typeLabel":"DynamicIconName","required":false},"iconName":{"type":"object","description":"Alternate icon name or element for DynamicIcon component","fields":{},"typeLabel":"DynamicIconName","required":false},"image":{"type":"string","description":"Image URL for visual representation","required":false},"background":{"type":"string","description":"Background color or image for the item","required":false}},"typeLabel":"ILinkItem"},"typeLabel":"ILinkItem[]","required":false},"dropdownGroups":{"type":"array","description":"Grouped links for more complex layouts","items":{"type":"object","description":"","fields":{"label":{"type":"object","description":"Group label/title","typeLabel":"React.ReactNode","required":true},"description":{"type":"string","description":"Optional group description","required":false},"image":{"type":"string","description":"Optional group image","required":false},"links":{"type":"array","description":"Links within this group","items":{"type":"object","description":"","fields":{"label":{"type":"object","description":"Display text for the link","typeLabel":"React.ReactNode","required":true},"description":{"type":"object","description":"Optional description text","typeLabel":"React.ReactNode","required":false},"href":{"type":"string","description":"URL the link navigates to (preferred)","required":false},"url":{"type":"string","description":"URL the link navigates to (legacy, use href instead)","required":false},"icon":{"type":"object","description":"Icon name or element to display","fields":{},"typeLabel":"DynamicIconName","required":false},"iconName":{"type":"object","description":"Alternate icon name or element for DynamicIcon component","fields":{},"typeLabel":"DynamicIconName","required":false},"image":{"type":"string","description":"Image URL for visual representation","required":false},"background":{"type":"string","description":"Background color or image for the item","required":false}},"typeLabel":"ILinkItem"},"typeLabel":"ILinkItem[]","required":true}},"typeLabel":"IMenuLinkGroup"},"typeLabel":"IMenuLinkGroup[]","required":false}},"typeLabel":"IMenuLink"},"typeLabel":"IMenuLink[]","required":false},"actions":{"type":"array","description":"Action configurations (e.g., Sign In, Get Started buttons)","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","animated","image-preview","transitions","products","solutions","developers","full-width","engaging"],"performance":{},"importantUsageNotes":"Use this navbar when the site has 4 top-level destinations where at least some items need rich animated dropdown panels — e.g., a SaaS or developer tool platform that wants to visually showcase products, solution cards, and grouped documentation links. The demo locks 4 top-level 'menuLinks': the first uses layout 'animated-image-preview' with 4 image-linked sub-items, the second uses layout 'featured-cards-grid' with 2 featuredLinks and 4 additional links, the third uses layout 'grouped-links-image' with 2 groupLinks groups (2 links each) plus one imageLink featured banner, and the fourth is a flat href link — do not exceed this structure. Every top-level item that uses 'animated-image-preview' layout MUST have a real image per sub-item (from the media library); DO NOT USE this block if you do not have real images for every link in those panels. 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. If you supply multiple 'actions', use a variant of 'default' for the first action and 'outline' for the second action to ensure proper visual distinction between the two CTAs — most navbars expect 1-2 actions max, do not exceed 2. 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:43:02.798Z"}