{"version":3,"file":"is-event-in-time-range.cjs","names":["isMultidayEvent"],"sources":["../../../src/utils/is-event-in-time-range/is-event-in-time-range.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { ScheduleEventData } from '../../types';\nimport { isMultidayEvent } from '../is-multiday-event/is-multiday-event';\n\ninterface IsEventInTimeRangeInput {\n  event: ScheduleEventData;\n  startTime?: string;\n  endTime?: string;\n}\n\nfunction spansFullDay(event: ScheduleEventData) {\n  const start = dayjs(event.start);\n  const end = dayjs(event.end);\n  if (!start.isSame(start.startOf('day'))) {\n    return false;\n  }\n  const nextDayStart = start.startOf('day').add(1, 'day');\n  return end.isSame(nextDayStart) || end.isSame(nextDayStart.subtract(1, 'second'));\n}\n\nexport function isEventInTimeRange({ event, startTime, endTime }: IsEventInTimeRangeInput) {\n  if (isMultidayEvent(event) || spansFullDay(event)) {\n    return true;\n  }\n\n  if (!startTime || !endTime) {\n    return true;\n  }\n\n  const [startHour, startMinute] = startTime.split(':').map(Number);\n  const [endHour, endMinute] = endTime.split(':').map(Number);\n  const timeWindowStartMinutes = startHour * 60 + startMinute;\n  const timeWindowEndMinutes = endHour * 60 + endMinute;\n\n  const eventStart = dayjs(event.start);\n  const eventEnd = dayjs(event.end);\n  const eventStartMinutes = eventStart.hour() * 60 + eventStart.minute();\n  const eventEndMinutes = eventEnd.hour() * 60 + eventEnd.minute();\n\n  return !(eventEndMinutes <= timeWindowStartMinutes || eventStartMinutes >= timeWindowEndMinutes);\n}\n"],"mappings":";;;;;;AAUA,SAAS,aAAa,OAA0B;CAC9C,MAAM,SAAA,GAAA,MAAA,QAAA,CAAc,MAAM,KAAK;CAC/B,MAAM,OAAA,GAAA,MAAA,QAAA,CAAY,MAAM,GAAG;CAC3B,IAAI,CAAC,MAAM,OAAO,MAAM,QAAQ,KAAK,CAAC,GACpC,OAAO;CAET,MAAM,eAAe,MAAM,QAAQ,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK;CACtD,OAAO,IAAI,OAAO,YAAY,KAAK,IAAI,OAAO,aAAa,SAAS,GAAG,QAAQ,CAAC;AAClF;AAEA,SAAgB,mBAAmB,EAAE,OAAO,WAAW,WAAoC;CACzF,IAAIA,0BAAAA,gBAAgB,KAAK,KAAK,aAAa,KAAK,GAC9C,OAAO;CAGT,IAAI,CAAC,aAAa,CAAC,SACjB,OAAO;CAGT,MAAM,CAAC,WAAW,eAAe,UAAU,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM;CAChE,MAAM,CAAC,SAAS,aAAa,QAAQ,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM;CAC1D,MAAM,yBAAyB,YAAY,KAAK;CAChD,MAAM,uBAAuB,UAAU,KAAK;CAE5C,MAAM,cAAA,GAAA,MAAA,QAAA,CAAmB,MAAM,KAAK;CACpC,MAAM,YAAA,GAAA,MAAA,QAAA,CAAiB,MAAM,GAAG;CAChC,MAAM,oBAAoB,WAAW,KAAK,IAAI,KAAK,WAAW,OAAO;CAGrE,OAAO,EAFiB,SAAS,KAAK,IAAI,KAAK,SAAS,OAAO,KAEnC,0BAA0B,qBAAqB;AAC7E"}