{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/wDk4FTkScn2nNRHSChHA/c2dhtWA1czGCzkfOJa0H/L7Our5P0Y.js", "ssg:https://framerusercontent.com/modules/XwlkuDGOZKp4JYYiGi7y/C0aVT8iKQwXlWCjTk8XY/CounterJoinedOverride.js", "ssg:https://framerusercontent.com/modules/O76MAISEUEYRofPw5HgB/hdquN06YzkhFtb67WtOg/DateOverride.js"],
  "sourcesContent": ["// Generated by Framer (7422eea)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-Lw04H\";const variantClassNames={qfXifgTRn:\"framer-v-5htwzn\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({background,height,id,title,width,...props})=>{return{...props,s_pzitmm2:title??props.s_pzitmm2??\"Beginner Call\",WAiXaocFL:background??props.WAiXaocFL??\"var(--token-7380ccfe-fd2a-469d-af72-9ae709b8c06c, rgb(74, 156, 255))\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,s_pzitmm2,WAiXaocFL,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"qfXifgTRn\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-5htwzn\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"qfXifgTRn\",ref:refBinding,style:{backgroundColor:\"rgba(237, 237, 237, 0.57)\",borderBottomLeftRadius:3,borderBottomRightRadius:3,borderTopLeftRadius:3,borderTopRightRadius:3,...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-i1shl1\",layoutDependency:layoutDependency,layoutId:\"uomBveArl\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1qs5bd4\",layoutDependency:layoutDependency,layoutId:\"Au42Q2WP1\",style:{backgroundColor:WAiXaocFL,borderBottomRightRadius:3,borderTopRightRadius:3}}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1fsj4t3\",layoutDependency:layoutDependency,layoutId:\"KsE0A32he\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NO0Jvcm5hIE1lZGl1bQ==\",\"--framer-font-family\":'\"Borna Medium\", \"Borna Medium Placeholder\", sans-serif',\"--framer-font-size\":\"10px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-5052e370-f827-4837-a28b-9274cdd2200a, rgb(23, 23, 23)))\"},children:\"Beginner Call\"})}),className:\"framer-j3cmla\",fonts:[\"CUSTOM;Borna Medium\"],layoutDependency:layoutDependency,layoutId:\"j3Tg7zRqU\",style:{\"--extracted-r6o4lv\":\"var(--token-5052e370-f827-4837-a28b-9274cdd2200a, rgb(23, 23, 23))\"},text:s_pzitmm2,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SUJNIFBsZXggU2Fucy1yZWd1bGFy\",\"--framer-font-family\":'\"IBM Plex Sans\", \"IBM Plex Sans Placeholder\", sans-serif',\"--framer-font-size\":\"9px\",\"--framer-line-height\":\"12px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-00285989-a377-40f1-8a0c-2a1d6d4ce593, rgb(111, 111, 111)))\"},children:\"1 hr\"})}),className:\"framer-1l0kb7h\",\"data-framer-name\":\"People are interested\",fonts:[\"GF;IBM Plex Sans-regular\"],layoutDependency:layoutDependency,layoutId:\"FbAAmce6X\",style:{\"--extracted-r6o4lv\":\"var(--token-00285989-a377-40f1-8a0c-2a1d6d4ce593, rgb(111, 111, 111))\"},verticalAlignment:\"top\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Lw04H.framer-1me3qbz, .framer-Lw04H .framer-1me3qbz { display: block; }\",\".framer-Lw04H.framer-5htwzn { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 6px 8px 6px 0px; position: relative; width: 65px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Lw04H .framer-i1shl1 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-Lw04H .framer-1qs5bd4 { align-self: stretch; flex: none; height: auto; overflow: hidden; position: relative; width: 2px; will-change: var(--framer-will-change-override, transform); }\",\".framer-Lw04H .framer-1fsj4t3 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-Lw04H .framer-j3cmla { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-Lw04H .framer-1l0kb7h { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 65\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"s_pzitmm2\":\"title\",\"WAiXaocFL\":\"background\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerL7Our5P0Y=withCSS(Component,css,\"framer-Lw04H\");export default FramerL7Our5P0Y;FramerL7Our5P0Y.displayName=\"Event\";FramerL7Our5P0Y.defaultProps={height:48,width:65};addPropertyControls(FramerL7Our5P0Y,{s_pzitmm2:{defaultValue:\"Beginner Call\",displayTextArea:false,title:\"Title\",type:ControlType.String},WAiXaocFL:{defaultValue:'var(--token-7380ccfe-fd2a-469d-af72-9ae709b8c06c, rgb(74, 156, 255)) /* {\"name\":\"Blue/1\"} */',title:\"Background\",type:ControlType.Color}});addFonts(FramerL7Our5P0Y,[{explicitInter:true,fonts:[{family:\"Borna Medium\",source:\"custom\",url:\"https://framerusercontent.com/assets/qzHMLposz4Ps5ISgV34IPf88NTU.woff\"},{family:\"IBM Plex Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/ibmplexsans/v21/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSD6llzBaI5loa26g.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerL7Our5P0Y\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"s_pzitmm2\\\":\\\"title\\\",\\\"WAiXaocFL\\\":\\\"background\\\"}\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"48\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"65\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./L7Our5P0Y.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef}from\"react\";/**\n * Calculates the dynamic join count for the current time of week\n * @param minCount Minimum number of joins to show\n * @param maxCount Maximum number of joins to show\n * @param baseSpeed Base speed of joins per minute\n * @param mondayMultiplier Speed multiplier for Mondays\n * @param tuesdayMultiplier Speed multiplier for Tuesdays\n * @param wednesdayMultiplier Speed multiplier for Wednesdays\n * @returns Current count based on time of week\n */function calculateJoinCount(minCount=80,maxCount=349,baseSpeed=5,mondayMultiplier=1.5,tuesdayMultiplier=2.5,wednesdayMultiplier=4){const now=new Date;// Get the next Wednesday event time (or current if today is Wednesday)\nconst targetDate=getNextWednesday7PMEST(false);// If we're at/past the event time, return minCount\nif(targetDate.getTime()<=now.getTime()){return minCount;}// Calculate what our count should be based on time until event\nconst totalMillisecondsInWeek=7*24*60*60*1e3;const millisecondsUntilEvent=targetDate.getTime()-now.getTime();const weekProgress=1-millisecondsUntilEvent/totalMillisecondsInWeek;// Calculate appropriate count based on progress\nconst range=maxCount-minCount;const baseCountProgress=minCount+Math.floor(range*weekProgress);// Apply day-specific multipliers\nconst dayOfWeek=now.getDay()// 0 = Sunday, 1 = Monday, etc.\n;let multiplier=1;if(dayOfWeek===1)multiplier=mondayMultiplier;else if(dayOfWeek===2)multiplier=tuesdayMultiplier;else if(dayOfWeek===3)multiplier=wednesdayMultiplier;// Return the calculated count, ensuring it's within bounds\nreturn Math.min(maxCount,Math.max(minCount,Math.floor(baseCountProgress*multiplier)));}// Helper function to get next Wednesday at 7PM EST\nfunction getNextWednesday7PMEST(skipCurrentIfClose=false){const now=new Date;const dayOfWeek=now.getDay();let daysUntilWednesday=(3-dayOfWeek+7)%7;// If today is Wednesday and we're past 7PM, or skipCurrentIfClose is true\nif(daysUntilWednesday===0){const hours=now.getHours();if(hours>=19||skipCurrentIfClose){daysUntilWednesday=7;}}const targetWednesday=new Date(now);targetWednesday.setDate(now.getDate()+daysUntilWednesday);targetWednesday.setHours(19,0,0,0);// Adjust for EST timezone (7PM EST)\nconst nyTimeString=targetWednesday.toLocaleString(\"en-US\",{timeZone:\"America/New_York\",hour12:false});const nyTime=new Date(nyTimeString);const offsetMinutes=(targetWednesday.getTime()-nyTime.getTime())/6e4;const localTargetTime=new Date(targetWednesday.getTime()+offsetMinutes*6e4);return localTargetTime;}/**\n * Simple override that returns the current join count.\n * Use this for simple text overrides.\n */export function showJoinCounter(props){return{text:calculateJoinCount().toString()};}/**\n * Higher-order component override for text layers.\n * Shows a dynamic counter of joins that ramps up before Wednesday's event.\n * @param minCount - Minimum number of joins (default: 80)\n * @param maxCount - Maximum number of joins (default: 349)\n * @param baseSpeed - Base speed of joins per minute (default: 5)\n * @param mondayMultiplier - Speed multiplier for Monday (default: 1.5)\n * @param tuesdayMultiplier - Speed multiplier for Tuesday (default: 2.5)\n * @param wednesdayMultiplier - Speed multiplier for Wednesday (default: 4)\n */export const withJoinCounter=(Component,minCount=80,maxCount=349,baseSpeed=5,mondayMultiplier=1.5,tuesdayMultiplier=2.5,wednesdayMultiplier=4)=>{return /*#__PURE__*/forwardRef((props,ref)=>{// Calculate the current join count based on time of week\nconst count=calculateJoinCount(minCount,maxCount,baseSpeed,mondayMultiplier,tuesdayMultiplier,wednesdayMultiplier);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:count.toString()});});};\nexport const __FramerMetadata__ = {\"exports\":{\"showJoinCounter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withJoinCounter\":{\"type\":\"reactHoc\",\"name\":\"withJoinCounter\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CounterJoinedOverride.map", "// dateOverride.tsx\n// Utility functions for Framer to handle weekly event dates and local time formatting\n/**\n * ===== EVENT CONFIGURATION =====\n *\n * INSTRUCTIONS FOR NON-TECHNICAL USERS:\n *\n * 1. To change the day of the week, edit the DAY_OF_WEEK value below.\n *    Use one of: \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"\n *\n * 2. To change the event time, edit the EVENT_HOUR value below.\n *    This is in 24-hour format (0-23) and will be interpreted as Eastern Time (EST/EDT).\n *    Examples: 9 = 9:00 AM EST, 13 = 1:00 PM EST, 19 = 7:00 PM EST\n *\n * 3. To override with a specific date, edit the OVERRIDE_DATE value below.\n *    Use format \"YYYY-MM-DD\" (like \"2021-06-01\" for June 1st, 2021).\n *    Leave empty (\"\") to use the weekly day/time calculation instead.\n *\n * 4. To change the event URL, edit the EVENT_URL value below.\n *    This should be the full URL including https://\n *    Example: https://event.webinarjam.com/go/live/5/4y516h2uksws6\n */import{jsx as _jsx}from\"react/jsx-runtime\";export const EVENT_DAY_CONFIG={// Which day of the week the event occurs (default: Tuesday)\nDAY_OF_WEEK:\"Wednesday\",// What hour the event starts in Eastern Time (EST/EDT) (default: 19 = 7:00 PM)\nEVENT_HOUR:19,// Override for a specific date (format: \"YYYY-MM-DD\", e.g. \"2021-06-01\")\n// Leave empty or null to use the weekly day/time calculation instead\nOVERRIDE_DATE:\"2025-08-13\",// The URL for the event (used for registration or joining)\nEVENT_URL:\"https://event.webinarjam.com/go/live/34/7nxlrf7r\"};// Mapping of day names to their numeric values (0 = Sunday, 1 = Monday, etc.)\nconst DAY_NAME_TO_NUMBER={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};/**\n * Utility function to force cache refresh\n * This ensures we don't have stale calculations\n */export function clearDateCalculationCache(){// Force component re-renders by updating this timestamp\nCACHE_TIMESTAMP=Date.now();}// Cache timestamp to force recalculations\nlet CACHE_TIMESTAMP=Date.now();/**\n * Returns a Date object representing a specific override date at the configured time\n * @param overrideDateStr Date string in format \"YYYY-MM-DD\"\n * @param debugMode Enable detailed debugging output\n */function getOverrideEventDate(overrideDateStr,debugMode=false){// Parse the override date\nconst dateParts=overrideDateStr.split(\"-\");if(dateParts.length!==3){if(debugMode)console.error(\"Invalid override date format. Expected YYYY-MM-DD, got:\",overrideDateStr);throw new Error(`Invalid override date format: ${overrideDateStr}. Expected format: YYYY-MM-DD`);}const year=parseInt(dateParts[0],10);const month=parseInt(dateParts[1],10)-1// Month is 0-indexed in JavaScript Date\n;const day=parseInt(dateParts[2],10);if(isNaN(year)||isNaN(month)||isNaN(day)){if(debugMode)console.error(\"Invalid date components in:\",overrideDateStr);throw new Error(`Invalid date components in: ${overrideDateStr}`);}if(debugMode)console.log(\"Parsed override date - Year:\",year,\"Month:\",month,\"Day:\",day);// Get configured hour (0-23), defaulting to 19 (7PM) if invalid input\nconst targetHour=typeof EVENT_DAY_CONFIG.EVENT_HOUR===\"number\"&&EVENT_DAY_CONFIG.EVENT_HOUR>=0&&EVENT_DAY_CONFIG.EVENT_HOUR<=23?EVENT_DAY_CONFIG.EVENT_HOUR:19;if(debugMode)console.log(\"Target hour (Eastern Time):\",targetHour);// Create the date in UTC, accounting for Eastern Time offset\n// Determine if the override date is in Daylight Saving Time in Eastern Time\nconst testDate=new Date(year,month,day);const easternTimeString=testDate.toLocaleString(\"en-US\",{timeZone:\"America/New_York\"});const easternJanTimeString=new Date(year,0,1).toLocaleString(\"en-US\",{timeZone:\"America/New_York\"});// Get the offset for the target date and January 1st\nconst targetDate=new Date(easternTimeString);const janDate=new Date(easternJanTimeString);// If the target date's offset is less than January's, it's in DST\nconst isDST=targetDate.getTimezoneOffset()<janDate.getTimezoneOffset();// Eastern Time offset: UTC-5 (EST) or UTC-4 (EDT)\nconst easternOffset=isDST?4:5;if(debugMode)console.log(\"Override date Eastern Time is in DST:\",isDST,\"Offset:\",easternOffset);// Create the date in UTC, converting from Eastern Time\nconst resultDate=new Date(Date.UTC(year,month,day,targetHour+easternOffset,0,0,0));if(debugMode){console.log(\"Override date result (local time):\",resultDate.toString());console.log(\"Override date day of week:\",resultDate.getDay());console.log(\"Override date hours:\",resultDate.getHours());}return resultDate;}/**\n * Returns a Date object representing the next occurrence of the configured weekly event\n * (default: Tuesday at 7PM EST/EDT), converted to the user's local time zone.\n * @param skipCurrentIfClose Optional parameter to force targeting next week's occurrence\n * @param forceFresh Optional parameter to bypass any caching\n * @param debugMode Enable detailed debugging output\n */export function getNextWeeklyEventDate(skipCurrentIfClose=false,forceFresh=false,debugMode=false){// Use timestamp to ensure fresh calculation\nif(forceFresh){clearDateCalculationCache();}// Check for date override first\nif(EVENT_DAY_CONFIG.OVERRIDE_DATE&&EVENT_DAY_CONFIG.OVERRIDE_DATE.trim()!==\"\"){if(debugMode)console.log(\"Using override date:\",EVENT_DAY_CONFIG.OVERRIDE_DATE);return getOverrideEventDate(EVENT_DAY_CONFIG.OVERRIDE_DATE,debugMode);}// Get current date in user's local time\nconst now=new Date;if(debugMode)console.log(\"Current date (local):\",now.toString());// Get configured day of week (0-6), defaulting to Tuesday (2) if invalid input\nconst configuredDay=EVENT_DAY_CONFIG.DAY_OF_WEEK;if(debugMode)console.log(\"Configured day:\",configuredDay);const targetDayNumber=typeof configuredDay===\"string\"?DAY_NAME_TO_NUMBER[configuredDay]||2:2;if(debugMode)console.log(\"Target day number:\",targetDayNumber);// Find next occurrence of the configured day\nconst dayOfWeek=now.getDay();if(debugMode)console.log(\"Current day of week:\",dayOfWeek);let daysUntilTarget=(targetDayNumber-dayOfWeek+7)%7;if(debugMode)console.log(\"Days until target:\",daysUntilTarget);// Create a date for the target day in local time\nconst targetLocalDate=new Date(now);targetLocalDate.setDate(now.getDate()+daysUntilTarget);if(debugMode)console.log(\"Target date (local):\",targetLocalDate.toString());// Get configured hour (0-23), defaulting to 19 (7PM) if invalid input\nconst targetHour=typeof EVENT_DAY_CONFIG.EVENT_HOUR===\"number\"&&EVENT_DAY_CONFIG.EVENT_HOUR>=0&&EVENT_DAY_CONFIG.EVENT_HOUR<=23?EVENT_DAY_CONFIG.EVENT_HOUR:19;if(debugMode)console.log(\"Target hour (Eastern Time):\",targetHour);// SIMPLIFIED TIME ZONE APPROACH:\n// Create the date in UTC, accounting for Eastern Time offset\n// Get the date parts from the target date\nconst year=targetLocalDate.getFullYear();const month=targetLocalDate.getMonth();const day=targetLocalDate.getDate();// First create a date in UTC\n// Eastern Time is either UTC-5 (EST) or UTC-4 (EDT)\n// We'll create a date in the target day at the target hour in Eastern Time\n// Determine if date is in Daylight Saving Time in Eastern Time\n// This checks if the America/New_York time zone is in DST on the target date\nconst easternTimeString=new Date(year,month,day).toLocaleString(\"en-US\",{timeZone:\"America/New_York\"});const easternJanTimeString=new Date(year,0,1).toLocaleString(\"en-US\",{timeZone:\"America/New_York\"});// Get the offset for the target date and January 1st\nconst targetDate=new Date(easternTimeString);const janDate=new Date(easternJanTimeString);// If the target date's offset is less than January's, it's in DST\nconst isDST=targetDate.getTimezoneOffset()<janDate.getTimezoneOffset();// Eastern Time offset: UTC-5 (EST) or UTC-4 (EDT)\nconst easternOffset=isDST?4:5;if(debugMode)console.log(\"Eastern Time is in DST:\",isDST,\"Offset:\",easternOffset);// Create the date in the user's local time zone, but representing the Eastern Time target\n// We add the Eastern offset to convert from Eastern to UTC\nconst resultDate=new Date(Date.UTC(year,month,day,targetHour+easternOffset,0,0,0));if(debugMode)console.log(\"Result date (local time):\",resultDate.toString());// Check if we need to skip to next week\nconst timeUntilTarget=resultDate.getTime()-now.getTime();if(debugMode)console.log(\"Time until target (ms):\",timeUntilTarget);if(timeUntilTarget<=0||skipCurrentIfClose&&timeUntilTarget<864e5){// Already passed target time or too close, move to next week\nresultDate.setUTCDate(resultDate.getUTCDate()+7);if(debugMode)console.log(\"Skipped to next week:\",resultDate.toString());}if(debugMode){// Final verification - what day is the resulting date?\nconst finalDay=resultDate.getDay();const finalDayName=Object.keys(DAY_NAME_TO_NUMBER).find(key=>DAY_NAME_TO_NUMBER[key]===finalDay);console.log(\"FINAL DATE:\",resultDate.toString());console.log(\"FINAL DAY:\",finalDayName,\"(day\",finalDay,\")\");console.log(\"HOURS:\",resultDate.getHours());// Is the final day what we expected?\nif(finalDay!==targetDayNumber){console.error(\"ERROR: Final day\",finalDayName,\"does not match target day\",configuredDay);}}return resultDate;}/**\n * Formats a Date object as a string in the user's local time zone, e.g. \"Wed, May 7th, 2025\".\n * @param date The Date object to format\n * @returns A formatted string in the user's local time\n */export function formatEventDateLocal(date){// Format the date with abbreviated weekday, month, and year\nconst formattedDate=date.toLocaleString(undefined,{weekday:\"short\",month:\"long\",day:\"numeric\",year:\"numeric\"});// Add ordinal suffix to day (1st, 2nd, 3rd, 4th, etc.)\nconst day=date.getDate();const ordinalSuffix=getOrdinalSuffix(day);// Replace the day number with day + ordinal suffix\nreturn formattedDate.replace(` ${day}, `,` ${day}${ordinalSuffix}, `);}/**\n * Formats only the time part of a Date object with timezone, e.g. \"4:00 PM PST\".\n * @param date The Date object to format\n * @returns A formatted time string in the user's local time with timezone\n */export function formatEventTimeLocal(date){// Format the time\nconst formattedTime=date.toLocaleString(undefined,{hour:\"numeric\",minute:\"2-digit\",hour12:true});// Get timezone abbreviation more reliably\nconst timezone=getReliableTimezoneAbbreviation();return`${formattedTime} ${timezone}`;}/**\n * Helper function to get ordinal suffix for a number (1st, 2nd, 3rd, etc.)\n */function getOrdinalSuffix(day){if(day>3&&day<21)return\"th\";switch(day%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\";}}/**\n * Helper function to get timezone abbreviation that works on all devices\n */function getReliableTimezoneAbbreviation(){const date=new Date;const timezoneOffsetMinutes=date.getTimezoneOffset();// Try to get timezone name from Intl API\ntry{const timeZoneName=Intl.DateTimeFormat().resolvedOptions().timeZone;if(timeZoneName){// For common US timezones, return abbreviation\nif(timeZoneName===\"America/Los_Angeles\")return isDST()?\"PDT\":\"PST\";if(timeZoneName===\"America/Denver\")return isDST()?\"MDT\":\"MST\";if(timeZoneName===\"America/Chicago\")return isDST()?\"CDT\":\"CST\";if(timeZoneName===\"America/New_York\")return isDST()?\"EDT\":\"EST\";// For other timezones, get from formatter if available\nconst formatter=new Intl.DateTimeFormat(undefined,{timeZoneName:\"short\"});const parts=formatter.formatToParts(date);const timeZonePart=parts.find(part=>part.type===\"timeZoneName\");if(timeZonePart)return timeZonePart.value;// Last resort: return the timezone name itself\nreturn timeZoneName.split(\"/\").pop()||timeZoneName;}}catch(e){// Fallback if Intl API doesn't work\n}// Ultimate fallback to GMT+/- format (works everywhere)\nconst offsetHours=-timezoneOffsetMinutes/60;const sign=offsetHours>=0?\"+\":\"-\";const absHours=Math.abs(offsetHours);return`GMT${sign}${absHours}`;}/**\n * Helper function to determine if the current date is in DST\n */function isDST(){const now=new Date;const januaryOffset=new Date(now.getFullYear(),0,1).getTimezoneOffset();const julyOffset=new Date(now.getFullYear(),6,1).getTimezoneOffset();return Math.max(januaryOffset,julyOffset)!==now.getTimezoneOffset();}/**\n * Framer override: Sets the text of a layer to the next event date in the user's local time.\n * Usage: Attach this override to a Text layer in Framer.\n */export function showNextEventDateOverride(props){return{text:formatEventDateLocal(getNextWeeklyEventDate())};}import{forwardRef}from\"react\";/**\n * Higher-order component override for text layers.\n * Displays the configured weekly event date in the user's local time.\n */export const withNextEventDate=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{// Force fresh calculation with debug mode on\nconst nextEvent=getNextWeeklyEventDate(false,true,false);const formattedDate=formatEventDateLocal(nextEvent);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:formattedDate});});};/**\n * Higher-order component override for text layers.\n * Displays ONLY THE TIME of the configured weekly event in the user's local time.\n */export const withNextEventTime=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const nextEvent=getNextWeeklyEventDate();const formattedTime=formatEventTimeLocal(nextEvent);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:formattedTime});});};/**\n * Central configuration for calendar event details.\n * Edit these values to update all calendar functions at once.\n */export const EVENT_CONFIG={title:\"Learn How To Launch A Profitable Amazon Business In The Next 60 Days\",description:\"Amazon Business Launch Training Session\\n\\n\"+\"WHAT TO PREPARE:\\n\"+\"- Use a desktop/laptop (not phone) for optimal experience\\n\"+\"- Block 90+ minutes of uninterrupted time\\n\"+\"- Close all other applications\\n\"+\"- Have a notepad ready\\n\\n\"+\"NEXT STEPS:\\n\"+\"1. Watch the preparation video before class\\n\"+\"   https://youtu.be/z1WI7FgDcAA\\n\"+\"2. Check your email for additional materials\\n\"+\"3. Join using the link below\\n\\n\"+\"CLASS LINK: \"+EVENT_DAY_CONFIG.EVENT_URL,location:EVENT_DAY_CONFIG.EVENT_URL,durationHours:1.5,// Reference to the event day and time configuration\ndayConfig:EVENT_DAY_CONFIG,// Notification settings (for calendar apps)\nnotificationMinutes:[30,10]};/**\n * Generates a Google Calendar URL for adding an event\n * @param title Event title (defaults to EVENT_CONFIG.title)\n * @param description Event description (defaults to EVENT_CONFIG.description)\n * @param location Event location (defaults to EVENT_CONFIG.location)\n * @returns URL that can be used to add event to Google Calendar\n */export function generateGoogleCalendarUrl(title=EVENT_CONFIG.title,description=EVENT_CONFIG.description,location=EVENT_CONFIG.location){const eventDate=getNextWeeklyEventDate();// Create end time (duration from config)\nconst endTime=new Date(eventDate);endTime.setHours(endTime.getHours()+EVENT_CONFIG.durationHours);// Format dates in ISO format for Google Calendar\nconst startTimeStr=eventDate.toISOString().replace(/-|:|\\.\\d+/g,\"\");const endTimeStr=endTime.toISOString().replace(/-|:|\\.\\d+/g,\"\");// Build Google Calendar URL with proper encoding\nconst baseUrl=\"https://calendar.google.com/calendar/render\";const params=new URLSearchParams({action:\"TEMPLATE\",text:title,details:description,location:location,dates:`${startTimeStr}/${endTimeStr}`,// Setting to private calendar event (no guests)\nadd:\"\",src:\"\",// Add default reminders using the correct format\n// This creates popup notifications without adding them as guests\npli:\"1\",sf:\"true\",output:\"xml\"});// Add notification reminders using the proper URL parameter\nif(EVENT_CONFIG.notificationMinutes&&EVENT_CONFIG.notificationMinutes.length>0){EVENT_CONFIG.notificationMinutes.forEach(minutes=>{if(minutes){// The proper way to add reminders to Google Calendar URL\nparams.append(\"crm\",`${minutes}`);}});}return`${baseUrl}?${params.toString()}`;}/**\n * Generates an Apple Calendar URL for adding an event (works on iOS/macOS)\n * @param title Event title (defaults to EVENT_CONFIG.title)\n * @param description Event description (defaults to EVENT_CONFIG.description)\n * @param location Event location (defaults to EVENT_CONFIG.location)\n * @returns URL that can be used to add event to Apple Calendar\n */export function generateAppleCalendarUrl(title=EVENT_CONFIG.title,description=EVENT_CONFIG.description,location=EVENT_CONFIG.location){// For Apple Calendar, we'll use the ICS file method which offers better support for all features\nreturn generateIcsFileUrl(title,description,location);}/**\n * Generates a Microsoft Outlook URL for adding an event\n * @param title Event title (defaults to EVENT_CONFIG.title)\n * @param description Event description (defaults to EVENT_CONFIG.description)\n * @param location Event location (defaults to EVENT_CONFIG.location)\n * @returns URL that can be used to add event to Outlook Calendar\n */export function generateOutlookCalendarUrl(title=EVENT_CONFIG.title,description=EVENT_CONFIG.description,location=EVENT_CONFIG.location){const eventDate=getNextWeeklyEventDate();// Create end time (duration from config)\nconst endTime=new Date(eventDate);endTime.setHours(endTime.getHours()+EVENT_CONFIG.durationHours);// Format dates in ISO format for Outlook\nconst startTimeStr=eventDate.toISOString();const endTimeStr=endTime.toISOString();// Add the event URL to the description if it's not already there\nlet enhancedDescription=description;if(location&&!description.includes(location)){enhancedDescription+=`\n\nJoin URL: ${location}`;}// Build Outlook Web URL with proper encoding\nconst baseUrl=\"https://outlook.live.com/calendar/0/deeplink/compose\";const params=new URLSearchParams({subject:title,body:enhancedDescription,location:location,startdt:startTimeStr,enddt:endTimeStr,path:\"/calendar/action/compose\",rru:\"addevent\"});return`${baseUrl}?${params.toString()}`;}/**\n * Generates a Yahoo Calendar URL for adding an event\n * @param title Event title (defaults to EVENT_CONFIG.title)\n * @param description Event description (defaults to EVENT_CONFIG.description)\n * @param location Event location (defaults to EVENT_CONFIG.location)\n * @returns URL that can be used to add event to Yahoo Calendar\n */export function generateYahooCalendarUrl(title=EVENT_CONFIG.title,description=EVENT_CONFIG.description,location=EVENT_CONFIG.location){const eventDate=getNextWeeklyEventDate();// Create end time (duration from config)\nconst endTime=new Date(eventDate);endTime.setHours(endTime.getHours()+EVENT_CONFIG.durationHours);// Format dates for Yahoo (different format)\nconst formatYahooDate=date=>{const year=date.getFullYear();const month=String(date.getMonth()+1).padStart(2,\"0\");const day=String(date.getDate()).padStart(2,\"0\");const hours=String(date.getHours()).padStart(2,\"0\");const minutes=String(date.getMinutes()).padStart(2,\"0\");return`${year}${month}${day}T${hours}${minutes}00`;};// Add the event URL to the description if it's not already there\nlet enhancedDescription=description;if(location&&!description.includes(location)){enhancedDescription+=`\n\nJoin URL: ${location}`;}// Build Yahoo Calendar URL\nconst baseUrl=\"https://calendar.yahoo.com/\";const params=new URLSearchParams({title:title,desc:enhancedDescription,in_loc:location,st:formatYahooDate(eventDate),et:formatYahooDate(endTime),v:\"60\"});return`${baseUrl}?${params.toString()}`;}/**\n * Generates a downloadable ICS file URL (works with most calendar apps)\n * @param title Event title (defaults to EVENT_CONFIG.title)\n * @param description Event description (defaults to EVENT_CONFIG.description)\n * @param location Event location (defaults to EVENT_CONFIG.location)\n * @returns URL that can be used to download an ICS file for import into any calendar\n */export function generateIcsFileUrl(title=EVENT_CONFIG.title,description=EVENT_CONFIG.description,location=EVENT_CONFIG.location){const eventDate=getNextWeeklyEventDate();// Create end time (duration from config)\nconst endTime=new Date(eventDate);endTime.setHours(endTime.getHours()+EVENT_CONFIG.durationHours);// Format dates for ICS\nconst formatICSDate=date=>{return date.toISOString().replace(/-|:|\\.\\d+/g,\"\").slice(0,-1)+\"Z\";};// Create the ICS content\nlet icsContent=[\"BEGIN:VCALENDAR\",\"VERSION:2.0\",\"CALSCALE:GREGORIAN\",\"METHOD:PUBLISH\",\"BEGIN:VEVENT\",`SUMMARY:${title}`,`DTSTART:${formatICSDate(eventDate)}`,`DTEND:${formatICSDate(endTime)}`,`LOCATION:${location}`,`DESCRIPTION:${description.replace(/\\n/g,\"\\\\n\")}`,`URL:${EVENT_DAY_CONFIG.EVENT_URL}`];// Add notification reminders if configured\nif(EVENT_CONFIG.notificationMinutes&&EVENT_CONFIG.notificationMinutes.length>0){EVENT_CONFIG.notificationMinutes.forEach(minutes=>{if(minutes){// Add alarm for notification\nicsContent.push(\"BEGIN:VALARM\",\"ACTION:DISPLAY\",`DESCRIPTION:${title} Reminder`,`TRIGGER:-PT${minutes}M`,\"END:VALARM\");}});}// Complete the ICS content\nicsContent.push(\"END:VEVENT\",\"END:VCALENDAR\");// Join all lines with CRLF as required by the ICS spec\nconst icsString=icsContent.join(\"\\r\\n\");// Create a data URI for the ICS file\nreturn`data:text/calendar;charset=utf-8,${encodeURIComponent(icsString)}`;}/**\n * Higher-order component override for button layers.\n * Creates a button that opens the Google Calendar add event link.\n */export const withGoogleCalendarLink=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const calendarUrl=generateGoogleCalendarUrl();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(calendarUrl,\"_blank\"),style:{cursor:\"pointer\",...props.style||{}}});});};/**\n * Higher-order component override for button layers.\n * Creates a button that opens the Apple Calendar add event link.\n */export const withAppleCalendarLink=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const calendarUrl=generateAppleCalendarUrl();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(calendarUrl,\"_blank\"),style:{cursor:\"pointer\",...props.style||{}}});});};/**\n * Higher-order component override for button layers.\n * Creates a button that opens the Outlook Calendar add event link.\n */export const withOutlookCalendarLink=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const calendarUrl=generateOutlookCalendarUrl();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(calendarUrl,\"_blank\"),style:{cursor:\"pointer\",...props.style||{}}});});};/**\n * Higher-order component override for button layers.\n * Creates a button that opens the Yahoo Calendar add event link.\n */export const withYahooCalendarLink=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const calendarUrl=generateYahooCalendarUrl();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(calendarUrl,\"_blank\"),style:{cursor:\"pointer\",...props.style||{}}});});};/**\n * Higher-order component override for button layers.\n * Creates a button that downloads an ICS file that works with most calendar apps.\n */export const withIcsCalendarLink=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const calendarUrl=generateIcsFileUrl();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(calendarUrl,\"_blank\"),style:{cursor:\"pointer\",...props.style||{}}});});};/**\n * Returns the configured event URL\n * @returns The event URL string\n */export function getEventURL(){return EVENT_DAY_CONFIG.EVENT_URL||\"\";}/**\n * Framer override: Sets the href attribute of a layer to the event URL.\n * Usage: Attach this override to a Frame, Button, or other clickable layer in Framer.\n */export function setEventURLOverride(props){return{href:getEventURL(),target:\"_blank\"};}/**\n * Higher-order component override for button layers.\n * Creates a button that opens the event URL when clicked.\n * Also displays the URL as text and adds underline styling.\n */export const withEventURL=Component=>{return /*#__PURE__*/forwardRef((props,ref)=>{const eventURL=getEventURL();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:()=>window.open(eventURL,\"_blank\"),text:eventURL,style:{cursor:\"pointer\",textDecoration:\"underline\",color:\"#0066cc\",...props.style||{}}});});};// Make getNextWeeklyEventDate globally accessible for other components like Countdown\nif(typeof window!==\"undefined\"){// Create a namespace for our Framer functions if it doesn't exist\nwindow[\"FramerEventConfig\"]=window[\"FramerEventConfig\"]||{};// Expose the date function and configuration\nwindow[\"FramerEventConfig\"].getNextWeeklyEventDate=getNextWeeklyEventDate;window[\"FramerEventConfig\"].EVENT_DAY_CONFIG=EVENT_DAY_CONFIG;window[\"FramerEventConfig\"].clearDateCalculationCache=clearDateCalculationCache;window[\"FramerEventConfig\"].getEventURL=getEventURL;}\nexport const __FramerMetadata__ = {\"exports\":{\"withYahooCalendarLink\":{\"type\":\"reactHoc\",\"name\":\"withYahooCalendarLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearDateCalculationCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EVENT_CONFIG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatEventTimeLocal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateAppleCalendarUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateGoogleCalendarUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateOutlookCalendarUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatEventDateLocal\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setEventURLOverride\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateIcsFileUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIcsCalendarLink\":{\"type\":\"reactHoc\",\"name\":\"withIcsCalendarLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getEventURL\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withOutlookCalendarLink\":{\"type\":\"reactHoc\",\"name\":\"withOutlookCalendarLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getNextWeeklyEventDate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNextEventDate\":{\"type\":\"reactHoc\",\"name\":\"withNextEventDate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withGoogleCalendarLink\":{\"type\":\"reactHoc\",\"name\":\"withGoogleCalendarLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEventURL\":{\"type\":\"reactHoc\",\"name\":\"withEventURL\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAppleCalendarLink\":{\"type\":\"reactHoc\",\"name\":\"withAppleCalendarLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showNextEventDateOverride\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNextEventTime\":{\"type\":\"reactHoc\",\"name\":\"withNextEventTime\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EVENT_DAY_CONFIG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateYahooCalendarUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DateOverride.map"],
  "mappings": "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",
  "names": ["serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "background", "height", "id", "title", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "variant", "s_pzitmm2", "WAiXaocFL", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "scopingClassNames", "cx", "serializationHash", "LayoutGroup", "u", "RichText", "css", "FramerL7Our5P0Y", "withCSS", "L7Our5P0Y_default", "addPropertyControls", "ControlType", "addFonts", "calculateJoinCount", "minCount", "maxCount", "baseSpeed", "mondayMultiplier", "tuesdayMultiplier", "wednesdayMultiplier", "now", "targetDate", "getNextWednesday7PMEST", "totalMillisecondsInWeek", "weekProgress", "range", "baseCountProgress", "dayOfWeek", "multiplier", "skipCurrentIfClose", "daysUntilWednesday", "targetWednesday", "nyTimeString", "nyTime", "offsetMinutes", "withJoinCounter", "Component", "minCount", "maxCount", "baseSpeed", "mondayMultiplier", "tuesdayMultiplier", "wednesdayMultiplier", "Y", "props", "ref", "count", "calculateJoinCount", "p", "EVENT_DAY_CONFIG", "DAY_NAME_TO_NUMBER", "clearDateCalculationCache", "CACHE_TIMESTAMP", "getOverrideEventDate", "overrideDateStr", "debugMode", "dateParts", "year", "month", "day", "targetHour", "easternTimeString", "easternJanTimeString", "targetDate", "janDate", "isDST", "easternOffset", "resultDate", "getNextWeeklyEventDate", "skipCurrentIfClose", "forceFresh", "now", "configuredDay", "targetDayNumber", "dayOfWeek", "daysUntilTarget", "targetLocalDate", "timeUntilTarget", "finalDay", "finalDayName", "key", "formatEventDateLocal", "date", "formattedDate", "ordinalSuffix", "getOrdinalSuffix", "formatEventTimeLocal", "formattedTime", "timezone", "getReliableTimezoneAbbreviation", "timezoneOffsetMinutes", "timeZoneName", "timeZonePart", "part", "offsetHours", "sign", "absHours", "januaryOffset", "julyOffset", "withNextEventDate", "Component", "Y", "props", "ref", "nextEvent", "getNextWeeklyEventDate", "formattedDate", "formatEventDateLocal", "p", "withNextEventTime", "formattedTime", "formatEventTimeLocal", "EVENT_CONFIG", "EVENT_DAY_CONFIG", "generateGoogleCalendarUrl", "title", "description", "location", "eventDate", "endTime", "startTimeStr", "endTimeStr", "baseUrl", "params", "minutes", "generateAppleCalendarUrl", "generateIcsFileUrl", "generateOutlookCalendarUrl", "enhancedDescription", "generateIcsFileUrl", "title", "EVENT_CONFIG", "description", "location", "eventDate", "getNextWeeklyEventDate", "endTime", "formatICSDate", "date", "icsContent", "EVENT_DAY_CONFIG", "minutes", "icsString", "withGoogleCalendarLink", "Component", "Y", "props", "ref", "calendarUrl", "generateGoogleCalendarUrl", "p", "window", "withAppleCalendarLink", "generateAppleCalendarUrl", "withOutlookCalendarLink", "generateOutlookCalendarUrl", "withIcsCalendarLink", "Component", "Y", "props", "ref", "calendarUrl", "generateIcsFileUrl", "p", "window", "getEventURL", "EVENT_DAY_CONFIG", "window", "getNextWeeklyEventDate", "EVENT_DAY_CONFIG", "clearDateCalculationCache", "getEventURL"]
}
