UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

1 lines 2.9 kB
{"version":3,"file":"get-month-days.cjs","names":["getEndOfWeek","getStartOfWeek"],"sources":["../../../../src/components/Month/get-month-days/get-month-days.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue, DayOfWeek } from '../../../types';\nimport { getEndOfWeek } from '../get-end-of-week/get-end-of-week';\nimport { getStartOfWeek } from '../get-start-of-week/get-start-of-week';\n\ninterface GetMonthDaysInput {\n month: DateStringValue;\n firstDayOfWeek: DayOfWeek | undefined;\n consistentWeeks: boolean | undefined;\n}\n\nexport function getMonthDays({\n month,\n firstDayOfWeek = 1,\n consistentWeeks,\n}: GetMonthDaysInput): DateStringValue[][] {\n const day = dayjs(month).subtract(dayjs(month).date() - 1, 'day');\n const start = dayjs(day.format('YYYY-M-D'));\n const startOfMonth = start.format('YYYY-MM-DD');\n const endOfMonth = start.add(+start.daysInMonth() - 1, 'day').format('YYYY-MM-DD');\n const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek);\n const weeks: DateStringValue[][] = [];\n\n let date = dayjs(getStartOfWeek(startOfMonth, firstDayOfWeek));\n\n while (dayjs(date).isBefore(endDate, 'day')) {\n const days: DateStringValue[] = [];\n\n for (let i = 0; i < 7; i += 1) {\n days.push(date.format('YYYY-MM-DD'));\n date = date.add(1, 'day');\n }\n\n weeks.push(days);\n }\n\n if (consistentWeeks && weeks.length < 6) {\n const lastWeek = weeks[weeks.length - 1];\n const lastDay = lastWeek[lastWeek.length - 1];\n let nextDay = dayjs(lastDay).add(1, 'day');\n\n while (weeks.length < 6) {\n const days: DateStringValue[] = [];\n\n for (let i = 0; i < 7; i += 1) {\n days.push(nextDay.format('YYYY-MM-DD'));\n nextDay = nextDay.add(1, 'day');\n }\n\n weeks.push(days);\n }\n }\n\n return weeks;\n}\n"],"mappings":";;;;;;;AAWA,SAAgB,aAAa,EAC3B,OACA,iBAAiB,GACjB,mBACyC;CAEzC,MAAM,SAAA,GAAA,MAAA,QAAA,EAAA,GAAA,MAAA,QAAA,CADY,KAAK,CAAC,CAAC,UAAA,GAAA,MAAA,QAAA,CAAe,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,KACrC,CAAC,CAAC,OAAO,UAAU,CAAC;CAC1C,MAAM,eAAe,MAAM,OAAO,YAAY;CAE9C,MAAM,UAAUA,wBAAAA,aADG,MAAM,IAAI,CAAC,MAAM,YAAY,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,YAC/B,GAAG,cAAc;CACvD,MAAM,QAA6B,CAAC;CAEpC,IAAI,QAAA,GAAA,MAAA,QAAA,CAAaC,0BAAAA,eAAe,cAAc,cAAc,CAAC;CAE7D,QAAA,GAAA,MAAA,QAAA,CAAa,IAAI,CAAC,CAAC,SAAS,SAAS,KAAK,GAAG;EAC3C,MAAM,OAA0B,CAAC;EAEjC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;GAC7B,KAAK,KAAK,KAAK,OAAO,YAAY,CAAC;GACnC,OAAO,KAAK,IAAI,GAAG,KAAK;EAC1B;EAEA,MAAM,KAAK,IAAI;CACjB;CAEA,IAAI,mBAAmB,MAAM,SAAS,GAAG;EACvC,MAAM,WAAW,MAAM,MAAM,SAAS;EACtC,MAAM,UAAU,SAAS,SAAS,SAAS;EAC3C,IAAI,WAAA,GAAA,MAAA,QAAA,CAAgB,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK;EAEzC,OAAO,MAAM,SAAS,GAAG;GACvB,MAAM,OAA0B,CAAC;GAEjC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG;IAC7B,KAAK,KAAK,QAAQ,OAAO,YAAY,CAAC;IACtC,UAAU,QAAQ,IAAI,GAAG,KAAK;GAChC;GAEA,MAAM,KAAK,IAAI;EACjB;CACF;CAEA,OAAO;AACT"}