{"version":3,"file":"filter-week-view-events.cjs","names":["isWithinWeek","isEventInTimeRange","validateEvent"],"sources":["../../../../src/components/WeekView/get-week-view-events/filter-week-view-events.ts"],"sourcesContent":["import { AnyDateValue, DayOfWeek, ScheduleEventData } from '../../../types';\nimport { isEventInTimeRange, isWithinWeek, validateEvent } from '../../../utils';\n\nexport interface FilterWeekViewEventsInput {\n  /** Date (week start) at which events are positioned, used to check if events are all-day */\n  date: AnyDateValue;\n\n  /** List of all events that belong to the given week, extra events must be filtered out before passing to the function */\n  events: ScheduleEventData[] | undefined;\n\n  /** Start time of the week view, used to calculate event positions */\n  startTime?: string;\n\n  /** End time of the week view, used to calculate event positions */\n  endTime?: string;\n\n  /** First day of the week, 0 - Sunday, 1 - Monday, etc., used to calculate events positions */\n  firstDayOfWeek?: DayOfWeek;\n}\n\nexport function filterWeekViewEvents({\n  date,\n  events,\n  startTime,\n  endTime,\n  firstDayOfWeek = 1,\n}: FilterWeekViewEventsInput): ScheduleEventData[] {\n  if (events === undefined) {\n    return [];\n  }\n\n  const ids = new Set<string | number>();\n  const filteredEvents: ScheduleEventData[] = [];\n\n  for (const event of events) {\n    if (\n      isWithinWeek({ event, targetWeek: date, firstDayOfWeek }) &&\n      isEventInTimeRange({ event, startTime, endTime })\n    ) {\n      filteredEvents.push(validateEvent(event));\n\n      if (!ids.has(event.id)) {\n        ids.add(event.id);\n      } else {\n        throw new Error(`[@mantine/schedule] WeekView: Duplicated event ids found: ${event.id}`);\n      }\n    }\n  }\n\n  return filteredEvents;\n}\n"],"mappings":";;;;;AAoBA,SAAgB,qBAAqB,EACnC,MACA,QACA,WACA,SACA,iBAAiB,KACgC;CACjD,IAAI,WAAW,KAAA,GACb,OAAO,CAAC;CAGV,MAAM,sBAAM,IAAI,IAAqB;CACrC,MAAM,iBAAsC,CAAC;CAE7C,KAAK,MAAM,SAAS,QAClB,IACEA,uBAAAA,aAAa;EAAE;EAAO,YAAY;EAAM;CAAe,CAAC,KACxDC,+BAAAA,mBAAmB;EAAE;EAAO;EAAW;CAAQ,CAAC,GAChD;EACA,eAAe,KAAKC,uBAAAA,cAAc,KAAK,CAAC;EAExC,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,GACnB,IAAI,IAAI,MAAM,EAAE;OAEhB,MAAM,IAAI,MAAM,6DAA6D,MAAM,IAAI;CAE3F;CAGF,OAAO;AACT"}