{"success":true,"data":{"block":{"id":"navbar-sidebar-mobile","name":"Navbar Sidebar Mobile","title":"NavBar Sidebar Mobile","category":"Navbar","categorySlug":"navbar","description":"A navigation bar with a slide-out sidebar for mobile devices. Features standard horizontal navigation menu on desktop with dropdown menus containing icons, titles, and descriptions. Mobile view uses a slide-out sidebar from the left with accordion navigation and additional footer links. The sidebar includes a header with logo and close button, providing an app-like mobile navigation experience. Ideal for applications, dashboards, and websites that want a more immersive mobile navigation pattern.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290172/ooqi12d1ja2tr0gk1m80jr51apur/navbar-sidebar-mobile-desktop.png","mobile":"https://cdn.ing/assets/i/r/290173/jqxno5pq9newdrsdgr9ea3to41zx/navbar-sidebar-mobile-mobile.png"},"componentPath":"blocks/navbars/navbar-sidebar-mobile.tsx","code":"import { NavbarSidebarMobile } from \"@opensite/ui/blocks/navbars/navbar-sidebar-mobile\";\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      <NavbarSidebarMobile\n      logo={{\n        url: \"/\",\n        src: brandLogoPlaceholders.black[0],\n        title: \"AppName\",\n        alt: \"AppName Logo\",\n      }}\n      menu={[\n        {\n          title: \"Dashboard\",\n          url: \"#\",\n        },\n        {\n          title: \"Projects\",\n          items: [\n            { title: \"All Projects\", url: \"#\", icon: \"lucide/package\" },\n            { title: \"Recent\", url: \"#\", icon: \"lucide/code-2\" },\n            { title: \"Favorites\", url: \"#\", icon: \"lucide/file-text\" },\n          ],\n        },\n        {\n          title: \"Team\",\n          items: [\n            { title: \"Members\", url: \"#\", icon: \"lucide/users\" },\n            { title: \"Invitations\", url: \"#\", icon: \"lucide/mail\" },\n            { title: \"Settings\", url: \"#\", icon: \"lucide/settings\" },\n          ],\n        },\n        {\n          title: \"Analytics\",\n          url: \"#\",\n        },\n        {\n          title: \"Settings\",\n          items: [\n            { title: \"Profile\", url: \"#\", icon: \"lucide/user\" },\n            { title: \"Billing\", url: \"#\", icon: \"lucide/credit-card\" },\n            { title: \"Preferences\", url: \"#\", icon: \"lucide/sliders\" },\n          ],\n        },\n      ]}\n      authActions={[\n        {\n          label: \"Upgrade Plan\",\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","sidebar","slide-out","mobile","app-like","accordion","dashboard","application","immersive"],"performance":{},"importantUsageNotes":"Use this navbar when mobile-first navigation is critical and the site has grouped navigation sections that benefit from a slide-in sidebar drawer on mobile — well suited for apps, dashboards, and tool sites where items naturally cluster into groups like Projects, Team, and Settings. The demo uses 5 top-level 'menu' items: 2 flat href links (Dashboard, Analytics) and 3 items with expandable 'items' sub-arrays of 3 icon-linked entries each (Projects, Team, Settings); keep top-level items to 4-7 and sub-items to 2-4 per group, each with 'title', 'url', and a lucide 'icon' name. 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. The 'authActions' prop drives the right-side action — use 1 action with 'default' variant; if you supply 2, use 'outline' for the second. Only use real internal route hrefs and important external URLs — do not invent or guess routes. The sidebar IS the mobile menu for this block — do not strip it or override its behavior; it is the primary mobile navigation mechanism. 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:04.215Z"}