{"version":3,"file":"EventCarousel.CW_BUFuP.mjs","names":["p","useState","React","useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/4LArLT5VWguAcvZqujwB/FoNBxYSs2mocWUqB7qSq/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 React,{useState,useEffect,useMemo,useRef,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";// ─────────────────────────────────────────────────────────────\n// CONSTANTS\n// ─────────────────────────────────────────────────────────────\n// ── Schedule Tab categories ───────────────────────────────────\n// Keys match the `scheduleTab` field values coming from the CMS.\n// Labels are what's shown in the badge and filter UI.\nconst SCHEDULE_TAB_LABELS={pool:\"Aquatics\",gym:\"Gym & Fitness\",groupExercise:\"Health & Wellness\",family:\"Youth & Family\",senior:\"Seniors\",teens:\"Teens\",communityEvent:\"Community Event\",skate:\"Skate Event\",camp:\"Camp\",volunteer:\"Volunteering\",fundraising:\"Fundraising\",specialEvent:\"Special Event\",holidayClosure:\"Holiday Closure\"};// Ordered list of all scheduleTab keys\nconst SCHEDULE_TAB_KEYS=[\"pool\",\"gym\",\"groupExercise\",\"family\",\"senior\",\"teens\",\"communityEvent\",\"skate\",\"camp\",\"volunteer\",\"fundraising\",\"specialEvent\",\"holidayClosure\"];// Default palette — one colour per scheduleTab key\nconst SCHEDULE_TAB_COLORS={pool:\"#20bdbe\",gym:\"#0089d0\",groupExercise:\"#0060af\",family:\"#c6168d\",senior:\"#01a490\",teens:\"#ed1c24\",communityEvent:\"#f15922\",skate:\"#5c2e91\",camp:\"#5c2e91\",volunteer:\"#f47920\",fundraising:\"#fcaf17\",specialEvent:\"#92278f\",holidayClosure:\"#a6192e\"};// Filter dropdown options for the Lock: Category Enum control\nconst SCHEDULE_TAB_FILTER_OPTIONS=[\"All\",...SCHEDULE_TAB_KEYS];const SCHEDULE_TAB_FILTER_TITLES=[\"All\",...SCHEDULE_TAB_KEYS.map(k=>SCHEDULE_TAB_LABELS[k])];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()}T18:00:00`,title:\"Family Fun Night\",location:\"Everett Family YMCA\",category:\"Family\",scheduleTab:\"family\",description:\"Drop in tonight for games, music, and activities for the whole family. No registration required.\",detailsUrl:\"#\"},{id:1,startDate:`${futureISO(0,22)}T09:00:00`,endDate:`${futureISO(0,22)}T10:00:00`,title:\"Session 2 Swim Lessons\",location:\"Everett Family YMCA\",category:\"Aquatics\",scheduleTab:\"pool\",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:\"Healthy Living\",scheduleTab:\"groupExercise\",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:\"Teens\",scheduleTab:\"teens\",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\",scheduleTab:\"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\",scheduleTab:\"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\",scheduleTab:\"senior\",description:\"A day of gentle movement, health screenings, and social connection for adults 55 and up.\",detailsUrl:\"#\"},{id:7,startDate:futureISO(2,25),title:\"All Branches Closed — Holiday\",location:\"All Locations\",category:\"Holiday Closure\",scheduleTab:\"holidayClosure\",description:\"All YMCA of Snohomish County branches will be closed for the holiday. Normal hours resume the next day.\",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\"})};}// Whether a raw date/datetime string from the CMS actually encodes a\n// time-of-day (e.g. \"2026-09-15T09:00:00\") as opposed to a date-only\n// value (e.g. \"2026-09-15\"). Checked on the raw string rather than the\n// parsed Date so we never guess or fabricate a time that wasn't supplied.\nfunction hasTimeComponent(value){if(!value)return false;return/\\d{1,2}:\\d{2}/.test(value);}function formatTime(d){return d.toLocaleTimeString(\"en-US\",{hour:\"numeric\",minute:\"2-digit\"});}function isSameCalendarDay(a,b){return a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate();}// Normalizes raw CMS records into the CMSEvent shape.\n// Passes scheduleTab through directly so live feeds work immediately.\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??\"\",scheduleTab:raw.scheduleTab??\"\",categoryColor:raw.categoryColor,image:raw.image??raw.imageUrl??undefined,description:raw.description??\"\",detailsUrl:raw.detailsUrl??raw.url??\"\"};}// Return the display label for a scheduleTab key.\nfunction resolveTabLabel(scheduleTab){if(!scheduleTab)return\"\";return SCHEDULE_TAB_LABELS[scheduleTab]??scheduleTab;}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// Displays the scheduleTab display label, coloured by scheduleTab.\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// ─────────────────────────────────────────────────────────────\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// ─────────────────────────────────────────────────────────────\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// ─────────────────────────────────────────────────────────────\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;// Time is only ever shown when the source data actually carried a\n// time-of-day (see hasTimeComponent / timeRangeDisplay). Never\n// fabricated for date-only events.\nconst showTime=Boolean((p.showTimeRange??true)&&event.timeRangeDisplay);const metaParts=[];if(dateStr)metaParts.push({key:\"date\",node:dateStr});if(showTime){metaParts.push({key:\"time\",node:/*#__PURE__*/_jsx(\"span\",{style:{color:p.timeColor??\"#888888\",fontFamily:p.timeFontFamily||\"inherit\",fontSize:p.timeFontSize??12,fontWeight:p.timeFontWeight??\"600\",letterSpacing:`${p.timeLetterSpacing??0}em`},children:event.timeRangeDisplay})});}if(event.location)metaParts.push({key:\"loc\",node:event.location});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.resolvedScheduleTabLabel,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}),metaParts.length>0&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:fontDisplay,fontSize:p.metaFontSize??12,color:p.metaColor??\"#888888\",fontWeight:p.metaFontWeight??\"400\",lineHeight:1.4,display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",columnGap:6,rowGap:2},children:metaParts.map((part,idx)=>/*#__PURE__*/_jsxs(React.Fragment,{children:[idx>0&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"•\"}),part.node]},part.key))}),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]);// ── scheduleTab colour map (keyed by scheduleTab value) ───\nconst tabColorMap=useMemo(()=>({pool:props.colorPool??SCHEDULE_TAB_COLORS.pool,gym:props.colorGym??SCHEDULE_TAB_COLORS.gym,groupExercise:props.colorGroupExercise??SCHEDULE_TAB_COLORS.groupExercise,family:props.colorFamily??SCHEDULE_TAB_COLORS.family,senior:props.colorSenior??SCHEDULE_TAB_COLORS.senior,teens:props.colorTeens??SCHEDULE_TAB_COLORS.teens,communityEvent:props.colorCommunityEvent??SCHEDULE_TAB_COLORS.communityEvent,skate:props.colorSkate??SCHEDULE_TAB_COLORS.skate,camp:props.colorCamp??SCHEDULE_TAB_COLORS.camp,volunteer:props.colorVolunteer??SCHEDULE_TAB_COLORS.volunteer,fundraising:props.colorFundraising??SCHEDULE_TAB_COLORS.fundraising,specialEvent:props.colorSpecialEvent??SCHEDULE_TAB_COLORS.specialEvent,holidayClosure:props.colorHolidayClosure??SCHEDULE_TAB_COLORS.holidayClosure}),[props.colorPool,props.colorGym,props.colorGroupExercise,props.colorFamily,props.colorSenior,props.colorTeens,props.colorCommunityEvent,props.colorSkate,props.colorCamp,props.colorVolunteer,props.colorFundraising,props.colorSpecialEvent,props.colorHolidayClosure]);// ── Prop-level locks ──────────────────────────────────────\n// filterCategory is now a scheduleTab key (e.g. \"pool\") or \"All\"/\"\"\nconst propCategoryLock=props.filterCategory&&props.filterCategory!==\"All\"&&props.filterCategory!==\"\"?props.filterCategory:\"\";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;// Category lock: compare against scheduleTab key\nif(propCategoryLock&&e.scheduleTab!==propCategoryLock)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;// Only treat the end date as a separate calendar day (i.e. a\n// multi-day event) when it actually falls on a different day.\n// Same-day start/end (typical of an intraday start/end *time*)\n// should not render as a duplicated date range.\nconst isMultiDay=Boolean(end&&!isSameCalendarDay(start,end));const ep=isMultiDay&&end?formatParts(end):null;// Time range: only populated when the raw source string(s)\n// actually encode a time-of-day. Never fabricated.\nconst startHasTime=hasTimeComponent(e.startDate);const endHasTime=hasTimeComponent(e.endDate);const startTimeStr=startHasTime?formatTime(start):\"\";const endTimeStr=endHasTime&&end?formatTime(end):\"\";let timeRangeDisplay=\"\";if(startTimeStr&&endTimeStr){timeRangeDisplay=`${startTimeStr} – ${endTimeStr}`;}else if(startTimeStr){timeRangeDisplay=startTimeStr;}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??tabColorMap[e.scheduleTab??\"\"]??\"#0089d0\",resolvedScheduleTabLabel:resolveTabLabel(e.scheduleTab),dateState:getDateState(start),timeRangeDisplay});}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,tabColorMap]);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 ══════════════════════════════════════\n// Category lock is now an Enum of scheduleTab keys, matching EventGrid\nfilterCategory:{type:ControlType.Enum,title:\"Lock: Category\",defaultValue:\"All\",options:SCHEDULE_TAB_FILTER_OPTIONS,optionTitles:SCHEDULE_TAB_FILTER_TITLES,description:\"Locks the carousel to one scheduleTab category. Value must match the scheduleTab key in your CMS data.\"},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\"]},// ── Time Range ─────────────────────────────────────────────\n// Rendered in the meta line, between the date and location.\n// Only shown when the source event data actually carries a\n// start/end time — never fabricated for date-only events.\nshowTimeRange:{type:ControlType.Boolean,title:\"Time: Show\",defaultValue:true,description:\"Shown only when the event's data includes a start/end time.\"},timeFontFamily:{type:ControlType.String,title:\"Time: Font Family\",defaultValue:\"\",placeholder:\"Inherits Font: Display\",hidden:p=>!p.showTimeRange},timeFontSize:{type:ControlType.Number,title:\"Time: Font Size\",defaultValue:12,min:8,max:24,unit:\"px\",hidden:p=>!p.showTimeRange},timeFontWeight:{type:ControlType.Enum,title:\"Time: Font Weight\",defaultValue:\"600\",options:[\"300\",\"400\",\"500\",\"600\",\"700\",\"900\"],optionTitles:[\"Light\",\"Regular\",\"Medium\",\"Semibold\",\"Bold\",\"Black\"],hidden:p=>!p.showTimeRange},timeColor:{type:ControlType.Color,title:\"Time: Color\",defaultValue:\"#888888\",hidden:p=>!p.showTimeRange},timeLetterSpacing:{type:ControlType.Number,title:\"Time: Letter Spacing\",defaultValue:0,min:0,max:.5,step:.01,description:\"em units\",hidden:p=>!p.showTimeRange},// ── 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},// ══ SCHEDULE TAB CATEGORY COLORS ══════════════════════════\n// One colour picker per scheduleTab key, matching EventGrid exactly.\ncolorPool:{type:ControlType.Color,title:\"Color: Aquatics (pool)\",defaultValue:\"#20bdbe\"},colorGym:{type:ControlType.Color,title:\"Color: Gym & Fitness (gym)\",defaultValue:\"#0089d0\"},colorGroupExercise:{type:ControlType.Color,title:\"Color: Health & Wellness (groupExercise)\",defaultValue:\"#0060af\"},colorFamily:{type:ControlType.Color,title:\"Color: Youth & Family (family)\",defaultValue:\"#c6168d\"},colorSenior:{type:ControlType.Color,title:\"Color: Seniors (senior)\",defaultValue:\"#01a490\"},colorTeens:{type:ControlType.Color,title:\"Color: Teens (teens)\",defaultValue:\"#ed1c24\"},colorCommunityEvent:{type:ControlType.Color,title:\"Color: Community Event (communityEvent)\",defaultValue:\"#f15922\"},colorSkate:{type:ControlType.Color,title:\"Color: Skate Event (skate)\",defaultValue:\"#5c2e91\"},colorCamp:{type:ControlType.Color,title:\"Color: Camp (camp)\",defaultValue:\"#5c2e91\"},colorVolunteer:{type:ControlType.Color,title:\"Color: Volunteering (volunteer)\",defaultValue:\"#f47920\"},colorFundraising:{type:ControlType.Color,title:\"Color: Fundraising (fundraising)\",defaultValue:\"#fcaf17\"},colorSpecialEvent:{type:ControlType.Color,title:\"Color: Special Event (specialEvent)\",defaultValue:\"#92278f\"},colorHolidayClosure:{type:ControlType.Color,title:\"Color: Holiday Closure (holidayClosure)\",defaultValue:\"#a6192e\"}});\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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"}