{"version":3,"file":"StructuredDataSchema.CAdSirRC.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/gg08pEFEkjvwLHwhqY7t/cFWFFqPAyjrrMS1VtZN9/StructuredDataSchema.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function stripHtmlAndCollapseWhitespace(value){if(value===null||value===undefined)return\"\";const raw=String(value);const noTags=raw.replace(/<[^>]*>/g,\" \");return noTags.replace(/\\s+/g,\" \").trim();}function normalizeDateToYMD(value){if(value===null||value===undefined||value===\"\")return\"\";if(value instanceof Date&&!isNaN(value.getTime())){return value.toISOString().slice(0,10);}const raw=String(value).trim();if(!raw)return\"\";const ymdMatch=raw.match(/^(\\d{4}-\\d{2}-\\d{2})/);if(ymdMatch)return ymdMatch[1];const parsed=new Date(raw);if(!isNaN(parsed.getTime())){return parsed.toISOString().slice(0,10);}return raw;}function getImageUrl(imageValue){if(!imageValue)return\"\";if(typeof imageValue===\"string\")return imageValue;if(typeof imageValue===\"object\"&&typeof imageValue.src===\"string\"){return imageValue.src;}return\"\";}function omitEmpty(obj){const next={};for(const key in obj){const value=obj[key];if(value!==undefined&&value!==null&&value!==\"\"){next[key]=value;}}return next;}function getResolvedUrl(explicitUrl){if(explicitUrl&&explicitUrl.trim())return explicitUrl.trim();if(typeof window!==\"undefined\"){return`${window.location.origin}${window.location.pathname}`;}return\"\";}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function StructuredDataSchema(props){const{schemaType=\"Location\",organizationId=\"https://cobaltcleanlv.com/#organization\",liveUrl=\"\",schemaId=\"default\",locationCollection=\"Henderson\",neighborhoodName=\"\",shortDescription=\"\",title=\"\",publishDate=\"\",excerpt=\"\",featuredImage=\"\"}=props;const isStaticRenderer=useIsStaticRenderer();const resolvedUrl=useMemo(()=>getResolvedUrl(liveUrl),[liveUrl]);const plainShortDescription=useMemo(()=>stripHtmlAndCollapseWhitespace(shortDescription),[shortDescription]);const plainExcerpt=useMemo(()=>stripHtmlAndCollapseWhitespace(excerpt),[excerpt]);const normalizedPublishDate=useMemo(()=>normalizeDateToYMD(publishDate),[publishDate]);const featuredImageUrl=useMemo(()=>getImageUrl(featuredImage),[featuredImage]);const schemaObject=useMemo(()=>{if(schemaType===\"Location\"){const serviceNode=omitEmpty({\"@type\":\"Service\",serviceType:\"House Cleaning\",provider:organizationId?{\"@id\":organizationId}:undefined,areaServed:neighborhoodName?{\"@type\":\"Place\",name:neighborhoodName}:undefined,description:plainShortDescription,url:resolvedUrl});const homeListItem={\"@type\":\"ListItem\",position:1,name:\"Home\",item:\"https://cobaltcleanlv.com\"};const listItems=locationCollection===\"Areas We Serve\"?[homeListItem,omitEmpty({\"@type\":\"ListItem\",position:2,name:neighborhoodName,item:resolvedUrl})]:[homeListItem,{\"@type\":\"ListItem\",position:2,name:locationCollection,item:locationCollection===\"Henderson\"?\"https://cobaltcleanlv.com/henderson\":\"https://cobaltcleanlv.com/summerlin\"},omitEmpty({\"@type\":\"ListItem\",position:3,name:neighborhoodName,item:resolvedUrl})];const breadcrumbNode={\"@type\":\"BreadcrumbList\",itemListElement:listItems};return{\"@context\":\"https://schema.org\",\"@graph\":[serviceNode,breadcrumbNode]};}const blogNode=omitEmpty({\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",headline:title,datePublished:normalizedPublishDate,description:plainExcerpt,image:featuredImageUrl,author:organizationId?{\"@id\":organizationId}:undefined,publisher:organizationId?{\"@id\":organizationId}:undefined,mainEntityOfPage:resolvedUrl});return blogNode;},[schemaType,organizationId,neighborhoodName,plainShortDescription,resolvedUrl,locationCollection,title,normalizedPublishDate,plainExcerpt,featuredImageUrl]);const scriptId=useMemo(()=>{const safeSchemaId=(schemaId||\"default\").trim().toLowerCase().replace(/\\s+/g,\"-\");return`${schemaType.toLowerCase()}-${safeSchemaId}`;},[schemaType,schemaId]);const serializedSchema=useMemo(()=>JSON.stringify(schemaObject),[schemaObject]);useEffect(()=>{if(typeof document===\"undefined\")return;const attributeValue=`structured-data-schema-${scriptId}`;const selector=`script[data-schema-id=\"${attributeValue}\"]`;const existing=document.head.querySelector(selector);if(existing&&existing.parentNode){existing.parentNode.removeChild(existing);}const script=document.createElement(\"script\");script.type=\"application/ld+json\";script.setAttribute(\"data-schema-id\",attributeValue);script.textContent=serializedSchema;document.head.appendChild(script);return()=>{if(script.parentNode){script.parentNode.removeChild(script);}};},[scriptId,serializedSchema]);if(!isStaticRenderer){return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:1,height:1,opacity:0,overflow:\"hidden\",pointerEvents:\"none\"}});}return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:\"max-content\",minWidth:\"max-content\",padding:\"6px 8px\",borderRadius:6,background:\"#F5F5F5\",color:\"#666\",fontSize:11,lineHeight:1,whiteSpace:\"nowrap\",pointerEvents:\"none\"},children:`JSON-LD: ${schemaType}`});}addPropertyControls(StructuredDataSchema,{schemaType:{type:ControlType.Enum,title:\"Schema Type\",options:[\"Location\",\"Blog\"],optionTitles:[\"Location\",\"Blog\"],defaultValue:\"Location\"},organizationId:{type:ControlType.String,title:\"Organization ID\",defaultValue:\"https://cobaltcleanlv.com/#organization\"},liveUrl:{type:ControlType.String,title:\"Live URL\",defaultValue:\"\",placeholder:\"https://example.com/page\"},schemaId:{type:ControlType.String,title:\"Schema ID\",defaultValue:\"default\"},locationCollection:{type:ControlType.Enum,title:\"Collection\",options:[\"Henderson\",\"Summerlin\",\"Areas We Serve\"],optionTitles:[\"Henderson\",\"Summerlin\",\"Areas We Serve\"],defaultValue:\"Henderson\",hidden:props=>props.schemaType!==\"Location\"},neighborhoodName:{type:ControlType.String,title:\"Neighborhood\",defaultValue:\"\",hidden:props=>props.schemaType!==\"Location\"},shortDescription:{type:ControlType.String,title:\"Description\",defaultValue:\"\",displayTextArea:true,hidden:props=>props.schemaType!==\"Location\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\",hidden:props=>props.schemaType!==\"Blog\"},publishDate:{type:ControlType.String,title:\"Publish Date\",defaultValue:\"\",hidden:props=>props.schemaType!==\"Blog\"},excerpt:{type:ControlType.String,title:\"Excerpt\",defaultValue:\"\",displayTextArea:true,hidden:props=>props.schemaType!==\"Blog\"},featuredImage:{type:ControlType.ResponsiveImage,title:\"Featured Image\",hidden:props=>props.schemaType!==\"Blog\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructuredDataSchema\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredDataSchema.map"],"mappings":"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"}