{"version":3,"file":"RouteMap.gWhy0vQb.mjs","names":["React.useRef","React.useState","React.Fragment","p"],"sources":["https:/framerusercontent.com/modules/qfuY5kkh45V1yV83lSLj/l38aI7lAbzVDHcLXZaPj/RouteMap.js"],"sourcesContent":["// Westerner: Route Map + Pin.\n// Pin: drop one inside a CMS collection list item and bind Lat / Lon / Title / Place / Mile / Link to CMS fields.\n//      It renders an invisible data marker (class \"ws-pin\"), so the CMS stays the single source of truth.\n// RouteMap: draws the engraved map, finds every Pin with the same Group on the page (fixed class + DOM scan,\n//      no per-render ids), places them by lat/lon, and inks the route between them as you scroll.\n// Fallback: if scroll never reports, the route is drawn in full and every pin is lit.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const srcOf=i=>(typeof i===\"string\"?i:i&&i.src)||\"\";/** @framerSupportedLayoutWidth any @framerSupportedLayoutHeight any */export function Pin(props){const{lat,lon,title,place,mile,link,group}=props;const canvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsx(\"span\",{className:\"ws-pin\",\"data-group\":group,\"data-lat\":lat,\"data-lon\":lon,\"data-title\":title,\"data-place\":place,\"data-mile\":mile,\"data-href\":link||\"\",style:{display:\"block\",width:canvas?\"auto\":1,height:canvas?\"auto\":1,overflow:\"hidden\",font:\"500 11px/1.3 'DM Mono',monospace\",color:\"#1B1917\",whiteSpace:\"nowrap\"},children:canvas?`● ${place||title} (${lat}, ${lon})`:\"\"});}Pin.defaultProps={lat:36.1,lon:-112.1,title:\"Story title\",place:\"Place\",mile:0,link:\"\",group:\"route\"};addPropertyControls(Pin,{group:{type:ControlType.String,title:\"Group\",defaultValue:\"route\"},lat:{type:ControlType.Number,title:\"Lat\",defaultValue:36.1,min:-90,max:90,step:.001},lon:{type:ControlType.Number,title:\"Lon\",defaultValue:-112.1,min:-180,max:180,step:.001},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Story title\"},place:{type:ControlType.String,title:\"Place\",defaultValue:\"Place\"},mile:{type:ControlType.Number,title:\"Mile\",defaultValue:0,min:0,max:1e5,step:1},link:{type:ControlType.Link,title:\"Link\"}});const CSS=`\n.ws-map{position:relative;container-type:inline-size;user-select:none}\n.ws-map .ws-pt{position:absolute;translate:-50% -50%;width:clamp(22px,2.6cqw,34px);height:clamp(22px,2.6cqw,34px);border-radius:50%;border:1.5px solid var(--ws-ink);background:var(--ws-paper);color:var(--ws-ink);display:grid;place-items:center;font:500 clamp(9px,.95cqw,12px)/1 'DM Mono',monospace;cursor:pointer;padding:0;transition:background .35s,color .35s,scale .35s cubic-bezier(.3,1.6,.5,1);z-index:2}\n.ws-map .ws-pt.ws-lit{background:var(--ws-ink);color:var(--ws-paper)}\n.ws-map .ws-pt:hover,.ws-map .ws-pt.ws-hot{scale:1.22}\n.ws-map .ws-pt::after{content:\"\";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--ws-ink);opacity:0}\n.ws-map .ws-pt.ws-lit::after{animation:ws-ring 2.6s ease-out infinite}\n@keyframes ws-ring{0%{opacity:.7;scale:.7}100%{opacity:0;scale:1.7}}\n.ws-map .ws-tag{position:absolute;translate:14px -50%;font:500 clamp(9px,.85cqw,11px)/1.2 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ws-ink);white-space:nowrap;pointer-events:none;background:var(--ws-paper);padding:2px 5px;margin-left:clamp(8px,1.2cqw,14px)}\n.ws-map .ws-card{position:absolute;z-index:4;width:min(280px,70cqw);background:var(--ws-paper);border:1.5px solid var(--ws-ink);padding:14px 16px 14px;box-shadow:6px 6px 0 var(--ws-ink);opacity:0;translate:0 8px;transition:opacity .25s,translate .3s;pointer-events:none}\n.ws-map .ws-card.ws-show{opacity:1;translate:0 0;pointer-events:auto}\n.ws-map .ws-card b{display:block;font:400 26px/.95 'League Gothic',sans-serif;text-transform:uppercase;color:var(--ws-ink);margin:6px 0 10px}\n.ws-map .ws-card small{font:500 11px/1.3 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ws-ink);opacity:.7}\n.ws-map .ws-card a{font:500 12px/1 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ws-accent);text-decoration:none}\n.ws-map .ws-card a:hover{text-decoration:underline}\n.ws-map .ws-mcount{position:absolute;left:0;top:0;background:var(--ws-paper);padding:0 14px 10px 0;z-index:3;font:500 11px/1.3 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ws-ink)}\n.ws-map .ws-mcount span{display:block;font:400 clamp(40px,6cqw,84px)/.9 'League Gothic',sans-serif;letter-spacing:0;font-variant-numeric:tabular-nums}\n`;let cssDone=false;const fmt=n=>Math.round(n).toLocaleString(\"en-US\");const hav=(a,b)=>{const R=3958.8,t=Math.PI/180,dl=(b.lat-a.lat)*t,dn=(b.lon-a.lon)*t;const h=Math.sin(dl/2)**2+Math.cos(a.lat*t)*Math.cos(b.lat*t)*Math.sin(dn/2)**2;return 2*R*Math.asin(Math.sqrt(h));};function pathOf(pts){if(pts.length<2)return\"\";let d=`M${pts[0].x.toFixed(1)},${pts[0].y.toFixed(1)}`;for(let i=0;i<pts.length-1;i++){const p0=pts[i-1]||pts[i],p1=pts[i],p2=pts[i+1],p3=pts[i+2]||p2;const c1x=p1.x+(p2.x-p0.x)/6,c1y=p1.y+(p2.y-p0.y)/6,c2x=p2.x-(p3.x-p1.x)/6,c2y=p2.y-(p3.y-p1.y)/6;d+=` C${c1x.toFixed(1)},${c1y.toFixed(1)} ${c2x.toFixed(1)},${c2y.toFixed(1)} ${p2.x.toFixed(1)},${p2.y.toFixed(1)}`;}return d;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function RouteMap(props){const{map,group,lonMin,lonMax,latMin,latMax,ink,paper,accent,linkLabel,odoLabel,showOdo,showTags,style}=props;const root=React.useRef(null);const pathRef=React.useRef(null);const[pins,setPins]=React.useState([]);const[prog,setProg]=React.useState(1);const[hot,setHot]=React.useState(-1);const VW=1e3,VH=Math.round(1e3/(props.ratio||1.79));React.useEffect(()=>{if(cssDone||typeof document===\"undefined\")return;cssDone=true;const s=document.createElement(\"style\");s.textContent=CSS;document.head.appendChild(s);},[]);// scan the page for Pins (CMS-bound), re-scan a few times while the CMS list hydrates\nReact.useEffect(()=>{let n=0,last=\"\";const scan=()=>{const els=Array.from(document.querySelectorAll(\".ws-pin\")).filter(e=>e.dataset.group===group);const seen=new Set;const out=[];for(const e of els){const d=e.dataset,lat=parseFloat(d.lat||\"\"),lon=parseFloat(d.lon||\"\");if(!isFinite(lat)||!isFinite(lon))continue;const k=`${lat},${lon},${d.title}`;if(seen.has(k))continue;seen.add(k);out.push({lat,lon,title:d.title||\"\",place:d.place||\"\",mile:parseFloat(d.mile||\"0\")||0,href:d.href||\"\",x:(lon-lonMin)/(lonMax-lonMin)*VW,y:(latMax-lat)/(latMax-latMin)*VH});}const sig=out.map(p=>p.x.toFixed(1)+p.y.toFixed(1)).join(\"|\");if(sig!==last){last=sig;setPins(out);}if(++n>25)clearInterval(iv);};const iv=window.setInterval(scan,400);scan();return()=>clearInterval(iv);},[group,lonMin,lonMax,latMin,latMax,VH]);// route progress follows scroll through the map\nReact.useEffect(()=>{const el=root.current;if(!el)return;if(RenderTarget.current()!==RenderTarget.preview){setProg(1);return;}const vh=()=>window.innerHeight||document.documentElement.clientHeight||800;const upd=()=>{const r=el.getBoundingClientRect();if(r.height<2)return;// starts as the map's top passes 85% of the viewport, finishes when its middle reaches 40%\nlet p=Math.min(1,Math.max(0,(vh()*.85-r.top)/(vh()*.45+r.height*.5)));const de=document.documentElement;if(window.scrollY+vh()>=de.scrollHeight-4)p=1// bottom of the page: always finished\n;setProg(o=>Math.abs(o-p)>.004?p:o);};upd();window.addEventListener(\"scroll\",upd,{passive:true});window.addEventListener(\"resize\",upd);const iv=window.setInterval(upd,200);return()=>{clearInterval(iv);window.removeEventListener(\"scroll\",upd);window.removeEventListener(\"resize\",upd);};},[]);const d=pathOf(pins);const[len,setLen]=React.useState(0);React.useLayoutEffect(()=>{if(pathRef.current&&d)setLen(pathRef.current.getTotalLength());},[d]);// cumulative position of each pin along the route (0..1) by straight-line legs\nconst legs=pins.map((p,i)=>i?Math.hypot(p.x-pins[i-1].x,p.y-pins[i-1].y):0);const tot=legs.reduce((a,b)=>a+b,0)||1;let acc=0;const at=legs.map(l=>(acc+=l)/tot);const miles=pins.length?pins[pins.length-1].mile||pins.reduce((s,p,i)=>s+(i?hav(pins[i-1],p)*1.25:0),0):0;const hp=hot>=0?pins[hot]:null;// place labels greedily (right side, else left side, else hidden) so close pins never overprint\nconst boxes=[];const tagSide=pins.map(p=>{const w=8+p.place.length*7.4,h=18,cx=p.x/VW*1e3,cy=p.y/VH*(1e3/(props.ratio||1.79));for(const side of[1,-1]){const x0=side>0?cx+18:cx-18-w,b=[x0,cy-h/2,x0+w,cy+h/2];if(x0<0||x0+w>1e3)continue;const hit=boxes.some(q=>!(b[2]<q[0]||b[0]>q[2]||b[3]<q[1]||b[1]>q[3]))||pins.some(o=>{const ox=o.x/VW*1e3,oy=o.y/VH*(1e3/(props.ratio||1.79));return o!==p&&ox>b[0]-12&&ox<b[2]+12&&oy>b[1]-12&&oy<b[3]+12;});if(!hit){boxes.push(b);return side;}}return 0;});const vars={\"--ws-ink\":ink,\"--ws-paper\":paper,\"--ws-accent\":accent};return /*#__PURE__*/_jsx(\"div\",{ref:root,className:\"ws-map\",style:{...style,...vars,width:style&&style.width||\"100%\",...!style||style.height===undefined||style.height===\"auto\"?{height:\"auto\",aspectRatio:String(props.ratio||1.79)}:{height:style.height}},onMouseLeave:()=>setHot(-1),children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0},children:[srcOf(map)?/*#__PURE__*/_jsx(\"img\",{src:srcOf(map),alt:typeof map===\"object\"&&map&&map.alt||\"Engraved relief map of the American Southwest\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"fill\"},draggable:false}):/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,border:`1px dashed ${ink}`,display:\"grid\",placeItems:\"center\",font:\"500 12px 'DM Mono',monospace\",color:ink},children:\"Add the map image\"}),/*#__PURE__*/_jsxs(\"svg\",{viewBox:`0 0 ${VW} ${VH}`,preserveAspectRatio:\"none\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",overflow:\"visible\"},\"aria-hidden\":\"true\",children:[d&&/*#__PURE__*/_jsx(\"path\",{d:d,fill:\"none\",stroke:paper,strokeWidth:7,strokeLinecap:\"round\",strokeLinejoin:\"round\",vectorEffect:\"non-scaling-stroke\",opacity:.9,style:{strokeDasharray:len||undefined,strokeDashoffset:len?len*(1-prog):0}}),d&&/*#__PURE__*/_jsx(\"path\",{ref:pathRef,d:d,fill:\"none\",stroke:ink,strokeWidth:2.4,strokeLinecap:\"round\",strokeLinejoin:\"round\",vectorEffect:\"non-scaling-stroke\",style:{strokeDasharray:len||undefined,strokeDashoffset:len?len*(1-prog):0}})]}),pins.map((p,i)=>{const lit=prog>=at[i]-.001;return /*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"ws-pt\"+(lit?\" ws-lit\":\"\")+(hot===i?\" ws-hot\":\"\"),style:{left:`${p.x/VW*100}%`,top:`${p.y/VH*100}%`},\"aria-label\":`${p.title}, ${p.place}`,onMouseEnter:()=>setHot(i),onFocus:()=>setHot(i),onClick:()=>setHot(i),children:String(i+1).padStart(2,\"0\")}),showTags&&tagSide[i]!==0&&/*#__PURE__*/_jsx(\"span\",{className:\"ws-tag\",style:{left:`${p.x/VW*100}%`,top:`${p.y/VH*100}%`,translate:tagSide[i]>0?undefined:\"calc(-100% - 14px) -50%\",marginLeft:tagSide[i]>0?undefined:\"calc(-1 * clamp(8px,1.2cqw,14px))\"},children:p.place})]},i);}),hp&&/*#__PURE__*/_jsxs(\"div\",{className:\"ws-card ws-show\",style:{left:`min(${hp.x/VW*100}%, calc(100% - min(280px, 70cqw)))`,top:hp.y/VH>.55?undefined:`calc(${hp.y/VH*100}% + 26px)`,bottom:hp.y/VH>.55?`calc(${(1-hp.y/VH)*100}% + 26px)`:undefined},children:[/*#__PURE__*/_jsxs(\"small\",{children:[String(hot+1).padStart(2,\"0\"),\" \\xb7 \",hp.place,hp.mile?` \\xb7 Mile ${fmt(hp.mile)}`:\"\"]}),/*#__PURE__*/_jsx(\"b\",{children:hp.title}),hp.href&&/*#__PURE__*/_jsxs(\"a\",{href:hp.href,children:[linkLabel,\" →\"]})]}),showOdo&&/*#__PURE__*/_jsxs(\"div\",{className:\"ws-mcount\",children:[odoLabel,/*#__PURE__*/_jsx(\"span\",{children:fmt(miles*prog)})]})]})});}RouteMap.defaultProps={group:\"route\",lonMin:-118.6,lonMax:-103.6,latMin:32.4,latMax:39.2,ratio:1.79,ink:\"#1B1917\",paper:\"#EFE7D6\",accent:\"#9C5B3B\",linkLabel:\"Read the story\",odoLabel:\"Miles on the road\",showOdo:true,showTags:true};addPropertyControls(RouteMap,{map:{type:ControlType.ResponsiveImage,title:\"Map Image\"},group:{type:ControlType.String,title:\"Pin Group\",defaultValue:\"route\"},lonMin:{type:ControlType.Number,title:\"West Lon\",defaultValue:-118.6,min:-180,max:180,step:.1},lonMax:{type:ControlType.Number,title:\"East Lon\",defaultValue:-103.6,min:-180,max:180,step:.1},latMin:{type:ControlType.Number,title:\"South Lat\",defaultValue:32.4,min:-90,max:90,step:.1},latMax:{type:ControlType.Number,title:\"North Lat\",defaultValue:39.2,min:-90,max:90,step:.1},ratio:{type:ControlType.Number,title:\"Map Ratio\",defaultValue:1.79,min:.3,max:4,step:.001},showOdo:{type:ControlType.Boolean,title:\"Mile Counter\",defaultValue:true},odoLabel:{type:ControlType.String,title:\"Counter Label\",defaultValue:\"Miles on the road\",hidden:p=>!p.showOdo},showTags:{type:ControlType.Boolean,title:\"Place Labels\",defaultValue:true},linkLabel:{type:ControlType.String,title:\"Card Link\",defaultValue:\"Read the story\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#1B1917\"},paper:{type:ControlType.Color,title:\"Paper\",defaultValue:\"#EFE7D6\"},accent:{type:ControlType.Color,title:\"Link Colour\",defaultValue:\"#9C5B3B\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"Pin\":{\"type\":\"reactComponent\",\"name\":\"Pin\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"\",\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"RouteMap\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RouteMap.map"],"mappings":"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"}