{"version":3,"file":"get-weeks-in-range.cjs","names":["getStartOfWeek"],"sources":["../../../../src/components/MonthView/get-month-view-events/get-weeks-in-range.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue, DayOfWeek } from '../../../types';\nimport { getStartOfWeek } from '../../../utils';\n\ninterface GetWeeksInRangeInput {\n  rangeStart: dayjs.Dayjs;\n  rangeEnd: dayjs.Dayjs;\n  firstDayOfWeek: DayOfWeek;\n}\n\ninterface GetWeeksInRangeOutput {\n  weeks: DateStringValue[][];\n  groupedByDay: { [date: string]: any[] };\n}\n\nexport function getWeeksInRange({\n  rangeStart,\n  rangeEnd,\n  firstDayOfWeek,\n}: GetWeeksInRangeInput): GetWeeksInRangeOutput {\n  const weeks: DateStringValue[][] = [];\n  const groupedByDay: { [date: string]: any[] } = {};\n\n  const startOfFirstWeekStr = getStartOfWeek({\n    date: rangeStart.format('YYYY-MM-DD'),\n    firstDayOfWeek,\n  });\n\n  let currentDate = dayjs(startOfFirstWeekStr);\n\n  while (currentDate.isBefore(rangeEnd) || currentDate.isSame(rangeEnd, 'day')) {\n    const week: DateStringValue[] = [];\n    for (let i = 0; i < 7; i++) {\n      const dateStr = currentDate.format('YYYY-MM-DD 00:00:00');\n      week.push(dateStr);\n      if (!groupedByDay[dateStr]) {\n        groupedByDay[dateStr] = [];\n      }\n      currentDate = currentDate.add(1, 'day');\n    }\n    weeks.push(week);\n  }\n\n  return { weeks, groupedByDay };\n}\n"],"mappings":";;;;;;AAeA,SAAgB,gBAAgB,EAC9B,YACA,UACA,kBAC8C;CAC9C,MAAM,QAA6B,CAAC;CACpC,MAAM,eAA0C,CAAC;CAOjD,IAAI,eAAA,GAAA,MAAA,QAAA,CALwBA,0BAAAA,eAAe;EACzC,MAAM,WAAW,OAAO,YAAY;EACpC;CACF,CAE0C,CAAC;CAE3C,OAAO,YAAY,SAAS,QAAQ,KAAK,YAAY,OAAO,UAAU,KAAK,GAAG;EAC5E,MAAM,OAA0B,CAAC;EACjC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;GAC1B,MAAM,UAAU,YAAY,OAAO,qBAAqB;GACxD,KAAK,KAAK,OAAO;GACjB,IAAI,CAAC,aAAa,UAChB,aAAa,WAAW,CAAC;GAE3B,cAAc,YAAY,IAAI,GAAG,KAAK;EACxC;EACA,MAAM,KAAK,IAAI;CACjB;CAEA,OAAO;EAAE;EAAO;CAAa;AAC/B"}