{"version":3,"file":"CmsSchema.cGJhwQNi.mjs","names":[],"sources":["https:/framerusercontent.com/modules/Tmi6aoDOR2BPNvf7tDav/uG8TjSp69lp9F0Vi8GAe/CmsSchema.js"],"sourcesContent":["// Structured data (JSON-LD) for CMS detail pages, built from the item's own\n// fields so new and edited items stay correct. Renders nothing visible.\n//\n// As with JsonLd: Framer prints every breakpoint in the page HTML, so keep\n// \"Emit\" on for the Desktop instance only.\n//\n// FAQ: bind \"faq\" to the collection's \"FAQ Schema\" field, a JSON array of\n// {\"q\", \"a\"} pairs filled from the page's FAQ. Any page with FAQs also gets a\n// FAQPage node in the same graph.\n//\n// Kinds: BlogPosting (blog and X algorithm posts), SoftwareApplication (free\n// tools), WebPage (skills, FAQ topics). Every kind also gets a BreadcrumbList:\n// Home > Section > (Subsection) > this page.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";const SITE=\"https://voicemoat.com\";const ORG={\"@id\":`${SITE}/#organization`};const FOUNDER={\"@type\":\"Person\",\"@id\":`${SITE}/#founder`,name:\"Prateek Singh\",url:`${SITE}/about`};function isoDate(v){if(!v)return undefined;const d=new Date(v);return isNaN(d.getTime())?undefined:d.toISOString().slice(0,10);}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function CmsSchema(p){if(!p.emit||!p.slug||!p.name)return null;const url=`${SITE}${p.basePath.replace(/\\/$/,\"\")}/${p.slug}`;const img=p.image?.src?p.image.src.split(\"?\")[0]:undefined;const graph=[];if(p.kind===\"BlogPosting\"){const published=isoDate(p.date);graph.push({\"@type\":\"BlogPosting\",\"@id\":`${url}#article`,headline:p.name,description:p.description||undefined,url,mainEntityOfPage:url,image:img?[img]:undefined,datePublished:published,dateModified:isoDate(p.updated)||published,articleSection:p.section||undefined,inLanguage:\"en-US\",author:FOUNDER,publisher:ORG,isPartOf:{\"@id\":`${SITE}/#website`}});}else if(p.kind===\"SoftwareApplication\"){graph.push({\"@type\":\"SoftwareApplication\",\"@id\":`${url}#app`,name:p.name,description:p.description||undefined,url,applicationCategory:\"BusinessApplication\",operatingSystem:\"Web\",isAccessibleForFree:true,offers:{\"@type\":\"Offer\",price:\"0\",priceCurrency:\"USD\"},publisher:ORG});}else{graph.push({\"@type\":\"WebPage\",\"@id\":`${url}#webpage`,name:p.name,description:p.description||undefined,url,inLanguage:\"en-US\",isPartOf:{\"@id\":`${SITE}/#website`},publisher:ORG});}let faqItems=[];try{const parsed=JSON.parse(p.faq||\"[]\");if(Array.isArray(parsed))faqItems=parsed.filter(x=>x&&typeof x.q===\"string\"&&typeof x.a===\"string\"&&x.q&&x.a);}catch{}if(faqItems.length){graph.push({\"@type\":\"FAQPage\",\"@id\":`${url}#faq`,url,isPartOf:{\"@id\":`${SITE}/#website`},mainEntity:faqItems.map(x=>({\"@type\":\"Question\",name:x.q,acceptedAnswer:{\"@type\":\"Answer\",text:x.a}}))});}const crumbs=[{name:\"Home\",item:SITE},{name:p.crumbName,item:SITE+p.crumbPath}];if(p.crumb2Name&&p.crumb2Path)crumbs.push({name:p.crumb2Name,item:SITE+p.crumb2Path});crumbs.push({name:p.name,item:url});graph.push({\"@type\":\"BreadcrumbList\",\"@id\":`${url}#breadcrumb`,itemListElement:crumbs.map((c,i)=>({\"@type\":\"ListItem\",position:i+1,name:c.name,item:c.item}))});const json=JSON.stringify({\"@context\":\"https://schema.org\",\"@graph\":graph}).replace(/<\\//g,\"</\");return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:json}});}CmsSchema.defaultProps={kind:\"WebPage\",name:\"\",description:\"\",slug:\"\",basePath:\"/\",crumbName:\"\",crumbPath:\"/\",faq:\"\",emit:true};addPropertyControls(CmsSchema,{kind:{type:ControlType.Enum,title:\"kind\",options:[\"BlogPosting\",\"SoftwareApplication\",\"WebPage\"],defaultValue:\"WebPage\"},name:{type:ControlType.String,title:\"name\",defaultValue:\"\"},description:{type:ControlType.String,title:\"description\",defaultValue:\"\"},slug:{type:ControlType.String,title:\"slug\",defaultValue:\"\"},basePath:{type:ControlType.String,title:\"basePath\",defaultValue:\"/\"},date:{type:ControlType.Date,title:\"date\"},updated:{type:ControlType.Date,title:\"updated\"},image:{type:ControlType.ResponsiveImage,title:\"image\"},section:{type:ControlType.String,title:\"section\",defaultValue:\"\"},crumbName:{type:ControlType.String,title:\"crumbName\",defaultValue:\"\"},crumbPath:{type:ControlType.String,title:\"crumbPath\",defaultValue:\"/\"},crumb2Name:{type:ControlType.String,title:\"crumb2Name\",defaultValue:\"\"},crumb2Path:{type:ControlType.String,title:\"crumb2Path\",defaultValue:\"\"},faq:{type:ControlType.String,title:\"faq\",displayTextArea:true,defaultValue:\"\"},emit:{type:ControlType.Boolean,title:\"emit\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CmsSchema\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CmsSchema.map"],"mappings":"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"}