{"version":3,"file":"CommunityCalendar.aOKU6tj8.mjs","names":["useState","_Fragment","useRef"],"sources":["https:/framerusercontent.com/modules/fmEcCbHaWzmhxMAl18YR/vfFXWCMn2kjXU8TT4Mtn/CommunityCalendar.js"],"sourcesContent":["// ─────────────────────────────────────────────────────────────────────────────\n// Community Calendar — Framer Code Component\n// File: Community Events/CommunityCalendar.tsx\n// Last modified: 2026-05-15 EST | Author: Eric Belozovsky (with Claude)\n//\n// === What this is ===\n// A Framer Code Component for the JW community calendar.  Fetches events from\n// the jw-events-api Cloudflare Worker (which proxies the Airtable Community\n// Events base), and renders a calendar grid + list view with detail sidebar.\n//\n// === Architecture ===\n// Browser → jw-events-api Worker → Airtable Community Events base.\n// The Worker holds the Airtable PAT server-side; the browser never sees it.\n//\n// === Setup in Framer ===\n//   1. Create a Code Component, replace its contents with this file.\n//   2. In the component props panel, leave \"API Base URL\" as the default\n//      (https://jw-events-api.eric-belozovsky.workers.dev) unless the Worker\n//      has been redeployed somewhere else.\n//   3. Set \"Container Height\" to the height you want the calendar to fill.\n//      Both List and Calendar views scroll internally to fit this height.\n//\n// === What changed in this version (vs the prior PAT-embedded version) ===\n//   1. No more apiKey prop. Fetch comes from a server-side Worker.\n//   2. Renders registration_url / registration_phone / registration_email\n//      (clickable links) in the event detail.\n//   3. Renders submitter_name / submitter_email / submitter_phone (the public\n//      accountability contact, per Community Events rule R1).\n//   4. Renders image_url or image_attachment[0] as a hero in the detail view\n//      and as a thumbnail in the list card.\n//   5. Renders organizer (resolved to the linked Organization's name + website).\n//   6. List view shows TODAY-FORWARD events across all months (no longer\n//      month-scoped). Calendar view stays month-scoped because the grid IS a\n//      month.\n//   7. Audience filter chips alongside category chips. AND across the two\n//      filter rows (event must match active category AND have at least one\n//      active audience).\n//   8. Fixed container height (configurable prop). Both views scroll inside.\n//   9. Robust auto-scroll-to-today on list view: if today has no events,\n//      scrolls to the NEXT date that has events.\n//\n// ─────────────────────────────────────────────────────────────────────────────\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";// ─── Config ──────────────────────────────────────────────────────────────────\nconst API_DEFAULT_URL=\"https://jw-events-api.eric-belozovsky.workers.dev\";const MONTH_NAMES=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const DAY_NAMES=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];// Fallback palette — overridden at runtime by Categories table\nconst CATEGORY_PALETTE={\"Jewish Life\":\"#C0392B\",\"Classes & Study\":\"#B8652E\",\"Arts & Culture\":\"#7B3F9E\",\"Museums & Galleries\":\"#C8A820\",\"Business & Technology\":\"#4B6CB7\",\"Fitness & Recreation\":\"#108BE3\",\"Tzedakah & Fundraisers\":\"#2D6A4F\",\"Youth & Family\":\"#CB15CF\",\"Senior Programs\":\"#E3103E\"};// ─── Helpers ─────────────────────────────────────────────────────────────────\nfunction daysInMonth(y,m){return new Date(y,m+1,0).getDate();}function firstWeekday(y,m){return new Date(y,m,1).getDay();}function sameDay(a,b){return a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate();}function toDateKey(d){return`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,\"0\")}-${String(d.getDate()).padStart(2,\"0\")}`;}function parseDate(str){if(!str)return null;try{const d=new Date(str);return isNaN(d.getTime())?null:d;}catch{return null;}}function fmtTime(d){if(!d)return\"\";return d.toLocaleTimeString([],{hour:\"numeric\",minute:\"2-digit\"});}function fmtDateLong(d){return d.toLocaleDateString([],{weekday:\"long\",month:\"long\",day:\"numeric\",year:\"numeric\"});}function fmtDateShort(d){return d.toLocaleDateString([],{weekday:\"short\",month:\"short\",day:\"numeric\"});}function catColor(category,fallback,overrides){return overrides&&category&&overrides[category]||CATEGORY_PALETTE[category]||fallback;}// Extract first usable image URL from an event's fields.\n// Priority: image_url → image_attachment[0].thumbnails.large.url → image_attachment[0].url\nfunction eventImageUrl(f,size=\"large\"){if(f?.image_url)return f.image_url;const att=Array.isArray(f?.image_attachment)?f.image_attachment[0]:null;if(!att)return null;return att?.thumbnails?.[size]?.url||att?.url||null;}// Extract the flyer URL. Prefer the first attachment uploaded via the form\n// (f.flyer[0].url, a signed Airtable CDN URL). Fall back to the manually-\n// entered flyer_url for cases where the flyer is hosted elsewhere\n// (Google Drive, org site, etc.).\nfunction eventFlyerUrl(f){const att=Array.isArray(f?.flyer)?f.flyer[0]:null;if(att?.url)return att.url;if(f?.flyer_url)return f.flyer_url;return null;}// True if the event is part of a recurring series (any non-empty recurrence_type other than \"None\").\nfunction isRecurring(f){const t=f?.recurrence_type;if(!t)return false;if(typeof t===\"string\")return t!==\"None\";return true;}// Returns all events in the same recurring series as the given event (excluding the event itself).\n// Sorted chronologically by start_datetime.\nfunction siblingsInSeries(event,allEvents){const seriesIds=Array.isArray(event?.fields?.recurrence_series)?event.fields.recurrence_series:[];if(seriesIds.length===0)return[];const myId=event.id;return allEvents.filter(r=>{if(r.id===myId)return false;const rsIds=Array.isArray(r.fields?.recurrence_series)?r.fields.recurrence_series:[];return rsIds.some(id=>seriesIds.includes(id));}).sort((a,b)=>{const da=a.fields?.start_datetime||\"\";const db=b.fields?.start_datetime||\"\";return da<db?-1:da>db?1:0;});}// Resolve organizer / venue display name from the *_resolved fields the Worker attaches.\nfunction organizerName(f){const resolved=Array.isArray(f?.organizer_resolved)?f.organizer_resolved:[];return resolved.map(o=>o?.name).filter(Boolean).join(\", \");}function organizerSite(f){const resolved=Array.isArray(f?.organizer_resolved)?f.organizer_resolved:[];for(const o of resolved)if(o?.website)return o.website;return null;}// Short venue name (for compact EventCard rows). Pulls from venue_name_cached\n// when available (lookup field), else first venue_resolved.name, else \"\".\nfunction venueDisplay(f){if(f?.venue_name_cached){return Array.isArray(f.venue_name_cached)?f.venue_name_cached.join(\", \"):f.venue_name_cached;}const resolved=Array.isArray(f?.venue_resolved)?f.venue_resolved:[];return resolved.map(v=>v?.name).filter(Boolean).join(\" / \");}function venueDetails(f){const resolved=Array.isArray(f?.venue_resolved)?f.venue_resolved:[];return resolved.map(v=>{const cityStateZip=[v?.city,v?.state,v?.zip].filter(Boolean).join(v?.state?\", \":\" \").replace(/, ([A-Z]{2}) /,\" $1 \")// \"Delmar, NY 12054\" not \"Delmar, NY, 12054\"\n;return{id:v?.id,name:v?.name||\"\",addressLine:v?.address||\"\",cityStateZip,mapUrl:v?.map_url,website:v?.website,accessibility:v?.accessibility_notes};}).filter(vd=>vd.name||vd.addressLine||vd.cityStateZip);}// ─── Worker fetch ────────────────────────────────────────────────────────────\nasync function fetchJson(url){const r=await fetch(url,{credentials:\"omit\"});if(!r.ok){const body=await r.text();throw new Error(`Fetch ${url} ${r.status}: ${body.slice(0,200)}`);}return r.json();}// ── EventCard ─────────────────────────────────────────────────────────────────\n// inList = true → list view variant (date line + truncated description + optional thumb)\n// narrow = true → chip stacks above title instead of floating right (< 480px)\nfunction EventCard({event,tokens,primaryColor,radius,categoryColors,inList=false,showDescription=false,showImage=true,narrow=false,onClick}){const f=event.fields;const start=parseDate(f.start_datetime);const color=catColor(f.category,primaryColor,categoryColors);const thumb=showImage?eventImageUrl(f,\"small\"):null;const venue=venueDisplay(f);const recurring=isRecurring(f);const recurringLabel=recurring?typeof f.recurrence_type===\"string\"?f.recurrence_type:\"Recurring\":null;return /*#__PURE__*/_jsxs(\"div\",{onClick:onClick,style:{borderRadius:radius,padding:\"12px 14px\",marginBottom:inList?0:8,borderLeft:`4px solid ${color}`,backgroundColor:tokens.surface,cursor:\"pointer\",display:\"flex\",gap:12,transition:\"opacity 0.12s\",height:inList?\"100%\":\"auto\",boxSizing:\"border-box\",alignItems:\"flex-start\"},children:[inList&&thumb&&/*#__PURE__*/_jsx(\"img\",{src:thumb,alt:\"\",style:{width:72,height:72,objectFit:\"cover\",borderRadius:6,flexShrink:0,backgroundColor:tokens.surface}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4,flex:1,minWidth:0},children:[inList&&start&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:tokens.bodySize-3,fontWeight:700,color,fontFamily:tokens.font,textTransform:\"uppercase\",letterSpacing:\"0.06em\",marginBottom:2,display:\"flex\",alignItems:\"center\",gap:6,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsxs(\"span\",{children:[fmtDateShort(start),!f.all_day&&` \\xb7 ${fmtTime(start)}`]}),recurring&&/*#__PURE__*/_jsxs(\"span\",{title:`Recurring (${recurringLabel})`,style:{fontSize:9,padding:\"1px 6px\",borderRadius:999,backgroundColor:color+\"18\",color,border:`1px solid ${color}40`,letterSpacing:\"0.04em\"},children:[\"↻ \",recurringLabel]})]}),f.category&&narrow&&/*#__PURE__*/_jsx(\"span\",{style:{alignSelf:\"flex-start\",fontSize:10,fontWeight:700,padding:\"3px 8px\",borderRadius:999,backgroundColor:color+\"22\",color,fontFamily:tokens.font,flexShrink:0,letterSpacing:\"0.03em\"},children:f.category}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"flex-start\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:tokens.bodyWeight,fontSize:tokens.bodySize,color:tokens.text,fontFamily:tokens.font,lineHeight:1.4,wordBreak:\"break-word\",overflowWrap:\"break-word\",flex:1,minWidth:0},children:f.title||\"Untitled Event\"}),f.category&&!narrow&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10,fontWeight:700,padding:\"3px 8px\",borderRadius:999,backgroundColor:color+\"22\",color,whiteSpace:\"nowrap\",fontFamily:tokens.font,flexShrink:0,letterSpacing:\"0.03em\",marginTop:1},children:f.category})]}),!inList&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:tokens.bodySize-2,color:tokens.muted,fontFamily:tokens.font,display:\"flex\",alignItems:\"center\",gap:6,flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsxs(\"span\",{children:[f.all_day?\"All day\":start?fmtTime(start):\"\",venue?` \\xb7 ${venue}`:\"\"]}),recurring&&/*#__PURE__*/_jsxs(\"span\",{title:`Recurring (${recurringLabel})`,style:{fontSize:9,padding:\"1px 6px\",borderRadius:999,backgroundColor:color+\"18\",color,border:`1px solid ${color}40`,letterSpacing:\"0.04em\"},children:[\"↻ \",recurringLabel]})]}),inList&&venue&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:tokens.bodySize-2,color:tokens.muted,fontFamily:tokens.font},children:venue}),inList&&showDescription&&f.description&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:tokens.bodySize-2,color:tokens.muted,fontFamily:tokens.font,lineHeight:1.55,marginTop:4,display:\"-webkit-box\",WebkitLineClamp:2,WebkitBoxOrient:\"vertical\",overflow:\"hidden\"},children:f.description})]})]});}// ── InfoRow (label + value, with optional link) ──────────────────────────────\nfunction InfoRow({label,children,tokens}){return /*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:tokens.bodySize-3,fontWeight:700,color:tokens.muted,fontFamily:tokens.font,textTransform:\"uppercase\",letterSpacing:\"0.07em\",marginBottom:3},children:label}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:tokens.bodySize-1,fontWeight:tokens.bodyWeight,color:tokens.text,fontFamily:tokens.font,lineHeight:1.5},children:children})]});}// ── EventDetail (sidebar full-detail view) ───────────────────────────────────\nfunction EventDetail({event,tokens,primaryColor,linkColor,showDescription,showTags,showVenue,showCost,showAudience,showImage,showOrganizer,showRegistration,showSubmitter,showFlyer,radius,categoryColors,allEvents,onSelectEvent,onBack}){const f=event.fields;const start=parseDate(f.start_datetime);const end=parseDate(f.end_datetime);const color=catColor(f.category,primaryColor,categoryColors);const tags=f.tags?Array.isArray(f.tags)?f.tags:[f.tags]:[];const audience=f.audience?Array.isArray(f.audience)?f.audience:[f.audience]:[];const heroImage=showImage?eventImageUrl(f,\"large\"):null;const venue=venueDisplay(f);const venueRows=venueDetails(f);const orgName=organizerName(f);const orgSite=organizerSite(f);const recurring=isRecurring(f);const recurringLabel=recurring?typeof f.recurrence_type===\"string\"?f.recurrence_type:\"Recurring\":null;const siblings=recurring?siblingsInSeries(event,allEvents):[];const[seriesOpen,setSeriesOpen]=useState(false);// Back-button label: surfaces the date the user came from so the action\n// is unambiguous (\"← Return to Fri, May 15 event list\" instead of the\n// generic \"Back to events\").\nconst backLabel=start?`← Return to ${fmtDateShort(start)} event list`:\"← Back to events\";const hasRegistration=showRegistration&&(f.registration_url||f.registration_phone||f.registration_email);const hasSubmitter=showSubmitter&&(f.submitter_name||f.submitter_email||f.submitter_phone);return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"button\",{onClick:onBack,style:{background:\"none\",border:\"none\",cursor:\"pointer\",color:primaryColor,fontSize:13,fontFamily:tokens.font,fontWeight:600,padding:\"0 0 16px\",display:\"flex\",alignItems:\"center\",gap:4},children:backLabel}),heroImage&&/*#__PURE__*/_jsx(\"img\",{src:heroImage,alt:f.title||\"\",style:{width:\"100%\",maxHeight:240,objectFit:\"cover\",borderRadius:radius,marginBottom:14,display:\"block\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{borderLeft:`4px solid ${color}`,paddingLeft:16},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:\"0 0 6px\",fontSize:tokens.bodySize+6,fontWeight:700,color:tokens.text,fontFamily:tokens.headingFont,lineHeight:1.25},children:f.title||\"Untitled Event\"}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:tokens.bodySize-1,color:tokens.muted,fontFamily:tokens.font,marginBottom:12},children:[start&&fmtDateLong(start),!f.all_day&&start&&/*#__PURE__*/_jsxs(\"span\",{children:[\" \\xb7 \",[fmtTime(start),end&&fmtTime(end)].filter(Boolean).join(\" – \")]}),f.all_day&&\" \\xb7 All day event\"]}),f.category&&/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",fontSize:tokens.bodySize-3,fontWeight:700,padding:\"4px 12px\",borderRadius:999,backgroundColor:color+\"22\",color,fontFamily:tokens.font,marginBottom:16,letterSpacing:\"0.04em\"},children:f.category}),showDescription&&f.description&&/*#__PURE__*/_jsx(\"p\",{style:{fontSize:tokens.bodySize,fontWeight:tokens.bodyWeight,color:tokens.text,lineHeight:1.65,fontFamily:tokens.font,margin:\"0 0 16px\",whiteSpace:\"pre-wrap\"},children:f.description}),recurring&&/*#__PURE__*/_jsx(InfoRow,{label:\"Recurring schedule\",tokens:tokens,children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:6,alignSelf:\"flex-start\",fontSize:tokens.bodySize-2,padding:\"3px 10px\",borderRadius:999,backgroundColor:color+\"18\",color,border:`1px solid ${color}40`,fontWeight:600},children:[\"↻ \",recurringLabel]}),siblings.length>0&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setSeriesOpen(o=>!o),style:{background:\"none\",border:\"none\",padding:0,cursor:\"pointer\",color:linkColor,fontSize:tokens.bodySize-2,fontFamily:tokens.font,fontWeight:600,textAlign:\"left\",textDecoration:\"underline\",alignSelf:\"flex-start\"},children:seriesOpen?`Hide other ${siblings.length} dates`:`See all ${siblings.length+1} dates in this series`}),seriesOpen&&/*#__PURE__*/_jsx(\"ul\",{style:{listStyle:\"none\",padding:0,margin:\"4px 0 0\",maxHeight:240,overflowY:\"auto\",border:`1px solid ${tokens.border}`,borderRadius:radius},children:siblings.map((occ,idx)=>{const occStart=parseDate(occ.fields?.start_datetime);return /*#__PURE__*/_jsxs(\"li\",{onClick:()=>onSelectEvent(occ),style:{padding:\"8px 12px\",cursor:\"pointer\",borderTop:idx===0?\"none\":`1px solid ${tokens.border}`,fontSize:tokens.bodySize-2,color:tokens.text,fontFamily:tokens.font,display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:8,transition:\"background 0.12s\"},onMouseEnter:e=>e.currentTarget.style.backgroundColor=tokens.surface,onMouseLeave:e=>e.currentTarget.style.backgroundColor=\"transparent\",children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:600},children:occStart?fmtDateShort(occStart):\"?\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:tokens.muted,fontSize:tokens.bodySize-3},children:occStart&&!occ.fields?.all_day?fmtTime(occStart):\"\"})]},occ.id);})})]})]})}),showOrganizer&&orgName&&/*#__PURE__*/_jsx(InfoRow,{label:\"Organizer\",tokens:tokens,children:orgSite?/*#__PURE__*/_jsx(\"a\",{href:orgSite,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\"},children:orgName}):orgName}),showOrganizer&&orgSite&&/*#__PURE__*/_jsx(InfoRow,{label:\"Website (for more info)\",tokens:tokens,children:/*#__PURE__*/_jsx(\"a\",{href:orgSite,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\",wordBreak:\"break-all\"},children:orgSite.replace(/^https?:\\/\\//,\"\").replace(/\\/$/,\"\")})}),showVenue&&(f.is_online||venueRows.length>0||venue)&&/*#__PURE__*/_jsx(InfoRow,{label:\"Venue\",tokens:tokens,children:f.is_online?/* Online event: just the venue name + the Zoom URL *//*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:600},children:venue||\"Online (Zoom)\"}),f.registration_url?/*#__PURE__*/_jsxs(\"a\",{href:f.registration_url,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\",wordBreak:\"break-all\",fontSize:tokens.bodySize-1},children:[\"Join:\",\" \",f.registration_url.replace(/^https?:\\/\\//,\"\")]}):/*#__PURE__*/_jsx(\"span\",{style:{fontSize:tokens.bodySize-2,color:tokens.muted,fontStyle:\"italic\"},children:\"Link provided at registration.\"})]}):venueRows.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:venueRows.map((vd,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:2},children:[vd.name&&/*#__PURE__*/_jsx(\"span\",{style:{fontWeight:600},children:vd.name}),vd.addressLine&&/*#__PURE__*/_jsx(\"span\",{children:vd.addressLine}),vd.cityStateZip&&/*#__PURE__*/_jsx(\"span\",{children:vd.cityStateZip}),vd.mapUrl&&/*#__PURE__*/_jsx(\"a\",{href:vd.mapUrl,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\",fontSize:tokens.bodySize-2,marginTop:2,alignSelf:\"flex-start\"},children:\"Get directions ↗\"}),vd.accessibility&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:tokens.bodySize-3,color:tokens.muted,fontStyle:\"italic\",marginTop:2},children:[\"Accessibility:\",\" \",vd.accessibility]})]},vd.id||i))}):/* Fallback: no resolved linked record, just the cached name */venue}),showAudience&&audience.length>0&&/*#__PURE__*/_jsx(InfoRow,{label:\"Audience\",tokens:tokens,children:audience.join(\", \")}),showCost&&(f.cost_display||f.cost_member||f.cost_nonmember)&&/*#__PURE__*/_jsxs(InfoRow,{label:\"Cost\",tokens:tokens,children:[f.cost_display,f.cost_member&&` \\xb7 Member: ${f.cost_member}`,f.cost_nonmember&&` \\xb7 Non-member: ${f.cost_nonmember}`]}),(()=>{const flyerUrl=eventFlyerUrl(f);if(!showFlyer||!flyerUrl)return null;return /*#__PURE__*/_jsx(InfoRow,{label:\"Flyer\",tokens:tokens,children:/*#__PURE__*/_jsx(\"a\",{href:flyerUrl,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\",wordBreak:\"break-all\"},children:\"View flyer ↗\"})});})(),hasRegistration&&/*#__PURE__*/_jsx(InfoRow,{label:\"RSVP / Register\",tokens:tokens,children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[f.registration_url&&/*#__PURE__*/_jsx(\"a\",{href:f.registration_url,target:\"_blank\",rel:\"noopener noreferrer\",style:{color:linkColor,textDecoration:\"underline\",wordBreak:\"break-all\"},children:f.registration_url.replace(/^https?:\\/\\//,\"\")}),f.registration_phone&&/*#__PURE__*/_jsx(\"a\",{href:`tel:${f.registration_phone.replace(/[^+\\d]/g,\"\")}`,style:{color:linkColor,textDecoration:\"underline\"},children:f.registration_phone}),f.registration_email&&/*#__PURE__*/_jsx(\"a\",{href:`mailto:${f.registration_email}`,style:{color:linkColor,textDecoration:\"underline\"},children:f.registration_email})]})}),hasSubmitter&&/*#__PURE__*/_jsx(InfoRow,{label:\"Posted by\",tokens:tokens,children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[f.submitter_name&&/*#__PURE__*/_jsx(\"span\",{children:f.submitter_name}),f.submitter_email&&/*#__PURE__*/_jsx(\"a\",{href:`mailto:${f.submitter_email}`,style:{color:linkColor,textDecoration:\"underline\"},children:f.submitter_email}),f.submitter_phone&&/*#__PURE__*/_jsx(\"a\",{href:`tel:${f.submitter_phone.replace(/[^+\\d]/g,\"\")}`,style:{color:linkColor,textDecoration:\"underline\"},children:f.submitter_phone})]})}),showTags&&tags.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:6,marginTop:8},children:tags.map((tag,i)=>/*#__PURE__*/_jsx(\"span\",{style:{fontSize:tokens.bodySize-3,padding:\"3px 10px\",borderRadius:999,backgroundColor:tokens.surface,border:`1px solid ${tokens.border}`,color:tokens.muted,fontFamily:tokens.font},children:tag},i))})]})]});}// ─── Main Component ───────────────────────────────────────────────────────────\nexport default function CommunityCalendar({// Data\napiBaseUrl=API_DEFAULT_URL,// Heading\nheading=\"Community Calendar\",showHeading=true,headingAlign=\"center\",subheading=\"\",showSubheading=false,// Layout\ncontainerHeight=720,sidebarWidth=320,// Colors\nprimaryColor=\"#4F46E5\",bgColor=\"#FFFFFF\",surfaceColor=\"#F9FAFB\",mutedColor=\"#6B7280\",borderColor=\"#E5E7EB\",todayRingColor=\"#4F46E5\",eventDotColor=\"#4F46E5\",selectedDayBg=\"#EEF2FF\",modalBgColor=\"#FFFFFF\",overlayColor=\"rgba(0,0,0,0.55)\",// Typography\nfontFamily=\"Inter, system-ui, sans-serif\",bodyFontFamily=\"Inter, system-ui, sans-serif\",headingFontSize=28,headingFontWeight=\"700\",headingColor=\"#111827\",bodyFontSize=14,bodyFontWeight=\"400\",bodyTextColor=\"#111827\",// Shape\nborderRadius=16,cellBorderRadius=8,// Filter chip style\nchipFont=\"Inter, system-ui, sans-serif\",chipFontSize=11,chipBorderColor=\"#E5E7EB\",chipTextColor=\"#6B7280\",// Audience chip colors (TRUE = filter is ON, FALSE = filter is OFF)\naudienceActiveBg=\"#EEF2FF\",audienceActiveText=\"#4F46E5\",audienceInactiveBg=\"#FFFFFF\",audienceInactiveText=\"#6B7280\",// Color used for ALL clickable links in the event detail panel: organizer\n// website, event website, registration URL, mailto:, tel:. Defaults to a\n// clear blue so links read as links.\nlinkColor=\"#2563EB\",// Search & filter\nshowSearch=true,showFilters=true,showAudienceFilter=true,// Field toggles (event detail panel)\nshowDescription=true,showTags=true,showVenue=true,showCost=true,showAudience=true,showImage=true,showOrganizer=true,showRegistration=true,showSubmitter=true,showFlyer=true}){const[records,setRecords]=useState([]);const[categoryColors,setCategoryColors]=useState({});const[loading,setLoading]=useState(false);const[fetchError,setFetchError]=useState(null);const resolveFont=(f,fallback=\"Inter, system-ui, sans-serif\")=>f&&typeof f===\"object\"?f.fontFamily||fallback:f||fallback;const resolvedFontFamily=resolveFont(fontFamily);const resolvedBodyFontFamily=resolveFont(bodyFontFamily);const resolvedChipFont=resolveFont(chipFont);const today=new Date;const[year,setYear]=useState(today.getFullYear());const[month,setMonth]=useState(today.getMonth());const[selectedDay,setSelectedDay]=useState(null);const[activeEvent,setActiveEvent]=useState(null);const[panelOpen,setPanelOpen]=useState(false);const[searchQuery,setSearchQuery]=useState(\"\");// List view is the DEFAULT (true)\nconst[listViewOpen,setListViewOpen]=useState(true);const[activeCategories,setActiveCategories]=useState(new Set);const[activeAudiences,setActiveAudiences]=useState(new Set);// ── List view column count via ResizeObserver ─────────────────────────────\nconst listContainerRef=useRef(null);const[listCols,setListCols]=useState(2);useEffect(()=>{if(!listViewOpen)return;const el=listContainerRef.current;if(!el)return;const ro=new ResizeObserver(entries=>{const w=entries[0].contentRect.width;setListCols(w<480?1:2);});ro.observe(el);return()=>ro.disconnect();},[listViewOpen]);// ── Container width for responsive day labels ────────────────────────────\nconst containerRef=useRef(null);const[containerWidth,setContainerWidth]=useState(800);useEffect(()=>{const el=containerRef.current;if(!el)return;const ro=new ResizeObserver(entries=>{setContainerWidth(entries[0].contentRect.width);});ro.observe(el);return()=>ro.disconnect();},[]);const dayLabels=containerWidth<420?[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"]:DAY_NAMES;// Trigger slide-in after selectedDay mounts\nuseEffect(()=>{if(selectedDay)requestAnimationFrame(()=>setPanelOpen(true));},[selectedDay]);// Slide out then unmount\nconst closePanel=()=>{setPanelOpen(false);setTimeout(()=>{setSelectedDay(null);setActiveEvent(null);},300);};// ── Fetch events + categories from the Worker proxy ──────────────────────\nuseEffect(()=>{if(!apiBaseUrl){setFetchError(\"Set the API Base URL in the component properties panel.\");return;}setLoading(true);setFetchError(null);Promise.all([fetchJson(`${apiBaseUrl.replace(/\\/+$/,\"\")}/events`),fetchJson(`${apiBaseUrl.replace(/\\/+$/,\"\")}/categories`)]).then(([eventsResp,catsResp])=>{setRecords(Array.isArray(eventsResp?.records)?eventsResp.records:[]);const colors={};for(const rec of catsResp?.records||[]){const f=rec.fields||{};if(f.name&&f[\"Hex Code Color\"]){colors[f.name]=\"#\"+String(f[\"Hex Code Color\"]).trim().replace(/^#/,\"\");}}setCategoryColors(colors);setLoading(false);}).catch(e=>{setFetchError(e.message);setLoading(false);});},[apiBaseUrl]);// ── Unique categories + audiences for chip rows ──────────────────────────\nconst allCategories=Array.from(new Set(records.map(r=>r.fields?.category).filter(Boolean))).sort();const allAudiences=Array.from(new Set(records.flatMap(r=>{const a=r.fields?.audience;return Array.isArray(a)?a:a?[a]:[];}))).sort();// Auto-select all categories + audiences on first load so the component isn't blank\nconst hasAutoSelectedCats=useRef(false);const hasAutoSelectedAuds=useRef(false);useEffect(()=>{if(hasAutoSelectedCats.current||allCategories.length===0)return;setActiveCategories(new Set(allCategories));hasAutoSelectedCats.current=true;},[allCategories.join(\",\")]);useEffect(()=>{if(hasAutoSelectedAuds.current||allAudiences.length===0)return;setActiveAudiences(new Set(allAudiences));hasAutoSelectedAuds.current=true;},[allAudiences.join(\",\")]);const allCatsSelected=allCategories.length>0&&allCategories.every(c=>activeCategories.has(c));const allAudsSelected=allAudiences.length>0&&allAudiences.every(a=>activeAudiences.has(a));// ── Filtering ────────────────────────────────────────────────────────────\n// Calendar view: scope to the displayed month.\n// List view: today-forward, no month scope.\nconst todayMidnight=new Date(today.getFullYear(),today.getMonth(),today.getDate());const filteredRecords=records.filter(rec=>{const f=rec.fields||{};// Category filter\nif(activeCategories.size===0)return false;if(!allCatsSelected&&!activeCategories.has(f.category))return false;// Audience filter — AND across rows, OR within audience selections\nif(showAudienceFilter&&!allAudsSelected){if(activeAudiences.size===0)return false;const recAud=Array.isArray(f.audience)?f.audience:f.audience?[f.audience]:[];if(!recAud.some(a=>activeAudiences.has(a)))return false;}const start=parseDate(f.start_datetime);if(!start)return false;// Scope: list view shows the full date range the Worker returns\n// (past + present + future) so scrolling up from today reveals\n// earlier events. Calendar view is month-scoped because the grid IS\n// a month.\nif(!listViewOpen){if(start.getFullYear()!==year||start.getMonth()!==month)return false;}// Search\nif(searchQuery.trim()){const q=searchQuery.toLowerCase();const haystack=[f.title,f.description,f.venue_name_cached,f.category,organizerName(f),...Array.isArray(f.tags)?f.tags:f.tags?[f.tags]:[],...Array.isArray(f.audience)?f.audience:f.audience?[f.audience]:[]].filter(Boolean).join(\" \").toLowerCase();if(!haystack.includes(q))return false;}return true;});const hasActiveFilter=searchQuery.trim().length>0||activeCategories.size>0&&!allCatsSelected||showAudienceFilter&&activeAudiences.size>0&&!allAudsSelected;// Index filtered events by date key (for calendar grid dots + selected-day list)\nconst eventsByDay={};for(const rec of filteredRecords){const startStr=rec.fields?.start_datetime;if(!startStr)continue;const d=parseDate(startStr);if(!d)continue;const key=toDateKey(d);if(!eventsByDay[key])eventsByDay[key]=[];eventsByDay[key].push(rec);}// For calendar grid layout\nconst totalDays=daysInMonth(year,month);const leadingBlanks=firstWeekday(year,month);const cells=[...Array(leadingBlanks).fill(null),...Array.from({length:totalDays},(_,i)=>i+1)];const selKey=selectedDay?toDateKey(selectedDay):null;const selEvents=selKey?eventsByDay[selKey]||[]:[];const tokens={font:resolvedBodyFontFamily,headingFont:resolvedFontFamily,headingColor,bodySize:bodyFontSize,bodyWeight:bodyFontWeight,text:bodyTextColor,muted:mutedColor,border:borderColor,bg:bgColor,surface:surfaceColor,primary:primaryColor};const prevMonth=()=>{setSelectedDay(null);setActiveEvent(null);if(month===0){setMonth(11);setYear(y=>y-1);}else setMonth(m=>m-1);};const nextMonth=()=>{setSelectedDay(null);setActiveEvent(null);if(month===11){setMonth(0);setYear(y=>y+1);}else setMonth(m=>m+1);};const goToday=()=>{setYear(today.getFullYear());setMonth(today.getMonth());setSelectedDay(null);setActiveEvent(null);};const navBtnStyle=(active=false)=>({background:active?primaryColor:\"none\",border:`1px solid ${active?primaryColor:borderColor}`,borderRadius:8,padding:\"4px 14px\",cursor:\"pointer\",fontSize:bodyFontSize-1,color:active?\"#fff\":bodyTextColor,fontFamily:resolvedBodyFontFamily,fontWeight:active?700:400,height:28,whiteSpace:\"nowrap\",transition:\"all 0.15s\"});// ── Build sorted date groups for list view (today-forward) ───────────────\nconst sortedRecords=[...filteredRecords].sort((a,b)=>{const da=a.fields?.start_datetime||\"\";const db=b.fields?.start_datetime||\"\";return da<db?-1:da>db?1:0;});const dateGroups=[];for(const rec of sortedRecords){const d=parseDate(rec.fields?.start_datetime);if(!d)continue;const key=toDateKey(d);const existing=dateGroups.find(g=>g.key===key);if(existing)existing.events.push(rec);else dateGroups.push({key,date:d,events:[rec]});}// ── Auto-scroll list view to today (or next date >= today) ───────────────\n// Robust to \"today has no events\" — scrolls to the first date group whose\n// date is on or after today. Fires once per list-view-open or filter change.\nconst todayKey=toDateKey(today);const firstGroupKey=dateGroups[0]?.key||\"\";useEffect(()=>{if(!listViewOpen)return;const container=listContainerRef.current;if(!container)return;// Defer to next frame so DOM headers are in place\nconst timer=setTimeout(()=>{// Find anchor: today's key, else first group with date >= today's midnight\nlet anchor=container.querySelector(`[data-datekey=\"${todayKey}\"]`);if(!anchor){for(const g of dateGroups){if(g.date>=todayMidnight){anchor=container.querySelector(`[data-datekey=\"${g.key}\"]`);if(anchor)break;}}}if(!anchor)return;const containerRect=container.getBoundingClientRect();const targetRect=anchor.getBoundingClientRect();const scrollTarget=container.scrollTop+(targetRect.top-containerRect.top)-8;container.scrollTo({top:Math.max(0,scrollTarget),behavior:\"smooth\"});},140);return()=>clearTimeout(timer);// Re-run when list opens, today changes, the first visible group changes,\n// or filters change the date set.\n// eslint-disable-next-line react-hooks/exhaustive-deps\n},[listViewOpen,todayKey,firstGroupKey,hasActiveFilter]);// ─── Render ──────────────────────────────────────────────────────────────\nreturn /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{fontFamily:resolvedBodyFontFamily,color:bodyTextColor,backgroundColor:bgColor,borderRadius,width:\"80%\",height:containerHeight,margin:\"0 auto\",boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",position:\"relative\",border:`1px solid ${borderColor}`,textAlign:\"left\"},children:[showHeading&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"22px 20px 18px\",borderBottom:`1px solid ${borderColor}`,width:\"100%\",boxSizing:\"border-box\",flexShrink:0},children:[/*#__PURE__*/_jsx(\"h1\",{style:{margin:0,fontSize:headingFontSize,fontWeight:headingFontWeight,color:headingColor,fontFamily:resolvedFontFamily,lineHeight:1.15,textAlign:headingAlign,width:\"100%\"},children:heading}),showSubheading&&subheading&&/*#__PURE__*/_jsx(\"p\",{style:{margin:\"5px 0 0\",color:mutedColor,fontSize:14,fontFamily:resolvedBodyFontFamily,textAlign:headingAlign},children:subheading})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,padding:\"12px 16px\",borderBottom:`1px solid ${borderColor}`,boxSizing:\"border-box\",flexShrink:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"button\",{onClick:prevMonth,disabled:listViewOpen,style:{background:\"none\",border:`1px solid ${borderColor}`,borderRadius:8,width:30,height:30,cursor:listViewOpen?\"default\":\"pointer\",opacity:listViewOpen?.4:1,fontSize:16,color:bodyTextColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:\"‹\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,fontWeight:700,fontFamily:resolvedFontFamily,color:headingColor,whiteSpace:\"nowrap\",userSelect:\"none\",minWidth:120,textAlign:\"center\",opacity:listViewOpen?.5:1},children:listViewOpen?\"All events\":`${MONTH_NAMES[month]} ${year}`}),/*#__PURE__*/_jsx(\"button\",{onClick:nextMonth,disabled:listViewOpen,style:{background:\"none\",border:`1px solid ${borderColor}`,borderRadius:8,width:30,height:30,cursor:listViewOpen?\"default\":\"pointer\",opacity:listViewOpen?.4:1,fontSize:16,color:bodyTextColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:\"›\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:6,alignItems:\"center\",flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:goToday,style:navBtnStyle(),children:\"Today\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",border:`1px solid ${borderColor}`,borderRadius:8,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setListViewOpen(true),style:{background:listViewOpen?primaryColor:\"transparent\",border:\"none\",borderRight:`1px solid ${borderColor}`,padding:\"4px 14px\",cursor:\"pointer\",fontSize:bodyFontSize-1,color:listViewOpen?\"#fff\":bodyTextColor,fontFamily:resolvedBodyFontFamily,fontWeight:listViewOpen?700:400,height:28,whiteSpace:\"nowrap\",transition:\"all 0.15s\"},children:\"List\"}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setListViewOpen(false),style:{background:!listViewOpen?primaryColor:\"transparent\",border:\"none\",padding:\"4px 14px\",cursor:\"pointer\",fontSize:bodyFontSize-1,color:!listViewOpen?\"#fff\":bodyTextColor,fontFamily:resolvedBodyFontFamily,fontWeight:!listViewOpen?700:400,height:28,whiteSpace:\"nowrap\",transition:\"all 0.15s\"},children:\"Calendar\"})]})]})]}),showSearch&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"10px 16px\",borderBottom:allCategories.length>0&&showFilters||allAudiences.length>0&&showAudienceFilter?\"none\":`1px solid ${borderColor}`,flexShrink:0},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,backgroundColor:surfaceColor,borderRadius:8,padding:\"7px 12px\",border:`1px solid ${searchQuery?primaryColor:borderColor}`,transition:\"border-color 0.15s\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:mutedColor,fontSize:15,lineHeight:1,flexShrink:0},children:\"⌕\"}),/*#__PURE__*/_jsx(\"input\",{value:searchQuery,onChange:e=>setSearchQuery(e.target.value),placeholder:\"Search events…\",style:{border:\"none\",background:\"none\",flex:1,fontSize:bodyFontSize-1,color:bodyTextColor,fontFamily:resolvedBodyFontFamily,outline:\"none\",minWidth:0}}),searchQuery&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>setSearchQuery(\"\"),style:{background:\"none\",border:\"none\",cursor:\"pointer\",color:mutedColor,fontSize:16,lineHeight:1,padding:0,flexShrink:0},children:\"\\xd7\"})]})}),showFilters&&allCategories.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",gap:6,padding:\"8px 16px 8px\",borderBottom:showAudienceFilter&&allAudiences.length>0?\"none\":`1px solid ${borderColor}`,flexShrink:0},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setActiveCategories(allCatsSelected?new Set:new Set(allCategories)),style:{padding:\"4px 14px\",borderRadius:999,border:`1.5px solid ${allCatsSelected?primaryColor:chipBorderColor}`,backgroundColor:allCatsSelected?primaryColor+\"18\":\"transparent\",color:allCatsSelected?primaryColor:chipTextColor,fontSize:chipFontSize,fontWeight:700,cursor:\"pointer\",whiteSpace:\"nowrap\",fontFamily:resolvedChipFont,flexShrink:0,transition:\"color 0.15s, border-color 0.15s, background-color 0.15s\"},children:\"All categories\"}),allCategories.map(cat=>{const active=activeCategories.has(cat);const color=catColor(cat,primaryColor,categoryColors);return /*#__PURE__*/_jsx(\"button\",{onClick:()=>{const next=new Set(activeCategories);if(active)next.delete(cat);else next.add(cat);setActiveCategories(next);},style:{padding:\"4px 12px\",borderRadius:999,border:`1.5px solid ${active?color:chipBorderColor}`,backgroundColor:active?color+\"22\":\"transparent\",color:active?color:chipTextColor,fontSize:chipFontSize,fontWeight:700,cursor:\"pointer\",whiteSpace:\"nowrap\",fontFamily:resolvedChipFont,flexShrink:0,transition:\"color 0.15s, border-color 0.15s, background-color 0.15s\"},children:cat},cat);})]}),showAudienceFilter&&allAudiences.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",gap:6,padding:\"4px 16px 10px\",borderBottom:`1px solid ${borderColor}`,flexShrink:0},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setActiveAudiences(allAudsSelected?new Set:new Set(allAudiences)),style:{padding:\"3px 12px\",borderRadius:999,border:`1.5px solid ${allAudsSelected?audienceActiveText:audienceInactiveText}`,backgroundColor:allAudsSelected?audienceActiveBg:audienceInactiveBg,color:allAudsSelected?audienceActiveText:audienceInactiveText,fontSize:chipFontSize-1,fontWeight:700,cursor:\"pointer\",whiteSpace:\"nowrap\",fontFamily:resolvedChipFont,flexShrink:0,transition:\"color 0.15s, border-color 0.15s, background-color 0.15s\"},children:\"All audiences\"}),allAudiences.map(aud=>{const active=activeAudiences.has(aud);return /*#__PURE__*/_jsx(\"button\",{onClick:()=>{const next=new Set(activeAudiences);if(active)next.delete(aud);else next.add(aud);setActiveAudiences(next);},style:{padding:\"3px 10px\",borderRadius:999,border:`1.5px solid ${active?audienceActiveText:audienceInactiveText}`,backgroundColor:active?audienceActiveBg:audienceInactiveBg,color:active?audienceActiveText:audienceInactiveText,fontSize:chipFontSize-1,fontWeight:700,cursor:\"pointer\",whiteSpace:\"nowrap\",fontFamily:resolvedChipFont,flexShrink:0,transition:\"color 0.15s, border-color 0.15s, background-color 0.15s\"},children:aud},aud);})]}),hasActiveFilter&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"4px 16px 6px\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:8,flexShrink:0},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:bodyFontSize-3,color:mutedColor,fontFamily:resolvedBodyFontFamily},children:[filteredRecords.length,\" of \",records.length,\" events\"]}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{setSearchQuery(\"\");setActiveCategories(new Set(allCategories));setActiveAudiences(new Set(allAudiences));},style:{background:\"none\",border:\"none\",cursor:\"pointer\",fontSize:bodyFontSize-3,color:primaryColor,fontFamily:resolvedBodyFontFamily,fontWeight:600,padding:0},children:\"Clear filters\"})]}),listViewOpen&&/*#__PURE__*/_jsx(\"div\",{ref:listContainerRef,style:{flex:1,minHeight:0,overflowY:\"auto\",overflowX:\"hidden\",padding:\"12px 16px 24px\"},children:dateGroups.length===0?/*#__PURE__*/_jsx(\"p\",{style:{color:mutedColor,textAlign:\"center\",fontSize:bodyFontSize,fontFamily:resolvedBodyFontFamily,padding:\"32px 0\",margin:0},children:hasActiveFilter?\"No events match your filters.\":\"No events found.\"}):dateGroups.map(({key,date,events},groupIdx)=>/*#__PURE__*/_jsxs(\"div\",{\"data-datekey\":key,style:{marginBottom:groupIdx<dateGroups.length-1?20:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:bodyFontSize+1,fontWeight:700,color:sameDay(date,today)?primaryColor:headingColor,fontFamily:resolvedFontFamily,paddingBottom:6},children:[fmtDateLong(date),sameDay(date,today)&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:10,fontWeight:700,marginLeft:8,padding:\"2px 8px\",borderRadius:999,backgroundColor:primaryColor+\"20\",color:primaryColor,letterSpacing:\"0.06em\",textTransform:\"uppercase\",verticalAlign:\"middle\"},children:\"Today\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:1,backgroundColor:borderColor,marginBottom:10}}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${listCols}, 1fr)`,gap:8,alignItems:\"start\"},children:events.map(ev=>{const evDate=parseDate(ev.fields?.start_datetime);return /*#__PURE__*/_jsx(EventCard,{event:ev,tokens:tokens,primaryColor:primaryColor,radius:cellBorderRadius,categoryColors:categoryColors,inList:true,showDescription:showDescription,showImage:showImage,narrow:containerWidth<480,onClick:()=>{if(evDate){setSelectedDay(evDate);setActiveEvent(ev);}}},ev.id);})})]},key))}),!listViewOpen&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(7, 1fr)\",padding:\"10px 16px 4px\",gap:4,flexShrink:0},children:dayLabels.map((d,i)=>/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",fontSize:11,fontWeight:700,color:mutedColor,fontFamily:resolvedBodyFontFamily,textTransform:\"uppercase\",letterSpacing:\"0.06em\",padding:\"2px 0\"},children:d},i))}),!listViewOpen&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(7, 1fr)\",gap:4,padding:\"2px 12px 16px\",flex:1,minHeight:0,overflowY:\"auto\"},children:cells.map((day,i)=>{if(!day)return /*#__PURE__*/_jsx(\"div\",{},`blank-${i}`);const cellDate=new Date(year,month,day);const key=toDateKey(cellDate);const dayEvents=eventsByDay[key]||[];const isToday=sameDay(cellDate,today);const isSelected=selectedDay!=null&&sameDay(cellDate,selectedDay);const hasEvents=dayEvents.length>0;return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>{setSelectedDay(cellDate);setActiveEvent(null);},style:{borderRadius:cellBorderRadius,padding:\"6px 4px 8px\",minHeight:58,cursor:hasEvents?\"pointer\":\"default\",backgroundColor:isSelected?selectedDayBg:\"transparent\",border:isToday?`2px solid ${todayRingColor}`:\"2px solid transparent\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:5,transition:\"background 0.12s\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,fontWeight:isToday?800:400,color:isToday?primaryColor:bodyTextColor,width:26,height:26,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius:\"50%\",fontFamily:resolvedBodyFontFamily,flexShrink:0},children:day}),hasEvents&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:2,flexWrap:\"wrap\",justifyContent:\"center\",maxWidth:36},children:[dayEvents.slice(0,3).map((ev,idx)=>/*#__PURE__*/_jsx(\"span\",{style:{width:6,height:6,borderRadius:\"50%\",backgroundColor:catColor(ev.fields?.category,eventDotColor,categoryColors),display:\"inline-block\",flexShrink:0}},idx)),dayEvents.length>3&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:9,color:mutedColor,lineHeight:\"6px\",fontFamily:resolvedBodyFontFamily},children:[\"+\",dayEvents.length-3]})]})]},key);})}),loading&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:bgColor+\"cc\",fontSize:bodyFontSize,color:mutedColor,fontFamily:resolvedBodyFontFamily,borderRadius},children:\"Loading events…\"}),!loading&&fetchError&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:16,left:16,right:16,backgroundColor:\"#FEF2F2\",border:\"1px solid #FECACA\",borderRadius:8,padding:\"10px 14px\",fontSize:12,color:\"#B91C1C\",fontFamily:resolvedBodyFontFamily,zIndex:5},children:fetchError}),selectedDay&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{onClick:closePanel,style:{position:\"absolute\",inset:0,backgroundColor:overlayColor,zIndex:20,borderRadius,opacity:panelOpen?1:0,transition:\"opacity 0.3s ease\"}}),/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),style:{position:\"absolute\",top:0,right:0,height:\"100%\",width:`min(${sidebarWidth}px, 100%)`,backgroundColor:modalBgColor,display:\"flex\",flexDirection:\"column\",zIndex:21,transform:panelOpen?\"translateX(0)\":\"translateX(100%)\",transition:\"transform 0.3s cubic-bezier(0.32, 0.72, 0, 1)\",boxShadow:\"-8px 0 32px rgba(0,0,0,0.18)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"14px 16px 12px\",borderBottom:`1px solid ${borderColor}`,display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",flexShrink:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:bodyFontSize-2,color:mutedColor,fontFamily:resolvedBodyFontFamily},children:selEvents.length===0?\"No events\":`${selEvents.length} event${selEvents.length!==1?\"s\":\"\"}`}),/*#__PURE__*/_jsx(\"button\",{onClick:closePanel,style:{background:\"none\",border:\"none\",cursor:\"pointer\",fontSize:22,color:mutedColor,padding:\"2px 6px\",borderRadius:6,lineHeight:1,flexShrink:0},children:\"\\xd7\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{overflowY:\"auto\",padding:\"16px 16px 24px\",flex:1,minHeight:0},children:selEvents.length===0?/*#__PURE__*/_jsx(\"p\",{style:{color:mutedColor,textAlign:\"center\",fontSize:bodyFontSize,fontFamily:resolvedBodyFontFamily,padding:\"32px 0\",margin:0},children:hasActiveFilter?\"No matching events for this day.\":\"No events scheduled for this day.\"}):activeEvent?/*#__PURE__*/_jsx(EventDetail,{event:activeEvent,tokens:tokens,primaryColor:primaryColor,linkColor:linkColor,allEvents:records,onSelectEvent:ev=>{const d=parseDate(ev.fields?.start_datetime);if(d)setSelectedDay(d);setActiveEvent(ev);},showDescription:showDescription,showTags:showTags,showVenue:showVenue,showCost:showCost,showAudience:showAudience,showImage:showImage,showOrganizer:showOrganizer,showRegistration:showRegistration,showSubmitter:showSubmitter,showFlyer:showFlyer,radius:cellBorderRadius,categoryColors:categoryColors,onBack:()=>setActiveEvent(null)}):/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:bodyFontSize+4,fontWeight:700,color:headingColor,fontFamily:resolvedFontFamily,lineHeight:1.2,marginBottom:10},children:fmtDateLong(selectedDay)}),/*#__PURE__*/_jsx(\"div\",{style:{height:1,backgroundColor:borderColor,marginBottom:14}}),selEvents.map((ev,idx)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(EventCard,{event:ev,tokens:tokens,primaryColor:primaryColor,radius:cellBorderRadius,categoryColors:categoryColors,showImage:showImage,narrow:containerWidth<480,onClick:()=>setActiveEvent(ev)}),idx<selEvents.length-1&&/*#__PURE__*/_jsx(\"div\",{style:{height:1,backgroundColor:borderColor,margin:\"10px 0\"}})]},ev.id))]})})]})]})]});}// ─── Framer Prop Controls ─────────────────────────────────────────────────────\naddPropertyControls(CommunityCalendar,{apiBaseUrl:{type:ControlType.String,title:\"API URL\",defaultValue:API_DEFAULT_URL,placeholder:\"https://jw-events-api.eric-belozovsky.workers.dev\",description:\"Base URL of the jw-events-api Cloudflare Worker. The Worker holds the Airtable PAT; the browser never sees it. Default is the production deployment.\"},// Heading\nshowHeading:{type:ControlType.Boolean,title:\"Show Heading\",defaultValue:true},heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Community Calendar\",hidden:props=>!props.showHeading},headingAlign:{type:ControlType.Enum,title:\"Heading Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"center\",displaySegmentedControl:true,hidden:props=>!props.showHeading},showSubheading:{type:ControlType.Boolean,title:\"Subheading\",defaultValue:false,hidden:props=>!props.showHeading},subheading:{type:ControlType.String,title:\"Subheading Text\",defaultValue:\"\",hidden:props=>!props.showHeading||!props.showSubheading},// Layout\ncontainerHeight:{type:ControlType.Number,title:\"Container Height\",defaultValue:720,min:320,max:1600,step:10,displayStepper:true,unit:\"px\",description:\"Fixed height of the calendar. Both List and Calendar views scroll internally to fit.\"},sidebarWidth:{type:ControlType.Number,title:\"Sidebar Width\",defaultValue:320,min:200,max:600,step:4,displayStepper:true,unit:\"px\",description:\"Max width of the event sidebar. Caps at 100% on small screens.\"},// Typography\nfontFamily:{type:ControlType.Font,title:\"Heading Font\",controls:\"basic\",defaultValue:{fontFamily:\"Inter\"}},headingFontSize:{type:ControlType.Number,title:\"Heading Size\",defaultValue:28,min:10,max:72,step:1,displayStepper:true,unit:\"px\",hidden:props=>!props.showHeading},headingFontWeight:{type:ControlType.Enum,title:\"Heading Weight\",options:[\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],optionTitles:[\"Regular\",\"Medium\",\"SemiBold\",\"Bold\",\"ExtraBold\",\"Black\"],defaultValue:\"700\",hidden:props=>!props.showHeading},headingColor:{type:ControlType.Color,title:\"Heading Color\",defaultValue:\"#111827\"},bodyFontFamily:{type:ControlType.Font,title:\"Body Font\",controls:\"basic\",defaultValue:{fontFamily:\"Inter\"}},bodyFontSize:{type:ControlType.Number,title:\"Body Size\",defaultValue:14,min:10,max:24,step:1,displayStepper:true,unit:\"px\"},bodyFontWeight:{type:ControlType.Enum,title:\"Body Weight\",options:[\"400\",\"500\",\"600\",\"700\"],optionTitles:[\"Regular\",\"Medium\",\"SemiBold\",\"Bold\"],defaultValue:\"400\"},bodyTextColor:{type:ControlType.Color,title:\"Body Text Color\",defaultValue:\"#111827\"},// Colors\nprimaryColor:{type:ControlType.Color,title:\"Primary\",defaultValue:\"#4F46E5\"},bgColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},surfaceColor:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#F9FAFB\"},mutedColor:{type:ControlType.Color,title:\"Muted Text\",defaultValue:\"#6B7280\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#E5E7EB\"},todayRingColor:{type:ControlType.Color,title:\"Today Ring\",defaultValue:\"#4F46E5\"},eventDotColor:{type:ControlType.Color,title:\"Event Dot\",defaultValue:\"#4F46E5\"},selectedDayBg:{type:ControlType.Color,title:\"Selected Day\",defaultValue:\"#EEF2FF\"},modalBgColor:{type:ControlType.Color,title:\"Modal BG\",defaultValue:\"#FFFFFF\"},overlayColor:{type:ControlType.Color,title:\"Overlay\",defaultValue:\"rgba(0,0,0,0.55)\"},// Shape\nborderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:16,min:0,max:48,step:1,displayStepper:true,unit:\"px\"},cellBorderRadius:{type:ControlType.Number,title:\"Cell Radius\",defaultValue:8,min:0,max:24,step:1,displayStepper:true,unit:\"px\"},// Search & Filter\nshowSearch:{type:ControlType.Boolean,title:\"Search Bar\",defaultValue:true},showFilters:{type:ControlType.Boolean,title:\"Category Filter\",defaultValue:true},showAudienceFilter:{type:ControlType.Boolean,title:\"Audience Filter\",defaultValue:true},// Filter Chip Style\nchipFont:{type:ControlType.Font,title:\"Chip Font\",controls:\"basic\",defaultValue:{fontFamily:\"Inter\"},hidden:props=>!props.showFilters&&!props.showAudienceFilter},chipFontSize:{type:ControlType.Number,title:\"Chip Size\",defaultValue:11,min:8,max:18,step:1,displayStepper:true,unit:\"px\",hidden:props=>!props.showFilters&&!props.showAudienceFilter},chipBorderColor:{type:ControlType.Color,title:\"Chip Border\",defaultValue:\"#E5E7EB\",hidden:props=>!props.showFilters&&!props.showAudienceFilter},chipTextColor:{type:ControlType.Color,title:\"Chip Text\",defaultValue:\"#6B7280\",hidden:props=>!props.showFilters&&!props.showAudienceFilter},// Audience chip colors (TRUE = filter ON, FALSE = filter OFF)\naudienceActiveBg:{type:ControlType.Color,title:\"Audience On BG\",defaultValue:\"#EEF2FF\",description:\"Background when the audience filter chip is ON (TRUE).\",hidden:props=>!props.showAudienceFilter},audienceActiveText:{type:ControlType.Color,title:\"Audience On Text\",defaultValue:\"#4F46E5\",description:\"Text + border color when the audience filter chip is ON (TRUE).\",hidden:props=>!props.showAudienceFilter},audienceInactiveBg:{type:ControlType.Color,title:\"Audience Off BG\",defaultValue:\"#FFFFFF\",description:\"Background when the audience filter chip is OFF (FALSE).\",hidden:props=>!props.showAudienceFilter},audienceInactiveText:{type:ControlType.Color,title:\"Audience Off Text\",defaultValue:\"#6B7280\",description:\"Text + border color when the audience filter chip is OFF (FALSE).\",hidden:props=>!props.showAudienceFilter},// Link color (applies to every clickable text in the event detail panel)\nlinkColor:{type:ControlType.Color,title:\"Link Color\",defaultValue:\"#2563EB\",description:\"Color of clickable links in the expanded event sidebar — website, RSVP URL, email (mailto:), phone (tel:). Defaults to a clear blue.\"},// Event detail fields\nshowDescription:{type:ControlType.Boolean,title:\"Description\",defaultValue:true},showImage:{type:ControlType.Boolean,title:\"Image\",defaultValue:true},showOrganizer:{type:ControlType.Boolean,title:\"Organizer\",defaultValue:true},showVenue:{type:ControlType.Boolean,title:\"Venue\",defaultValue:true},showAudience:{type:ControlType.Boolean,title:\"Audience\",defaultValue:true},showCost:{type:ControlType.Boolean,title:\"Cost\",defaultValue:true},showFlyer:{type:ControlType.Boolean,title:\"Flyer Link\",defaultValue:true},showRegistration:{type:ControlType.Boolean,title:\"Registration\",defaultValue:true},showSubmitter:{type:ControlType.Boolean,title:\"Posted-by Contact\",defaultValue:true},showTags:{type:ControlType.Boolean,title:\"Tags\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CommunityCalendar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CommunityCalendar.map"],"mappings":"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"}