{"success":true,"data":{"block":{"id":"navbar-image-preview","name":"Navbar Image Preview","title":"NavBar Image Preview","category":"Navbar","categorySlug":"navbar","description":"A fixed navigation bar with image preview functionality in dropdown menus. The navigation bar changes background on scroll for better visibility. Desktop dropdowns display a large image preview that dynamically changes when hovering over different menu items, creating an engaging visual experience. Mobile view uses a full-screen dark overlay with categorized link columns and social links at the bottom. Ideal for creative agencies, portfolios, e-commerce sites, and brands that want to showcase visual content directly in their navigation.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290164/b9mreqd4lioiqekpb7alvqs680my/navbar-image-preview-desktop.png","mobile":"https://cdn.ing/assets/i/r/290165/ihgllx4727whi8oxwdrfjw23l73a/navbar-image-preview-mobile.png"},"componentPath":"blocks/navbars/navbar-image-preview.tsx","code":"import { NavbarImagePreview } from \"@opensite/ui/blocks/navbars/navbar-image-preview\";\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      <NavbarImagePreview\n      logo={{\n        url: \"/\",\n        src: brandLogoPlaceholders.black[0],\n        title: \"Design Studio\",\n        alt: \"Design Studio Logo\",\n      }}\n      navigation={[\n        {\n          title: \"Services\",\n          links: [\n            {\n              label: \"Brand Identity\",\n              description: \"Complete brand design packages\",\n              url: \"#\",\n              image: \"https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv\",\n            },\n            {\n              label: \"Web Design\",\n              description: \"Modern and responsive websites\",\n              url: \"#\",\n              image: \"https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l\",\n            },\n            {\n              label: \"UI/UX Design\",\n              description: \"User-centered design solutions\",\n              url: \"#\",\n              image: \"https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw\",\n            },\n            {\n              label: \"Motion Graphics\",\n              description: \"Engaging animated content\",\n              url: \"#\",\n              image: \"https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq\",\n            },\n          ],\n        },\n        {\n          title: \"Portfolio\",\n          url: \"#\",\n        },\n        {\n          title: \"About\",\n          url: \"#\",\n        },\n        {\n          title: \"Contact\",\n          url: \"#\",\n        },\n      ]}\n      authActions={[\n        {\n          label: \"Get a Quote\",\n          variant: \"default\",\n          href: \"#\",\n          asButton: true,\n        },\n      ]}\n      />\n\n      <CarouselAnimatedSections />\n      <FeatureShowcase />\n      <FaqSplitHelp />\n    </>\n  );\n}","propsSchema":{"className":{"type":"string","description":"Additional CSS classes for the section","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"navClassName":{"type":"string","description":"Additional CSS classes for the nav wrapper","required":false},"navigationMenuClassName":{"type":"string","description":"Additional CSS classes for the navigation menu","required":false},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"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":true,"mediaHints":{"path":"logo","roles":["logo"],"disallowedRoles":["favicon","video-thumbnail"],"minPixelClass":"small","required":true,"note":"Brand logo. LOGO IMAGE ONLY. Do not use photos, favicons, or video assets."}},"logoSlot":{"type":"object","description":"Custom slot for logo (overrides logo object)","typeLabel":"React.ReactNode","required":false},"logoClassName":{"type":"string","description":"Additional CSS classes for the logo","required":false},"navigation":{"type":"array","description":"Navigation menu items","items":{"type":"object","description":"","fields":{"label":{"type":"string","description":"","required":true},"href":{"type":"string","description":"","required":true}},"typeLabel":"MenuItem"},"typeLabel":"MenuItem[]","required":true,"minItems":2,"maxItems":6,"mediaHints":{"path":"navigation[].links[].image","roles":["feature"],"disallowedRoles":["logo","favicon","video-thumbnail"],"minPixelClass":"large","required":true,"note":"Preview image shown on hover of each dropdown link. IMAGE MEDIA ONLY. Do not use logos, favicons, or video assets."}},"navigationSlot":{"type":"object","description":"Custom slot for navigation (overrides navigation array)","typeLabel":"React.ReactNode","required":false},"mobileNavigation":{"type":"array","description":"Mobile navigation menu items","items":{"type":"object","description":"","fields":{"label":{"type":"string","description":"","required":true},"href":{"type":"string","description":"","required":true}},"typeLabel":"MenuItem"},"typeLabel":"MenuItem[]","required":false},"mobileNavigationSlot":{"type":"object","description":"Custom slot for mobile navigation (overrides mobileNavigation array)","typeLabel":"React.ReactNode","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\"","enum":["default","destructive","outline","secondary","ghost","link"],"required":false},"size":{"type":"string","description":"","typeLabel":"\"default\" | \"sm\" | \"md\" | \"lg\" | \"icon\" | \"icon-sm\" | \"icon-lg\"","enum":["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 | string","required":false},"iconAfter":{"type":"object","description":"Icon to display after the label","typeLabel":"ReactNode | string","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,"minItems":0,"maxItems":2},"authActionsSlot":{"type":"object","description":"Custom slot for auth actions (overrides authActions array)","typeLabel":"React.ReactNode","required":false},"socialLinks":{"type":"array","description":"Social links for mobile menu","items":{"type":"object","description":"","fields":{"platformName":{"type":"object","description":"Social platform name - determines which icon to display.\nIf not provided, the platform is auto-detected from the href URL.","typeLabel":"SocialPlatformName","required":false},"platform":{"type":"object","description":"","typeLabel":"SocialPlatformName","required":false},"href":{"type":"string","description":"Link URL (required). Platform is auto-detected from this URL if platformName is not set.","required":true},"label":{"type":"string","description":"Display label for the link (used for aria-label if not specified)","required":false},"icon":{"type":"object","description":"Platform icon or icon API name - overrides automatic icon selection","typeLabel":"ReactNode | string","required":false},"iconNameOverride":{"type":"string","description":"Icon name override for DynamicIcon (e.g., \"lucide/twitter\")","required":false},"iconSize":{"type":"number","description":"Icon size in pixels","required":false},"iconColor":{"type":"string","description":"Icon color - accepts any valid CSS color","required":false},"iconClassName":{"type":"string","description":"Additional CSS classes for the icon","required":false},"aria-label":{"type":"string","description":"ARIA label for accessibility","required":false},"className":{"type":"string","description":"Additional CSS classes for the link wrapper","required":false},"id":{"type":"string","description":"","required":false},"iconName":{"type":"string","description":"","required":false}},"typeLabel":"SocialLink"},"typeLabel":"SocialLink[]","required":false},"socialLinksSlot":{"type":"object","description":"Custom slot for social links (overrides socialLinks array)","typeLabel":"React.ReactNode","required":false},"background":{"type":"string","description":"Background style for the section","typeLabel":"SectionBackground","enum":["default","white","gray","dark","gradient","primary","secondary","transparent","muted"],"required":false},"spacing":{"type":"string","description":"Vertical spacing for the section","typeLabel":"SectionSpacing","enum":["none","sm","md","lg","xl","hero"],"required":false},"pattern":{"type":"string","description":"Optional background pattern name or URL","typeLabel":"PatternName","enum":["squareAltGrid","grid1","noise","dotPattern","dotPattern2","circles","waves","crossPattern","architect","tinyCheckers","p6","dots","circuitBoardBasic","circuitBoardFadeTop","circuitBoardFadeBottom","circuitBoardFadeCenter","circuitBoardFadeTopLeft","circuitBoardFadeTopRight","circuitBoardFadeBottomLeft","circuitBoardFadeBottomRight","dashedGridBasic","dashedGridFadeTop","dashedGridFadeBottom","dashedGridFadeCenter","dashedGridFadeTopLeft","dashedGridFadeTopRight","dashedGridFadeBottomLeft","dashedGridFadeBottomRight","diagonalCrossBasic","diagonalCrossFadeTop","diagonalCrossFadeBottom","diagonalCrossFadeCenter","diagonalCrossFadeTopLeft","diagonalCrossFadeTopRight","diagonalCrossFadeBottomLeft","diagonalCrossFadeBottomRight","gridBasic","gridFadeTop","gridFadeBottom","gridFadeCenter","gridFadeTopLeft","gridFadeTopRight","gridFadeBottomLeft","gridFadeBottomRight","gridDotsBasic","gridDotsFadeCenter","gradientGlowTop","gradientGlowBottom","spotlightLeft","spotlightRight","radialGradientTop","radialGradientBottom"],"required":false},"patternOpacity":{"type":"number","description":"Pattern overlay opacity (0-1)","required":false},"layoutVariant":{"type":"string","description":"Layout variant for the navbar","typeLabel":"NavbarLayoutVariant","enum":["fullScreenContainerizedLinks","fullScreenFullWidthLinks","floatingBar"],"required":false},"optixFlowConfig":{"type":"object","description":"OptixFlow image optimization configuration","fields":{"apiKey":{"type":"string","description":"API key for OptixFlow service","required":true},"compression":{"type":"number","description":"Compression level (0-100)","required":false}},"typeLabel":"OptixFlowConfig","required":false},"sectionId":{"type":"string","description":"Optional Section ID","required":false},"navigation[].links":{"type":"object","description":"","minItems":1,"maxItems":6}},"exampleProps":{"logo":{"url":"/","src":"https://cdn.ing/assets/i/r/287635/1tmeh86afyxszfz7hbmvcc0oct8w/logo-dark.png","title":"Design Studio","alt":"Design Studio Logo"},"navigation":[{"title":"Services","links":[{"label":"Brand Identity","description":"Complete brand design packages","url":"#","image":"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"},{"label":"Web Design","description":"Modern and responsive websites","url":"#","image":"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"},{"label":"UI/UX Design","description":"User-centered design solutions","url":"#","image":"https://cdn.ing/assets/i/r/308196/g6bbn73f7gxal82uu49m9prfd0u8/workplace-in-cafe.webp"}]},{"title":"Portfolio","url":"#"},{"title":"About","url":"#"},{"title":"Contact","url":"#"}],"authActions":[{"label":"Get a Quote","variant":"default","href":"#","asButton":true}]},"dependencies":["@opensite/ui"],"tags":["navbar","navigation","image-preview","hover-preview","visual","creative","portfolio","e-commerce","fixed","scroll-aware"],"performance":{},"importantUsageNotes":"All media src values must be absolute URLs to real assets; relative paths and placeholder media variables are not allowed. Dropdown links that should show image previews must include an 'image' absolute URL. The 'navigation' prop uses 'title' and optional 'links' (MenuLink[]) or 'url' for flat links. url The component listens to scroll events — do not wrap in a scroll-locked container.","usageRequirements":{"requiredProps":["logo","navigation"],"mediaSlots":{"logo":{"path":"logo","roles":["logo"],"disallowedRoles":["favicon","video-thumbnail"],"minPixelClass":"small","required":true,"note":"Brand logo. LOGO IMAGE ONLY. Do not use photos, favicons, or video assets."},"navigation[].links[].image":{"path":"navigation[].links[].image","roles":["feature"],"disallowedRoles":["logo","favicon","video-thumbnail"],"minPixelClass":"large","required":true,"note":"Preview image shown on hover of each dropdown link. IMAGE MEDIA ONLY. Do not use logos, favicons, or video assets."}},"propConstraints":{"navigation":{"minItems":2,"maxItems":6},"navigation[].links":{"minItems":1,"maxItems":6},"authActions":{"minItems":0,"maxItems":2}}}}},"timestamp":"2026-08-27T08:42:30.485Z"}