{"version":3,"file":"EventCarousel.DheoUnCy.mjs","names":["p","useState","useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/4LArLT5VWguAcvZqujwB/wqylMnHGOgXsocxhDMVo/EventCarousel.js"],"sourcesContent":["// EventsCarousel.tsx — Framer Code Component\n//\n// CANVAS SETUP:\n//   1. Add as a Code Component (Assets → Code → +)\n//   2. Set component width to FILL THE FULL PAGE WIDTH — the component\n//      handles its own left alignment via \"Left Offset (vw)\"\n//   3. Set height to \"fit content\"\n//   4. \"Left Offset (vw)\" should match your site's content margin\n//      (e.g. if your content sits 9vw from the left edge, use 9)\n//\n// OVERFLOW ARCHITECTURE:\n//   Component must span full page width so cards can overflow to the screen\n//   edge. \"Left Offset (vw)\" recreates your content column alignment.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useMemo,useRef,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// ─────────────────────────────────────────────────────────────\n// CONSTANTS\n// ─────────────────────────────────────────────────────────────\nconst CATEGORY_COLORS={Adaptive:\"#00a651\",Aquatics:\"#20bdbe\",Camp:\"#5c2e91\",Community:\"#f15922\",Family:\"#c6168d\",Fundraising:\"#fcaf17\",\"Healthy Living\":\"#0089d0\",Seniors:\"#01a490\",Skate:\"#29abe2\",\"Special Event\":\"#92278f\",\"Teen Leadership\":\"#ed1c24\",Volunteer:\"#f47920\",Youth:\"#8dc63f\",\"Youth Sports\":\"#0060af\"};const MONTH_NAMES=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const MONTH_OPTIONS=[\"All\",...MONTH_NAMES];// ─────────────────────────────────────────────────────────────\n// DEMO DATA\n// ─────────────────────────────────────────────────────────────\nfunction todayISO(){const d=new Date;return`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,\"0\")}-${String(d.getDate()).padStart(2,\"0\")}`;}function futureISO(monthsAhead,day){const d=new Date;d.setMonth(d.getMonth()+monthsAhead);const safeDay=Math.min(day,new Date(d.getFullYear(),d.getMonth()+1,0).getDate());d.setDate(safeDay);return`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,\"0\")}-${String(d.getDate()).padStart(2,\"0\")}`;}const DEMO_EVENTS=[{id:0,startDate:todayISO(),title:\"Family Fun Night\",location:\"Everett Family YMCA\",category:\"Family\",description:\"Drop in tonight for games, music, and activities for the whole family. No registration required.\",detailsUrl:\"#\"},{id:1,startDate:futureISO(0,22),title:\"Session 2 Swim Lessons\",location:\"Everett Family YMCA\",category:\"Aquatics\",description:\"Learn water safety and confidence for ages 6 months and up. Spaces fill fast — register today.\",detailsUrl:\"#\"},{id:2,startDate:futureISO(1,4),title:\"Adaptive Fitness Open House\",location:\"Marysville Family YMCA\",category:\"Adaptive\",description:\"Explore our accessible fitness programs and meet our certified adaptive fitness trainers.\",detailsUrl:\"#\"},{id:3,startDate:futureISO(1,12),title:\"Youth Leadership Summit\",location:\"Mukilteo Family YMCA\",category:\"Youth\",description:\"A full-day experience for teens to build confidence, communication, and community leadership skills.\",detailsUrl:\"\"},{id:4,startDate:futureISO(1,19),title:\"Skate Park Saturday\",location:\"Everett Family YMCA\",category:\"Skate\",description:\"Free open skate with safety gear provided. All skill levels welcome from 10am to 2pm.\",detailsUrl:\"#\"},{id:5,startDate:futureISO(2,7),title:\"Community Campaign Victory\",location:\"Everett Family YMCA\",category:\"Fundraising\",description:\"Celebrate our fundraising milestone with fellow community members and volunteers.\",detailsUrl:\"#\"},{id:6,startDate:futureISO(2,18),title:\"Senior Wellness Day\",location:\"Marysville Family YMCA\",category:\"Seniors\",description:\"A day of gentle movement, health screenings, and social connection for adults 55 and up.\",detailsUrl:\"#\"}];// ─────────────────────────────────────────────────────────────\n// HELPERS\n// ─────────────────────────────────────────────────────────────\nfunction parseDate(iso){if(!iso)return null;const d=new Date(iso);return isNaN(d.getTime())?null:d;}function formatParts(d){return{day:d.getDate().toString().padStart(2,\"0\"),month:d.toLocaleString(\"en-US\",{month:\"short\"}).toUpperCase(),weekday:d.toLocaleString(\"en-US\",{weekday:\"short\"}).toUpperCase(),full:d.toLocaleDateString(\"en-US\",{month:\"long\",day:\"numeric\",year:\"numeric\"})};}// Normalizes raw CMS records (startTime/endTime/branchLocation/imageUrl\n// shape) into the CMSEvent shape the rest of the component expects\n// (startDate/endDate/location/image). Tolerant of either shape so demo\n// data and any future endpoint changes don't break.\nfunction normalizeEvent(raw){return{id:raw.id,startDate:raw.startDate??raw.startTime??\"\",endDate:raw.endDate??raw.endTime??undefined,title:raw.title??\"\",location:raw.location??raw.branchLocation??(Array.isArray(raw.locations)?raw.locations[0]:\"\")??\"\",category:raw.category??raw.activityType??\"\",categoryColor:raw.categoryColor,image:raw.image??raw.imageUrl??undefined,description:raw.description??\"\",detailsUrl:raw.detailsUrl??raw.url??\"\"};}function getDateState(start){const now=new Date;const todayStart=new Date(now.getFullYear(),now.getMonth(),now.getDate());const todayEnd=new Date(todayStart.getTime()+864e5);if(start>=todayStart&&start<todayEnd)return\"today\";if(start<todayStart)return\"past\";return\"upcoming\";}// ─────────────────────────────────────────────────────────────\n// SVG ICON\n// ─────────────────────────────────────────────────────────────\nconst DEFAULT_ARROW=\"M5 12h14M12 5l7 7-7 7\";const DEFAULT_PREV=\"M15 18l-6-6 6-6\";const DEFAULT_NEXT=\"M9 18l6-6-6-6\";function Icon({path,size,color,strokeWidth=2,style}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:color,strokeWidth:strokeWidth,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0,display:\"block\",...style},children:/*#__PURE__*/_jsx(\"path\",{d:path})});}// ─────────────────────────────────────────────────────────────\n// CATEGORY BADGE\n// ─────────────────────────────────────────────────────────────\nfunction CategoryBadge({category,color,p}){return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",alignSelf:\"flex-start\",alignItems:\"center\",background:color,color:p.badgeTextColor??\"#ffffff\",fontFamily:p.fontFamilyDisplay??\"'Black Han Sans', 'Arial Black', sans-serif\",fontSize:p.badgeFontSize??11,fontWeight:700,letterSpacing:\"0.07em\",textTransform:\"uppercase\",paddingLeft:10,paddingRight:10,height:22,borderRadius:9999,whiteSpace:\"nowrap\",lineHeight:1,boxSizing:\"border-box\",flexShrink:0},children:category});}// ─────────────────────────────────────────────────────────────\n// DATE OVERLAY BOX\n// Positioned absolutely in the top-right corner of the image.\n// Day number color follows the same state logic as EventGrid:\n//   upcoming = dayUpcomingColor, today = dayTodayColor, past = dayPastColor\n// ─────────────────────────────────────────────────────────────\nfunction DateBox({event,p}){const dayColor=event.dateState===\"today\"?p.dayTodayColor??\"#f15922\":event.dateState===\"past\"?p.dayPastColor??\"#1a1a1a\":p.dayUpcomingColor??\"#0089d0\";const fontDisplay=p.fontFamilyDisplay??\"'Black Han Sans', 'Arial Black', sans-serif\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:p.dateBoxOffsetTop??16,right:p.dateBoxOffsetRight??16,background:p.dateBoxBg??\"#ffffff\",borderRadius:p.dateBoxRadius??10,padding:`${p.dateBoxPaddingV??10}px ${p.dateBoxPaddingH??12}px`,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:1,boxShadow:\"0 2px 10px rgba(0,0,0,0.18)\",minWidth:p.dateBoxMinWidth??54,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:fontDisplay,fontSize:p.weekdayFontSize??11,fontWeight:400,color:p.dateBoxLabelColor??\"#666666\",lineHeight:1,letterSpacing:\"0.04em\"},children:event.eventWeekday}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:fontDisplay,fontSize:p.dayFontSize??36,fontWeight:900,color:dayColor,lineHeight:1},children:event.eventDay}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:fontDisplay,fontSize:p.monthFontSize??11,fontWeight:700,color:p.dateBoxLabelColor??\"#666666\",lineHeight:1,letterSpacing:\"0.04em\"},children:event.eventMonth})]});}// ─────────────────────────────────────────────────────────────\n// VIEW EVENT BUTTON\n// Only rendered when the event has a detailsUrl.\n// ─────────────────────────────────────────────────────────────\nfunction ViewEventBtn({url,p,fontDisplay}){const[h,setH]=useState(false);return /*#__PURE__*/_jsxs(\"a\",{href:url,target:\"_blank\",rel:\"noreferrer\",onMouseEnter:()=>setH(true),onMouseLeave:()=>setH(false),style:{display:\"inline-flex\",alignItems:\"center\",gap:h?10:6,alignSelf:\"flex-start\",marginTop:\"auto\",paddingTop:6,fontFamily:fontDisplay,fontSize:p.viewEventFontSize??12,fontWeight:700,letterSpacing:\"0.1em\",textTransform:\"uppercase\",color:h?p.viewEventHoverColor??\"#0060af\":p.viewEventColor??\"#0089d0\",textDecoration:\"none\",transition:\"color .2s, gap .2s\"},children:[p.viewEventLabel??\"View Event\",/*#__PURE__*/_jsx(Icon,{path:p.viewEventIconPath||DEFAULT_ARROW,size:p.viewEventIconSize??14,color:h?p.viewEventHoverColor??\"#0060af\":p.viewEventColor??\"#0089d0\",strokeWidth:p.iconStrokeWidth??2.5,style:{transform:h?\"translateX(3px)\":\"none\",transition:\"transform .2s\"}})]});}// ─────────────────────────────────────────────────────────────\n// EVENT CARD\n// Image fills top of card with date box overlaid top-right.\n// All event copy is displayed. \"View Event\" only if URL exists.\n// ─────────────────────────────────────────────────────────────\nfunction EventCard({event,p}){const[hovered,setHovered]=useState(false);const url=p.detailsUrl||event.detailsUrl||\"\";const fontDisplay=p.fontFamilyDisplay??\"'Black Han Sans', 'Arial Black', sans-serif\";const fontBody=p.fontFamilyBody??\"'Barlow', 'Arial', sans-serif\";const dateStr=event.eventEndDateFull?`${event.eventDateFull} – ${event.eventEndDateFull}`:event.eventDateFull;return /*#__PURE__*/_jsxs(\"article\",{onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{width:\"100%\",height:\"100%\",background:p.cardBg??\"#ffffff\",border:`${p.cardBorderWidth??1}px solid ${p.cardBorderColor??\"#e8e4df\"}`,borderRadius:p.cardRadius??16,boxShadow:hovered?p.cardShadowHover??\"0 8px 32px rgba(0,0,0,0.14)\":p.cardShadow??\"0 2px 12px rgba(0,0,0,0.08)\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",transform:hovered?\"translateY(-3px)\":\"translateY(0)\",transition:\"box-shadow .25s ease, transform .25s ease\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:p.imageHeight??220,flexShrink:0,background:p.imagePlaceholderGradient??\"linear-gradient(135deg, #00aeef, #01a490)\",overflow:\"hidden\"},children:[event.image?/*#__PURE__*/_jsx(\"img\",{src:event.image,alt:event.title,loading:\"lazy\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",transform:hovered?\"scale(1.04)\":\"scale(1)\",transition:\"transform .4s ease\"}}):null,/*#__PURE__*/_jsx(DateBox,{event:event,p:p})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:`${p.cardPaddingY??20}px ${p.cardPaddingX??20}px`,display:\"flex\",flexDirection:\"column\",gap:p.cardInnerGap??8,flex:1},children:[/*#__PURE__*/_jsx(CategoryBadge,{category:event.category,color:event.resolvedCategoryColor,p:p}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontFamily:fontDisplay,fontSize:p.titleFontSize??20,fontWeight:p.titleFontWeight??\"900\",lineHeight:p.titleLineHeight??1.15,color:p.titleColor??\"#1a1a1a\"},children:event.title}),(dateStr||event.location)&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:fontDisplay,fontSize:p.metaFontSize??12,color:p.metaColor??\"#888888\",fontWeight:p.metaFontWeight??\"400\",lineHeight:1.4},children:[dateStr,event.location].filter(Boolean).join(\" • \")}),event.description&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:fontBody,fontSize:p.descFontSize??13,color:p.descColor??\"#555555\",lineHeight:p.descLineHeight??1.5,display:\"-webkit-box\",WebkitLineClamp:p.descLineClamp??4,WebkitBoxOrient:\"vertical\",overflow:\"hidden\",flex:1},children:event.description}),url&&/*#__PURE__*/_jsx(ViewEventBtn,{url:url,p:p,fontDisplay:fontDisplay})]})]});}// ─────────────────────────────────────────────────────────────\n// SKELETON CARD (loading state)\n// ─────────────────────────────────────────────────────────────\nfunction SkeletonCard({cardW,p}){return /*#__PURE__*/_jsxs(\"div\",{style:{width:cardW,flexShrink:0,background:\"#f0eeec\",borderRadius:p.cardRadius??16,overflow:\"hidden\",border:\"1px solid #e8e4df\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{height:p.imageHeight??220,background:\"#e4e0dc\"}}),/*#__PURE__*/_jsx(\"div\",{style:{padding:`${p.cardPaddingY??20}px ${p.cardPaddingX??20}px`,display:\"flex\",flexDirection:\"column\",gap:12},children:[30,70,50,100,85,40].map((pct,i)=>/*#__PURE__*/_jsx(\"div\",{style:{height:i===0?22:i===1?18:12,width:`${pct}%`,background:\"#e4e0dc\",borderRadius:i===0?9999:4}},i))})]});}// ─────────────────────────────────────────────────────────────\n// END CAP\n// ─────────────────────────────────────────────────────────────\nfunction EndCap({p}){const[h,setH]=useState(false);const fontDisplay=p.fontFamilyDisplay??\"'Black Han Sans', 'Arial Black', sans-serif\";return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",background:p.endCapBg??\"#f4f1ee\",border:`${p.cardBorderWidth??1}px solid ${p.endCapBorderColor??\"#e8e4df\"}`,borderRadius:p.cardRadius??16,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",padding:\"40px 24px\",gap:20,textAlign:\"center\",boxSizing:\"border-box\"},children:[p.endCapEyebrow&&/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:fontDisplay,fontSize:12,fontWeight:700,letterSpacing:\"0.12em\",textTransform:\"uppercase\",color:p.endCapEyebrowColor??\"#888888\",opacity:.7},children:p.endCapEyebrow}),/*#__PURE__*/_jsx(\"h3\",{style:{fontFamily:fontDisplay,fontSize:p.endCapHeadlineFontSize??28,fontWeight:900,lineHeight:1.15,color:p.endCapHeadlineColor??\"#1a1a1a\",margin:0,whiteSpace:\"pre-line\"},children:p.endCapHeadline??\"View All\\nEvents\"}),p.endCapBtnUrl&&/*#__PURE__*/_jsx(\"a\",{href:p.endCapBtnUrl,onMouseEnter:()=>setH(true),onMouseLeave:()=>setH(false),style:{display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:`${p.endCapBtnPaddingY??12}px ${p.endCapBtnPaddingX??28}px`,background:h?p.endCapBtnHoverBg??\"#0060af\":p.endCapBtnBg??\"#0089d0\",color:p.endCapBtnColor??\"#ffffff\",fontFamily:fontDisplay,fontSize:p.endCapBtnFontSize??13,fontWeight:700,letterSpacing:\"0.08em\",textTransform:\"uppercase\",textDecoration:\"none\",borderRadius:p.endCapBtnRadius??9999,transition:\"background .2s ease\"},children:p.endCapBtnLabel??\"View All Events\"})]});}// ─────────────────────────────────────────────────────────────\n// NAV BUTTON\n// ─────────────────────────────────────────────────────────────\nfunction NavBtn({onClick,disabled,iconPath,p,label}){const[h,setH]=useState(false);return /*#__PURE__*/_jsx(\"button\",{onClick:onClick,disabled:disabled,\"aria-label\":label,onMouseEnter:()=>setH(true),onMouseLeave:()=>setH(false),style:{width:p.btnSize??48,height:p.btnSize??48,borderRadius:(p.btnRadius??0)===0?\"50%\":`${p.btnRadius}px`,background:disabled?p.btnDisabledBg??\"#dddddd\":h?p.btnHoverBg??\"#0060af\":p.btnBg??\"#0089d0\",color:disabled?p.btnDisabledFg??\"#aaaaaa\":p.btnFg??\"#ffffff\",border:\"none\",cursor:disabled?\"default\":\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,padding:0,transform:!disabled&&h?\"scale(1.06)\":\"scale(1)\",transition:\"background .2s ease, transform .15s ease\"},children:/*#__PURE__*/_jsx(Icon,{path:iconPath,size:p.btnIconSize??18,color:disabled?p.btnDisabledFg??\"#aaaaaa\":p.btnFg??\"#ffffff\"})});}// ─────────────────────────────────────────────────────────────\n// MAIN COMPONENT\n// ─────────────────────────────────────────────────────────────\nexport default function EventsCarousel(props){const[events,setEvents]=useState([]);const[loading,setLoading]=useState(false);const[fetchError,setFetchError]=useState(\"\");const[index,setIndex]=useState(0);const trackRef=useRef(null);const scrollerRef=useRef(null);const dragging=useRef(false);const dragStartX=useRef(0);const scrollStart=useRef(0);const isCanvas=RenderTarget.current()===RenderTarget.canvas;// ── Load events ───────────────────────────────────────────\nuseEffect(()=>{if(props.useDemoData||!props.cmsEndpoint){setEvents(DEMO_EVENTS);setFetchError(\"\");return;}setLoading(true);setFetchError(\"\");fetch(props.cmsEndpoint).then(r=>{if(!r.ok)throw new Error(`HTTP ${r.status}`);return r.json();}).then(data=>{const raw=Array.isArray(data)?data:data.items??data.events??data.results??[];setEvents(raw.map(normalizeEvent));setLoading(false);}).catch(err=>{setFetchError(err.message);setLoading(false);});},[props.cmsEndpoint,props.useDemoData]);// ── Category color map ────────────────────────────────────\nconst catColorMap=useMemo(()=>({Adaptive:props.colorAdaptive??CATEGORY_COLORS.Adaptive,Aquatics:props.colorAquatics??CATEGORY_COLORS.Aquatics,Camp:props.colorCamp??CATEGORY_COLORS.Camp,Community:props.colorCommunity??CATEGORY_COLORS.Community,Family:props.colorFamily??CATEGORY_COLORS.Family,Fundraising:props.colorFundraising??CATEGORY_COLORS.Fundraising,\"Healthy Living\":props.colorHealthyLiving??CATEGORY_COLORS[\"Healthy Living\"],Seniors:props.colorSeniors??CATEGORY_COLORS.Seniors,Skate:props.colorSkate??CATEGORY_COLORS.Skate,\"Special Event\":props.colorSpecialEvent??CATEGORY_COLORS[\"Special Event\"],\"Teen Leadership\":props.colorTeenLeadership??CATEGORY_COLORS[\"Teen Leadership\"],Volunteer:props.colorVolunteer??CATEGORY_COLORS.Volunteer,Youth:props.colorYouth??CATEGORY_COLORS.Youth,\"Youth Sports\":props.colorYouthSports??CATEGORY_COLORS[\"Youth Sports\"]}),[props.colorAdaptive,props.colorAquatics,props.colorCamp,props.colorCommunity,props.colorFamily,props.colorFundraising,props.colorHealthyLiving,props.colorSeniors,props.colorSkate,props.colorSpecialEvent,props.colorTeenLeadership,props.colorVolunteer,props.colorYouth,props.colorYouthSports]);// ── Prop-level locks ───────────────────────────────────────\n// Category is now a free-text field (categories aren't fixed yet),\n// matched case-insensitively and trimmed so minor formatting\n// differences from the CMS don't break the filter.\nconst propCategoryLock=(props.filterCategory??\"\").trim();const propMonthLock=props.filterMonth&&props.filterMonth!==\"All\"?props.filterMonth:\"\";const propLocationLock=(props.filterLocation??\"\").trim();const monthLockMode=props.monthLockMode??\"all\";// ── Process + filter events ───────────────────────────────\nconst processed=useMemo(()=>{const now=new Date;const todayStart=new Date(now.getFullYear(),now.getMonth(),now.getDate());const currentMonthIdx=now.getMonth();const currentYear=now.getFullYear();const result=[];for(const e of events){const start=parseDate(e.startDate);if(!start||start<todayStart)continue;if(propCategoryLock&&(e.category??\"\").trim().toLowerCase()!==propCategoryLock.toLowerCase())continue;if(propMonthLock){const targetMonth=MONTH_OPTIONS.indexOf(propMonthLock)-1;if(start.getMonth()!==targetMonth)continue;}if(propLocationLock&&(e.location??\"\").trim().toLowerCase()!==propLocationLock.toLowerCase())continue;if(monthLockMode===\"current\"){if(start.getMonth()!==currentMonthIdx||start.getFullYear()!==currentYear)continue;}else if(monthLockMode===\"future-only\"){const startOfNextMonth=new Date(currentYear,currentMonthIdx+1,1);if(start<startOfNextMonth)continue;}const sp=formatParts(start);const end=e.endDate?parseDate(e.endDate):null;const ep=end?formatParts(end):null;result.push({...e,_id:String(e.id??`${e.startDate}-${e.title}`),_startDate:start,_endDate:end,eventDay:sp.day,eventMonth:sp.month,eventWeekday:sp.weekday,eventDateFull:sp.full,eventEndDateFull:ep?.full??\"\",resolvedCategoryColor:e.categoryColor??catColorMap[e.category]??\"#0089d0\",dateState:getDateState(start)});}result.sort((a,b)=>a._startDate.getTime()-b._startDate.getTime());const limit=props.maxEvents&&props.maxEvents>0?props.maxEvents:undefined;return limit?result.slice(0,limit):result;},[events,propCategoryLock,propMonthLock,propLocationLock,monthLockMode,props.maxEvents,catColorMap]);const totalItems=processed.length+(props.showEndCap?1:0);const cardW=`clamp(${props.cardMinWidth??280}px, ${props.cardRelativeWidth??33}vw, ${props.cardMaxWidth??480}px)`;const leftPad=`${props.leftOffsetVW??9}vw`;// ── Scroll to index ───────────────────────────────────────\nconst scrollTo=useCallback(idx=>{if(!scrollerRef.current||!trackRef.current)return;const clamped=Math.max(0,Math.min(idx,totalItems-1));setIndex(clamped);const child=trackRef.current.children[clamped];if(!child)return;scrollerRef.current.scrollTo({left:child.offsetLeft,behavior:\"smooth\"});},[totalItems]);// Reset to 0 when events change\nuseEffect(()=>{if(!scrollerRef.current)return;scrollerRef.current.scrollLeft=0;setIndex(0);},[processed]);// Mouse drag\nconst onMouseDown=e=>{if(isCanvas)return;dragging.current=true;dragStartX.current=e.pageX;scrollStart.current=scrollerRef.current?.scrollLeft??0;};useEffect(()=>{const onMove=e=>{if(!dragging.current||!scrollerRef.current)return;scrollerRef.current.scrollLeft=scrollStart.current-(e.pageX-dragStartX.current);};const onUp=()=>{dragging.current=false;};window.addEventListener(\"mousemove\",onMove);window.addEventListener(\"mouseup\",onUp);return()=>{window.removeEventListener(\"mousemove\",onMove);window.removeEventListener(\"mouseup\",onUp);};},[]);// Sync index from manual scroll / touch\nconst onScroll=useCallback(()=>{if(!scrollerRef.current||!trackRef.current)return;const sl=scrollerRef.current.scrollLeft;const children=Array.from(trackRef.current.children);let closest=0,minDist=Infinity;children.forEach((child,i)=>{const dist=Math.abs(child.offsetLeft-sl);if(dist<minDist){minDist=dist;closest=i;}});setIndex(Math.max(0,Math.min(closest,totalItems-1)));},[totalItems]);// Keyboard navigation\nuseEffect(()=>{const handler=e=>{if(e.key===\"ArrowRight\")scrollTo(index+1);if(e.key===\"ArrowLeft\")scrollTo(index-1);};window.addEventListener(\"keydown\",handler);return()=>window.removeEventListener(\"keydown\",handler);},[index,scrollTo]);// ── Render ────────────────────────────────────────────────\nconst isEmpty=!loading&&processed.length===0;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",position:\"relative\"},children:[fetchError&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"8px 16px\",background:\"#fff3f3\",color:\"#c0392b\",fontSize:12,fontFamily:\"system-ui, sans-serif\",marginBottom:8,borderRadius:4},children:[\"⚠ Fetch error: \",fetchError,\" — showing demo events\"]}),isEmpty&&/*#__PURE__*/_jsx(\"div\",{style:{padding:`0 ${leftPad}`,fontFamily:props.fontFamilyDisplay??\"sans-serif\",fontSize:14,color:\"rgba(0,0,0,0.35)\"},children:props.emptyMessage??\"No upcoming events.\"}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollerRef,onScroll:onScroll,onMouseDown:onMouseDown,style:{width:\"100%\",overflowX:isCanvas?\"hidden\":\"scroll\",overflowY:\"hidden\",scrollSnapType:\"x mandatory\",scrollPaddingLeft:leftPad,WebkitOverflowScrolling:\"touch\",scrollbarWidth:\"none\",cursor:isCanvas?\"default\":\"grab\",userSelect:\"none\",paddingBottom:48,marginBottom:-48,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`div::-webkit-scrollbar { display: none; }`}),/*#__PURE__*/_jsxs(\"div\",{ref:trackRef,style:{display:\"flex\",gap:props.cardGap??20,alignItems:\"stretch\",paddingLeft:leftPad,paddingRight:leftPad,paddingTop:4},children:[loading&&[0,1,2].map(i=>/*#__PURE__*/_jsx(SkeletonCard,{cardW:cardW,p:props},i)),!loading&&processed.map(event=>/*#__PURE__*/_jsx(\"div\",{style:{width:cardW,flexShrink:0,scrollSnapAlign:\"start\",alignSelf:\"stretch\"},children:/*#__PURE__*/_jsx(EventCard,{event:event,p:props})},event._id)),!loading&&props.showEndCap&&/*#__PURE__*/_jsx(\"div\",{style:{width:cardW,flexShrink:0,scrollSnapAlign:\"start\",alignSelf:\"stretch\"},children:/*#__PURE__*/_jsx(EndCap,{p:props})})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",gap:props.btnGap??12,marginTop:props.btnNavTopGap??28},children:[/*#__PURE__*/_jsx(NavBtn,{onClick:()=>scrollTo(index-1),disabled:index===0,iconPath:props.prevIconPath||DEFAULT_PREV,p:props,label:\"Previous\"}),props.showDots!==false&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:Array.from({length:totalItems}).map((_,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>scrollTo(i),\"aria-label\":`Go to item ${i+1}`,style:{width:index===i?18:6,height:6,borderRadius:3,background:index===i?props.dotActiveColor??\"#0089d0\":props.dotInactiveColor??\"#dddddd\",border:\"none\",cursor:\"pointer\",padding:0,transition:\"width .2s ease, background .2s ease\"}},i))}),/*#__PURE__*/_jsx(NavBtn,{onClick:()=>scrollTo(index+1),disabled:index===totalItems-1,iconPath:props.nextIconPath||DEFAULT_NEXT,p:props,label:\"Next\"})]})]});}// ─────────────────────────────────────────────────────────────\n// PROPERTY CONTROLS\n// ─────────────────────────────────────────────────────────────\naddPropertyControls(EventsCarousel,{// ══ DATA ══════════════════════════════════════════════════\nuseDemoData:{type:ControlType.Boolean,title:\"Use Demo Data\",defaultValue:true},cmsEndpoint:{type:ControlType.String,title:\"CMS Endpoint URL\",defaultValue:\"\",placeholder:\"https://your-cms.io/api/events\",hidden:p=>p.useDemoData},detailsUrl:{type:ControlType.String,title:\"Details URL Override\",defaultValue:\"\",placeholder:\"https://ymca.org/events\",description:\"Overrides per-event URLs for all cards. Leave blank to use each event's own URL.\"},maxEvents:{type:ControlType.Number,title:\"Max Events\",defaultValue:8,min:0,max:100,step:1,displayStepper:true,description:\"0 = show all\"},emptyMessage:{type:ControlType.String,title:\"Empty State Text\",defaultValue:\"No upcoming events.\"},// ══ PROP-LEVEL LOCKS ══════════════════════════════════════\nfilterCategory:{type:ControlType.String,title:\"Lock: Category\",defaultValue:\"\",placeholder:\"e.g. Aquatics\",description:\"Locks the carousel to one category. Type the category exactly as it comes from the CMS (matching is case-insensitive). Leave blank for no lock.\"},filterMonth:{type:ControlType.Enum,title:\"Lock: Month\",defaultValue:\"All\",options:MONTH_OPTIONS,optionTitles:MONTH_OPTIONS,description:\"Locks carousel to a specific month.\"},monthLockMode:{type:ControlType.Enum,title:\"Lock: Month Mode\",options:[\"all\",\"current\",\"future-only\"],optionTitles:[\"All future (default)\",\"Current month only\",\"Future months only (excl. current)\"],defaultValue:\"all\",description:\"'Current' = this calendar month. 'Future only' = next month onwards.\"},filterLocation:{type:ControlType.String,title:\"Lock: Location\",defaultValue:\"\",placeholder:\"e.g. Everett Family YMCA\",description:\"Locks to events at this location. Leave blank for all.\"},// ══ LAYOUT ════════════════════════════════════════════════\nleftOffsetVW:{type:ControlType.Number,title:\"Left Offset (vw)\",defaultValue:9,min:0,max:50,step:.5,displayStepper:true,description:\"How far from the left edge the first card sits. Match your site's content margin.\"},cardRelativeWidth:{type:ControlType.Number,title:\"Card Width (vw)\",defaultValue:33,min:5,max:90,step:1,displayStepper:true},cardMinWidth:{type:ControlType.Number,title:\"Card Min Width (px)\",defaultValue:280,min:100,max:600,step:4},cardMaxWidth:{type:ControlType.Number,title:\"Card Max Width (px)\",defaultValue:480,min:200,max:1200,step:4},cardGap:{type:ControlType.Number,title:\"Card Gap (px)\",defaultValue:20,min:0,max:80,step:2},// ══ CARD SHELL ════════════════════════════════════════════\ncardBg:{type:ControlType.Color,title:\"Card: Background\",defaultValue:\"#ffffff\"},cardBorderColor:{type:ControlType.Color,title:\"Card: Border Color\",defaultValue:\"#e8e4df\"},cardBorderWidth:{type:ControlType.Number,title:\"Card: Border Width\",defaultValue:1,min:0,max:8,unit:\"px\"},cardRadius:{type:ControlType.Number,title:\"Card: Corner Radius\",defaultValue:16,min:0,max:60,unit:\"px\"},cardShadow:{type:ControlType.String,title:\"Card: Shadow\",defaultValue:\"0 2px 12px rgba(0,0,0,0.08)\"},cardShadowHover:{type:ControlType.String,title:\"Card: Shadow (Hover)\",defaultValue:\"0 8px 32px rgba(0,0,0,0.14)\"},cardPaddingX:{type:ControlType.Number,title:\"Card: Padding H\",defaultValue:20,min:0,max:60,unit:\"px\"},cardPaddingY:{type:ControlType.Number,title:\"Card: Padding V\",defaultValue:20,min:0,max:60,unit:\"px\"},cardInnerGap:{type:ControlType.Number,title:\"Card: Inner Gap\",defaultValue:8,min:0,max:40,unit:\"px\"},// ══ IMAGE ═════════════════════════════════════════════════\nimageHeight:{type:ControlType.Number,title:\"Image: Height\",defaultValue:220,min:60,max:600,step:4,unit:\"px\"},imagePlaceholderGradient:{type:ControlType.String,title:\"Image: Placeholder Gradient\",defaultValue:\"linear-gradient(135deg, #00aeef, #01a490)\",description:\"CSS gradient shown when no image is set on an event.\"},// ══ DATE BOX ══════════════════════════════════════════════\ndateBoxBg:{type:ControlType.Color,title:\"Date Box: Background\",defaultValue:\"#ffffff\"},dateBoxLabelColor:{type:ControlType.Color,title:\"Date Box: Label Color\",defaultValue:\"#666666\",description:\"Color for the weekday and month labels.\"},dateBoxRadius:{type:ControlType.Number,title:\"Date Box: Corner Radius\",defaultValue:10,min:0,max:40,unit:\"px\"},dateBoxPaddingH:{type:ControlType.Number,title:\"Date Box: Padding H\",defaultValue:12,min:4,max:40,unit:\"px\"},dateBoxPaddingV:{type:ControlType.Number,title:\"Date Box: Padding V\",defaultValue:10,min:4,max:40,unit:\"px\"},dateBoxMinWidth:{type:ControlType.Number,title:\"Date Box: Min Width\",defaultValue:54,min:32,max:120,unit:\"px\"},dateBoxOffsetTop:{type:ControlType.Number,title:\"Date Box: Offset Top\",defaultValue:16,min:0,max:80,unit:\"px\"},dateBoxOffsetRight:{type:ControlType.Number,title:\"Date Box: Offset Right\",defaultValue:16,min:0,max:80,unit:\"px\"},dayFontSize:{type:ControlType.Number,title:\"Date Box: Day Size\",defaultValue:36,min:20,max:80,unit:\"px\"},weekdayFontSize:{type:ControlType.Number,title:\"Date Box: Weekday Size\",defaultValue:11,min:8,max:20,unit:\"px\"},monthFontSize:{type:ControlType.Number,title:\"Date Box: Month Size\",defaultValue:11,min:8,max:20,unit:\"px\"},dayUpcomingColor:{type:ControlType.Color,title:\"Date: Upcoming Color\",defaultValue:\"#0089d0\",description:\"Day number color for upcoming events.\"},dayTodayColor:{type:ControlType.Color,title:\"Date: Today Color\",defaultValue:\"#f15922\",description:\"Day number color for events happening today.\"},dayPastColor:{type:ControlType.Color,title:\"Date: Past Color\",defaultValue:\"#1a1a1a\"},// ══ TYPOGRAPHY ════════════════════════════════════════════\nfontFamilyDisplay:{type:ControlType.String,title:\"Font: Display\",defaultValue:\"'Black Han Sans', 'Arial Black', sans-serif\",description:\"Title, badge, meta, date labels, buttons.\"},fontFamilyBody:{type:ControlType.String,title:\"Font: Body\",defaultValue:\"'Barlow', 'Arial', sans-serif\",description:\"Description text.\"},iconStrokeWidth:{type:ControlType.Number,title:\"Icons: Stroke Weight\",defaultValue:2.5,min:.5,max:5,step:.5},// ── Badge ──────────────────────────────────────────────────\nbadgeTextColor:{type:ControlType.Color,title:\"Badge: Text Color\",defaultValue:\"#ffffff\"},badgeFontSize:{type:ControlType.Number,title:\"Badge: Font Size\",defaultValue:11,min:8,max:18,unit:\"px\"},// ── Title ──────────────────────────────────────────────────\ntitleFontSize:{type:ControlType.Number,title:\"Title: Size\",defaultValue:20,min:12,max:48,unit:\"px\"},titleColor:{type:ControlType.Color,title:\"Title: Color\",defaultValue:\"#1a1a1a\"},titleFontWeight:{type:ControlType.Enum,title:\"Title: Weight\",defaultValue:\"900\",options:[\"400\",\"500\",\"700\",\"900\"],optionTitles:[\"Regular\",\"Medium\",\"Bold\",\"Black\"]},titleLineHeight:{type:ControlType.Number,title:\"Title: Line Height\",defaultValue:1.15,min:.8,max:2,step:.05},// ── Meta ───────────────────────────────────────────────────\nmetaFontSize:{type:ControlType.Number,title:\"Meta: Font Size\",defaultValue:12,min:8,max:20,unit:\"px\"},metaColor:{type:ControlType.Color,title:\"Meta: Color\",defaultValue:\"#888888\"},metaFontWeight:{type:ControlType.Enum,title:\"Meta: Weight\",defaultValue:\"400\",options:[\"300\",\"400\",\"500\",\"700\"],optionTitles:[\"Light\",\"Regular\",\"Medium\",\"Bold\"]},// ── Description ────────────────────────────────────────────\ndescFontSize:{type:ControlType.Number,title:\"Desc: Font Size\",defaultValue:13,min:8,max:20,unit:\"px\"},descColor:{type:ControlType.Color,title:\"Desc: Color\",defaultValue:\"#555555\"},descLineHeight:{type:ControlType.Number,title:\"Desc: Line Height\",defaultValue:1.5,min:1,max:3,step:.05},descLineClamp:{type:ControlType.Number,title:\"Desc: Line Clamp\",defaultValue:4,min:1,max:12,step:1,displayStepper:true,description:\"Max lines before truncating with ellipsis.\"},// ── View Event link ────────────────────────────────────────\nviewEventLabel:{type:ControlType.String,title:\"View Event: Label\",defaultValue:\"View Event\"},viewEventColor:{type:ControlType.Color,title:\"View Event: Color\",defaultValue:\"#0089d0\"},viewEventHoverColor:{type:ControlType.Color,title:\"View Event: Hover Color\",defaultValue:\"#0060af\"},viewEventFontSize:{type:ControlType.Number,title:\"View Event: Font Size\",defaultValue:12,min:8,max:20,unit:\"px\"},viewEventIconPath:{type:ControlType.String,title:\"View Event: Icon Path\",defaultValue:\"\",placeholder:\"M5 12h14M12 5l7 7-7 7\",description:\"SVG path d value. Leave blank for default arrow.\"},viewEventIconSize:{type:ControlType.Number,title:\"View Event: Icon Size\",defaultValue:14,min:8,max:32,unit:\"px\"},// ══ NAV BUTTONS ═══════════════════════════════════════════\nbtnBg:{type:ControlType.Color,title:\"Button: Background\",defaultValue:\"#0089d0\"},btnHoverBg:{type:ControlType.Color,title:\"Button: Hover BG\",defaultValue:\"#0060af\"},btnFg:{type:ControlType.Color,title:\"Button: Icon Color\",defaultValue:\"#ffffff\"},btnDisabledBg:{type:ControlType.Color,title:\"Button: Disabled BG\",defaultValue:\"#dddddd\"},btnDisabledFg:{type:ControlType.Color,title:\"Button: Disabled FG\",defaultValue:\"#aaaaaa\"},btnSize:{type:ControlType.Number,title:\"Button: Size\",defaultValue:48,min:24,max:100,step:2,unit:\"px\"},btnRadius:{type:ControlType.Number,title:\"Button: Radius (0 = circle)\",defaultValue:0,min:0,max:60,unit:\"px\"},btnGap:{type:ControlType.Number,title:\"Button: Gap\",defaultValue:12,min:0,max:80,unit:\"px\"},btnNavTopGap:{type:ControlType.Number,title:\"Nav: Top Margin\",defaultValue:28,min:0,max:80,unit:\"px\"},prevIconPath:{type:ControlType.String,title:\"Prev Icon SVG Path\",defaultValue:\"\",placeholder:\"M15 18l-6-6 6-6\"},nextIconPath:{type:ControlType.String,title:\"Next Icon SVG Path\",defaultValue:\"\",placeholder:\"M9 18l6-6-6-6\"},btnIconSize:{type:ControlType.Number,title:\"Button: Icon Size\",defaultValue:18,min:8,max:48,unit:\"px\"},// ══ DOTS ══════════════════════════════════════════════════\nshowDots:{type:ControlType.Boolean,title:\"Show Dots\",defaultValue:true},dotActiveColor:{type:ControlType.Color,title:\"Dot: Active Color\",defaultValue:\"#0089d0\",hidden:p=>!p.showDots},dotInactiveColor:{type:ControlType.Color,title:\"Dot: Inactive Color\",defaultValue:\"#dddddd\",hidden:p=>!p.showDots},// ══ END CAP ═══════════════════════════════════════════════\nshowEndCap:{type:ControlType.Boolean,title:\"Show End Cap\",defaultValue:true},endCapEyebrow:{type:ControlType.String,title:\"End Cap: Eyebrow\",defaultValue:\"Stay Connected\",hidden:p=>!p.showEndCap},endCapHeadline:{type:ControlType.String,title:\"End Cap: Headline\",defaultValue:\"View All\\nEvents\",hidden:p=>!p.showEndCap},endCapHeadlineFontSize:{type:ControlType.Number,title:\"End Cap: Headline Size\",defaultValue:28,min:14,max:72,unit:\"px\",hidden:p=>!p.showEndCap},endCapHeadlineColor:{type:ControlType.Color,title:\"End Cap: Headline Color\",defaultValue:\"#1a1a1a\",hidden:p=>!p.showEndCap},endCapEyebrowColor:{type:ControlType.Color,title:\"End Cap: Eyebrow Color\",defaultValue:\"#888888\",hidden:p=>!p.showEndCap},endCapBg:{type:ControlType.Color,title:\"End Cap: Background\",defaultValue:\"#f4f1ee\",hidden:p=>!p.showEndCap},endCapBorderColor:{type:ControlType.Color,title:\"End Cap: Border Color\",defaultValue:\"#e8e4df\",hidden:p=>!p.showEndCap},endCapBtnLabel:{type:ControlType.String,title:\"End Cap: Button Label\",defaultValue:\"View All Events\",hidden:p=>!p.showEndCap},endCapBtnUrl:{type:ControlType.String,title:\"End Cap: Button URL\",defaultValue:\"#\",hidden:p=>!p.showEndCap},endCapBtnBg:{type:ControlType.Color,title:\"End Cap: Button BG\",defaultValue:\"#0089d0\",hidden:p=>!p.showEndCap},endCapBtnHoverBg:{type:ControlType.Color,title:\"End Cap: Button Hover BG\",defaultValue:\"#0060af\",hidden:p=>!p.showEndCap},endCapBtnColor:{type:ControlType.Color,title:\"End Cap: Button Text Color\",defaultValue:\"#ffffff\",hidden:p=>!p.showEndCap},endCapBtnRadius:{type:ControlType.Number,title:\"End Cap: Button Radius\",defaultValue:9999,min:0,max:9999,unit:\"px\",description:\"9999 = pill\",hidden:p=>!p.showEndCap},endCapBtnFontSize:{type:ControlType.Number,title:\"End Cap: Button Font Size\",defaultValue:13,min:8,max:24,unit:\"px\",hidden:p=>!p.showEndCap},endCapBtnPaddingX:{type:ControlType.Number,title:\"End Cap: Button Padding H\",defaultValue:28,min:0,max:80,unit:\"px\",hidden:p=>!p.showEndCap},endCapBtnPaddingY:{type:ControlType.Number,title:\"End Cap: Button Padding V\",defaultValue:12,min:0,max:60,unit:\"px\",hidden:p=>!p.showEndCap},// ══ CATEGORY COLORS ═══════════════════════════════════════\ncolorAdaptive:{type:ControlType.Color,title:\"Color: Adaptive\",defaultValue:\"#00a651\"},colorAquatics:{type:ControlType.Color,title:\"Color: Aquatics\",defaultValue:\"#20bdbe\"},colorCamp:{type:ControlType.Color,title:\"Color: Camp\",defaultValue:\"#5c2e91\"},colorCommunity:{type:ControlType.Color,title:\"Color: Community\",defaultValue:\"#f15922\"},colorFamily:{type:ControlType.Color,title:\"Color: Family\",defaultValue:\"#c6168d\"},colorFundraising:{type:ControlType.Color,title:\"Color: Fundraising\",defaultValue:\"#fcaf17\"},colorHealthyLiving:{type:ControlType.Color,title:\"Color: Healthy Living\",defaultValue:\"#0089d0\"},colorSeniors:{type:ControlType.Color,title:\"Color: Seniors\",defaultValue:\"#01a490\"},colorSkate:{type:ControlType.Color,title:\"Color: Skate\",defaultValue:\"#29abe2\"},colorSpecialEvent:{type:ControlType.Color,title:\"Color: Special Event\",defaultValue:\"#92278f\"},colorTeenLeadership:{type:ControlType.Color,title:\"Color: Teen Leadership\",defaultValue:\"#ed1c24\"},colorVolunteer:{type:ControlType.Color,title:\"Color: Volunteer\",defaultValue:\"#f47920\"},colorYouth:{type:ControlType.Color,title:\"Color: Youth\",defaultValue:\"#8dc63f\"},colorYouthSports:{type:ControlType.Color,title:\"Color: Youth Sports\",defaultValue:\"#0060af\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EventsCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EventCarousel.map"],"mappings":"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"}