{"version":3,"file":"StructuredData.lHdBeAwE.mjs","names":["__esmMin","p","c","init_jsx_runtime","init_framer_D6uXRwWs","RenderTarget","addPropertyControls","ControlType","imgSrc","img","clean","out","k","v","obj","isoDate","d","pageUrl","base","path","slug","SITE","organization","BRAND","buildSchema","url","stats","l","price","gtin","offer","StructuredData","json","props","onCanvas","isProduct","isArticle","init_StructuredData"],"sources":["https:/framerusercontent.com/modules/RSkZo0vWM2MiMDSmbmOQ/SkXX70SCDqUpXVhs3esE/StructuredData.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// Emits a schema.org JSON-LD <script> so search engines and AI answer\n// engines can read product, article and organisation facts directly.\n// Invisible on the live site; shows a small label on the canvas only.\nconst SITE=\"https://www.mitchell-acoustics.com\";const BRAND=\"Mitchell Acoustics\";function imgSrc(img){if(!img)return undefined;if(typeof img===\"string\")return img||undefined;return img.src||undefined;}function clean(obj){const out={};for(const[k,v]of Object.entries(obj)){if(v===undefined||v===null||v===\"\")continue;if(Array.isArray(v)&&v.length===0)continue;out[k]=v;}return out;}function isoDate(d){if(!d)return undefined;const t=new Date(d);return isNaN(t.getTime())?undefined:t.toISOString().slice(0,10);}function pageUrl(path,slug){const base=(path||\"/\").replace(/\\/+$/,\"\");return slug?`${SITE}${base}/${slug}`:`${SITE}${base||\"/\"}`;}function organization(){return{\"@type\":\"Organization\",\"@id\":`${SITE}/#organization`,name:BRAND,url:`${SITE}/`,logo:\"https://framerusercontent.com/images/ujtc8LddKiUBVC1zTZCN2HIx948.png\",slogan:\"Designed in Britain. Built for the world.\",email:\"info@mitchell-acoustics.com\"};}function buildSchema(p){const url=pageUrl(p.path,p.slug);if(p.schemaType===\"Organization\"){return{\"@context\":\"https://schema.org\",\"@graph\":[organization(),{\"@type\":\"WebSite\",\"@id\":`${SITE}/#website`,name:BRAND,url:`${SITE}/`,description:p.description||undefined,publisher:{\"@id\":`${SITE}/#organization`}}]};}if(p.schemaType===\"Article\"){return clean({\"@context\":\"https://schema.org\",\"@type\":\"Article\",headline:p.name,description:p.description,image:imgSrc(p.image),datePublished:isoDate(p.date),author:p.author?{\"@type\":\"Person\",name:p.author}:undefined,publisher:organization(),mainEntityOfPage:url,url});}const stats=[[p.stat1Label,p.stat1Value],[p.stat2Label,p.stat2Value],[p.stat3Label,p.stat3Value],[p.stat4Label,p.stat4Value]].filter(([l,v])=>l&&v).map(([l,v])=>({\"@type\":\"PropertyValue\",name:l,value:v}));const price=parseFloat(String(p.price||\"\").replace(/[^0-9.]/g,\"\"));const gtin=String(p.gtin||\"\").replace(/\\D/g,\"\");const offer=price>0?clean({\"@type\":\"Offer\",price:price.toFixed(2),priceCurrency:p.currency||\"GBP\",url,seller:{\"@type\":\"Organization\",name:BRAND},warranty:p.warrantyYears>0?{\"@type\":\"WarrantyPromise\",durationOfWarranty:{\"@type\":\"QuantitativeValue\",value:p.warrantyYears,unitCode:\"ANN\"}}:undefined}):undefined;return clean({\"@context\":\"https://schema.org\",\"@type\":\"Product\",name:p.name,description:p.description,image:imgSrc(p.image),sku:p.sku,gtin13:gtin.length===13?gtin:undefined,category:p.category,brand:{\"@type\":\"Brand\",name:BRAND},manufacturer:{\"@id\":`${SITE}/#organization`},additionalProperty:stats,offers:offer,url});}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function StructuredData(props){const json=JSON.stringify(buildSchema(props)).replace(/</g,\"\\\\u003c\");const onCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsxs(\"div\",{style:onCanvas?{font:\"11px/1.4 monospace\",color:\"#C4974A\",padding:4,border:\"1px dashed #C4974A\"}:{display:\"contents\"},children:[onCanvas?`Structured data: ${props.schemaType}`:null,/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:json}})]});}StructuredData.defaultProps={schemaType:\"Product\",currency:\"GBP\",warrantyYears:2,path:\"/\"};const isProduct=p=>p.schemaType!==\"Product\";const isArticle=p=>p.schemaType!==\"Article\";addPropertyControls(StructuredData,{schemaType:{type:ControlType.Enum,title:\"Type\",options:[\"Product\",\"Article\",\"Organization\"]},name:{type:ControlType.String,title:\"Name\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true},image:{type:ControlType.ResponsiveImage,title:\"Image\"},path:{type:ControlType.String,title:\"Page Path\"},slug:{type:ControlType.String,title:\"Slug\"},sku:{type:ControlType.String,title:\"SKU\",hidden:isProduct},gtin:{type:ControlType.String,title:\"EAN\",hidden:isProduct},category:{type:ControlType.String,title:\"Category\",hidden:isProduct},price:{type:ControlType.String,title:\"Price\",hidden:isProduct},currency:{type:ControlType.String,title:\"Currency\",hidden:isProduct},warrantyYears:{type:ControlType.Number,title:\"Warranty Yrs\",min:0,max:10,hidden:isProduct},stat1Label:{type:ControlType.String,title:\"Stat 1 Label\",hidden:isProduct},stat1Value:{type:ControlType.String,title:\"Stat 1 Value\",hidden:isProduct},stat2Label:{type:ControlType.String,title:\"Stat 2 Label\",hidden:isProduct},stat2Value:{type:ControlType.String,title:\"Stat 2 Value\",hidden:isProduct},stat3Label:{type:ControlType.String,title:\"Stat 3 Label\",hidden:isProduct},stat3Value:{type:ControlType.String,title:\"Stat 3 Value\",hidden:isProduct},stat4Label:{type:ControlType.String,title:\"Stat 4 Label\",hidden:isProduct},stat4Value:{type:ControlType.String,title:\"Stat 4 Value\",hidden:isProduct},author:{type:ControlType.String,title:\"Author\",hidden:isArticle},date:{type:ControlType.Date,title:\"Published\",hidden:isArticle}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructuredData\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredData.map"],"mappings":"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"}