{"version":3,"file":"StructuredData.BEe9Ebcq.mjs","names":["useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/3YFFIkZZhMN8MhOl9EIa/VlkAmbMN87qvyBfbFWRK/StructuredData.js"],"sourcesContent":["import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useMemo}from\"react\";function parseJSON(value){const trimmed=value?.trim?.()??\"\";if(!trimmed)return null;try{return JSON.parse(trimmed);}catch{return null;}}function toJsonLdScript(data){const json=JSON.stringify(data).replace(/</g,\"\\\\u003c\");return json;}function parseFaqItems(value){const parsedFaq=parseJSON(value);if(Array.isArray(parsedFaq)){return parsedFaq.map(item=>{const question=typeof item?.question===\"string\"?item.question.trim():typeof item?.name===\"string\"?item.name.trim():\"\";const answer=typeof item?.answer===\"string\"?item.answer.trim():typeof item?.text===\"string\"?item.text.trim():\"\";if(!question||!answer)return null;return{question,answer};}).filter(item=>Boolean(item));}const lines=(value||\"\").split(/\\r?\\n/).map(line=>line.trim()).filter(Boolean);return lines.map(line=>{const separatorIndex=line.indexOf(\"|||\");if(separatorIndex===-1)return null;const question=line.slice(0,separatorIndex).trim();const answer=line.slice(separatorIndex+3);if(!question||!answer.trim())return null;return{question,answer};}).filter(item=>Boolean(item));}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function StructuredData(props){const{schemaType,faqItems,eventData,pageUrl}=props;const normalizedPageUrl=useMemo(()=>{const url=(pageUrl||\"\").trim();return url||\"https://abokigrill.com\";},[pageUrl]);const restaurantId=useMemo(()=>`${normalizedPageUrl.replace(/\\/+$/,\"\")}#aboki-grill`,[normalizedPageUrl]);const scriptContents=useMemo(()=>{if(schemaType===\"Restaurant\"){const restaurantSchema={\"@context\":\"https://schema.org\",\"@type\":[\"Restaurant\",\"LocalBusiness\"],\"@id\":restaurantId,name:\"Aboki Grill\",servesCuisine:\"Nigerian\",priceRange:\"$$\",telephone:\"+1 236 869 4635\",address:{\"@type\":\"PostalAddress\",streetAddress:\"1205 E Hastings St B3\",addressLocality:\"Vancouver\",addressRegion:\"BC\",addressCountry:\"CA\"},url:normalizedPageUrl};return[toJsonLdScript(restaurantSchema)];}if(schemaType===\"FAQPage\"){const parsedFaq=parseFaqItems(faqItems);if(parsedFaq.length===0)return[];const mainEntity=parsedFaq.map(item=>{return{\"@type\":\"Question\",name:item.question,acceptedAnswer:{\"@type\":\"Answer\",text:item.answer}};}).filter(Boolean);if(mainEntity.length===0)return[];const faqSchema={\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"@id\":`${normalizedPageUrl.replace(/\\/+$/,\"\")}#faq`,mainEntity};return[toJsonLdScript(faqSchema)];}if(schemaType===\"Menu\"){const menuSchema={\"@context\":\"https://schema.org\",\"@type\":\"Menu\",\"@id\":`${normalizedPageUrl.replace(/\\/+$/,\"\")}#menu`,name:\"Aboki Grill Menu\",inLanguage:\"en\",provider:{\"@type\":[\"Restaurant\",\"LocalBusiness\"],\"@id\":restaurantId,name:\"Aboki Grill\"},url:normalizedPageUrl};return[toJsonLdScript(menuSchema)];}if(schemaType===\"Event\"){const parsedEvent=parseJSON(eventData);if(!parsedEvent||Array.isArray(parsedEvent))return[];const eventSchema={\"@context\":\"https://schema.org\",\"@type\":\"Event\",...parsedEvent};return[toJsonLdScript(eventSchema)];}return[];},[schemaType,faqItems,eventData,normalizedPageUrl,restaurantId]);if(scriptContents.length===0)return null;return /*#__PURE__*/_jsx(_Fragment,{children:scriptContents.map((content,index)=>/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:content}},`${schemaType}-${index}`))});}addPropertyControls(StructuredData,{schemaType:{type:ControlType.Enum,title:\"Schema Type\",options:[\"Restaurant\",\"FAQPage\",\"Menu\",\"Event\"],optionTitles:[\"Restaurant\",\"FAQPage\",\"Menu\",\"Event\"],defaultValue:\"Restaurant\"},faqItems:{type:ControlType.String,title:\"FAQ Items\",displayTextArea:true,defaultValue:\"Do you offer takeout?|||Yes, we offer takeout and delivery options.\",hidden:props=>props.schemaType!==\"FAQPage\"},eventData:{type:ControlType.String,title:\"Event Data\",displayTextArea:true,defaultValue:'{\"name\":\"Aboki Grill Live Music Night\",\"startDate\":\"2026-09-12T19:00:00-07:00\",\"location\":{\"@type\":\"Place\",\"name\":\"Aboki Grill\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"1205 E Hastings St B3\",\"addressLocality\":\"Vancouver\",\"addressRegion\":\"BC\",\"addressCountry\":\"CA\"}}}',hidden:props=>props.schemaType!==\"Event\"},pageUrl:{type:ControlType.String,title:\"Page URL\",placeholder:\"https://example.com/page\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructuredData\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredData.map"],"mappings":"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"}