{"version":3,"file":"SchemaLD.ps-EnBY3.mjs","names":[],"sources":["https:/framerusercontent.com/modules/UPBnQ0Pg8E4YaHxztLGO/aQYPADBi52A5TW73VyIj/SchemaLD.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Schema LD — emits JSON-LD structured data for the Workout Library pages.\n *\n * Renders nothing visible. Outputs, depending on `kind`:\n *   - BreadcrumbList  (the only one that still produces a Google rich result)\n *   - WebPage         (ties the page into the site graph, as /coach and / already do)\n *   - ExercisePlan    (workout pages only — correct semantics, read by AI search)\n *\n * FAQPage is deliberately NOT emitted: Google deprecated FAQ rich results on\n * 7 May 2026, so the markup buys nothing in Search.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function SchemaLD(props){const{kind=\"Workout\",baseUrl=\"https://joinvekta.com\",libraryPath=\"/workout-library\",libraryName=\"Workout Library\",pathPrefix=\"/workout-library/\",slug=\"\",title=\"\",description=\"\",stimulusName=\"\",stimulusSlug=\"\",sourceName=\"\",duration=0,intensity=\"\",rpe=0,datePublished=\"2026-09-01\",dateModified=\"\",enabled=true}=props;if(!enabled)return null;const base=String(baseUrl).replace(/\\/+$/,\"\");const clean=s=>String(s||\"\").trim();const abs=p=>base+(p.startsWith(\"/\")?p:\"/\"+p);const pageUrl=kind===\"Hub\"?abs(libraryPath):abs(String(pathPrefix)+clean(slug));// ---- breadcrumb trail -------------------------------------------------\nconst trail=[{name:\"Vekta\",url:base+\"/\"},{name:clean(libraryName)||\"Workout Library\",url:abs(libraryPath)}];// derived from libraryPath, never hardcoded — the live path has changed once already\nconst libRoot=\"/\"+String(libraryPath).replace(/^\\/+|\\/+$/g,\"\");if(kind!==\"Hub\"&&clean(stimulusName)){trail.push({name:clean(stimulusName),url:abs(libRoot+\"/stimulus/\"+clean(stimulusSlug))});}// only a workout gets its own crumb; on a stimulus page the stimulus IS the page\nif(kind===\"Workout\"&&clean(title)){trail.push({name:clean(title),url:pageUrl});}const graph=[{\"@type\":\"BreadcrumbList\",\"@id\":pageUrl+\"#breadcrumb\",itemListElement:trail.map((t,i)=>({\"@type\":\"ListItem\",position:i+1,name:t.name,item:t.url}))},{\"@type\":\"WebPage\",\"@id\":pageUrl+\"#webpage\",url:pageUrl,name:clean(title),description:clean(description),inLanguage:\"en\",datePublished:clean(datePublished),dateModified:clean(dateModified)||clean(datePublished),isPartOf:{\"@id\":base+\"/#website\"},publisher:{\"@id\":base+\"/#organization\"},breadcrumb:{\"@id\":pageUrl+\"#breadcrumb\"}}];// ---- the workout itself ----------------------------------------------\nif(kind===\"Workout\"){const mins=Number(duration)||0;const plan={\"@type\":\"ExercisePlan\",\"@id\":pageUrl+\"#workout\",name:clean(title),description:clean(description),url:pageUrl,mainEntityOfPage:{\"@id\":pageUrl+\"#webpage\"},activityFrequency:\"As prescribed by the coach\",isPartOf:{\"@id\":base+\"/#organization\"}};if(mins>0)plan.activityDuration=\"PT\"+Math.round(mins)+\"M\";if(clean(stimulusName))plan.exerciseType=clean(stimulusName)+\" cycling workout\";const bits=[];if(clean(intensity))bits.push(clean(intensity)+\" intensity\");if(Number(rpe)>0)bits.push(\"RPE \"+Number(rpe));if(bits.length)plan.intensity=bits.join(\", \");// the CMS field is often \"Coach Name | Team\", which is not a person's name\nconst who=clean(sourceName).split(\"|\")[0].replace(/\\s+/g,\" \").trim();if(who)plan.author={\"@type\":\"Person\",name:who};graph.push(plan);}// ---- collection pages list their workouts ----------------------------\nif(kind===\"Hub\"||kind===\"Stimulus\"){graph.push({\"@type\":\"CollectionPage\",\"@id\":pageUrl+\"#collection\",url:pageUrl,name:clean(title),isPartOf:{\"@id\":pageUrl+\"#webpage\"},about:kind===\"Stimulus\"&&clean(stimulusName)?{\"@type\":\"Thing\",name:clean(stimulusName)}:{\"@type\":\"Thing\",name:\"Cycling workouts\"}});}const data={\"@context\":\"https://schema.org\",\"@graph\":graph};return /*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(data)}});}addPropertyControls(SchemaLD,{kind:{type:ControlType.Enum,title:\"Page type\",options:[\"Hub\",\"Stimulus\",\"Workout\"],defaultValue:\"Workout\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\"},description:{type:ControlType.String,title:\"Description\",defaultValue:\"\",displayTextArea:true},slug:{type:ControlType.String,title:\"Slug\",defaultValue:\"\"},stimulusName:{type:ControlType.String,title:\"Stimulus\",defaultValue:\"\"},stimulusSlug:{type:ControlType.String,title:\"Stimulus slug\",defaultValue:\"\"},sourceName:{type:ControlType.String,title:\"Coach\",defaultValue:\"\"},duration:{type:ControlType.Number,title:\"Minutes\",defaultValue:0,min:0,max:600,step:1,displayStepper:false},intensity:{type:ControlType.String,title:\"Intensity\",defaultValue:\"\"},rpe:{type:ControlType.Number,title:\"RPE\",defaultValue:0,min:0,max:10,step:1},datePublished:{type:ControlType.String,title:\"Published\",defaultValue:\"2026-09-01\"},dateModified:{type:ControlType.String,title:\"Modified\",defaultValue:\"\"},baseUrl:{type:ControlType.String,title:\"Site URL\",defaultValue:\"https://joinvekta.com\"},libraryPath:{type:ControlType.String,title:\"Library path\",defaultValue:\"/workout_library\"},libraryName:{type:ControlType.String,title:\"Library name\",defaultValue:\"Workout Library\"},pathPrefix:{type:ControlType.String,title:\"Path prefix\",defaultValue:\"/workout_library/\"},enabled:{type:ControlType.Boolean,title:\"On\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SchemaLD\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SchemaLD.map"],"mappings":"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"}