{"success":true,"data":{"block":{"id":"hero-mobile-app-download","name":"Mobile App Download Hero","title":"Hero Mobile App Download","category":"Hero","categorySlug":"hero","description":"A hero for mobile apps with download buttons. Features app store badges, phone mockup, and ratings.","thumbnail":{"desktop":"https://cdn.ing/assets/i/r/290383/coe3dhtbdvx93i1wgqtjhxoed51p/cleanshot-2026-02-18-at-12-56-33.png","mobile":"https://cdn.ing/assets/i/r/290382/f0nnmsvdp90i04ezpuukbgwsvsa6/cleanshot-2026-02-18-at-12-56-47.png"},"componentPath":"blocks/hero/hero-mobile-app-download.tsx","code":"import { imagePlaceholders } from \"@/lib/media\";\nimport { HeroMobileAppDownload } from \"@opensite/ui/blocks/hero/hero-mobile-app-download\";\n\nexport default function Demo() {\n  return (\n    <HeroMobileAppDownload\n      badgeText=\"Now on Mobile\"\n      badgeIcon=\"lucide/smartphone\"\n      heading=\"Take us with you, everywhere\"\n      description=\"Download our mobile app and access all your favorite features on the go. Available for iOS and Android.\"\n      storeActions={[\n        {\n          href: \"#\",\n          label: \"Download on the\",\n          storePrefix: \"Download on the\",\n          storeName: \"App Store\",\n          storeIcon: \"cib/apple\",\n        },\n        {\n          href: \"#\",\n          label: \"Get it on\",\n          storePrefix: \"Get it on\",\n          storeName: \"Google Play\",\n          storeIcon: \"cib/google\",\n        },\n      ]}\n      ratingValue=\"4.9\"\n      ratingLabel=\"from 50K+ reviews\"\n      starCount={5}\n      image={{ src: imagePlaceholders[110], alt: \"Mobile app screenshot\" }}\n      background=\"gray\"\n      pattern=\"crossPattern\"\n      patternOpacity={0.15}\n    />\n  );\n}","propsSchema":{"badgeText":{"type":"object","description":"Badge text","typeLabel":"React.ReactNode","required":false},"badgeIcon":{"type":"string","description":"Badge icon name","required":false},"badgeSlot":{"type":"object","description":"Custom slot for badge (overrides badge props)","typeLabel":"React.ReactNode","required":false},"heading":{"type":"object","description":"Main heading content","typeLabel":"React.ReactNode","required":false},"description":{"type":"object","description":"Description text below heading","typeLabel":"React.ReactNode","required":false},"storeActions":{"type":"array","description":"Array of app store 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},"storePrefix":{"type":"string","description":"Store label prefix (e.g., \"Download on the\")","required":false},"storeName":{"type":"string","description":"Store name (e.g., \"App Store\")","required":false},"storeIcon":{"type":"string","description":"Store icon name","required":false}},"typeLabel":"AppStoreAction"},"typeLabel":"AppStoreAction[]","required":false},"storeActionsSlot":{"type":"object","description":"Custom slot for store actions (overrides storeActions array)","typeLabel":"React.ReactNode","required":false},"ratingValue":{"type":"string","description":"Rating value (e.g., \"4.9\")","required":false},"ratingLabel":{"type":"object","description":"Rating label (e.g., \"rating from 50K+ reviews\")","typeLabel":"React.ReactNode","required":false},"starCount":{"type":"number","description":"Number of stars to display","required":false},"ratingSlot":{"type":"object","description":"Custom slot for rating section (overrides rating props)","typeLabel":"React.ReactNode","required":false},"image":{"type":"object","description":"Mobile app screenshot image","fields":{"src":{"type":"string","description":"Image source URL","required":true},"alt":{"type":"string","description":"Alt text for accessibility","required":true},"href":{"type":"string","description":"Optional link URL","required":false},"className":{"type":"string","description":"Additional CSS classes for the image","required":false}},"typeLabel":"ImageItem","required":false},"imageSlot":{"type":"object","description":"Custom slot for image (overrides image prop)","typeLabel":"React.ReactNode","required":false},"notification":{"type":"object","description":"Notification popup configuration","fields":{"icon":{"type":"string","description":"Notification icon name","required":false},"iconBgClass":{"type":"string","description":"Icon background class","required":false},"iconColorClass":{"type":"string","description":"Icon color class","required":false},"title":{"type":"string","description":"Notification title","required":false},"subtitle":{"type":"string","description":"Notification subtitle","required":false}},"typeLabel":"NotificationItem","required":false},"notificationSlot":{"type":"object","description":"Custom slot for notification (overrides notification prop)","typeLabel":"React.ReactNode","required":false},"background":{"type":"string","description":"","typeLabel":"SectionBackground","required":false},"spacing":{"type":"object","description":"Vertical spacing for the section","fields":{},"typeLabel":"SectionSpacing","required":false},"pattern":{"type":"object","description":"Optional background pattern name","fields":{},"typeLabel":"PatternName","required":false},"patternOpacity":{"type":"number","description":"Pattern overlay opacity (0-1)","required":false},"className":{"type":"string","description":"Additional CSS classes for the section","required":false},"containerClassName":{"type":"string","description":"Additional CSS classes for the container","required":false},"contentClassName":{"type":"string","description":"Additional CSS classes for the content column","required":false},"headingClassName":{"type":"string","description":"Additional CSS classes for the heading","required":false},"descriptionClassName":{"type":"string","description":"Additional CSS classes for the description","required":false},"imageClassName":{"type":"string","description":"Additional CSS classes for the image container","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}},"defaultProps":{},"dependencies":["@opensite/ui"],"tags":["hero","mobile","app","download","ios","android","phone","ratings"],"performance":{},"importantUsageNotes":"Only use if you have valid app store links to supply for the 'storeActions' prop. Only populate the 'ratingValue', 'starCount' and 'ratingLabel' props if you have accurate values to provide - DO NOT MAKE THEM UP. Do not exceed 20 characters for the 'badgeText' prop. Do not exceed 40 characters for the 'heading' prop. Do not exceed 130 characters for the 'description' prop. Follow the example props closely for this block."}},"timestamp":"2026-05-13T10:42:46.782Z"}