{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/oMXEPZYoSI2zF6Pmd5zc/9oQRylPEWGYjSLrhExG1/MeetupFeedNoImage.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform,useSpring}from\"framer-motion\";const formatEventDate=dateTimeStr=>{const date=new Date(dateTimeStr);const days=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];const months=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const dayName=days[date.getDay()];const monthName=months[date.getMonth()];const day=date.getDate();const year=date.getFullYear();return`${dayName}, ${monthName} ${day}, ${year}`;};const formatEventTime=dateTimeStr=>{const date=new Date(dateTimeStr);const hours=date.getHours();const minutes=date.getMinutes().toString().padStart(2,\"0\");const ampm=hours>=12?\"PM\":\"AM\";const hour12=hours%12||12;// extract timezone information\nconst timeZoneMatch=dateTimeStr.match(/([+-]\\d{2}:\\d{2})$/);const timeZone=timeZoneMatch?timeZoneMatch[0]:\"\";return`${hour12}:${minutes} ${ampm} ${timeZone}`;};export default function MeetupFeed({backgroundColor=\"#ffffff\",textColor=\"#000000\",textSize=16,fontFamily='\"Jersey 25\", sans-serif',offsetAmount=24}){const[events,setEvents]=useState([]);const[loading,setLoading]=useState(true);const[error,setError]=useState(null);const[parentWidth,setParentWidth]=useState(0);const containerRef=useRef(null);const{scrollYProgress}=useScroll();useEffect(()=>{const updateParentWidth=()=>{if(containerRef.current?.parentElement){setParentWidth(containerRef.current.parentElement.offsetWidth);}};// initial measurement\nupdateParentWidth();// create resize observer\nconst resizeObserver=new ResizeObserver(updateParentWidth);if(containerRef.current?.parentElement){resizeObserver.observe(containerRef.current.parentElement);}return()=>resizeObserver.disconnect();},[]);useEffect(()=>{const unsubscribe=scrollYProgress.on(\"change\",v=>{console.log(\"debug scroll progress:\",v);});return()=>unsubscribe();},[scrollYProgress]);useEffect(()=>{const fetchEvents=async()=>{try{const response=await fetch(\"https://meetup-proxy.media-c92.workers.dev/events\");if(!response.ok)throw new Error(\"Failed to fetch events\");const data=await response.json();let eventsList=[];// extract events from the new data structure\nif(data?.data?.groupByUrlname?.unifiedEvents?.edges){eventsList=data.data.groupByUrlname.unifiedEvents.edges.map(edge=>edge.node);}setEvents(eventsList);setLoading(false);}catch(err){setError(\"Failed to load events\");setLoading(false);console.error(\"debug fetchEvents error:\",err);}};void fetchEvents();},[]);const isMobile=parentWidth<390;const containerStyle={width:\"100%\",backgroundColor,color:textColor,fontFamily,fontSize:`${isMobile?textSize*.875:textSize}px`,position:\"relative\",padding:isMobile?\"12px\":\"20px\",textAlign:\"left\"};const eventStyle={display:\"grid\",gridTemplateColumns:\"1fr auto\",gap:isMobile?\"12px\":\"20px\",borderBottom:\"1px solid hsl(0, 0%, 80%)\",paddingBottom:isMobile?\"24px\":\"48px\",marginBottom:isMobile?\"24px\":\"48px\",alignItems:\"start\"};const contentStyle={display:\"flex\",flexDirection:\"column\",gap:isMobile?\"4px\":\"8px\"};const dateStyle={fontSize:`${isMobile?textSize*.875:textSize}px`,fontWeight:\"normal\",paddingBottom:isMobile?\"12px\":\"18px\"};const titleStyle={fontSize:`${isMobile?textSize:textSize*1.2}px`,fontWeight:\"bold\",marginTop:isMobile?\"4px\":\"8px\",maxWidth:isMobile?\"81vw\":\"38vw\"};const locationStyle={fontSize:`${isMobile?textSize*.875:textSize}px`,color:textColor,marginTop:isMobile?\"2px\":\"4px\"};const priceStyle={fontSize:`${isMobile?textSize:textSize*1.15}px`,fontWeight:\"normal\",textAlign:\"center\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textTransform:\"uppercase\"};const EventItem=({event,index})=>{const eventRef=useRef(null);const{scrollYProgress:itemProgress}=useScroll({target:eventRef,offset:[\"end end\",\"start start\"]});const xOffset=useTransform(itemProgress,[.1,.4],[0,index>0?-(index*offsetAmount):0]);const springXOffset=useSpring(xOffset,{stiffness:400,damping:40,restDelta:.001});return /*#__PURE__*/_jsxs(motion.div,{ref:eventRef,style:{x:springXOffset,...eventStyle,cursor:\"pointer\"},whileHover:{opacity:.5},onClick:()=>window.open(event.eventUrl,\"_blank\",\"noopener,noreferrer\"),transition:{x:{type:\"spring\",stiffness:400,damping:40,restDelta:.001,ease:[.16,1,.3,1],duration:.2,delay:index*.05},opacity:{duration:.15,ease:\"easeOut\"}},children:[/*#__PURE__*/_jsxs(\"div\",{style:contentStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:dateStyle,children:[formatEventDate(event.dateTime),\" at\",\" \",formatEventTime(event.dateTime)]}),/*#__PURE__*/_jsx(\"div\",{style:titleStyle,children:event.title}),/*#__PURE__*/_jsxs(\"div\",{style:locationStyle,children:[\"@\",event.venue.name,\" \u2022 \",event.venue.city,\",\",\" \",event.venue.state]})]}),/*#__PURE__*/_jsx(\"div\",{style:priceStyle,children:\"Free\"})]},`event-${index}`);};if(loading){return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsx(\"div\",{children:\"loading...\"})});}if(error){return /*#__PURE__*/_jsx(\"div\",{style:{...containerStyle,color:\"#EF4444\"},children:/*#__PURE__*/_jsx(\"div\",{children:error.toLowerCase()})});}return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,ref:containerRef,children:events.map((event,index)=>/*#__PURE__*/_jsx(EventItem,{event:event,index:index},`event-${index}`))});}// keep this commented out for now since it cannot be used in dev\naddPropertyControls(MeetupFeed,{backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#ffffff\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},textSize:{type:ControlType.Number,title:\"Base Font Size\",defaultValue:18,min:8,max:72,step:1},fontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:'\"Jersey 25\", sans-serif'},offsetAmount:{type:ControlType.Number,title:\"Offset Amount\",defaultValue:48,min:0,max:100,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MeetupFeed\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MeetupFeedNoImage.map"],
  "mappings": "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",
  "names": ["formatEventDate", "dateTimeStr", "date", "days", "months", "dayName", "monthName", "day", "year", "formatEventTime", "hours", "minutes", "ampm", "hour12", "timeZoneMatch", "timeZone", "MeetupFeed", "backgroundColor", "textColor", "textSize", "fontFamily", "offsetAmount", "events", "setEvents", "ye", "loading", "setLoading", "error", "setError", "parentWidth", "setParentWidth", "containerRef", "pe", "scrollYProgress", "useScroll", "ue", "updateParentWidth", "resizeObserver", "unsubscribe", "v", "response", "data", "eventsList", "edge", "err", "isMobile", "containerStyle", "eventStyle", "contentStyle", "dateStyle", "titleStyle", "locationStyle", "priceStyle", "EventItem", "event", "index", "eventRef", "itemProgress", "xOffset", "useTransform", "springXOffset", "useSpring", "u", "motion", "window", "p", "addPropertyControls", "ControlType"]
}
