{"version":3,"file":"StructuredData.ckUH4DOh.mjs","names":[],"sources":["https:/framerusercontent.com/modules/YjMIRRUOwaTYQnbf7aU7/RYnyeJHbXEo5l6xeZHQn/StructuredData.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";// Renders schema.org JSON-LD for search engines and AI assistants.\n// It outputs a single <script type=\"application/ld+json\"> and nothing visible.\nconst BASE=\"https://thereset.cc\";const ORG_ID=BASE+\"/#organization\";const SITE_ID=BASE+\"/#website\";const FOUNDER_ID=BASE+\"/coaches/zack-morris#person\";const LOGO=\"https://framerusercontent.com/images/wj95qRDiUmL8SIqKeCGb6nYliCo.png\";const SITE_DESCRIPTION=\"Pro-level cycling coaching with a team environment for amateur athletes racing the UCI Gran Fondo World Series: your own coach, a season roadmap to Worlds, team race camps with full staff, and the team bike and kit.\";function clean(value){return typeof value===\"string\"?value.trim():\"\";}function imageUrl(image){const src=image&&clean(image.src);if(!src)return undefined;return src.split(\"?\")[0];}function siteGraph(){return{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"SportsOrganization\",\"@id\":ORG_ID,name:\"reset cc\",url:BASE+\"/\",logo:LOGO,description:SITE_DESCRIPTION,sport:\"Cycling\",address:{\"@type\":\"PostalAddress\",addressLocality:\"Girona\",addressCountry:\"ES\"},founder:{\"@id\":FOUNDER_ID},sameAs:[\"https://www.instagram.com/_resetcc/\",\"https://www.linkedin.com/company/resetcc/\"]},{\"@type\":\"WebSite\",\"@id\":SITE_ID,url:BASE+\"/\",name:\"reset cc\",description:SITE_DESCRIPTION,inLanguage:\"en\",publisher:{\"@id\":ORG_ID}},{\"@type\":\"Person\",\"@id\":FOUNDER_ID,name:\"Zack Morris\",jobTitle:\"Founder and Head Coach\",url:BASE+\"/coaches/zack-morris\",worksFor:{\"@id\":ORG_ID}}]};}function person(p){const name=clean(p.name);const slug=clean(p.slug);if(!name||!slug)return null;const url=BASE+\"/coaches/\"+slug;// \"Zack Morris, Founder and Head Coach | reset cc\" -> \"Founder and Head Coach\"\nconst title=clean(p.seoTitle);const match=title.match(/,\\s*([^|]+?)\\s*\\|/);return{\"@context\":\"https://schema.org\",\"@type\":\"Person\",\"@id\":url+\"#person\",name,url,jobTitle:match?match[1]:undefined,description:clean(p.description)||undefined,image:imageUrl(p.image),worksFor:{\"@id\":ORG_ID}};}function article(p){const name=clean(p.name);const slug=clean(p.slug);if(!name||!slug)return null;const url=BASE+\"/blogs/\"+slug+\"/\";return{\"@context\":\"https://schema.org\",\"@type\":\"BlogPosting\",\"@id\":url+\"#article\",headline:name,description:clean(p.description)||undefined,image:imageUrl(p.image),url,mainEntityOfPage:url,inLanguage:\"en\",author:{\"@id\":ORG_ID},publisher:{\"@id\":ORG_ID},isPartOf:{\"@id\":SITE_ID}};}function event(p){const name=clean(p.name);const slug=clean(p.slug);const start=clean(p.startDate);const dateText=clean(p.dateText);// Only describe camps with confirmed dates that are still on the calendar.\nif(!name||!slug||!start||p.archived)return null;if(/confirm|early|about|tbc|tbd/i.test(dateText))return null;// Skip camps whose start date has already passed.\nconst startTime=Date.parse(start);if(!isNaN(startTime)&&startTime<Date.now())return null;const url=BASE+\"/camps/\"+slug;const place=clean(p.place);// Location is required for an Event, so skip camps without one.\nif(!place)return null;return{\"@context\":\"https://schema.org\",\"@type\":\"Event\",\"@id\":url+\"#event\",name,description:clean(p.description)||undefined,url,image:imageUrl(p.image),startDate:start.slice(0,10),eventStatus:\"https://schema.org/EventScheduled\",eventAttendanceMode:\"https://schema.org/OfflineEventAttendanceMode\",location:{\"@type\":\"Place\",name:place,address:place},organizer:{\"@id\":ORG_ID}};}// FAQ format: \"Question ~~ Answer ## Question ~~ Answer\"\nfunction parseFaq(text){return clean(text).split(\"##\").map(pair=>pair.split(\"~~\")).filter(pair=>pair.length===2);}function faq(p){const pairs=parseFaq(p.faqJson||\"\");if(!Array.isArray(pairs)||pairs.length===0)return null;const items=pairs.filter(x=>Array.isArray(x)&&clean(x[0])&&clean(x[1])).map(x=>({\"@type\":\"Question\",name:clean(x[0]),acceptedAnswer:{\"@type\":\"Answer\",text:clean(x[1])}}));if(items.length===0)return null;return{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",mainEntity:items};}function build(p){switch(p.type){case\"site\":return siteGraph();case\"person\":return person(p);case\"article\":return article(p);case\"event\":return event(p);case\"faq\":return faq(p);default:return null;}}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function StructuredData(props){const data=build(props);if(!data)return null;const json=JSON.stringify(data).replace(/</g,\"\\\\u003c\");return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:json}});}StructuredData.defaultProps={type:\"site\",name:\"\",description:\"\",slug:\"\",seoTitle:\"\",startDate:\"\",place:\"\",dateText:\"\",archived:false,faqJson:\"\"};addPropertyControls(StructuredData,{type:{type:ControlType.Enum,title:\"Schema\",options:[\"site\",\"person\",\"article\",\"event\",\"faq\"],optionTitles:[\"Site\",\"Person\",\"Article\",\"Event\",\"FAQ\"],defaultValue:\"site\"},name:{type:ControlType.String,title:\"Name\"},description:{type:ControlType.String,title:\"Description\"},slug:{type:ControlType.String,title:\"Slug\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},seoTitle:{type:ControlType.String,title:\"SEO Title\"},startDate:{type:ControlType.Date,title:\"Start Date\"},place:{type:ControlType.String,title:\"Place\"},dateText:{type:ControlType.String,title:\"Date Text\"},archived:{type:ControlType.Boolean,title:\"Archived\"},faqJson:{type:ControlType.String,title:\"FAQ\",displayTextArea:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructuredData\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructuredData.map"],"mappings":"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"}