{"version":3,"file":"StructuredData.CvsCXsov.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/mJX65dGFluew7I2ueYZB/FDYcb7HiVbzpIIaloSBU/StructuredData.js"],"sourcesContent":["// User request: Create a Framer component named StructuredData that renders JSON-LD script tags only (no visible UI), is safe anywhere in layout, exposes schema/article controls, and outputs Schema.org data for Home, Coaching, BlogIndex, BlogArticle, and FAQ using TriTomEndurance defaults.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const BASE_URL=\"https://tritomendurance.com/\";const BRAND_NAME=\"TriTomEndurance\";const COACH_NAME=\"Tamas Banyai\";const SERVICE_DESCRIPTION=\"Personalized online triathlon, Ironman, running, cycling and endurance coaching worldwide using TrainingPeaks, Garmin and performance data.\";function toCanonicalUrl(input){const value=(input??\"\").trim();if(!value)return BASE_URL;if(/^https?:\\/\\//i.test(value))return value;const normalized=value.startsWith(\"/\")?value:`/${value}`;return new URL(normalized,BASE_URL).toString();}function getBaseFromArticleUrl(input){const value=(input??\"\").trim();if(!value)return BASE_URL;if(/^https?:\\/\\//i.test(value)){try{return new URL(\"/\",value).toString();}catch(_error){return BASE_URL;}}return BASE_URL;}function getImageUrl(image){if(typeof image===\"string\")return image;return image?.src??\"\";}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function StructuredData(props){const{schemaType,articleTitle,articleDescription,articleUrl,articleImage={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"},articleDate,articleCategory}=props;const scripts=useMemo(()=>{const siteBaseUrl=getBaseFromArticleUrl(articleUrl);const canonicalUrl=toCanonicalUrl(articleUrl);const imageUrl=getImageUrl(articleImage);const homeUrl=siteBaseUrl;const coachingUrl=new URL(\"/coaching\",siteBaseUrl).toString();const blogIndexUrl=new URL(\"/blog\",siteBaseUrl).toString();const faqUrl=new URL(\"/faq\",siteBaseUrl).toString();const defaultFaqEntities=[{\"@type\":\"Question\",name:\"What is online triathlon coaching?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Remote coaching that combines personalized training plans, feedback, communication and performance data.\"}},{\"@type\":\"Question\",name:\"Who is TriTomEndurance coaching for?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Triathletes, Ironman athletes, runners, cyclists, busy professionals and age-group endurance athletes.\"}},{\"@type\":\"Question\",name:\"Do you coach Ironman athletes?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, coaching can support long-distance triathlon preparation and Ironman race execution.\"}},{\"@type\":\"Question\",name:\"Do you coach beginner triathletes?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, plans can be built around current ability and realistic progression.\"}},{\"@type\":\"Question\",name:\"Can you coach athletes internationally?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, coaching is online and available worldwide.\"}},{\"@type\":\"Question\",name:\"Do you use TrainingPeaks?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, TrainingPeaks can be used to structure training and review completed sessions.\"}},{\"@type\":\"Question\",name:\"Can you analyze Garmin training data?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, Garmin and other performance data can inform training decisions.\"}},{\"@type\":\"Question\",name:\"How is personalized coaching different from a generic training plan?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"It adapts to the athlete’s goals, lifestyle, recovery and response to training.\"}},{\"@type\":\"Question\",name:\"Can you create training around a busy work schedule?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Yes, plans are built around available training time, travel, family and work stress.\"}},{\"@type\":\"Question\",name:\"How do I start coaching with TriTomEndurance?\",acceptedAnswer:{\"@type\":\"Answer\",text:\"Book a free consultation to discuss goals and current training.\"}}];if(schemaType===\"Home\"){return[{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":`${homeUrl}#organization`,name:BRAND_NAME,url:homeUrl},{\"@type\":\"Person\",\"@id\":`${homeUrl}#coach`,name:COACH_NAME,worksFor:{\"@id\":`${homeUrl}#organization`}},{\"@type\":\"ProfessionalService\",\"@id\":`${homeUrl}#service`,name:`${BRAND_NAME} Coaching`,url:homeUrl,description:SERVICE_DESCRIPTION,provider:{\"@id\":`${homeUrl}#organization`}},{\"@type\":\"WebSite\",\"@id\":`${homeUrl}#website`,name:BRAND_NAME,url:homeUrl}]}];}if(schemaType===\"Coaching\"){return[{\"@context\":\"https://schema.org\",\"@type\":\"ProfessionalService\",\"@id\":`${coachingUrl}#service`,name:`${BRAND_NAME} Coaching`,url:coachingUrl,description:articleDescription||SERVICE_DESCRIPTION,provider:{\"@type\":\"Organization\",name:BRAND_NAME,url:homeUrl}},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"@id\":`${coachingUrl}#faq`,url:coachingUrl,mainEntity:defaultFaqEntities}];}if(schemaType===\"BlogIndex\"){return[{\"@context\":\"https://schema.org\",\"@type\":\"Blog\",\"@id\":`${blogIndexUrl}#blog`,name:`${BRAND_NAME} Blog`,url:blogIndexUrl,description:articleDescription||\"Insights and guidance on triathlon, Ironman, running, cycling, and endurance training.\",publisher:{\"@type\":\"Organization\",name:BRAND_NAME,url:homeUrl}}];}if(schemaType===\"BlogArticle\"){const breadcrumbItems=[{\"@type\":\"ListItem\",position:1,name:\"Home\",item:homeUrl},{\"@type\":\"ListItem\",position:2,name:\"Blog\",item:blogIndexUrl},{\"@type\":\"ListItem\",position:3,name:articleTitle||\"Article\",item:canonicalUrl}];return[{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",\"@id\":`${canonicalUrl}#article`,headline:articleTitle||\"TriTomEndurance Article\",description:articleDescription||SERVICE_DESCRIPTION,url:canonicalUrl,image:imageUrl||undefined,datePublished:articleDate||undefined,dateModified:articleDate||undefined,articleSection:articleCategory||undefined,author:{\"@type\":\"Person\",name:COACH_NAME},publisher:{\"@type\":\"Organization\",name:BRAND_NAME,url:homeUrl}},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"@id\":`${canonicalUrl}#breadcrumb`,itemListElement:breadcrumbItems}];}return[{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"@id\":`${faqUrl}#faq`,url:faqUrl,mainEntity:defaultFaqEntities}];},[articleCategory,articleDate,articleDescription,articleImage,articleTitle,articleUrl,schemaType]);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:0,height:0,overflow:\"hidden\",opacity:0,pointerEvents:\"none\"},\"aria-hidden\":true,children:scripts.map((schema,index)=>/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(schema)}},`${schemaType}-${index}`))});}addPropertyControls(StructuredData,{schemaType:{type:ControlType.Enum,title:\"Schema\",options:[\"Home\",\"Coaching\",\"BlogIndex\",\"BlogArticle\",\"FAQ\"],optionTitles:[\"Home\",\"Coaching\",\"Blog Index\",\"Blog Article\",\"FAQ\"],defaultValue:\"Home\"},articleTitle:{type:ControlType.String,title:\"Article Title\",defaultValue:\"TriTomEndurance\"},articleDescription:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:SERVICE_DESCRIPTION},articleUrl:{type:ControlType.String,title:\"Article URL\",defaultValue:\"https://tritomendurance.com/\"},articleImage:{type:ControlType.ResponsiveImage,title:\"Article Image\"},articleDate:{type:ControlType.String,title:\"Article Date\",defaultValue:\"2024-01-01\"},articleCategory:{type:ControlType.String,title:\"Category\",defaultValue:\"Endurance Coaching\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructuredData\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredData.map"],"mappings":"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"}