{"version":3,"file":"calculate-all-day-event-width.cjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/calculate-all-day-event-width.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface CalculateAllDayEventWidthInput {\n  eventStartDate: Dayjs;\n  actualEndDate: Dayjs;\n  weekStartDate: Dayjs;\n  weekEndDate: Dayjs;\n  weekDays: DateStringValue[];\n  visibleDaysCount: number;\n}\n\nexport function calculateAllDayEventWidth({\n  eventStartDate,\n  actualEndDate,\n  weekStartDate,\n  weekEndDate,\n  weekDays,\n  visibleDaysCount,\n}: CalculateAllDayEventWidthInput): number {\n  let displayStartDate = eventStartDate;\n  if (eventStartDate.isBefore(weekStartDate)) {\n    displayStartDate = weekStartDate;\n  }\n\n  let displayEndDate = actualEndDate;\n  if (actualEndDate.isAfter(weekEndDate)) {\n    displayEndDate = weekEndDate;\n  }\n\n  const visibleDaysSpanned = weekDays.filter(\n    (day) =>\n      (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, 'day')) &&\n      (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, 'day'))\n  ).length;\n\n  return (visibleDaysSpanned / visibleDaysCount) * 100;\n}\n"],"mappings":";;;;;AAYA,SAAgB,0BAA0B,EACxC,gBACA,eACA,eACA,aACA,UACA,oBACyC;CACzC,IAAI,mBAAmB;CACvB,IAAI,eAAe,SAAS,aAAa,GACvC,mBAAmB;CAGrB,IAAI,iBAAiB;CACrB,IAAI,cAAc,QAAQ,WAAW,GACnC,iBAAiB;CASnB,OAN2B,SAAS,QACjC,UAAA,GAAA,MAAA,QAAA,CACQ,GAAG,CAAC,CAAC,QAAQ,gBAAgB,MAAA,GAAA,MAAA,QAAA,CAAW,GAAG,CAAC,CAAC,OAAO,kBAAkB,KAAK,QAAA,GAAA,MAAA,QAAA,CAC3E,GAAG,CAAC,CAAC,SAAS,cAAc,MAAA,GAAA,MAAA,QAAA,CAAW,GAAG,CAAC,CAAC,OAAO,gBAAgB,KAAK,EACnF,CAAC,CAAC,SAE2B,mBAAoB;AACnD"}