{"version":3,"file":"StructuredData.CD6iMJIv.mjs","names":["useMemo","__esmMin","init_npm_react_18_3_1","pe","init_jsx_runtime","c","addPropertyControls","ControlType","init_framer_BWFVvmND","StructuredData","props","cleanString","value","trimmed","resolveImageUrl","isValidDate","normalized","parsed","normalizedUrls","inputSiteUrl","siteUrl","origin","parsedSite","inputCanonicalPath","canonicalPath","normalizedPath","pageUrl","schemaGraph","cleanedSiteName","siteName","cleanedOrgDescription","organizationDescription","cleanedTelephone","telephone","cleanedStreetAddress","streetAddress","cleanedLocality","locality","cleanedRegion","region","cleanedPostalCode","postalCode","cleanedCountryCode","countryCode","cleanedTitle","title","cleanedDescription","description","cleanedDatePublished","datePublished","cleanedAuthorName","authorName","cleanedImage","image","mode","organizationId","websiteId","address","safeJson","init_StructuredData"],"sources":["https:/framerusercontent.com/modules/WrbbxrqgYz1Ef1nbLICU/F0UmHCC1HzWmITq02g1x/StructuredData.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function StructuredData(props){const{mode,siteUrl,canonicalPath,siteName,organizationDescription,telephone,streetAddress,locality,region,postalCode,countryCode,title,description,datePublished,authorName,image=null}=props;const cleanString=value=>{if(typeof value!==\"string\")return undefined;const trimmed=value.trim();return trimmed.length>0?trimmed:undefined;};const resolveImageUrl=value=>{if(!value)return undefined;if(typeof value===\"string\")return cleanString(value);return cleanString(value.src)??cleanString(value.source)??cleanString(value.url);};const isValidDate=value=>{const normalized=cleanString(value);if(!normalized)return undefined;const parsed=Date.parse(normalized);return Number.isNaN(parsed)?undefined:new Date(parsed).toISOString();};const normalizedUrls=useMemo(()=>{const inputSiteUrl=cleanString(siteUrl);let origin;if(inputSiteUrl){try{const parsedSite=new URL(inputSiteUrl);if(parsedSite.protocol===\"http:\"||parsedSite.protocol===\"https:\"){origin=parsedSite.origin;}}catch{origin=undefined;}}const inputCanonicalPath=cleanString(canonicalPath)??\"/\";const hasScheme=/^[a-zA-Z][a-zA-Z\\d+\\-.]*:\\/\\//.test(inputCanonicalPath);const asPath=hasScheme?undefined:inputCanonicalPath.startsWith(\"/\")?inputCanonicalPath:`/${inputCanonicalPath}`;const normalizedPath=asPath?.replace(/\\/{2,}/g,\"/\");const pageUrl=origin?(()=>{if(!normalizedPath)return undefined;try{return new URL(normalizedPath,origin).toString();}catch{return undefined;}})():undefined;return{origin,pageUrl};},[canonicalPath,siteUrl]);const schemaGraph=useMemo(()=>{const cleanedSiteName=cleanString(siteName)??\"Tenasol\";const cleanedOrgDescription=cleanString(organizationDescription);const cleanedTelephone=cleanString(telephone);const cleanedStreetAddress=cleanString(streetAddress);const cleanedLocality=cleanString(locality);const cleanedRegion=cleanString(region);const cleanedPostalCode=cleanString(postalCode);const cleanedCountryCode=cleanString(countryCode);const cleanedTitle=cleanString(title);const cleanedDescription=cleanString(description);const cleanedDatePublished=isValidDate(datePublished);const cleanedAuthorName=cleanString(authorName);const cleanedImage=resolveImageUrl(image);const origin=normalizedUrls.origin;const pageUrl=normalizedUrls.pageUrl;if(mode===\"Site\"){const organizationId=origin?`${origin}#organization`:undefined;const websiteId=origin?`${origin}#website`:undefined;const address=cleanedStreetAddress||cleanedLocality||cleanedRegion||cleanedPostalCode||cleanedCountryCode?{\"@type\":\"PostalAddress\",...cleanedStreetAddress?{streetAddress:cleanedStreetAddress}:{},...cleanedLocality?{addressLocality:cleanedLocality}:{},...cleanedRegion?{addressRegion:cleanedRegion}:{},...cleanedPostalCode?{postalCode:cleanedPostalCode}:{},...cleanedCountryCode?{addressCountry:cleanedCountryCode}:{}}:undefined;return{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",...organizationId?{\"@id\":organizationId}:{},name:cleanedSiteName,...origin?{url:origin}:{},...cleanedOrgDescription?{description:cleanedOrgDescription}:{},...cleanedTelephone?{telephone:cleanedTelephone}:{},...address?{address}:{}},{\"@type\":\"WebSite\",...websiteId?{\"@id\":websiteId}:{},...origin?{url:origin}:{},name:cleanedSiteName,...organizationId?{publisher:{\"@id\":organizationId}}:{publisher:{\"@type\":\"Organization\",name:cleanedSiteName}}}]};}if(mode===\"Article\"){const organizationId=origin?`${origin}#organization`:undefined;return{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",...pageUrl?{mainEntityOfPage:{\"@type\":\"WebPage\",\"@id\":pageUrl}}:{},...cleanedTitle?{headline:cleanedTitle}:{},...cleanedDescription?{description:cleanedDescription}:{},...cleanedDatePublished?{datePublished:cleanedDatePublished}:{},...cleanedAuthorName?{author:{\"@type\":\"Person\",name:cleanedAuthorName}}:{},...cleanedImage?{image:cleanedImage}:{},...cleanedSiteName?{publisher:{\"@type\":\"Organization\",...organizationId?{\"@id\":organizationId}:{},name:cleanedSiteName,...origin?{url:origin}:{}}}:{},...pageUrl?{url:pageUrl}:{}},{\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",...origin?{item:origin}:{}},{\"@type\":\"ListItem\",position:2,name:\"Blog\",...origin?{item:`${origin}/blog`}:{}},{\"@type\":\"ListItem\",position:3,name:cleanedTitle??\"Article\",...pageUrl?{item:pageUrl}:{}}]}]};}const organizationId=origin?`${origin}#organization`:undefined;return{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Service\",...cleanedTitle?{name:cleanedTitle}:{},...cleanedDescription?{description:cleanedDescription}:{},...pageUrl?{url:pageUrl}:{},...cleanedSiteName?{provider:{\"@type\":\"Organization\",...organizationId?{\"@id\":organizationId}:{},name:cleanedSiteName,...origin?{url:origin}:{}}}:{}},{\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",...origin?{item:origin}:{}},{\"@type\":\"ListItem\",position:2,name:\"Solutions\",...origin?{item:`${origin}/solutions`}:{}},{\"@type\":\"ListItem\",position:3,name:cleanedTitle??\"Solution\",...pageUrl?{item:pageUrl}:{}}]}]};},[authorName,canonicalPath,cleanString,countryCode,datePublished,description,image,isValidDate,locality,mode,organizationDescription,postalCode,region,resolveImageUrl,siteUrl,siteName,streetAddress,telephone,title,normalizedUrls.origin,normalizedUrls.pageUrl]);const safeJson=useMemo(()=>{const raw=JSON.stringify(schemaGraph);return raw.replace(/</g,\"\\\\u003c\").replace(/>/g,\"\\\\u003e\").replace(/&/g,\"\\\\u0026\").replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\");},[schemaGraph]);return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:safeJson}});}addPropertyControls(StructuredData,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"Site\",\"Article\",\"Service\"],optionTitles:[\"Site\",\"Article\",\"Service\"],defaultValue:\"Site\"},siteUrl:{type:ControlType.String,title:\"Site URL\",defaultValue:\"https://tenasol.com\"},canonicalPath:{type:ControlType.String,title:\"Canonical Path\",defaultValue:\"/\"},siteName:{type:ControlType.String,title:\"Site Name\",defaultValue:\"Tenasol\"},organizationDescription:{type:ControlType.String,title:\"Org Description\",defaultValue:\"\",displayTextArea:true},telephone:{type:ControlType.String,title:\"Telephone\",defaultValue:\"\"},streetAddress:{type:ControlType.String,title:\"Street Address\",defaultValue:\"\"},locality:{type:ControlType.String,title:\"Locality\",defaultValue:\"\"},region:{type:ControlType.String,title:\"Region\",defaultValue:\"\"},postalCode:{type:ControlType.String,title:\"Postal Code\",defaultValue:\"\"},countryCode:{type:ControlType.String,title:\"Country Code\",defaultValue:\"\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"\",displayTextArea:true},datePublished:{type:ControlType.String,title:\"Date Published\",defaultValue:\"\",placeholder:\"YYYY-MM-DD\"},authorName:{type:ControlType.String,title:\"Author Name\",defaultValue:\"\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"}});\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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"}