{"success":true,"data":{"block":{"id":"about-location-info-hero","name":"Location Info Hero","title":"About Location Info Hero","category":"About","categorySlug":"about","description":"A split hero section with headline, action links, contact details, hours breakdown, and a one- or two-image showcase. Ideal for service hubs, flagship offices, or location-driven about pages.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290228/rgpkqt5l5ssgjlsgxjcl9iw1yr7p/cleanshot-2026-02-18-at-02-55-25.png","mobile":"https://cdn.ing/assets/i/r/290227/affjjwcx6mdwsw2qz7c7q7s9a20h/cleanshot-2026-02-18-at-02-55-44.png"},"componentPath":"blocks/about/about-location-info-hero.tsx","code":"import { AboutLocationInfoHero } from \"@opensite/ui/blocks/about/about-location-info-hero\";\nimport { imagePlaceholders } from \"@/lib/media\";\n\nexport default function Demo() {\n  return (\n    <AboutLocationInfoHero\n      headline=\"A Lively, ultramodern sports parlor and dining establishment.\"\n      address=\"123 Innovation Drive, Suite 400, San Francisco, CA 94102\"\n      addressHref=\"#\"\n      phone=\"(555) 123-4567\"\n      phoneHref=\"tel:+15551234567\"\n      actions={[\n        {\n          label: \"Get Directions\",\n          href: \"#\",\n        },\n        {\n          label: \"Schedule a Visit\",\n          href: \"#\",\n        },\n      ]}\n      hoursSections={[\n        {\n          label: \"Hours\",\n          hours: [\n            { day: \"Monday - Friday\", time: \"9:00 AM - 6:00 PM\" },\n            { day: \"Saturday\", time: \"10:00 AM - 2:00 PM\" },\n            { day: \"Sunday\", time: \"Closed\" },\n          ],\n        },\n        {\n          label: \"Happy Hour\",\n          hours: [\n            { day: \"Monday - Friday\", time: \"8:00 AM - 8:00 PM\" },\n            { day: \"Weekend\", time: \"10:00 AM - 4:00 PM\" },\n          ],\n        },\n      ]}\n      images={[\n        {\n          src: imagePlaceholders[134],\n          alt: \"Office exterior\",\n        },\n        {\n          src: imagePlaceholders[133],\n          alt: \"Office interior\",\n        },\n      ]}\n      pattern=\"gridFadeTop\"\n      patternOpacity={0.1}\n      background=\"dark\"\n    />\n  );\n}","propsSchema":{"headline":{"type":"object","description":"Main headline text","typeLabel":"React.ReactNode","required":false},"headlineClassName":{"type":"string","description":"Additional CSS classes for the headline","required":false},"address":{"type":"object","description":"Address text","typeLabel":"React.ReactNode","required":false},"addressHref":{"type":"string","description":"Optional address link","required":false},"addressClassName":{"type":"string","description":"Additional CSS classes for the address","required":false},"phone":{"type":"object","description":"Phone text","typeLabel":"React.ReactNode","required":false},"phoneHref":{"type":"string","description":"Optional phone link","required":false},"phoneClassName":{"type":"string","description":"Additional CSS classes for the phone","required":false},"actions":{"type":"array","description":"Action buttons shown below the headline","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},"actionsSlot":{"type":"object","description":"Custom slot for rendering actions (overrides actions array)","typeLabel":"React.ReactNode","required":false},"actionsClassName":{"type":"string","description":"Additional CSS classes for the actions container","required":false},"hoursSections":{"type":"array","description":"Hours sections to display","items":{"type":"object","description":"","fields":{"label":{"type":"object","description":"Section label","typeLabel":"React.ReactNode","required":false},"hours":{"type":"array","description":"Hours list for the section","items":{"type":"object","description":"","fields":{"day":{"type":"object","description":"Day label","typeLabel":"React.ReactNode","required":false},"time":{"type":"object","description":"Hours text","typeLabel":"React.ReactNode","required":false}},"typeLabel":"AboutLocationInfoHeroHours"},"typeLabel":"AboutLocationInfoHeroHours[]","required":false}},"typeLabel":"AboutLocationInfoHeroHoursSection"},"typeLabel":"AboutLocationInfoHeroHoursSection[]","required":false},"hoursSectionsSlot":{"type":"object","description":"Custom slot for rendering hours sections (overrides hoursSections array)","typeLabel":"React.ReactNode","required":false},"hoursSectionsClassName":{"type":"string","description":"Additional CSS classes for the hours sections container","required":false},"images":{"type":"array","description":"Image list (one or two images recommended)","items":{"type":"object","description":"","fields":{"src":{"type":"string","description":"","required":true},"alt":{"type":"string","description":"","required":true}},"typeLabel":"{ src: string; alt: string }"},"typeLabel":"{ src: string; alt: string }[]","required":false},"imagesSlot":{"type":"object","description":"Custom slot for rendering images (overrides images array)","typeLabel":"React.ReactNode","required":false},"imagesClassName":{"type":"string","description":"Additional CSS classes for the images container","required":false},"contentPosition":{"type":"string","description":"Layout direction on desktop","typeLabel":"\"left\" | \"right\"","required":false},"mobileStackOrder":{"type":"string","description":"Mobile stack order","typeLabel":"\"content-first\" | \"images-first\"","required":false},"accentColor":{"type":"string","description":"Accent color for section labels","required":false},"background":{"type":"string","description":"Section background variant","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Section spacing variant","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Pattern background key or URL","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern opacity (0-1)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section wrapper","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"optixFlowConfig":{"type":"object","description":"Optional Optix Flow configuration for image optimization","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}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["about","location","contact","hours","hero","images","service-center","address","phone","cta"],"performance":{},"importantUsageNotes":"Ensure to not exceed a count of 4 'hours' for each of the 'hoursSections' props. Only populate the 'address', 'addressHref', 'phone', and 'phoneHref' props if you have valid values for them, DO NOT MAKE UP VALUES FOR THEM OR GUESS WHAT THEY ARE. If you supply multiple 'actions', ensure to use a variant of 'default' for the first action, and 'outline' for the second action to ensure proper visual distinction between the two CTAs. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:45:18.113Z"}