mal-ui 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +244 -0
- package/dist/carousel/extensions.d.ts +1 -0
- package/dist/carousel/index.d.ts +2 -0
- package/dist/carousel/index.js +424 -0
- package/dist/carousel/index.js.map +15 -0
- package/dist/charts/extensions.d.ts +1 -0
- package/dist/charts/index.d.ts +2 -0
- package/dist/charts/index.js +3499 -0
- package/dist/charts/index.js.map +53 -0
- package/dist/chunks/index-3ffbn0gc.js +29976 -0
- package/dist/chunks/index-3ffbn0gc.js.map +637 -0
- package/dist/chunks/index-6b5mapr4.js +2 -0
- package/dist/chunks/index-6b5mapr4.js.map +9 -0
- package/dist/chunks/index-6tm93gww.js +38 -0
- package/dist/chunks/index-6tm93gww.js.map +10 -0
- package/dist/chunks/index-cg10ezdx.js +2 -0
- package/dist/chunks/index-cg10ezdx.js.map +9 -0
- package/dist/chunks/index-mc01z7m9.js +48 -0
- package/dist/chunks/index-mc01z7m9.js.map +9 -0
- package/dist/chunks/index-rz8zh7g4.js +5015 -0
- package/dist/chunks/index-rz8zh7g4.js.map +113 -0
- package/dist/chunks/index-syjq3515.js +4893 -0
- package/dist/chunks/index-syjq3515.js.map +101 -0
- package/dist/chunks/index-w9ekv5h5.js +733 -0
- package/dist/chunks/index-w9ekv5h5.js.map +17 -0
- package/dist/code-highlight/extensions.d.ts +1 -0
- package/dist/code-highlight/index.d.ts +2 -0
- package/dist/code-highlight/index.js +1685 -0
- package/dist/code-highlight/index.js.map +25 -0
- package/dist/core/extensions.d.ts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +844 -0
- package/dist/core/index.js.map +9 -0
- package/dist/dates/extensions.d.ts +1 -0
- package/dist/dates/index.d.ts +2 -0
- package/dist/dates/index.js +107 -0
- package/dist/dates/index.js.map +9 -0
- package/dist/dropzone/extensions.d.ts +1 -0
- package/dist/dropzone/index.d.ts +2 -0
- package/dist/dropzone/index.js +2681 -0
- package/dist/dropzone/index.js.map +21 -0
- package/dist/form/extensions.d.ts +1 -0
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.js +1605 -0
- package/dist/form/index.js.map +51 -0
- package/dist/hooks/extensions.d.ts +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +214 -0
- package/dist/hooks/index.js.map +9 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1052 -0
- package/dist/index.js.map +9 -0
- package/dist/modals/extensions.d.ts +1 -0
- package/dist/modals/index.d.ts +2 -0
- package/dist/modals/index.js +387 -0
- package/dist/modals/index.js.map +15 -0
- package/dist/notifications/extensions.d.ts +1 -0
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.js +1122 -0
- package/dist/notifications/index.js.map +28 -0
- package/dist/nprogress/extensions.d.ts +1 -0
- package/dist/nprogress/index.d.ts +2 -0
- package/dist/nprogress/index.js +207 -0
- package/dist/nprogress/index.js.map +12 -0
- package/dist/schedule/extensions.d.ts +1 -0
- package/dist/schedule/index.d.ts +2 -0
- package/dist/schedule/index.js +8569 -0
- package/dist/schedule/index.js.map +135 -0
- package/dist/spotlight/extensions.d.ts +1 -0
- package/dist/spotlight/index.d.ts +2 -0
- package/dist/spotlight/index.js +666 -0
- package/dist/spotlight/index.js.map +24 -0
- package/dist/styles.css +1 -0
- package/dist/theme/index.d.ts +13 -0
- package/dist/theme/index.js +202 -0
- package/dist/theme/index.js.map +11 -0
- package/dist/theme/tokens.d.ts +65 -0
- package/dist/tiptap/extensions.d.ts +1 -0
- package/dist/tiptap/index.d.ts +2 -0
- package/dist/tiptap/index.js +1549 -0
- package/dist/tiptap/index.js.map +25 -0
- package/package.json +163 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/@mantine/schedule/esm/labels.mjs", "../node_modules/@mantine/schedule/esm/utils/format-date/format-date.mjs", "../node_modules/@mantine/schedule/esm/utils/get-weekdays-names/get-weekdays-names.mjs", "../node_modules/@mantine/schedule/esm/utils/get-start-of-week/get-start-of-week.mjs", "../node_modules/@mantine/schedule/esm/utils/get-end-of-week/get-end-of-week.mjs", "../node_modules/@mantine/schedule/esm/utils/get-week-number/get-week-number.mjs", "../node_modules/@mantine/schedule/esm/utils/get-month-days/get-month-days.mjs", "../node_modules/@mantine/schedule/esm/utils/is-after-min-date/is-after-min-date.mjs", "../node_modules/@mantine/schedule/esm/utils/is-before-max-date/is-before-max-date.mjs", "../node_modules/@mantine/schedule/esm/utils/is-same-month/is-same-month.mjs", "../node_modules/@mantine/schedule/esm/utils/get-months-by-quarter/get-months-by-quarter.mjs", "../node_modules/@mantine/schedule/esm/utils/clamp-interval-minutes/clamp-interval-minutes.mjs", "../node_modules/@mantine/schedule/esm/utils/parse-time-string/parse-time-string.mjs", "../node_modules/@mantine/schedule/esm/utils/to-time-string/to-time-string.mjs", "../node_modules/@mantine/schedule/esm/utils/get-day-time-intervals/get-day-time-intervals.mjs", "../node_modules/@mantine/schedule/esm/utils/to-date-string/to-date-string.mjs", "../node_modules/@mantine/schedule/esm/utils/get-week-days/get-week-days.mjs", "../node_modules/@mantine/schedule/esm/utils/get-months-list/get-months-list.mjs", "../node_modules/@mantine/schedule/esm/utils/get-years-list/get-years-list.mjs", "../node_modules/@mantine/schedule/esm/utils/next-week/next-week.mjs", "../node_modules/@mantine/schedule/esm/utils/previous-week/previous-week.mjs", "../node_modules/@mantine/schedule/esm/utils/get-current-time-position/get-current-time-position.mjs", "../node_modules/@mantine/schedule/esm/utils/is-in-time-range/is-in-time-range.mjs", "../node_modules/@mantine/schedule/esm/utils/is-all-day-event/is-all-day-event.mjs", "../node_modules/@mantine/schedule/esm/utils/validate-event/validate-event.mjs", "../node_modules/@mantine/schedule/esm/utils/sort-events/sort-events.mjs", "../node_modules/@mantine/schedule/esm/utils/is-events-overlap/is-events-overlap.mjs", "../node_modules/@mantine/schedule/esm/utils/get-visible-events/get-visible-events.mjs", "../node_modules/@mantine/schedule/esm/utils/is-multiday-event/is-multiday-event.mjs", "../node_modules/@mantine/schedule/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs", "../node_modules/@mantine/schedule/esm/utils/is-within-week/is-within-week.mjs", "../node_modules/@mantine/schedule/esm/utils/get-month-range/get-month-range.mjs", "../node_modules/@mantine/schedule/esm/utils/get-day-position/get-day-position.mjs", "../node_modules/@mantine/schedule/esm/utils/calculate-drop-time/calculate-drop-time.mjs", "../node_modules/@mantine/schedule/esm/utils/calculate-month-drop-date/calculate-month-drop-date.mjs", "../node_modules/@mantine/schedule/esm/utils/get-business-hours-mod/get-business-hours-mod.mjs", "../node_modules/@mantine/schedule/esm/utils/expand-recurring-events/expand-recurring-events.mjs", "../node_modules/rrule/dist/esm/weekday.js", "../node_modules/rrule/dist/esm/helpers.js", "../node_modules/rrule/dist/esm/dateutil.js", "../node_modules/rrule/dist/esm/iterresult.js", "../node_modules/rrule/dist/esm/callbackiterresult.js", "../node_modules/rrule/dist/esm/nlp/i18n.js", "../node_modules/rrule/dist/esm/nlp/totext.js", "../node_modules/rrule/dist/esm/nlp/parsetext.js", "../node_modules/rrule/dist/esm/types.js", "../node_modules/rrule/dist/esm/nlp/index.js", "../node_modules/rrule/dist/esm/datetime.js", "../node_modules/rrule/dist/esm/parseoptions.js", "../node_modules/rrule/dist/esm/parsestring.js", "../node_modules/rrule/dist/esm/datewithzone.js", "../node_modules/rrule/dist/esm/optionstostring.js", "../node_modules/rrule/dist/esm/cache.js", "../node_modules/rrule/dist/esm/masks.js", "../node_modules/rrule/dist/esm/iterinfo/yearinfo.js", "../node_modules/rrule/dist/esm/iterinfo/monthinfo.js", "../node_modules/rrule/dist/esm/iterinfo/easter.js", "../node_modules/rrule/dist/esm/iterinfo/index.js", "../node_modules/rrule/dist/esm/iter/poslist.js", "../node_modules/rrule/dist/esm/iter/index.js", "../node_modules/rrule/dist/esm/rrule.js", "../node_modules/rrule/dist/esm/iterset.js", "../node_modules/rrule/dist/esm/rrulestr.js", "../node_modules/rrule/dist/esm/rruleset.js", "../node_modules/@mantine/schedule/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.mjs", "../node_modules/@mantine/schedule/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs", "../node_modules/@mantine/schedule/esm/components/DragContext/DragContext.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleEvent/ScheduleEvent.module.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleEvent/ScheduleEvent.mjs", "../node_modules/@mantine/schedule/esm/components/MoreEvents/MoreEvents.module.mjs", "../node_modules/@mantine/schedule/esm/components/MoreEvents/MoreEvents.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ScheduleHeaderContext.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ScheduleHeader.module.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ScheduleHeader.mjs", "../node_modules/@mantine/schedule/esm/hooks/use-auto-scroll-on-drag.mjs", "../node_modules/@mantine/schedule/esm/hooks/use-drag-state.mjs", "../node_modules/@mantine/schedule/esm/hooks/use-drag-drop-handlers.mjs", "../node_modules/@mantine/schedule/esm/hooks/use-event-resize.mjs", "../node_modules/@mantine/schedule/esm/hooks/use-slot-drag-select.mjs", "../node_modules/@mantine/schedule/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs", "../node_modules/@mantine/schedule/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs", "../node_modules/@mantine/schedule/esm/components/DayView/get-day-view-events/get-day-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/DayView/DayView.module.mjs", "../node_modules/@mantine/schedule/esm/components/DayView/DayView.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/handle-month-view-key-down.mjs", "../node_modules/@mantine/schedule/esm/components/MobileMonthView/get-mobile-month-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/MobileMonthView/MobileMonthView.module.mjs", "../node_modules/@mantine/schedule/esm/components/MobileMonthView/MobileMonthView.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-renderable-month-event-segments.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/add-event-to-day-groups.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/calculate-event-position-in-week.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/find-available-row.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/get-month-view-events/get-month-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/MonthView.module.mjs", "../node_modules/@mantine/schedule/esm/components/MonthView/MonthView.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-label/get-week-label.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/filter-week-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/assign-event-rows.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/calculate-all-day-event-offset.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/calculate-all-day-event-width.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/calculate-event-days.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/find-available-column.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/get-event-end-date.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/get-hanging-status.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/get-week-view-events/get-week-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/handle-week-view-key-down.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/WeekViewDay.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/WeekView.module.mjs", "../node_modules/@mantine/schedule/esm/components/WeekView/WeekView.mjs", "../node_modules/@mantine/schedule/esm/components/YearView/get-year-view-events/get-year-view-events.mjs", "../node_modules/@mantine/schedule/esm/components/YearView/handle-year-view-key-down.mjs", "../node_modules/@mantine/schedule/esm/components/YearView/YearViewMonth.mjs", "../node_modules/@mantine/schedule/esm/components/YearView/YearView.module.mjs", "../node_modules/@mantine/schedule/esm/components/YearView/YearView.mjs", "../node_modules/@mantine/schedule/esm/components/Schedule/Schedule.module.mjs", "../node_modules/@mantine/schedule/esm/components/Schedule/Schedule.mjs"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/labels.ts\nconst DEFAULT_SCHEDULE_LABELS = {\n\ttoday: \"Today\",\n\tnext: \"Next\",\n\tprevious: \"Previous\",\n\tmore: \"More\",\n\tday: \"Day\",\n\tweek: \"Week\",\n\tmonth: \"Month\",\n\tyear: \"Year\",\n\tallDay: \"All day\",\n\tweekday: \"Weekday\",\n\ttimeSlot: \"Time slot\",\n\tselectMonth: \"Select month\",\n\tselectYear: \"Select year\",\n\tswitchToDayView: \"Switch to day view\",\n\tswitchToWeekView: \"Switch to week view\",\n\tswitchToMonthView: \"Switch to month view\",\n\tswitchToYearView: \"Switch to year view\",\n\tviewSelectLabel: \"Calendar view\",\n\tnoEvents: \"No events\",\n\tmoreLabel: (hiddenEventsCount) => `+${hiddenEventsCount} more`\n};\nfunction getLabel(key, override) {\n\tif (override) return {\n\t\t...DEFAULT_SCHEDULE_LABELS,\n\t\t...override\n\t}[key];\n\treturn DEFAULT_SCHEDULE_LABELS[key];\n}\n//#endregion\nexport { DEFAULT_SCHEDULE_LABELS, getLabel };\n\n//# sourceMappingURL=labels.mjs.map",
|
|
6
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/format-date/format-date.ts\nfunction formatDate({ locale, date, format }) {\n\tif (typeof format === \"function\") return format(dayjs(date).format(\"YYYY-MM-DD HH:mm:ss\"));\n\treturn dayjs(date).locale(locale).format(format);\n}\n//#endregion\nexport { formatDate };\n\n//# sourceMappingURL=format-date.mjs.map",
|
|
7
|
+
"\"use client\";\nimport { formatDate } from \"../format-date/format-date.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-weekdays-names/get-weekdays-names.ts\nfunction getWeekdaysNames({ locale, format = \"dd\", firstDayOfWeek = 1 }) {\n\tconst baseDate = dayjs().day(firstDayOfWeek);\n\tconst labels = [];\n\tfor (let i = 0; i < 7; i += 1) labels.push(formatDate({\n\t\tlocale,\n\t\tdate: baseDate.add(i, \"days\"),\n\t\tformat\n\t}));\n\treturn labels;\n}\n//#endregion\nexport { getWeekdaysNames };\n\n//# sourceMappingURL=get-weekdays-names.mjs.map",
|
|
8
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-start-of-week/get-start-of-week.ts\nfunction getStartOfWeek({ date, firstDayOfWeek = 1 }) {\n\tlet value = dayjs(date);\n\twhile (value.day() !== firstDayOfWeek) value = value.subtract(1, \"day\");\n\treturn value.format(\"YYYY-MM-DD\");\n}\n//#endregion\nexport { getStartOfWeek };\n\n//# sourceMappingURL=get-start-of-week.mjs.map",
|
|
9
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-end-of-week/get-end-of-week.ts\nfunction getEndOfWeek(date, firstDayOfWeek = 1) {\n\tlet value = dayjs(date);\n\tif (!value.isValid()) return value;\n\tconst lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n\twhile (value.day() !== lastDayOfWeek) value = value.add(1, \"day\");\n\treturn value.format(\"YYYY-MM-DD\");\n}\n//#endregion\nexport { getEndOfWeek };\n\n//# sourceMappingURL=get-end-of-week.mjs.map",
|
|
10
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\nimport isoWeek from \"dayjs/plugin/isoWeek.js\";\n//#region packages/@mantine/schedule/src/utils/get-week-number/get-week-number.ts\ndayjs.extend(isoWeek);\nfunction getWeekNumber(week) {\n\tif (Array.isArray(week)) return dayjs(week.find((date) => dayjs(date).day() === 1)).isoWeek();\n\treturn dayjs(week).isoWeek();\n}\n//#endregion\nexport { getWeekNumber };\n\n//# sourceMappingURL=get-week-number.mjs.map",
|
|
11
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../get-start-of-week/get-start-of-week.mjs\";\nimport { getEndOfWeek } from \"../get-end-of-week/get-end-of-week.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-month-days/get-month-days.ts\nfunction getMonthDays({ month, firstDayOfWeek = 1, consistentWeeks }) {\n\tconst start = dayjs(dayjs(month).subtract(dayjs(month).date() - 1, \"day\").format(\"YYYY-MM-DD\"));\n\tconst startOfMonth = start.format(\"YYYY-MM-DD\");\n\tconst endDate = getEndOfWeek(start.add(+start.daysInMonth() - 1, \"day\").format(\"YYYY-MM-DD\"), firstDayOfWeek);\n\tconst weeks = [];\n\tlet date = dayjs(getStartOfWeek({\n\t\tdate: startOfMonth,\n\t\tfirstDayOfWeek\n\t}));\n\twhile (dayjs(date).isBefore(endDate, \"day\")) {\n\t\tconst days = [];\n\t\tfor (let i = 0; i < 7; i += 1) {\n\t\t\tdays.push(date.format(\"YYYY-MM-DD 00:00:00\"));\n\t\t\tdate = date.add(1, \"day\");\n\t\t}\n\t\tweeks.push(days);\n\t}\n\tif (consistentWeeks && weeks.length < 6) {\n\t\tconst lastWeek = weeks[weeks.length - 1];\n\t\tconst lastDay = lastWeek[lastWeek.length - 1];\n\t\tlet nextDay = dayjs(lastDay).add(1, \"day\");\n\t\twhile (weeks.length < 6) {\n\t\t\tconst days = [];\n\t\t\tfor (let i = 0; i < 7; i += 1) {\n\t\t\t\tdays.push(nextDay.format(\"YYYY-MM-DD 00:00:00\"));\n\t\t\t\tnextDay = nextDay.add(1, \"day\");\n\t\t\t}\n\t\t\tweeks.push(days);\n\t\t}\n\t}\n\treturn weeks;\n}\n//#endregion\nexport { getMonthDays };\n\n//# sourceMappingURL=get-month-days.mjs.map",
|
|
12
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-after-min-date/is-after-min-date.ts\nfunction isAfterMinDate(date, minDate) {\n\treturn minDate ? dayjs(date).isAfter(dayjs(minDate).subtract(1, \"day\"), \"day\") : true;\n}\n//#endregion\nexport { isAfterMinDate };\n\n//# sourceMappingURL=is-after-min-date.mjs.map",
|
|
13
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-before-max-date/is-before-max-date.ts\nfunction isBeforeMaxDate(date, maxDate) {\n\treturn maxDate ? dayjs(date).isBefore(dayjs(maxDate).add(1, \"day\"), \"day\") : true;\n}\n//#endregion\nexport { isBeforeMaxDate };\n\n//# sourceMappingURL=is-before-max-date.mjs.map",
|
|
14
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-same-month/is-same-month.ts\nfunction isSameMonth(date, comparison) {\n\treturn dayjs(date).format(\"YYYY-MM\") === dayjs(comparison).format(\"YYYY-MM\");\n}\n//#endregion\nexport { isSameMonth };\n\n//# sourceMappingURL=is-same-month.mjs.map",
|
|
15
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-months-by-quarter/get-months-by-quarter.ts\nfunction getMonthsByQuarter(year) {\n\tconst startOfYear = dayjs(year).startOf(\"year\").toDate();\n\tconst results = [\n\t\t[],\n\t\t[],\n\t\t[],\n\t\t[]\n\t];\n\tlet currentMonthIndex = 0;\n\tfor (let i = 0; i < 4; i += 1) for (let j = 0; j < 3; j += 1) {\n\t\tresults[i].push(dayjs(startOfYear).add(currentMonthIndex, \"months\").format(\"YYYY-MM-DD\"));\n\t\tcurrentMonthIndex += 1;\n\t}\n\treturn results;\n}\n//#endregion\nexport { getMonthsByQuarter };\n\n//# sourceMappingURL=get-months-by-quarter.mjs.map",
|
|
16
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/clamp-interval-minutes/clamp-interval-minutes.ts\n/** Clamp interval minutes to valid values (1-60) and ensure it divides evenly into 60 */\nfunction clampIntervalMinutes(intervalMinutes) {\n\tlet clamped = Math.round(Math.max(1, Math.min(60, intervalMinutes)));\n\tclamped = 60 % clamped === 0 ? clamped : 60;\n\treturn clamped;\n}\n//#endregion\nexport { clampIntervalMinutes };\n\n//# sourceMappingURL=clamp-interval-minutes.mjs.map",
|
|
17
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/parse-time-string/parse-time-string.ts\nfunction parseTimeString(time) {\n\tconst [hours, minutes, seconds] = time.split(\":\").map(Number);\n\treturn {\n\t\thours,\n\t\tminutes,\n\t\tseconds: seconds || 0\n\t};\n}\n//#endregion\nexport { parseTimeString };\n\n//# sourceMappingURL=parse-time-string.mjs.map",
|
|
18
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/to-time-string/to-time-string.ts\nfunction toTimeString({ hours, minutes, seconds }) {\n\treturn `${String(hours).padStart(2, \"0\")}:${String(minutes).padStart(2, \"0\")}:${String(seconds).padStart(2, \"0\")}`;\n}\n//#endregion\nexport { toTimeString };\n\n//# sourceMappingURL=to-time-string.mjs.map",
|
|
19
|
+
"\"use client\";\nimport { clampIntervalMinutes } from \"../clamp-interval-minutes/clamp-interval-minutes.mjs\";\nimport { parseTimeString } from \"../parse-time-string/parse-time-string.mjs\";\nimport { toTimeString } from \"../to-time-string/to-time-string.mjs\";\n//#region packages/@mantine/schedule/src/utils/get-day-time-intervals/get-day-time-intervals.ts\nfunction getDayTimeIntervals({ startTime, endTime, intervalMinutes: _intervalMinutes = 60 }) {\n\tconst intervalMinutes = clampIntervalMinutes(_intervalMinutes);\n\tconst start = parseTimeString(startTime);\n\tconst end = endTime ? parseTimeString(endTime) : {\n\t\thours: 23,\n\t\tminutes: 59,\n\t\tseconds: 59\n\t};\n\tconst startSeconds = start.hours * 3600 + start.minutes * 60 + start.seconds;\n\tconst endSeconds = end.hours * 3600 + end.minutes * 60 + end.seconds;\n\tconst intervalSeconds = intervalMinutes * 60;\n\tconst intervals = [];\n\tlet currentSeconds = startSeconds;\n\twhile (currentSeconds < endSeconds) {\n\t\tconst intervalStartSeconds = currentSeconds;\n\t\tlet intervalEndSeconds = currentSeconds + intervalSeconds;\n\t\tif (intervalEndSeconds > endSeconds) intervalEndSeconds = endSeconds;\n\t\tconst startHours = Math.floor(intervalStartSeconds / 3600);\n\t\tconst startMinutes = Math.floor(intervalStartSeconds % 3600 / 60);\n\t\tconst startSecs = intervalStartSeconds % 60;\n\t\tconst endHours = Math.floor(intervalEndSeconds / 3600);\n\t\tconst endMinutes = Math.floor(intervalEndSeconds % 3600 / 60);\n\t\tconst endSecs = intervalEndSeconds % 60;\n\t\tconst durationSeconds = intervalEndSeconds - intervalStartSeconds;\n\t\tconst isHourStart = startMinutes === 0 && startSecs === 0;\n\t\tintervals.push({\n\t\t\tstartTime: toTimeString({\n\t\t\t\thours: startHours,\n\t\t\t\tminutes: startMinutes,\n\t\t\t\tseconds: startSecs\n\t\t\t}),\n\t\t\tendTime: toTimeString({\n\t\t\t\thours: endHours,\n\t\t\t\tminutes: endMinutes,\n\t\t\t\tseconds: endSecs\n\t\t\t}),\n\t\t\tduration: durationSeconds,\n\t\t\tisHourStart\n\t\t});\n\t\tcurrentSeconds = intervalEndSeconds;\n\t}\n\treturn intervals;\n}\n//#endregion\nexport { getDayTimeIntervals };\n\n//# sourceMappingURL=get-day-time-intervals.mjs.map",
|
|
20
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/to-date-string/to-date-string.ts\nfunction toDateString(date) {\n\treturn dayjs(date).format(\"YYYY-MM-DD 00:00:00\");\n}\n//#endregion\nexport { toDateString };\n\n//# sourceMappingURL=to-date-string.mjs.map",
|
|
21
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../get-start-of-week/get-start-of-week.mjs\";\nimport { toDateString } from \"../to-date-string/to-date-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-week-days/get-week-days.ts\n/** Returns a list of days in a given week */\nfunction getWeekDays({ week, weekendDays, withWeekendDays = true, firstDayOfWeek = 1 }) {\n\tconst days = [];\n\tlet current = dayjs(getStartOfWeek({\n\t\tdate: week,\n\t\tfirstDayOfWeek\n\t}));\n\tfor (let i = 0; i < 7; i += 1) {\n\t\tconst dayOfWeek = current.day();\n\t\tif (!(weekendDays && weekendDays.includes(dayOfWeek)) || withWeekendDays) days.push(toDateString(current));\n\t\tcurrent = current.add(1, \"day\");\n\t}\n\treturn days;\n}\n//#endregion\nexport { getWeekDays };\n\n//# sourceMappingURL=get-week-days.mjs.map",
|
|
22
|
+
"\"use client\";\nimport { formatDate } from \"../format-date/format-date.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-months-list/get-months-list.ts\nfunction getMonthsList({ locale, format }) {\n\tconst months = [];\n\tconst date = dayjs().locale(locale).startOf(\"year\");\n\tfor (let i = 0; i < 12; i++) months.push({\n\t\tmonth: i,\n\t\tname: formatDate({\n\t\t\tdate: date.add(i, \"month\"),\n\t\t\tformat,\n\t\t\tlocale\n\t\t})\n\t});\n\treturn months;\n}\n//#endregion\nexport { getMonthsList };\n\n//# sourceMappingURL=get-months-list.mjs.map",
|
|
23
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/get-years-list/get-years-list.ts\nfunction getYearsList({ startYear, endYear }) {\n\tconst years = [];\n\tfor (let year = startYear; year <= endYear; year++) years.push(year);\n\treturn years;\n}\n//#endregion\nexport { getYearsList };\n\n//# sourceMappingURL=get-years-list.mjs.map",
|
|
24
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../get-start-of-week/get-start-of-week.mjs\";\nimport { toDateString } from \"../to-date-string/to-date-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/next-week/next-week.ts\nfunction nextWeek(date, firstDayOfWeek) {\n\tconst start = getStartOfWeek({\n\t\tdate,\n\t\tfirstDayOfWeek\n\t});\n\treturn toDateString(dayjs(start).set(\"date\", dayjs(start).date() + 7));\n}\n//#endregion\nexport { nextWeek };\n\n//# sourceMappingURL=next-week.mjs.map",
|
|
25
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../get-start-of-week/get-start-of-week.mjs\";\nimport { toDateString } from \"../to-date-string/to-date-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/previous-week/previous-week.ts\nfunction previousWeek(date, firstDayOfWeek) {\n\tconst start = getStartOfWeek({\n\t\tdate,\n\t\tfirstDayOfWeek\n\t});\n\treturn toDateString(dayjs(start).set(\"date\", dayjs(start).date() - 7));\n}\n//#endregion\nexport { previousWeek };\n\n//# sourceMappingURL=previous-week.mjs.map",
|
|
26
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-current-time-position/get-current-time-position.ts\nfunction getCurrentTimePosition(input) {\n\tconst now = dayjs();\n\tif (!input?.startTime || !input?.endTime) {\n\t\tconst startOf = dayjs().startOf(\"date\");\n\t\treturn now.diff(startOf, \"minute\") / 1440 * 100;\n\t}\n\tconst [startHour, startMinute] = input.startTime.split(\":\").map(Number);\n\tconst [endHour, endMinute] = input.endTime.split(\":\").map(Number);\n\tconst startOfDay = now.startOf(\"date\");\n\tconst startDateTime = startOfDay.hour(startHour).minute(startMinute).second(0);\n\tconst totalMinutes = startOfDay.hour(endHour).minute(endMinute).second(0).diff(startDateTime, \"minute\");\n\treturn now.diff(startDateTime, \"minute\") / totalMinutes * 100;\n}\n//#endregion\nexport { getCurrentTimePosition };\n\n//# sourceMappingURL=get-current-time-position.mjs.map",
|
|
27
|
+
"\"use client\";\nimport { parseTimeString } from \"../parse-time-string/parse-time-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-in-time-range/is-in-time-range.ts\n/** Returns true if the given date's time is within the specified time range */\nfunction isInTimeRange({ date, startTime = \"00:00:00\", endTime = \"23:59:59\" }) {\n\tconst targetDate = dayjs(date);\n\tconst parsedStartTime = parseTimeString(startTime);\n\tconst parsedEndTime = parseTimeString(endTime);\n\tconst startDateTime = targetDate.hour(parsedStartTime.hours).minute(parsedStartTime.minutes).second(parsedStartTime.seconds);\n\tconst endDateTime = targetDate.hour(parsedEndTime.hours).minute(parsedEndTime.minutes).second(parsedEndTime.seconds);\n\treturn targetDate.isAfter(startDateTime) && targetDate.isBefore(endDateTime);\n}\n//#endregion\nexport { isInTimeRange };\n\n//# sourceMappingURL=is-in-time-range.mjs.map",
|
|
28
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-all-day-event/is-all-day-event.ts\nfunction isAllDayEvent({ event, date }) {\n\tconst dayStart = dayjs(date).startOf(\"day\");\n\tconst nextDayStart = dayStart.add(1, \"day\");\n\tconst sameDayEnd = nextDayStart.subtract(1, \"second\");\n\tconst startTime = dayjs(event.start);\n\tconst endTime = dayjs(event.end);\n\treturn startTime.isSame(dayStart) && (endTime.isSame(nextDayStart) || endTime.isSame(sameDayEnd));\n}\n//#endregion\nexport { isAllDayEvent };\n\n//# sourceMappingURL=is-all-day-event.mjs.map",
|
|
29
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/validate-event/validate-event.ts\nfunction validateEvent(eventData) {\n\tif (!dayjs(eventData.start).isValid()) throw new Error(`[@mantine/schedule] Invalid start date for event id: ${eventData.id}`);\n\tif (!dayjs(eventData.end).isValid()) throw new Error(`[@mantine/schedule] Invalid end date for event id: ${eventData.id}`);\n\tif (dayjs(eventData.end).isBefore(dayjs(eventData.start))) throw new Error(`[@mantine/schedule] Event end date is before start date for event id: ${eventData.id}`);\n\treturn eventData;\n}\n//#endregion\nexport { validateEvent };\n\n//# sourceMappingURL=validate-event.mjs.map",
|
|
30
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/sort-events/sort-events.ts\n/** Sorts events by start time, then by duration (longer first) */\nfunction sortEvents(events) {\n\treturn events.toSorted((a, b) => {\n\t\tconst startDiff = dayjs(a.start).diff(dayjs(b.start));\n\t\tif (startDiff !== 0) return startDiff;\n\t\treturn dayjs(b.end).diff(dayjs(b.start)) - dayjs(a.end).diff(dayjs(a.start));\n\t});\n}\n//#endregion\nexport { sortEvents };\n\n//# sourceMappingURL=sort-events.mjs.map",
|
|
31
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-events-overlap/is-events-overlap.ts\n/** Returns true if two events overlap in time */\nfunction isEventsOverlap(event1, event2) {\n\tconst start1 = dayjs(event1.start).valueOf();\n\tconst end1 = dayjs(event1.end).valueOf();\n\tconst start2 = dayjs(event2.start).valueOf();\n\treturn start1 < dayjs(event2.end).valueOf() && start2 < end1;\n}\n//#endregion\nexport { isEventsOverlap };\n\n//# sourceMappingURL=is-events-overlap.mjs.map",
|
|
32
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/get-visible-events/get-visible-events.ts\nfunction getVisibleEvents({ maxEvents, totalEvents }) {\n\tif (totalEvents <= maxEvents) return {\n\t\tvisibleEventsCount: totalEvents,\n\t\thiddenEventsCount: 0\n\t};\n\treturn {\n\t\tvisibleEventsCount: maxEvents - 1,\n\t\thiddenEventsCount: totalEvents - (maxEvents - 1)\n\t};\n}\n//#endregion\nexport { getVisibleEvents };\n\n//# sourceMappingURL=get-visible-events.mjs.map",
|
|
33
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-multiday-event/is-multiday-event.ts\nfunction isMultidayEvent(event) {\n\tconst startDate = dayjs(event.start).startOf(\"day\");\n\tconst rawEnd = dayjs(event.end);\n\treturn (rawEnd.hour() === 0 && rawEnd.minute() === 0 && rawEnd.second() === 0 ? rawEnd.startOf(\"day\").subtract(1, \"day\") : rawEnd.startOf(\"day\")).isAfter(startDate);\n}\n//#endregion\nexport { isMultidayEvent };\n\n//# sourceMappingURL=is-multiday-event.mjs.map",
|
|
34
|
+
"\"use client\";\nimport { isMultidayEvent } from \"../is-multiday-event/is-multiday-event.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-event-in-time-range/is-event-in-time-range.ts\nfunction spansFullDay(event) {\n\tconst start = dayjs(event.start);\n\tconst end = dayjs(event.end);\n\tif (!start.isSame(start.startOf(\"day\"))) return false;\n\tconst nextDayStart = start.startOf(\"day\").add(1, \"day\");\n\treturn end.isSame(nextDayStart) || end.isSame(nextDayStart.subtract(1, \"second\"));\n}\nfunction isEventInTimeRange({ event, startTime, endTime }) {\n\tif (isMultidayEvent(event) || spansFullDay(event)) return true;\n\tif (!startTime || !endTime) return true;\n\tconst [startHour, startMinute] = startTime.split(\":\").map(Number);\n\tconst [endHour, endMinute] = endTime.split(\":\").map(Number);\n\tconst timeWindowStartMinutes = startHour * 60 + startMinute;\n\tconst timeWindowEndMinutes = endHour * 60 + endMinute;\n\tconst eventStart = dayjs(event.start);\n\tconst eventEnd = dayjs(event.end);\n\tconst eventStartMinutes = eventStart.hour() * 60 + eventStart.minute();\n\treturn !(eventEnd.hour() * 60 + eventEnd.minute() <= timeWindowStartMinutes || eventStartMinutes >= timeWindowEndMinutes);\n}\n//#endregion\nexport { isEventInTimeRange };\n\n//# sourceMappingURL=is-event-in-time-range.mjs.map",
|
|
35
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../get-start-of-week/get-start-of-week.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/is-within-week/is-within-week.ts\nfunction isWithinWeek({ event, targetWeek, firstDayOfWeek }) {\n\tconst startOfWeek = dayjs(getStartOfWeek({\n\t\tdate: targetWeek,\n\t\tfirstDayOfWeek\n\t}));\n\tconst endOfWeek = startOfWeek.add(7, \"day\");\n\treturn dayjs(event.start).isBefore(endOfWeek) && dayjs(event.end).isAfter(startOfWeek);\n}\n//#endregion\nexport { isWithinWeek };\n\n//# sourceMappingURL=is-within-week.mjs.map",
|
|
36
|
+
"\"use client\";\nimport { getMonthDays } from \"../get-month-days/get-month-days.mjs\";\nimport { toDateString } from \"../to-date-string/to-date-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-month-range/get-month-range.ts\n/** Returns start and end dates as displayed in MonthView */\nfunction getMonthRange({ month, withOutsideDays, consistentWeeks, firstDayOfWeek }) {\n\tif (!withOutsideDays) return {\n\t\tstart: toDateString(dayjs(month).startOf(\"month\")),\n\t\tend: toDateString(dayjs(month).endOf(\"month\"))\n\t};\n\tconst days = getMonthDays({\n\t\tmonth,\n\t\tfirstDayOfWeek,\n\t\tconsistentWeeks\n\t});\n\treturn {\n\t\tstart: days[0][0],\n\t\tend: days[days.length - 1][6]\n\t};\n}\n//#endregion\nexport { getMonthRange };\n\n//# sourceMappingURL=get-month-range.mjs.map",
|
|
37
|
+
"\"use client\";\nimport { clampIntervalMinutes } from \"../clamp-interval-minutes/clamp-interval-minutes.mjs\";\nimport { parseTimeString } from \"../parse-time-string/parse-time-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/get-day-position/get-day-position.ts\n/** Calculates day position within given start and end time boundaries. Returns top and height in percentages. */\nfunction getDayPosition({ event, startTime = \"00:00:00\", endTime = \"23:59:59\", intervalMinutes = 60 }) {\n\tconst eventStart = dayjs(event.start);\n\tconst eventEnd = dayjs(event.end);\n\tconst parsedStartTime = parseTimeString(startTime);\n\tconst parsedEndTime = parseTimeString(endTime);\n\tconst startOfDay = eventStart.startOf(\"date\");\n\tconst boundaryStart = startOfDay.hour(parsedStartTime.hours).minute(parsedStartTime.minutes).second(parsedStartTime.seconds);\n\tconst literalEnd = startOfDay.hour(parsedEndTime.hours).minute(parsedEndTime.minutes).second(parsedEndTime.seconds);\n\tconst intervalSeconds = clampIntervalMinutes(intervalMinutes) * 60;\n\tconst literalRangeSeconds = literalEnd.diff(boundaryStart, \"second\");\n\tconst totalSeconds = Math.ceil(literalRangeSeconds / intervalSeconds) * intervalSeconds;\n\tconst eventStartSeconds = (eventStart.isBefore(boundaryStart) ? boundaryStart : eventStart).diff(boundaryStart, \"second\");\n\tconst eventEndSeconds = (eventEnd.isAfter(literalEnd) ? literalEnd : eventEnd).diff(boundaryStart, \"second\");\n\tconst startPercent = eventStartSeconds / totalSeconds * 100;\n\treturn {\n\t\ttop: startPercent,\n\t\theight: eventEndSeconds / totalSeconds * 100 - startPercent\n\t};\n}\n//#endregion\nexport { getDayPosition };\n\n//# sourceMappingURL=get-day-position.mjs.map",
|
|
38
|
+
"\"use client\";\nimport { parseTimeString } from \"../parse-time-string/parse-time-string.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/calculate-drop-time/calculate-drop-time.ts\nfunction calculateDropTime({ draggedEvent, targetDate, targetSlotTime, mouseYOffset = 0, slotHeight = 64, intervalMinutes = 15 }) {\n\tconst eventDuration = dayjs(draggedEvent.end).diff(dayjs(draggedEvent.start), \"millisecond\");\n\tconst parsedTime = parseTimeString(targetSlotTime);\n\tconst baseTargetTime = dayjs(targetDate).startOf(\"day\").hour(parsedTime.hours).minute(parsedTime.minutes).second(0);\n\tlet finalTargetTime = baseTargetTime;\n\tif (mouseYOffset > 0 && slotHeight > 0) {\n\t\tconst offsetRatio = mouseYOffset / slotHeight;\n\t\tconst offsetMinutes = Math.round(offsetRatio * intervalMinutes);\n\t\tfinalTargetTime = baseTargetTime.add(offsetMinutes, \"minute\");\n\t}\n\treturn {\n\t\tstart: finalTargetTime.toDate(),\n\t\tend: finalTargetTime.add(eventDuration, \"millisecond\").toDate()\n\t};\n}\n//#endregion\nexport { calculateDropTime };\n\n//# sourceMappingURL=calculate-drop-time.mjs.map",
|
|
39
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/utils/calculate-month-drop-date/calculate-month-drop-date.ts\nfunction calculateMonthDropDate({ draggedEvent, targetDay }) {\n\tconst eventDuration = dayjs(draggedEvent.end).diff(dayjs(draggedEvent.start), \"millisecond\");\n\tconst originalStartTime = dayjs(draggedEvent.start);\n\tconst newStart = dayjs(targetDay).startOf(\"day\").hour(originalStartTime.hour()).minute(originalStartTime.minute()).second(originalStartTime.second()).millisecond(originalStartTime.millisecond());\n\tconst newEnd = newStart.add(eventDuration, \"millisecond\");\n\treturn {\n\t\tstart: newStart.toDate(),\n\t\tend: newEnd.toDate()\n\t};\n}\n//#endregion\nexport { calculateMonthDropDate };\n\n//# sourceMappingURL=calculate-month-drop-date.mjs.map",
|
|
40
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/utils/get-business-hours-mod/get-business-hours-mod.ts\nfunction isBusinessHoursRange(value) {\n\treturn Array.isArray(value) && value.length === 2 && typeof value[0] === \"string\" && typeof value[1] === \"string\";\n}\n/**\n* Determines if a given time is within business hours and returns modifier object\n* @param time - Time string in HH:mm:ss format\n* @param businessHours - Tuple of [start, end] times in HH:mm:ss format, or per-day record keyed by day of the week\n* @param highlightBusinessHours - Whether to highlight business hours\n* @param dayOfWeek - Day of the week (0 – Sunday, 6 – Saturday), used to resolve per-day business hours\n* @returns Modifier object for styling business/non-business hours\n*/\nfunction getBusinessHoursMod({ time, businessHours, highlightBusinessHours, dayOfWeek }) {\n\tif (!highlightBusinessHours || !businessHours) return {\n\t\t\"business-hours\": false,\n\t\t\"non-business-hours\": false\n\t};\n\tlet range;\n\tif (isBusinessHoursRange(businessHours)) range = businessHours;\n\telse {\n\t\tif (dayOfWeek === void 0) return {\n\t\t\t\"business-hours\": false,\n\t\t\t\"non-business-hours\": false\n\t\t};\n\t\trange = businessHours[dayOfWeek] ?? null;\n\t}\n\tif (!range) return {\n\t\t\"business-hours\": false,\n\t\t\"non-business-hours\": true\n\t};\n\tconst [start, end] = range;\n\tconst isInBusinessHours = time >= start && time < end;\n\treturn {\n\t\t\"business-hours\": isInBusinessHours,\n\t\t\"non-business-hours\": !isInBusinessHours\n\t};\n}\n//#endregion\nexport { getBusinessHoursMod };\n\n//# sourceMappingURL=get-business-hours-mod.mjs.map",
|
|
41
|
+
"\"use client\";\nimport { validateEvent } from \"../validate-event/validate-event.mjs\";\nimport dayjs from \"dayjs\";\nimport * as rruleAll from \"rrule\";\n//#region packages/@mantine/schedule/src/utils/expand-recurring-events/expand-recurring-events.ts\nconst RRule = \"default\" in rruleAll ? rruleAll.default.RRule : rruleAll.RRule;\nfunction getRecurrenceKey(recurringEventId, recurrenceId) {\n\treturn `${recurringEventId}::${recurrenceId}`;\n}\nfunction overlapsRange(eventStart, eventEnd, rangeStart, rangeEnd) {\n\treturn (eventEnd.isAfter(rangeStart) || eventEnd.isSame(rangeStart)) && (eventStart.isBefore(rangeEnd) || eventStart.isSame(rangeEnd));\n}\nfunction getExdateSet(recurrence) {\n\tif (!recurrence?.exdate) return /* @__PURE__ */ new Set();\n\tconst values = recurrence.exdate.map((value) => dayjs(value)).filter((value) => value.isValid()).map((value) => value.format(\"YYYY-MM-DD HH:mm:ss\"));\n\treturn new Set(values);\n}\nfunction getRRuleString(rule) {\n\tconst normalized = rule.trim();\n\tif (!normalized.includes(\"\\n\")) return normalized.startsWith(\"RRULE:\") ? normalized.replace(/^RRULE:/, \"\") : normalized;\n\tconst rruleLine = normalized.split(\"\\n\").map((line) => line.trim()).find((line) => line.startsWith(\"RRULE:\"));\n\treturn rruleLine ? rruleLine.replace(/^RRULE:/, \"\") : normalized;\n}\nfunction getOccurrenceStartsInRange(event, rangeStart, rangeEnd, expansionLimit, durationMs) {\n\tconst dtstart = dayjs(event.recurrence?.dtstart || event.start);\n\tif (!dtstart.isValid() || !event.recurrence) return [];\n\ttry {\n\t\tconst options = RRule.parseString(getRRuleString(event.recurrence.rrule));\n\t\toptions.dtstart = dtstart.toDate();\n\t\tconst rule = new RRule(options);\n\t\tconst searchStart = rangeStart.subtract(Math.max(0, durationMs), \"millisecond\").toDate();\n\t\treturn rule.between(searchStart, rangeEnd.toDate(), true).slice(0, expansionLimit).map((value) => dayjs(value));\n\t} catch {\n\t\treturn [];\n\t}\n}\nfunction isEventInRange(event, rangeStart, rangeEnd) {\n\tconst start = dayjs(event.start);\n\tconst end = dayjs(event.end);\n\tif (!start.isValid() || !end.isValid()) return false;\n\treturn overlapsRange(start, end, rangeStart, rangeEnd);\n}\nfunction createGeneratedInstance(event, occurrenceStart, durationMs) {\n\tconst occurrenceEnd = occurrenceStart.add(durationMs, \"millisecond\");\n\tconst recurrenceId = occurrenceStart.format(\"YYYY-MM-DD HH:mm:ss\");\n\tconst { recurrence, ...eventWithoutRecurrence } = event;\n\treturn {\n\t\t...eventWithoutRecurrence,\n\t\tid: `${event.id}::${recurrenceId}`,\n\t\tstart: occurrenceStart.format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\tend: occurrenceEnd.format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\trecurringEventId: event.id,\n\t\trecurrenceId,\n\t\trecurringInstance: {\n\t\t\tisRecurringInstance: true,\n\t\t\trecurringEventId: event.id,\n\t\t\trecurrenceId,\n\t\t\toriginalStart: occurrenceStart.format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\toriginalEnd: occurrenceEnd.format(\"YYYY-MM-DD HH:mm:ss\")\n\t\t}\n\t};\n}\nconst DEFAULT_EXPANSION_LIMIT = 2e3;\nfunction expandRecurringEvents({ events, rangeStart, rangeEnd, expansionLimit = DEFAULT_EXPANSION_LIMIT }) {\n\tif (!events || events.length === 0) return [];\n\tconst start = dayjs(rangeStart);\n\tconst end = dayjs(rangeEnd);\n\tif (!start.isValid() || !end.isValid()) return [];\n\tconst regularEvents = [];\n\tconst recurringEvents = [];\n\tconst overrides = /* @__PURE__ */ new Map();\n\tfor (const event of events) {\n\t\tif (event.recurringEventId && event.recurrenceId) {\n\t\t\toverrides.set(getRecurrenceKey(event.recurringEventId, event.recurrenceId), event);\n\t\t\tcontinue;\n\t\t}\n\t\tif (event.recurrence?.rrule) {\n\t\t\trecurringEvents.push(event);\n\t\t\tcontinue;\n\t\t}\n\t\tregularEvents.push(event);\n\t}\n\tconst output = [];\n\tconst consumedOverrideIds = /* @__PURE__ */ new Set();\n\tfor (const event of regularEvents) if (isEventInRange(event, start, end)) output.push(validateEvent(event));\n\tfor (const event of recurringEvents) {\n\t\tconst eventStart = dayjs(event.recurrence?.dtstart || event.start);\n\t\tconst eventEnd = dayjs(event.end);\n\t\tif (!eventStart.isValid() || !eventEnd.isValid()) continue;\n\t\tconst durationMs = eventEnd.diff(dayjs(event.start), \"millisecond\");\n\t\tif (durationMs < 0) continue;\n\t\tconst exdate = getExdateSet(event.recurrence);\n\t\tconst starts = getOccurrenceStartsInRange(event, start, end, expansionLimit, durationMs);\n\t\tfor (const occurrenceStart of starts) {\n\t\t\tconst recurrenceId = occurrenceStart.format(\"YYYY-MM-DD HH:mm:ss\");\n\t\t\tif (exdate.has(recurrenceId)) continue;\n\t\t\tconst overrideKey = getRecurrenceKey(event.id, recurrenceId);\n\t\t\tconst override = overrides.get(overrideKey);\n\t\t\tif (override) {\n\t\t\t\tif (isEventInRange(override, start, end)) {\n\t\t\t\t\toutput.push(validateEvent(override));\n\t\t\t\t\tconsumedOverrideIds.add(override.id);\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst generated = createGeneratedInstance(event, occurrenceStart, durationMs);\n\t\t\tif (overlapsRange(dayjs(generated.start), dayjs(generated.end), start, end)) output.push(validateEvent(generated));\n\t\t}\n\t}\n\tfor (const override of overrides.values()) {\n\t\tif (consumedOverrideIds.has(override.id)) continue;\n\t\tif (isEventInRange(override, start, end)) output.push(validateEvent(override));\n\t}\n\treturn output;\n}\n//#endregion\nexport { expandRecurringEvents };\n\n//# sourceMappingURL=expand-recurring-events.mjs.map",
|
|
42
|
+
"// =============================================================================\n// Weekday\n// =============================================================================\nexport var ALL_WEEKDAYS = [\n 'MO',\n 'TU',\n 'WE',\n 'TH',\n 'FR',\n 'SA',\n 'SU',\n];\nvar Weekday = /** @class */ (function () {\n function Weekday(weekday, n) {\n if (n === 0)\n throw new Error(\"Can't create weekday with n == 0\");\n this.weekday = weekday;\n this.n = n;\n }\n Weekday.fromStr = function (str) {\n return new Weekday(ALL_WEEKDAYS.indexOf(str));\n };\n // __call__ - Cannot call the object directly, do it through\n // e.g. RRule.TH.nth(-1) instead,\n Weekday.prototype.nth = function (n) {\n return this.n === n ? this : new Weekday(this.weekday, n);\n };\n // __eq__\n Weekday.prototype.equals = function (other) {\n return this.weekday === other.weekday && this.n === other.n;\n };\n // __repr__\n Weekday.prototype.toString = function () {\n var s = ALL_WEEKDAYS[this.weekday];\n if (this.n)\n s = (this.n > 0 ? '+' : '') + String(this.n) + s;\n return s;\n };\n Weekday.prototype.getJsWeekday = function () {\n return this.weekday === 6 ? 0 : this.weekday + 1;\n };\n return Weekday;\n}());\nexport { Weekday };\n//# sourceMappingURL=weekday.js.map",
|
|
43
|
+
"// =============================================================================\n// Helper functions\n// =============================================================================\nimport { ALL_WEEKDAYS } from './weekday';\nexport var isPresent = function (value) {\n return value !== null && value !== undefined;\n};\nexport var isNumber = function (value) {\n return typeof value === 'number';\n};\nexport var isWeekdayStr = function (value) {\n return typeof value === 'string' && ALL_WEEKDAYS.includes(value);\n};\nexport var isArray = Array.isArray;\n/**\n * Simplified version of python's range()\n */\nexport var range = function (start, end) {\n if (end === void 0) { end = start; }\n if (arguments.length === 1) {\n end = start;\n start = 0;\n }\n var rang = [];\n for (var i = start; i < end; i++)\n rang.push(i);\n return rang;\n};\nexport var clone = function (array) {\n return [].concat(array);\n};\nexport var repeat = function (value, times) {\n var i = 0;\n var array = [];\n if (isArray(value)) {\n for (; i < times; i++)\n array[i] = [].concat(value);\n }\n else {\n for (; i < times; i++)\n array[i] = value;\n }\n return array;\n};\nexport var toArray = function (item) {\n if (isArray(item)) {\n return item;\n }\n return [item];\n};\nexport function padStart(item, targetLength, padString) {\n if (padString === void 0) { padString = ' '; }\n var str = String(item);\n targetLength = targetLength >> 0;\n if (str.length > targetLength) {\n return String(str);\n }\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += repeat(padString, targetLength / padString.length);\n }\n return padString.slice(0, targetLength) + String(str);\n}\n/**\n * Python like split\n */\nexport var split = function (str, sep, num) {\n var splits = str.split(sep);\n return num\n ? splits.slice(0, num).concat([splits.slice(num).join(sep)])\n : splits;\n};\n/**\n * closure/goog/math/math.js:modulo\n * Copyright 2006 The Closure Library Authors.\n * The % operator in JavaScript returns the remainder of a / b, but differs from\n * some other languages in that the result will have the same sign as the\n * dividend. For example, -1 % 8 == -1, whereas in some other languages\n * (such as Python) the result would be 7. This function emulates the more\n * correct modulo behavior, which is useful for certain applications such as\n * calculating an offset index in a circular list.\n *\n * @param {number} a The dividend.\n * @param {number} b The divisor.\n * @return {number} a % b where the result is between 0 and b (either 0 <= x < b\n * or b < x <= 0, depending on the sign of b).\n */\nexport var pymod = function (a, b) {\n var r = a % b;\n // If r and b differ in sign, add b to wrap the result to the correct sign.\n return r * b < 0 ? r + b : r;\n};\n/**\n * @see: <http://docs.python.org/library/functions.html#divmod>\n */\nexport var divmod = function (a, b) {\n return { div: Math.floor(a / b), mod: pymod(a, b) };\n};\nexport var empty = function (obj) {\n return !isPresent(obj) || obj.length === 0;\n};\n/**\n * Python-like boolean\n *\n * @return {Boolean} value of an object/primitive, taking into account\n * the fact that in Python an empty list's/tuple's\n * boolean value is False, whereas in JS it's true\n */\nexport var notEmpty = function (obj) {\n return !empty(obj);\n};\n/**\n * Return true if a value is in an array\n */\nexport var includes = function (arr, val) {\n return notEmpty(arr) && arr.indexOf(val) !== -1;\n};\n//# sourceMappingURL=helpers.js.map",
|
|
44
|
+
"import { padStart } from './helpers';\nexport var datetime = function (y, m, d, h, i, s) {\n if (h === void 0) { h = 0; }\n if (i === void 0) { i = 0; }\n if (s === void 0) { s = 0; }\n return new Date(Date.UTC(y, m - 1, d, h, i, s));\n};\n/**\n * General date-related utilities.\n * Also handles several incompatibilities between JavaScript and Python\n *\n */\nexport var MONTH_DAYS = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n/**\n * Number of milliseconds of one day\n */\nexport var ONE_DAY = 1000 * 60 * 60 * 24;\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.MAXYEAR>\n */\nexport var MAXYEAR = 9999;\n/**\n * Python uses 1-Jan-1 as the base for calculating ordinals but we don't\n * want to confuse the JS engine with milliseconds > Number.MAX_NUMBER,\n * therefore we use 1-Jan-1970 instead\n */\nexport var ORDINAL_BASE = datetime(1970, 1, 1);\n/**\n * Python: MO-SU: 0 - 6\n * JS: SU-SAT 0 - 6\n */\nexport var PY_WEEKDAYS = [6, 0, 1, 2, 3, 4, 5];\n/**\n * py_date.timetuple()[7]\n */\nexport var getYearDay = function (date) {\n var dateNoTime = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return (Math.ceil((dateNoTime.valueOf() - new Date(date.getUTCFullYear(), 0, 1).valueOf()) /\n ONE_DAY) + 1);\n};\nexport var isLeapYear = function (year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n};\nexport var isDate = function (value) {\n return value instanceof Date;\n};\nexport var isValidDate = function (value) {\n return isDate(value) && !isNaN(value.getTime());\n};\n/**\n * @return {Number} the date's timezone offset in ms\n */\nexport var tzOffset = function (date) {\n return date.getTimezoneOffset() * 60 * 1000;\n};\n/**\n * @see: <http://www.mcfedries.com/JavaScript/DaysBetween.asp>\n */\nexport var daysBetween = function (date1, date2) {\n // The number of milliseconds in one day\n // Convert both dates to milliseconds\n var date1ms = date1.getTime();\n var date2ms = date2.getTime();\n // Calculate the difference in milliseconds\n var differencems = date1ms - date2ms;\n // Convert back to days and return\n return Math.round(differencems / ONE_DAY);\n};\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.date.toordinal>\n */\nexport var toOrdinal = function (date) {\n return daysBetween(date, ORDINAL_BASE);\n};\n/**\n * @see - <http://docs.python.org/library/datetime.html#datetime.date.fromordinal>\n */\nexport var fromOrdinal = function (ordinal) {\n return new Date(ORDINAL_BASE.getTime() + ordinal * ONE_DAY);\n};\nexport var getMonthDays = function (date) {\n var month = date.getUTCMonth();\n return month === 1 && isLeapYear(date.getUTCFullYear())\n ? 29\n : MONTH_DAYS[month];\n};\n/**\n * @return {Number} python-like weekday\n */\nexport var getWeekday = function (date) {\n return PY_WEEKDAYS[date.getUTCDay()];\n};\n/**\n * @see: <http://docs.python.org/library/calendar.html#calendar.monthrange>\n */\nexport var monthRange = function (year, month) {\n var date = datetime(year, month + 1, 1);\n return [getWeekday(date), getMonthDays(date)];\n};\n/**\n * @see: <http://docs.python.org/library/datetime.html#datetime.datetime.combine>\n */\nexport var combine = function (date, time) {\n time = time || date;\n return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), time.getHours(), time.getMinutes(), time.getSeconds(), time.getMilliseconds()));\n};\nexport var clone = function (date) {\n var dolly = new Date(date.getTime());\n return dolly;\n};\nexport var cloneDates = function (dates) {\n var clones = [];\n for (var i = 0; i < dates.length; i++) {\n clones.push(clone(dates[i]));\n }\n return clones;\n};\n/**\n * Sorts an array of Date or Time objects\n */\nexport var sort = function (dates) {\n dates.sort(function (a, b) {\n return a.getTime() - b.getTime();\n });\n};\nexport var timeToUntilString = function (time, utc) {\n if (utc === void 0) { utc = true; }\n var date = new Date(time);\n return [\n padStart(date.getUTCFullYear().toString(), 4, '0'),\n padStart(date.getUTCMonth() + 1, 2, '0'),\n padStart(date.getUTCDate(), 2, '0'),\n 'T',\n padStart(date.getUTCHours(), 2, '0'),\n padStart(date.getUTCMinutes(), 2, '0'),\n padStart(date.getUTCSeconds(), 2, '0'),\n utc ? 'Z' : '',\n ].join('');\n};\nexport var untilStringToDate = function (until) {\n var re = /^(\\d{4})(\\d{2})(\\d{2})(T(\\d{2})(\\d{2})(\\d{2})Z?)?$/;\n var bits = re.exec(until);\n if (!bits)\n throw new Error(\"Invalid UNTIL value: \".concat(until));\n return new Date(Date.UTC(parseInt(bits[1], 10), parseInt(bits[2], 10) - 1, parseInt(bits[3], 10), parseInt(bits[5], 10) || 0, parseInt(bits[6], 10) || 0, parseInt(bits[7], 10) || 0));\n};\nvar dateTZtoISO8601 = function (date, timeZone) {\n // date format for sv-SE is almost ISO8601\n var dateStr = date.toLocaleString('sv-SE', { timeZone: timeZone });\n // '2023-02-07 10:41:36'\n return dateStr.replace(' ', 'T') + 'Z';\n};\nexport var dateInTimeZone = function (date, timeZone) {\n var localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n // Date constructor can only reliably parse dates in ISO8601 format\n var dateInLocalTZ = new Date(dateTZtoISO8601(date, localTimeZone));\n var dateInTargetTZ = new Date(dateTZtoISO8601(date, timeZone !== null && timeZone !== void 0 ? timeZone : 'UTC'));\n var tzOffset = dateInTargetTZ.getTime() - dateInLocalTZ.getTime();\n return new Date(date.getTime() - tzOffset);\n};\n//# sourceMappingURL=dateutil.js.map",
|
|
45
|
+
"/**\n * This class helps us to emulate python's generators, sorta.\n */\nvar IterResult = /** @class */ (function () {\n function IterResult(method, args) {\n this.minDate = null;\n this.maxDate = null;\n this._result = [];\n this.total = 0;\n this.method = method;\n this.args = args;\n if (method === 'between') {\n this.maxDate = args.inc\n ? args.before\n : new Date(args.before.getTime() - 1);\n this.minDate = args.inc ? args.after : new Date(args.after.getTime() + 1);\n }\n else if (method === 'before') {\n this.maxDate = args.inc ? args.dt : new Date(args.dt.getTime() - 1);\n }\n else if (method === 'after') {\n this.minDate = args.inc ? args.dt : new Date(args.dt.getTime() + 1);\n }\n }\n /**\n * Possibly adds a date into the result.\n *\n * @param {Date} date - the date isn't necessarly added to the result\n * list (if it is too late/too early)\n * @return {Boolean} true if it makes sense to continue the iteration\n * false if we're done.\n */\n IterResult.prototype.accept = function (date) {\n ++this.total;\n var tooEarly = this.minDate && date < this.minDate;\n var tooLate = this.maxDate && date > this.maxDate;\n if (this.method === 'between') {\n if (tooEarly)\n return true;\n if (tooLate)\n return false;\n }\n else if (this.method === 'before') {\n if (tooLate)\n return false;\n }\n else if (this.method === 'after') {\n if (tooEarly)\n return true;\n this.add(date);\n return false;\n }\n return this.add(date);\n };\n /**\n *\n * @param {Date} date that is part of the result.\n * @return {Boolean} whether we are interested in more values.\n */\n IterResult.prototype.add = function (date) {\n this._result.push(date);\n return true;\n };\n /**\n * 'before' and 'after' return only one date, whereas 'all'\n * and 'between' an array.\n *\n * @return {Date,Array?}\n */\n IterResult.prototype.getValue = function () {\n var res = this._result;\n switch (this.method) {\n case 'all':\n case 'between':\n return res;\n case 'before':\n case 'after':\n default:\n return (res.length ? res[res.length - 1] : null);\n }\n };\n IterResult.prototype.clone = function () {\n return new IterResult(this.method, this.args);\n };\n return IterResult;\n}());\nexport default IterResult;\n//# sourceMappingURL=iterresult.js.map",
|
|
46
|
+
"import { __extends } from \"tslib\";\nimport IterResult from './iterresult';\n/**\n * IterResult subclass that calls a callback function on each add,\n * and stops iterating when the callback returns false.\n */\nvar CallbackIterResult = /** @class */ (function (_super) {\n __extends(CallbackIterResult, _super);\n function CallbackIterResult(method, args, iterator) {\n var _this = _super.call(this, method, args) || this;\n _this.iterator = iterator;\n return _this;\n }\n CallbackIterResult.prototype.add = function (date) {\n if (this.iterator(date, this._result.length)) {\n this._result.push(date);\n return true;\n }\n return false;\n };\n return CallbackIterResult;\n}(IterResult));\nexport default CallbackIterResult;\n//# sourceMappingURL=callbackiterresult.js.map",
|
|
47
|
+
"// =============================================================================\n// i18n\n// =============================================================================\nvar ENGLISH = {\n dayNames: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n monthNames: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n tokens: {\n SKIP: /^[ \\r\\n\\t]+|^\\.$/,\n number: /^[1-9][0-9]*/,\n numberAsText: /^(one|two|three)/i,\n every: /^every/i,\n 'day(s)': /^days?/i,\n 'weekday(s)': /^weekdays?/i,\n 'week(s)': /^weeks?/i,\n 'hour(s)': /^hours?/i,\n 'minute(s)': /^minutes?/i,\n 'month(s)': /^months?/i,\n 'year(s)': /^years?/i,\n on: /^(on|in)/i,\n at: /^(at)/i,\n the: /^the/i,\n first: /^first/i,\n second: /^second/i,\n third: /^third/i,\n nth: /^([1-9][0-9]*)(\\.|th|nd|rd|st)/i,\n last: /^last/i,\n for: /^for/i,\n 'time(s)': /^times?/i,\n until: /^(un)?til/i,\n monday: /^mo(n(day)?)?/i,\n tuesday: /^tu(e(s(day)?)?)?/i,\n wednesday: /^we(d(n(esday)?)?)?/i,\n thursday: /^th(u(r(sday)?)?)?/i,\n friday: /^fr(i(day)?)?/i,\n saturday: /^sa(t(urday)?)?/i,\n sunday: /^su(n(day)?)?/i,\n january: /^jan(uary)?/i,\n february: /^feb(ruary)?/i,\n march: /^mar(ch)?/i,\n april: /^apr(il)?/i,\n may: /^may/i,\n june: /^june?/i,\n july: /^july?/i,\n august: /^aug(ust)?/i,\n september: /^sep(t(ember)?)?/i,\n october: /^oct(ober)?/i,\n november: /^nov(ember)?/i,\n december: /^dec(ember)?/i,\n comma: /^(,\\s*|(and|or)\\s*)+/i,\n },\n};\nexport default ENGLISH;\n//# sourceMappingURL=i18n.js.map",
|
|
48
|
+
"import ENGLISH from './i18n';\nimport { RRule } from '../rrule';\nimport { isArray, isNumber, isPresent } from '../helpers';\n// =============================================================================\n// Helper functions\n// =============================================================================\n/**\n * Return true if a value is in an array\n */\nvar contains = function (arr, val) {\n return arr.indexOf(val) !== -1;\n};\nvar defaultGetText = function (id) { return id.toString(); };\nvar defaultDateFormatter = function (year, month, day) { return \"\".concat(month, \" \").concat(day, \", \").concat(year); };\n/**\n *\n * @param {RRule} rrule\n * Optional:\n * @param {Function} gettext function\n * @param {Object} language definition\n * @constructor\n */\nvar ToText = /** @class */ (function () {\n function ToText(rrule, gettext, language, dateFormatter) {\n if (gettext === void 0) { gettext = defaultGetText; }\n if (language === void 0) { language = ENGLISH; }\n if (dateFormatter === void 0) { dateFormatter = defaultDateFormatter; }\n this.text = [];\n this.language = language || ENGLISH;\n this.gettext = gettext;\n this.dateFormatter = dateFormatter;\n this.rrule = rrule;\n this.options = rrule.options;\n this.origOptions = rrule.origOptions;\n if (this.origOptions.bymonthday) {\n var bymonthday = [].concat(this.options.bymonthday);\n var bynmonthday = [].concat(this.options.bynmonthday);\n bymonthday.sort(function (a, b) { return a - b; });\n bynmonthday.sort(function (a, b) { return b - a; });\n // 1, 2, 3, .., -5, -4, -3, ..\n this.bymonthday = bymonthday.concat(bynmonthday);\n if (!this.bymonthday.length)\n this.bymonthday = null;\n }\n if (isPresent(this.origOptions.byweekday)) {\n var byweekday = !isArray(this.origOptions.byweekday)\n ? [this.origOptions.byweekday]\n : this.origOptions.byweekday;\n var days = String(byweekday);\n this.byweekday = {\n allWeeks: byweekday.filter(function (weekday) {\n return !weekday.n;\n }),\n someWeeks: byweekday.filter(function (weekday) {\n return Boolean(weekday.n);\n }),\n isWeekdays: days.indexOf('MO') !== -1 &&\n days.indexOf('TU') !== -1 &&\n days.indexOf('WE') !== -1 &&\n days.indexOf('TH') !== -1 &&\n days.indexOf('FR') !== -1 &&\n days.indexOf('SA') === -1 &&\n days.indexOf('SU') === -1,\n isEveryDay: days.indexOf('MO') !== -1 &&\n days.indexOf('TU') !== -1 &&\n days.indexOf('WE') !== -1 &&\n days.indexOf('TH') !== -1 &&\n days.indexOf('FR') !== -1 &&\n days.indexOf('SA') !== -1 &&\n days.indexOf('SU') !== -1,\n };\n var sortWeekDays = function (a, b) {\n return a.weekday - b.weekday;\n };\n this.byweekday.allWeeks.sort(sortWeekDays);\n this.byweekday.someWeeks.sort(sortWeekDays);\n if (!this.byweekday.allWeeks.length)\n this.byweekday.allWeeks = null;\n if (!this.byweekday.someWeeks.length)\n this.byweekday.someWeeks = null;\n }\n else {\n this.byweekday = null;\n }\n }\n /**\n * Test whether the rrule can be fully converted to text.\n *\n * @param {RRule} rrule\n * @return {Boolean}\n */\n ToText.isFullyConvertible = function (rrule) {\n var canConvert = true;\n if (!(rrule.options.freq in ToText.IMPLEMENTED))\n return false;\n if (rrule.origOptions.until && rrule.origOptions.count)\n return false;\n for (var key in rrule.origOptions) {\n if (contains(['dtstart', 'tzid', 'wkst', 'freq'], key))\n return true;\n if (!contains(ToText.IMPLEMENTED[rrule.options.freq], key))\n return false;\n }\n return canConvert;\n };\n ToText.prototype.isFullyConvertible = function () {\n return ToText.isFullyConvertible(this.rrule);\n };\n /**\n * Perform the conversion. Only some of the frequencies are supported.\n * If some of the rrule's options aren't supported, they'll\n * be omitted from the output an \"(~ approximate)\" will be appended.\n *\n * @return {*}\n */\n ToText.prototype.toString = function () {\n var gettext = this.gettext;\n if (!(this.options.freq in ToText.IMPLEMENTED)) {\n return gettext('RRule error: Unable to fully convert this rrule to text');\n }\n this.text = [gettext('every')];\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this[RRule.FREQUENCIES[this.options.freq]]();\n if (this.options.until) {\n this.add(gettext('until'));\n var until = this.options.until;\n this.add(this.dateFormatter(until.getUTCFullYear(), this.language.monthNames[until.getUTCMonth()], until.getUTCDate()));\n }\n else if (this.options.count) {\n this.add(gettext('for'))\n .add(this.options.count.toString())\n .add(this.plural(this.options.count) ? gettext('times') : gettext('time'));\n }\n if (!this.isFullyConvertible())\n this.add(gettext('(~ approximate)'));\n return this.text.join('');\n };\n ToText.prototype.HOURLY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n this.add(this.plural(this.options.interval) ? gettext('hours') : gettext('hour'));\n };\n ToText.prototype.MINUTELY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n this.add(this.plural(this.options.interval)\n ? gettext('minutes')\n : gettext('minute'));\n };\n ToText.prototype.DAILY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1)\n this.add(this.options.interval.toString());\n if (this.byweekday && this.byweekday.isWeekdays) {\n this.add(this.plural(this.options.interval)\n ? gettext('weekdays')\n : gettext('weekday'));\n }\n else {\n this.add(this.plural(this.options.interval) ? gettext('days') : gettext('day'));\n }\n if (this.origOptions.bymonth) {\n this.add(gettext('in'));\n this._bymonth();\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n else if (this.origOptions.byhour) {\n this._byhour();\n }\n };\n ToText.prototype.WEEKLY = function () {\n var gettext = this.gettext;\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString()).add(this.plural(this.options.interval) ? gettext('weeks') : gettext('week'));\n }\n if (this.byweekday && this.byweekday.isWeekdays) {\n if (this.options.interval === 1) {\n this.add(this.plural(this.options.interval)\n ? gettext('weekdays')\n : gettext('weekday'));\n }\n else {\n this.add(gettext('on')).add(gettext('weekdays'));\n }\n }\n else if (this.byweekday && this.byweekday.isEveryDay) {\n this.add(this.plural(this.options.interval) ? gettext('days') : gettext('day'));\n }\n else {\n if (this.options.interval === 1)\n this.add(gettext('week'));\n if (this.origOptions.bymonth) {\n this.add(gettext('in'));\n this._bymonth();\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n if (this.origOptions.byhour) {\n this._byhour();\n }\n }\n };\n ToText.prototype.MONTHLY = function () {\n var gettext = this.gettext;\n if (this.origOptions.bymonth) {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString()).add(gettext('months'));\n if (this.plural(this.options.interval))\n this.add(gettext('in'));\n }\n else {\n // this.add(gettext('MONTH'))\n }\n this._bymonth();\n }\n else {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n }\n this.add(this.plural(this.options.interval)\n ? gettext('months')\n : gettext('month'));\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday && this.byweekday.isWeekdays) {\n this.add(gettext('on')).add(gettext('weekdays'));\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n };\n ToText.prototype.YEARLY = function () {\n var gettext = this.gettext;\n if (this.origOptions.bymonth) {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n this.add(gettext('years'));\n }\n else {\n // this.add(gettext('YEAR'))\n }\n this._bymonth();\n }\n else {\n if (this.options.interval !== 1) {\n this.add(this.options.interval.toString());\n }\n this.add(this.plural(this.options.interval) ? gettext('years') : gettext('year'));\n }\n if (this.bymonthday) {\n this._bymonthday();\n }\n else if (this.byweekday) {\n this._byweekday();\n }\n if (this.options.byyearday) {\n this.add(gettext('on the'))\n .add(this.list(this.options.byyearday, this.nth, gettext('and')))\n .add(gettext('day'));\n }\n if (this.options.byweekno) {\n this.add(gettext('in'))\n .add(this.plural(this.options.byweekno.length)\n ? gettext('weeks')\n : gettext('week'))\n .add(this.list(this.options.byweekno, undefined, gettext('and')));\n }\n };\n ToText.prototype._bymonthday = function () {\n var gettext = this.gettext;\n if (this.byweekday && this.byweekday.allWeeks) {\n this.add(gettext('on'))\n .add(this.list(this.byweekday.allWeeks, this.weekdaytext, gettext('or')))\n .add(gettext('the'))\n .add(this.list(this.bymonthday, this.nth, gettext('or')));\n }\n else {\n this.add(gettext('on the')).add(this.list(this.bymonthday, this.nth, gettext('and')));\n }\n // this.add(gettext('DAY'))\n };\n ToText.prototype._byweekday = function () {\n var gettext = this.gettext;\n if (this.byweekday.allWeeks && !this.byweekday.isWeekdays) {\n this.add(gettext('on')).add(this.list(this.byweekday.allWeeks, this.weekdaytext));\n }\n if (this.byweekday.someWeeks) {\n if (this.byweekday.allWeeks)\n this.add(gettext('and'));\n this.add(gettext('on the')).add(this.list(this.byweekday.someWeeks, this.weekdaytext, gettext('and')));\n }\n };\n ToText.prototype._byhour = function () {\n var gettext = this.gettext;\n this.add(gettext('at')).add(this.list(this.origOptions.byhour, undefined, gettext('and')));\n };\n ToText.prototype._bymonth = function () {\n this.add(this.list(this.options.bymonth, this.monthtext, this.gettext('and')));\n };\n ToText.prototype.nth = function (n) {\n n = parseInt(n.toString(), 10);\n var nth;\n var gettext = this.gettext;\n if (n === -1)\n return gettext('last');\n var npos = Math.abs(n);\n switch (npos) {\n case 1:\n case 21:\n case 31:\n nth = npos + gettext('st');\n break;\n case 2:\n case 22:\n nth = npos + gettext('nd');\n break;\n case 3:\n case 23:\n nth = npos + gettext('rd');\n break;\n default:\n nth = npos + gettext('th');\n }\n return n < 0 ? nth + ' ' + gettext('last') : nth;\n };\n ToText.prototype.monthtext = function (m) {\n return this.language.monthNames[m - 1];\n };\n ToText.prototype.weekdaytext = function (wday) {\n var weekday = isNumber(wday) ? (wday + 1) % 7 : wday.getJsWeekday();\n return ((wday.n ? this.nth(wday.n) + ' ' : '') +\n this.language.dayNames[weekday]);\n };\n ToText.prototype.plural = function (n) {\n return n % 100 !== 1;\n };\n ToText.prototype.add = function (s) {\n this.text.push(' ');\n this.text.push(s);\n return this;\n };\n ToText.prototype.list = function (arr, callback, finalDelim, delim) {\n var _this = this;\n if (delim === void 0) { delim = ','; }\n if (!isArray(arr)) {\n arr = [arr];\n }\n var delimJoin = function (array, delimiter, finalDelimiter) {\n var list = '';\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n if (i === array.length - 1) {\n list += ' ' + finalDelimiter + ' ';\n }\n else {\n list += delimiter + ' ';\n }\n }\n list += array[i];\n }\n return list;\n };\n callback =\n callback ||\n function (o) {\n return o.toString();\n };\n var realCallback = function (arg) {\n return callback && callback.call(_this, arg);\n };\n if (finalDelim) {\n return delimJoin(arr.map(realCallback), delim, finalDelim);\n }\n else {\n return arr.map(realCallback).join(delim + ' ');\n }\n };\n return ToText;\n}());\nexport default ToText;\n//# sourceMappingURL=totext.js.map",
|
|
49
|
+
"import ENGLISH from './i18n';\nimport { RRule } from '../rrule';\n// =============================================================================\n// Parser\n// =============================================================================\nvar Parser = /** @class */ (function () {\n function Parser(rules) {\n this.done = true;\n this.rules = rules;\n }\n Parser.prototype.start = function (text) {\n this.text = text;\n this.done = false;\n return this.nextSymbol();\n };\n Parser.prototype.isDone = function () {\n return this.done && this.symbol === null;\n };\n Parser.prototype.nextSymbol = function () {\n var best;\n var bestSymbol;\n this.symbol = null;\n this.value = null;\n do {\n if (this.done)\n return false;\n var rule = void 0;\n best = null;\n for (var name_1 in this.rules) {\n rule = this.rules[name_1];\n var match = rule.exec(this.text);\n if (match) {\n if (best === null || match[0].length > best[0].length) {\n best = match;\n bestSymbol = name_1;\n }\n }\n }\n if (best != null) {\n this.text = this.text.substr(best[0].length);\n if (this.text === '')\n this.done = true;\n }\n if (best == null) {\n this.done = true;\n this.symbol = null;\n this.value = null;\n return;\n }\n } while (bestSymbol === 'SKIP');\n this.symbol = bestSymbol;\n this.value = best;\n return true;\n };\n Parser.prototype.accept = function (name) {\n if (this.symbol === name) {\n if (this.value) {\n var v = this.value;\n this.nextSymbol();\n return v;\n }\n this.nextSymbol();\n return true;\n }\n return false;\n };\n Parser.prototype.acceptNumber = function () {\n return this.accept('number');\n };\n Parser.prototype.expect = function (name) {\n if (this.accept(name))\n return true;\n throw new Error('expected ' + name + ' but found ' + this.symbol);\n };\n return Parser;\n}());\nexport default function parseText(text, language) {\n if (language === void 0) { language = ENGLISH; }\n var options = {};\n var ttr = new Parser(language.tokens);\n if (!ttr.start(text))\n return null;\n S();\n return options;\n function S() {\n // every [n]\n ttr.expect('every');\n var n = ttr.acceptNumber();\n if (n)\n options.interval = parseInt(n[0], 10);\n if (ttr.isDone())\n throw new Error('Unexpected end');\n switch (ttr.symbol) {\n case 'day(s)':\n options.freq = RRule.DAILY;\n if (ttr.nextSymbol()) {\n AT();\n F();\n }\n break;\n // FIXME Note: every 2 weekdays != every two weeks on weekdays.\n // DAILY on weekdays is not a valid rule\n case 'weekday(s)':\n options.freq = RRule.WEEKLY;\n options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR];\n ttr.nextSymbol();\n AT();\n F();\n break;\n case 'week(s)':\n options.freq = RRule.WEEKLY;\n if (ttr.nextSymbol()) {\n ON();\n AT();\n F();\n }\n break;\n case 'hour(s)':\n options.freq = RRule.HOURLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'minute(s)':\n options.freq = RRule.MINUTELY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'month(s)':\n options.freq = RRule.MONTHLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'year(s)':\n options.freq = RRule.YEARLY;\n if (ttr.nextSymbol()) {\n ON();\n F();\n }\n break;\n case 'monday':\n case 'tuesday':\n case 'wednesday':\n case 'thursday':\n case 'friday':\n case 'saturday':\n case 'sunday':\n options.freq = RRule.WEEKLY;\n var key = ttr.symbol\n .substr(0, 2)\n .toUpperCase();\n options.byweekday = [RRule[key]];\n if (!ttr.nextSymbol())\n return;\n // TODO check for duplicates\n while (ttr.accept('comma')) {\n if (ttr.isDone())\n throw new Error('Unexpected end');\n var wkd = decodeWKD();\n if (!wkd) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected weekday');\n }\n options.byweekday.push(RRule[wkd]);\n ttr.nextSymbol();\n }\n AT();\n MDAYs();\n F();\n break;\n case 'january':\n case 'february':\n case 'march':\n case 'april':\n case 'may':\n case 'june':\n case 'july':\n case 'august':\n case 'september':\n case 'october':\n case 'november':\n case 'december':\n options.freq = RRule.YEARLY;\n options.bymonth = [decodeM()];\n if (!ttr.nextSymbol())\n return;\n // TODO check for duplicates\n while (ttr.accept('comma')) {\n if (ttr.isDone())\n throw new Error('Unexpected end');\n var m = decodeM();\n if (!m) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected month');\n }\n options.bymonth.push(m);\n ttr.nextSymbol();\n }\n ON();\n F();\n break;\n default:\n throw new Error('Unknown symbol');\n }\n }\n function ON() {\n var on = ttr.accept('on');\n var the = ttr.accept('the');\n if (!(on || the))\n return;\n do {\n var nth = decodeNTH();\n var wkd = decodeWKD();\n var m = decodeM();\n // nth <weekday> | <weekday>\n if (nth) {\n // ttr.nextSymbol()\n if (wkd) {\n ttr.nextSymbol();\n if (!options.byweekday)\n options.byweekday = [];\n options.byweekday.push(RRule[wkd].nth(nth));\n }\n else {\n if (!options.bymonthday)\n options.bymonthday = [];\n options.bymonthday.push(nth);\n ttr.accept('day(s)');\n }\n // <weekday>\n }\n else if (wkd) {\n ttr.nextSymbol();\n if (!options.byweekday)\n options.byweekday = [];\n options.byweekday.push(RRule[wkd]);\n }\n else if (ttr.symbol === 'weekday(s)') {\n ttr.nextSymbol();\n if (!options.byweekday) {\n options.byweekday = [RRule.MO, RRule.TU, RRule.WE, RRule.TH, RRule.FR];\n }\n }\n else if (ttr.symbol === 'week(s)') {\n ttr.nextSymbol();\n var n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected week number');\n }\n options.byweekno = [parseInt(n[0], 10)];\n while (ttr.accept('comma')) {\n n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected monthday');\n }\n options.byweekno.push(parseInt(n[0], 10));\n }\n }\n else if (m) {\n ttr.nextSymbol();\n if (!options.bymonth)\n options.bymonth = [];\n options.bymonth.push(m);\n }\n else {\n return;\n }\n } while (ttr.accept('comma') || ttr.accept('the') || ttr.accept('on'));\n }\n function AT() {\n var at = ttr.accept('at');\n if (!at)\n return;\n do {\n var n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + ', expected hour');\n }\n options.byhour = [parseInt(n[0], 10)];\n while (ttr.accept('comma')) {\n n = ttr.acceptNumber();\n if (!n) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected hour');\n }\n options.byhour.push(parseInt(n[0], 10));\n }\n } while (ttr.accept('comma') || ttr.accept('at'));\n }\n function decodeM() {\n switch (ttr.symbol) {\n case 'january':\n return 1;\n case 'february':\n return 2;\n case 'march':\n return 3;\n case 'april':\n return 4;\n case 'may':\n return 5;\n case 'june':\n return 6;\n case 'july':\n return 7;\n case 'august':\n return 8;\n case 'september':\n return 9;\n case 'october':\n return 10;\n case 'november':\n return 11;\n case 'december':\n return 12;\n default:\n return false;\n }\n }\n function decodeWKD() {\n switch (ttr.symbol) {\n case 'monday':\n case 'tuesday':\n case 'wednesday':\n case 'thursday':\n case 'friday':\n case 'saturday':\n case 'sunday':\n return ttr.symbol.substr(0, 2).toUpperCase();\n default:\n return false;\n }\n }\n function decodeNTH() {\n switch (ttr.symbol) {\n case 'last':\n ttr.nextSymbol();\n return -1;\n case 'first':\n ttr.nextSymbol();\n return 1;\n case 'second':\n ttr.nextSymbol();\n return ttr.accept('last') ? -2 : 2;\n case 'third':\n ttr.nextSymbol();\n return ttr.accept('last') ? -3 : 3;\n case 'nth':\n var v = parseInt(ttr.value[1], 10);\n if (v < -366 || v > 366)\n throw new Error('Nth out of range: ' + v);\n ttr.nextSymbol();\n return ttr.accept('last') ? -v : v;\n default:\n return false;\n }\n }\n function MDAYs() {\n ttr.accept('on');\n ttr.accept('the');\n var nth = decodeNTH();\n if (!nth)\n return;\n options.bymonthday = [nth];\n ttr.nextSymbol();\n while (ttr.accept('comma')) {\n nth = decodeNTH();\n if (!nth) {\n throw new Error('Unexpected symbol ' + ttr.symbol + '; expected monthday');\n }\n options.bymonthday.push(nth);\n ttr.nextSymbol();\n }\n }\n function F() {\n if (ttr.symbol === 'until') {\n var date = Date.parse(ttr.text);\n if (!date)\n throw new Error('Cannot parse until date:' + ttr.text);\n options.until = new Date(date);\n }\n else if (ttr.accept('for')) {\n options.count = parseInt(ttr.value[0], 10);\n ttr.expect('number');\n // ttr.expect('times')\n }\n }\n}\n//# sourceMappingURL=parsetext.js.map",
|
|
50
|
+
"export var Frequency;\n(function (Frequency) {\n Frequency[Frequency[\"YEARLY\"] = 0] = \"YEARLY\";\n Frequency[Frequency[\"MONTHLY\"] = 1] = \"MONTHLY\";\n Frequency[Frequency[\"WEEKLY\"] = 2] = \"WEEKLY\";\n Frequency[Frequency[\"DAILY\"] = 3] = \"DAILY\";\n Frequency[Frequency[\"HOURLY\"] = 4] = \"HOURLY\";\n Frequency[Frequency[\"MINUTELY\"] = 5] = \"MINUTELY\";\n Frequency[Frequency[\"SECONDLY\"] = 6] = \"SECONDLY\";\n})(Frequency || (Frequency = {}));\nexport function freqIsDailyOrGreater(freq) {\n return freq < Frequency.HOURLY;\n}\n//# sourceMappingURL=types.js.map",
|
|
51
|
+
"import ToText from './totext';\nimport parseText from './parsetext';\nimport { RRule } from '../rrule';\nimport { Frequency } from '../types';\nimport ENGLISH from './i18n';\n/* !\n * rrule.js - Library for working with recurrence rules for calendar dates.\n * https://github.com/jakubroztocil/rrule\n *\n * Copyright 2010, Jakub Roztocil and Lars Schoning\n * Licenced under the BSD licence.\n * https://github.com/jakubroztocil/rrule/blob/master/LICENCE\n *\n */\n/**\n *\n * Implementation of RRule.fromText() and RRule::toText().\n *\n *\n * On the client side, this file needs to be included\n * when those functions are used.\n *\n */\n// =============================================================================\n// fromText\n// =============================================================================\n/**\n * Will be able to convert some of the below described rules from\n * text format to a rule object.\n *\n *\n * RULES\n *\n * Every ([n])\n * day(s)\n * | [weekday], ..., (and) [weekday]\n * | weekday(s)\n * | week(s)\n * | month(s)\n * | [month], ..., (and) [month]\n * | year(s)\n *\n *\n * Plus 0, 1, or multiple of these:\n *\n * on [weekday], ..., (or) [weekday] the [monthday], [monthday], ... (or) [monthday]\n *\n * on [weekday], ..., (and) [weekday]\n *\n * on the [monthday], [monthday], ... (and) [monthday] (day of the month)\n *\n * on the [nth-weekday], ..., (and) [nth-weekday] (of the month/year)\n *\n *\n * Plus 0 or 1 of these:\n *\n * for [n] time(s)\n *\n * until [date]\n *\n * Plus (.)\n *\n *\n * Definitely no supported for parsing:\n *\n * (for year):\n * in week(s) [n], ..., (and) [n]\n *\n * on the [yearday], ..., (and) [n] day of the year\n * on day [yearday], ..., (and) [n]\n *\n *\n * NON-TERMINALS\n *\n * [n]: 1, 2 ..., one, two, three ..\n * [month]: January, February, March, April, May, ... December\n * [weekday]: Monday, ... Sunday\n * [nth-weekday]: first [weekday], 2nd [weekday], ... last [weekday], ...\n * [monthday]: first, 1., 2., 1st, 2nd, second, ... 31st, last day, 2nd last day, ..\n * [date]:\n * - [month] (0-31(,) ([year])),\n * - (the) 0-31.(1-12.([year])),\n * - (the) 0-31/(1-12/([year])),\n * - [weekday]\n *\n * [year]: 0000, 0001, ... 01, 02, ..\n *\n * Definitely not supported for parsing:\n *\n * [yearday]: first, 1., 2., 1st, 2nd, second, ... 366th, last day, 2nd last day, ..\n *\n * @param {String} text\n * @return {Object, Boolean} the rule, or null.\n */\nvar fromText = function (text, language) {\n if (language === void 0) { language = ENGLISH; }\n return new RRule(parseText(text, language) || undefined);\n};\nvar common = [\n 'count',\n 'until',\n 'interval',\n 'byweekday',\n 'bymonthday',\n 'bymonth',\n];\nToText.IMPLEMENTED = [];\nToText.IMPLEMENTED[Frequency.HOURLY] = common;\nToText.IMPLEMENTED[Frequency.MINUTELY] = common;\nToText.IMPLEMENTED[Frequency.DAILY] = ['byhour'].concat(common);\nToText.IMPLEMENTED[Frequency.WEEKLY] = common;\nToText.IMPLEMENTED[Frequency.MONTHLY] = common;\nToText.IMPLEMENTED[Frequency.YEARLY] = ['byweekno', 'byyearday'].concat(common);\n// =============================================================================\n// Export\n// =============================================================================\nvar toText = function (rrule, gettext, language, dateFormatter) {\n return new ToText(rrule, gettext, language, dateFormatter).toString();\n};\nvar isFullyConvertible = ToText.isFullyConvertible;\nexport { fromText, parseText, isFullyConvertible, toText };\n//# sourceMappingURL=index.js.map",
|
|
52
|
+
"import { __extends } from \"tslib\";\nimport { Frequency } from './types';\nimport { pymod, divmod, empty, includes } from './helpers';\nimport { getWeekday, MAXYEAR, monthRange } from './dateutil';\nvar Time = /** @class */ (function () {\n function Time(hour, minute, second, millisecond) {\n this.hour = hour;\n this.minute = minute;\n this.second = second;\n this.millisecond = millisecond || 0;\n }\n Time.prototype.getHours = function () {\n return this.hour;\n };\n Time.prototype.getMinutes = function () {\n return this.minute;\n };\n Time.prototype.getSeconds = function () {\n return this.second;\n };\n Time.prototype.getMilliseconds = function () {\n return this.millisecond;\n };\n Time.prototype.getTime = function () {\n return ((this.hour * 60 * 60 + this.minute * 60 + this.second) * 1000 +\n this.millisecond);\n };\n return Time;\n}());\nexport { Time };\nvar DateTime = /** @class */ (function (_super) {\n __extends(DateTime, _super);\n function DateTime(year, month, day, hour, minute, second, millisecond) {\n var _this = _super.call(this, hour, minute, second, millisecond) || this;\n _this.year = year;\n _this.month = month;\n _this.day = day;\n return _this;\n }\n DateTime.fromDate = function (date) {\n return new this(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.valueOf() % 1000);\n };\n DateTime.prototype.getWeekday = function () {\n return getWeekday(new Date(this.getTime()));\n };\n DateTime.prototype.getTime = function () {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond)).getTime();\n };\n DateTime.prototype.getDay = function () {\n return this.day;\n };\n DateTime.prototype.getMonth = function () {\n return this.month;\n };\n DateTime.prototype.getYear = function () {\n return this.year;\n };\n DateTime.prototype.addYears = function (years) {\n this.year += years;\n };\n DateTime.prototype.addMonths = function (months) {\n this.month += months;\n if (this.month > 12) {\n var yearDiv = Math.floor(this.month / 12);\n var monthMod = pymod(this.month, 12);\n this.month = monthMod;\n this.year += yearDiv;\n if (this.month === 0) {\n this.month = 12;\n --this.year;\n }\n }\n };\n DateTime.prototype.addWeekly = function (days, wkst) {\n if (wkst > this.getWeekday()) {\n this.day += -(this.getWeekday() + 1 + (6 - wkst)) + days * 7;\n }\n else {\n this.day += -(this.getWeekday() - wkst) + days * 7;\n }\n this.fixDay();\n };\n DateTime.prototype.addDaily = function (days) {\n this.day += days;\n this.fixDay();\n };\n DateTime.prototype.addHours = function (hours, filtered, byhour) {\n if (filtered) {\n // Jump to one iteration before next day\n this.hour += Math.floor((23 - this.hour) / hours) * hours;\n }\n for (;;) {\n this.hour += hours;\n var _a = divmod(this.hour, 24), dayDiv = _a.div, hourMod = _a.mod;\n if (dayDiv) {\n this.hour = hourMod;\n this.addDaily(dayDiv);\n }\n if (empty(byhour) || includes(byhour, this.hour))\n break;\n }\n };\n DateTime.prototype.addMinutes = function (minutes, filtered, byhour, byminute) {\n if (filtered) {\n // Jump to one iteration before next day\n this.minute +=\n Math.floor((1439 - (this.hour * 60 + this.minute)) / minutes) * minutes;\n }\n for (;;) {\n this.minute += minutes;\n var _a = divmod(this.minute, 60), hourDiv = _a.div, minuteMod = _a.mod;\n if (hourDiv) {\n this.minute = minuteMod;\n this.addHours(hourDiv, false, byhour);\n }\n if ((empty(byhour) || includes(byhour, this.hour)) &&\n (empty(byminute) || includes(byminute, this.minute))) {\n break;\n }\n }\n };\n DateTime.prototype.addSeconds = function (seconds, filtered, byhour, byminute, bysecond) {\n if (filtered) {\n // Jump to one iteration before next day\n this.second +=\n Math.floor((86399 - (this.hour * 3600 + this.minute * 60 + this.second)) /\n seconds) * seconds;\n }\n for (;;) {\n this.second += seconds;\n var _a = divmod(this.second, 60), minuteDiv = _a.div, secondMod = _a.mod;\n if (minuteDiv) {\n this.second = secondMod;\n this.addMinutes(minuteDiv, false, byhour, byminute);\n }\n if ((empty(byhour) || includes(byhour, this.hour)) &&\n (empty(byminute) || includes(byminute, this.minute)) &&\n (empty(bysecond) || includes(bysecond, this.second))) {\n break;\n }\n }\n };\n DateTime.prototype.fixDay = function () {\n if (this.day <= 28) {\n return;\n }\n var daysinmonth = monthRange(this.year, this.month - 1)[1];\n if (this.day <= daysinmonth) {\n return;\n }\n while (this.day > daysinmonth) {\n this.day -= daysinmonth;\n ++this.month;\n if (this.month === 13) {\n this.month = 1;\n ++this.year;\n if (this.year > MAXYEAR) {\n return;\n }\n }\n daysinmonth = monthRange(this.year, this.month - 1)[1];\n }\n };\n DateTime.prototype.add = function (options, filtered) {\n var freq = options.freq, interval = options.interval, wkst = options.wkst, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond;\n switch (freq) {\n case Frequency.YEARLY:\n return this.addYears(interval);\n case Frequency.MONTHLY:\n return this.addMonths(interval);\n case Frequency.WEEKLY:\n return this.addWeekly(interval, wkst);\n case Frequency.DAILY:\n return this.addDaily(interval);\n case Frequency.HOURLY:\n return this.addHours(interval, filtered, byhour);\n case Frequency.MINUTELY:\n return this.addMinutes(interval, filtered, byhour, byminute);\n case Frequency.SECONDLY:\n return this.addSeconds(interval, filtered, byhour, byminute, bysecond);\n }\n };\n return DateTime;\n}(Time));\nexport { DateTime };\n//# sourceMappingURL=datetime.js.map",
|
|
53
|
+
"import { __assign } from \"tslib\";\nimport { freqIsDailyOrGreater } from './types';\nimport { includes, notEmpty, isPresent, isNumber, isArray, isWeekdayStr, } from './helpers';\nimport { RRule, defaultKeys, DEFAULT_OPTIONS } from './rrule';\nimport { getWeekday, isDate, isValidDate } from './dateutil';\nimport { Weekday } from './weekday';\nimport { Time } from './datetime';\nexport function initializeOptions(options) {\n var invalid = [];\n var keys = Object.keys(options);\n // Shallow copy for options and origOptions and check for invalid\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (!includes(defaultKeys, key))\n invalid.push(key);\n if (isDate(options[key]) && !isValidDate(options[key])) {\n invalid.push(key);\n }\n }\n if (invalid.length) {\n throw new Error('Invalid options: ' + invalid.join(', '));\n }\n return __assign({}, options);\n}\nexport function parseOptions(options) {\n var opts = __assign(__assign({}, DEFAULT_OPTIONS), initializeOptions(options));\n if (isPresent(opts.byeaster))\n opts.freq = RRule.YEARLY;\n if (!(isPresent(opts.freq) && RRule.FREQUENCIES[opts.freq])) {\n throw new Error(\"Invalid frequency: \".concat(opts.freq, \" \").concat(options.freq));\n }\n if (!opts.dtstart)\n opts.dtstart = new Date(new Date().setMilliseconds(0));\n if (!isPresent(opts.wkst)) {\n opts.wkst = RRule.MO.weekday;\n }\n else if (isNumber(opts.wkst)) {\n // cool, just keep it like that\n }\n else {\n opts.wkst = opts.wkst.weekday;\n }\n if (isPresent(opts.bysetpos)) {\n if (isNumber(opts.bysetpos))\n opts.bysetpos = [opts.bysetpos];\n for (var i = 0; i < opts.bysetpos.length; i++) {\n var v = opts.bysetpos[i];\n if (v === 0 || !(v >= -366 && v <= 366)) {\n throw new Error('bysetpos must be between 1 and 366,' + ' or between -366 and -1');\n }\n }\n }\n if (!(Boolean(opts.byweekno) ||\n notEmpty(opts.byweekno) ||\n notEmpty(opts.byyearday) ||\n Boolean(opts.bymonthday) ||\n notEmpty(opts.bymonthday) ||\n isPresent(opts.byweekday) ||\n isPresent(opts.byeaster))) {\n switch (opts.freq) {\n case RRule.YEARLY:\n if (!opts.bymonth)\n opts.bymonth = opts.dtstart.getUTCMonth() + 1;\n opts.bymonthday = opts.dtstart.getUTCDate();\n break;\n case RRule.MONTHLY:\n opts.bymonthday = opts.dtstart.getUTCDate();\n break;\n case RRule.WEEKLY:\n opts.byweekday = [getWeekday(opts.dtstart)];\n break;\n }\n }\n // bymonth\n if (isPresent(opts.bymonth) && !isArray(opts.bymonth)) {\n opts.bymonth = [opts.bymonth];\n }\n // byyearday\n if (isPresent(opts.byyearday) &&\n !isArray(opts.byyearday) &&\n isNumber(opts.byyearday)) {\n opts.byyearday = [opts.byyearday];\n }\n // bymonthday\n if (!isPresent(opts.bymonthday)) {\n opts.bymonthday = [];\n opts.bynmonthday = [];\n }\n else if (isArray(opts.bymonthday)) {\n var bymonthday = [];\n var bynmonthday = [];\n for (var i = 0; i < opts.bymonthday.length; i++) {\n var v = opts.bymonthday[i];\n if (v > 0) {\n bymonthday.push(v);\n }\n else if (v < 0) {\n bynmonthday.push(v);\n }\n }\n opts.bymonthday = bymonthday;\n opts.bynmonthday = bynmonthday;\n }\n else if (opts.bymonthday < 0) {\n opts.bynmonthday = [opts.bymonthday];\n opts.bymonthday = [];\n }\n else {\n opts.bynmonthday = [];\n opts.bymonthday = [opts.bymonthday];\n }\n // byweekno\n if (isPresent(opts.byweekno) && !isArray(opts.byweekno)) {\n opts.byweekno = [opts.byweekno];\n }\n // byweekday / bynweekday\n if (!isPresent(opts.byweekday)) {\n opts.bynweekday = null;\n }\n else if (isNumber(opts.byweekday)) {\n opts.byweekday = [opts.byweekday];\n opts.bynweekday = null;\n }\n else if (isWeekdayStr(opts.byweekday)) {\n opts.byweekday = [Weekday.fromStr(opts.byweekday).weekday];\n opts.bynweekday = null;\n }\n else if (opts.byweekday instanceof Weekday) {\n if (!opts.byweekday.n || opts.freq > RRule.MONTHLY) {\n opts.byweekday = [opts.byweekday.weekday];\n opts.bynweekday = null;\n }\n else {\n opts.bynweekday = [[opts.byweekday.weekday, opts.byweekday.n]];\n opts.byweekday = null;\n }\n }\n else {\n var byweekday = [];\n var bynweekday = [];\n for (var i = 0; i < opts.byweekday.length; i++) {\n var wday = opts.byweekday[i];\n if (isNumber(wday)) {\n byweekday.push(wday);\n continue;\n }\n else if (isWeekdayStr(wday)) {\n byweekday.push(Weekday.fromStr(wday).weekday);\n continue;\n }\n if (!wday.n || opts.freq > RRule.MONTHLY) {\n byweekday.push(wday.weekday);\n }\n else {\n bynweekday.push([wday.weekday, wday.n]);\n }\n }\n opts.byweekday = notEmpty(byweekday) ? byweekday : null;\n opts.bynweekday = notEmpty(bynweekday) ? bynweekday : null;\n }\n // byhour\n if (!isPresent(opts.byhour)) {\n opts.byhour = opts.freq < RRule.HOURLY ? [opts.dtstart.getUTCHours()] : null;\n }\n else if (isNumber(opts.byhour)) {\n opts.byhour = [opts.byhour];\n }\n // byminute\n if (!isPresent(opts.byminute)) {\n opts.byminute =\n opts.freq < RRule.MINUTELY ? [opts.dtstart.getUTCMinutes()] : null;\n }\n else if (isNumber(opts.byminute)) {\n opts.byminute = [opts.byminute];\n }\n // bysecond\n if (!isPresent(opts.bysecond)) {\n opts.bysecond =\n opts.freq < RRule.SECONDLY ? [opts.dtstart.getUTCSeconds()] : null;\n }\n else if (isNumber(opts.bysecond)) {\n opts.bysecond = [opts.bysecond];\n }\n return { parsedOptions: opts };\n}\nexport function buildTimeset(opts) {\n var millisecondModulo = opts.dtstart.getTime() % 1000;\n if (!freqIsDailyOrGreater(opts.freq)) {\n return [];\n }\n var timeset = [];\n opts.byhour.forEach(function (hour) {\n opts.byminute.forEach(function (minute) {\n opts.bysecond.forEach(function (second) {\n timeset.push(new Time(hour, minute, second, millisecondModulo));\n });\n });\n });\n return timeset;\n}\n//# sourceMappingURL=parseoptions.js.map",
|
|
54
|
+
"import { __assign } from \"tslib\";\nimport { Frequency } from './types';\nimport { Weekday } from './weekday';\nimport { untilStringToDate } from './dateutil';\nimport { Days } from './rrule';\nexport function parseString(rfcString) {\n var options = rfcString\n .split('\\n')\n .map(parseLine)\n .filter(function (x) { return x !== null; });\n return __assign(__assign({}, options[0]), options[1]);\n}\nexport function parseDtstart(line) {\n var options = {};\n var dtstartWithZone = /DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\\s]+)/i.exec(line);\n if (!dtstartWithZone) {\n return options;\n }\n var tzid = dtstartWithZone[1], dtstart = dtstartWithZone[2];\n if (tzid) {\n options.tzid = tzid;\n }\n options.dtstart = untilStringToDate(dtstart);\n return options;\n}\nfunction parseLine(rfcString) {\n rfcString = rfcString.replace(/^\\s+|\\s+$/, '');\n if (!rfcString.length)\n return null;\n var header = /^([A-Z]+?)[:;]/.exec(rfcString.toUpperCase());\n if (!header) {\n return parseRrule(rfcString);\n }\n var key = header[1];\n switch (key.toUpperCase()) {\n case 'RRULE':\n case 'EXRULE':\n return parseRrule(rfcString);\n case 'DTSTART':\n return parseDtstart(rfcString);\n default:\n throw new Error(\"Unsupported RFC prop \".concat(key, \" in \").concat(rfcString));\n }\n}\nfunction parseRrule(line) {\n var strippedLine = line.replace(/^RRULE:/i, '');\n var options = parseDtstart(strippedLine);\n var attrs = line.replace(/^(?:RRULE|EXRULE):/i, '').split(';');\n attrs.forEach(function (attr) {\n var _a = attr.split('='), key = _a[0], value = _a[1];\n switch (key.toUpperCase()) {\n case 'FREQ':\n options.freq = Frequency[value.toUpperCase()];\n break;\n case 'WKST':\n options.wkst = Days[value.toUpperCase()];\n break;\n case 'COUNT':\n case 'INTERVAL':\n case 'BYSETPOS':\n case 'BYMONTH':\n case 'BYMONTHDAY':\n case 'BYYEARDAY':\n case 'BYWEEKNO':\n case 'BYHOUR':\n case 'BYMINUTE':\n case 'BYSECOND':\n var num = parseNumber(value);\n var optionKey = key.toLowerCase();\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n options[optionKey] = num;\n break;\n case 'BYWEEKDAY':\n case 'BYDAY':\n options.byweekday = parseWeekday(value);\n break;\n case 'DTSTART':\n case 'TZID':\n // for backwards compatibility\n var dtstart = parseDtstart(line);\n options.tzid = dtstart.tzid;\n options.dtstart = dtstart.dtstart;\n break;\n case 'UNTIL':\n options.until = untilStringToDate(value);\n break;\n case 'BYEASTER':\n options.byeaster = Number(value);\n break;\n default:\n throw new Error(\"Unknown RRULE property '\" + key + \"'\");\n }\n });\n return options;\n}\nfunction parseNumber(value) {\n if (value.indexOf(',') !== -1) {\n var values = value.split(',');\n return values.map(parseIndividualNumber);\n }\n return parseIndividualNumber(value);\n}\nfunction parseIndividualNumber(value) {\n if (/^[+-]?\\d+$/.test(value)) {\n return Number(value);\n }\n return value;\n}\nfunction parseWeekday(value) {\n var days = value.split(',');\n return days.map(function (day) {\n if (day.length === 2) {\n // MO, TU, ...\n return Days[day]; // wday instanceof Weekday\n }\n // -1MO, +3FR, 1SO, 13TU ...\n var parts = day.match(/^([+-]?\\d{1,2})([A-Z]{2})$/);\n if (!parts || parts.length < 3) {\n throw new SyntaxError(\"Invalid weekday string: \".concat(day));\n }\n var n = Number(parts[1]);\n var wdaypart = parts[2];\n var wday = Days[wdaypart].weekday;\n return new Weekday(wday, n);\n });\n}\n//# sourceMappingURL=parsestring.js.map",
|
|
55
|
+
"import { dateInTimeZone, timeToUntilString } from './dateutil';\nvar DateWithZone = /** @class */ (function () {\n function DateWithZone(date, tzid) {\n if (isNaN(date.getTime())) {\n throw new RangeError('Invalid date passed to DateWithZone');\n }\n this.date = date;\n this.tzid = tzid;\n }\n Object.defineProperty(DateWithZone.prototype, \"isUTC\", {\n get: function () {\n return !this.tzid || this.tzid.toUpperCase() === 'UTC';\n },\n enumerable: false,\n configurable: true\n });\n DateWithZone.prototype.toString = function () {\n var datestr = timeToUntilString(this.date.getTime(), this.isUTC);\n if (!this.isUTC) {\n return \";TZID=\".concat(this.tzid, \":\").concat(datestr);\n }\n return \":\".concat(datestr);\n };\n DateWithZone.prototype.getTime = function () {\n return this.date.getTime();\n };\n DateWithZone.prototype.rezonedDate = function () {\n if (this.isUTC) {\n return this.date;\n }\n return dateInTimeZone(this.date, this.tzid);\n };\n return DateWithZone;\n}());\nexport { DateWithZone };\n//# sourceMappingURL=datewithzone.js.map",
|
|
56
|
+
"import { RRule, DEFAULT_OPTIONS } from './rrule';\nimport { includes, isPresent, isArray, isNumber, toArray } from './helpers';\nimport { Weekday } from './weekday';\nimport { timeToUntilString } from './dateutil';\nimport { DateWithZone } from './datewithzone';\nexport function optionsToString(options) {\n var rrule = [];\n var dtstart = '';\n var keys = Object.keys(options);\n var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n for (var i = 0; i < keys.length; i++) {\n if (keys[i] === 'tzid')\n continue;\n if (!includes(defaultKeys, keys[i]))\n continue;\n var key = keys[i].toUpperCase();\n var value = options[keys[i]];\n var outValue = '';\n if (!isPresent(value) || (isArray(value) && !value.length))\n continue;\n switch (key) {\n case 'FREQ':\n outValue = RRule.FREQUENCIES[options.freq];\n break;\n case 'WKST':\n if (isNumber(value)) {\n outValue = new Weekday(value).toString();\n }\n else {\n outValue = value.toString();\n }\n break;\n case 'BYWEEKDAY':\n /*\n NOTE: BYWEEKDAY is a special case.\n RRule() deconstructs the rule.options.byweekday array\n into an array of Weekday arguments.\n On the other hand, rule.origOptions is an array of Weekdays.\n We need to handle both cases here.\n It might be worth change RRule to keep the Weekdays.\n \n Also, BYWEEKDAY (used by RRule) vs. BYDAY (RFC)\n \n */\n key = 'BYDAY';\n outValue = toArray(value)\n .map(function (wday) {\n if (wday instanceof Weekday) {\n return wday;\n }\n if (isArray(wday)) {\n return new Weekday(wday[0], wday[1]);\n }\n return new Weekday(wday);\n })\n .toString();\n break;\n case 'DTSTART':\n dtstart = buildDtstart(value, options.tzid);\n break;\n case 'UNTIL':\n outValue = timeToUntilString(value, !options.tzid);\n break;\n default:\n if (isArray(value)) {\n var strValues = [];\n for (var j = 0; j < value.length; j++) {\n strValues[j] = String(value[j]);\n }\n outValue = strValues.toString();\n }\n else {\n outValue = String(value);\n }\n }\n if (outValue) {\n rrule.push([key, outValue]);\n }\n }\n var rules = rrule\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value.toString());\n })\n .join(';');\n var ruleString = '';\n if (rules !== '') {\n ruleString = \"RRULE:\".concat(rules);\n }\n return [dtstart, ruleString].filter(function (x) { return !!x; }).join('\\n');\n}\nfunction buildDtstart(dtstart, tzid) {\n if (!dtstart) {\n return '';\n }\n return 'DTSTART' + new DateWithZone(new Date(dtstart), tzid).toString();\n}\n//# sourceMappingURL=optionstostring.js.map",
|
|
57
|
+
"import IterResult from './iterresult';\nimport { clone, cloneDates } from './dateutil';\nimport { isArray } from './helpers';\nfunction argsMatch(left, right) {\n if (Array.isArray(left)) {\n if (!Array.isArray(right))\n return false;\n if (left.length !== right.length)\n return false;\n return left.every(function (date, i) { return date.getTime() === right[i].getTime(); });\n }\n if (left instanceof Date) {\n return right instanceof Date && left.getTime() === right.getTime();\n }\n return left === right;\n}\nvar Cache = /** @class */ (function () {\n function Cache() {\n this.all = false;\n this.before = [];\n this.after = [];\n this.between = [];\n }\n /**\n * @param {String} what - all/before/after/between\n * @param {Array,Date} value - an array of dates, one date, or null\n * @param {Object?} args - _iter arguments\n */\n Cache.prototype._cacheAdd = function (what, value, args) {\n if (value) {\n value = value instanceof Date ? clone(value) : cloneDates(value);\n }\n if (what === 'all') {\n this.all = value;\n }\n else {\n args._value = value;\n this[what].push(args);\n }\n };\n /**\n * @return false - not in the cache\n * @return null - cached, but zero occurrences (before/after)\n * @return Date - cached (before/after)\n * @return [] - cached, but zero occurrences (all/between)\n * @return [Date1, DateN] - cached (all/between)\n */\n Cache.prototype._cacheGet = function (what, args) {\n var cached = false;\n var argsKeys = args ? Object.keys(args) : [];\n var findCacheDiff = function (item) {\n for (var i = 0; i < argsKeys.length; i++) {\n var key = argsKeys[i];\n if (!argsMatch(args[key], item[key])) {\n return true;\n }\n }\n return false;\n };\n var cachedObject = this[what];\n if (what === 'all') {\n cached = this.all;\n }\n else if (isArray(cachedObject)) {\n // Let's see whether we've already called the\n // 'what' method with the same 'args'\n for (var i = 0; i < cachedObject.length; i++) {\n var item = cachedObject[i];\n if (argsKeys.length && findCacheDiff(item))\n continue;\n cached = item._value;\n break;\n }\n }\n if (!cached && this.all) {\n // Not in the cache, but we already know all the occurrences,\n // so we can find the correct dates from the cached ones.\n var iterResult = new IterResult(what, args);\n for (var i = 0; i < this.all.length; i++) {\n if (!iterResult.accept(this.all[i]))\n break;\n }\n cached = iterResult.getValue();\n this._cacheAdd(what, cached, args);\n }\n return isArray(cached)\n ? cloneDates(cached)\n : cached instanceof Date\n ? clone(cached)\n : cached;\n };\n return Cache;\n}());\nexport { Cache };\n//# sourceMappingURL=cache.js.map",
|
|
58
|
+
"import { __spreadArray } from \"tslib\";\nimport { range, repeat } from './helpers';\n// =============================================================================\n// Date masks\n// =============================================================================\n// Every mask is 7 days longer to handle cross-year weekly periods.\nvar M365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 28), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true);\nvar M366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], repeat(1, 31), true), repeat(2, 29), true), repeat(3, 31), true), repeat(4, 30), true), repeat(5, 31), true), repeat(6, 30), true), repeat(7, 31), true), repeat(8, 31), true), repeat(9, 30), true), repeat(10, 31), true), repeat(11, 30), true), repeat(12, 31), true), repeat(1, 7), true);\nvar M28 = range(1, 29);\nvar M29 = range(1, 30);\nvar M30 = range(1, 31);\nvar M31 = range(1, 32);\nvar MDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M29, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true);\nvar MDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], M31, true), M28, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31, true), M30, true), M31, true), M30, true), M31, true), M31.slice(0, 7), true);\nvar NM28 = range(-28, 0);\nvar NM29 = range(-29, 0);\nvar NM30 = range(-30, 0);\nvar NM31 = range(-31, 0);\nvar NMDAY366MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM29, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true);\nvar NMDAY365MASK = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], NM31, true), NM28, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31, true), NM30, true), NM31, true), NM30, true), NM31, true), NM31.slice(0, 7), true);\nvar M366RANGE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366];\nvar M365RANGE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];\nvar WDAYMASK = (function () {\n var wdaymask = [];\n for (var i = 0; i < 55; i++)\n wdaymask = wdaymask.concat(range(7));\n return wdaymask;\n})();\nexport { WDAYMASK, M365MASK, M365RANGE, M366MASK, M366RANGE, MDAY365MASK, MDAY366MASK, NMDAY365MASK, NMDAY366MASK, };\n//# sourceMappingURL=masks.js.map",
|
|
59
|
+
"import { __assign } from \"tslib\";\nimport { datetime, getWeekday, isLeapYear, toOrdinal } from '../dateutil';\nimport { empty, repeat, pymod, includes } from '../helpers';\nimport { M365MASK, MDAY365MASK, NMDAY365MASK, WDAYMASK, M365RANGE, M366MASK, MDAY366MASK, NMDAY366MASK, M366RANGE, } from '../masks';\nexport function rebuildYear(year, options) {\n var firstyday = datetime(year, 1, 1);\n var yearlen = isLeapYear(year) ? 366 : 365;\n var nextyearlen = isLeapYear(year + 1) ? 366 : 365;\n var yearordinal = toOrdinal(firstyday);\n var yearweekday = getWeekday(firstyday);\n var result = __assign(__assign({ yearlen: yearlen, nextyearlen: nextyearlen, yearordinal: yearordinal, yearweekday: yearweekday }, baseYearMasks(year)), { wnomask: null });\n if (empty(options.byweekno)) {\n return result;\n }\n result.wnomask = repeat(0, yearlen + 7);\n var firstwkst;\n var wyearlen;\n var no1wkst = (firstwkst = pymod(7 - yearweekday + options.wkst, 7));\n if (no1wkst >= 4) {\n no1wkst = 0;\n // Number of days in the year, plus the days we got\n // from last year.\n wyearlen = result.yearlen + pymod(yearweekday - options.wkst, 7);\n }\n else {\n // Number of days in the year, minus the days we\n // left in last year.\n wyearlen = yearlen - no1wkst;\n }\n var div = Math.floor(wyearlen / 7);\n var mod = pymod(wyearlen, 7);\n var numweeks = Math.floor(div + mod / 4);\n for (var j = 0; j < options.byweekno.length; j++) {\n var n = options.byweekno[j];\n if (n < 0) {\n n += numweeks + 1;\n }\n if (!(n > 0 && n <= numweeks)) {\n continue;\n }\n var i = void 0;\n if (n > 1) {\n i = no1wkst + (n - 1) * 7;\n if (no1wkst !== firstwkst) {\n i -= 7 - firstwkst;\n }\n }\n else {\n i = no1wkst;\n }\n for (var k = 0; k < 7; k++) {\n result.wnomask[i] = 1;\n i++;\n if (result.wdaymask[i] === options.wkst)\n break;\n }\n }\n if (includes(options.byweekno, 1)) {\n // Check week number 1 of next year as well\n // orig-TODO : Check -numweeks for next year.\n var i = no1wkst + numweeks * 7;\n if (no1wkst !== firstwkst)\n i -= 7 - firstwkst;\n if (i < yearlen) {\n // If week starts in next year, we\n // don't care about it.\n for (var j = 0; j < 7; j++) {\n result.wnomask[i] = 1;\n i += 1;\n if (result.wdaymask[i] === options.wkst)\n break;\n }\n }\n }\n if (no1wkst) {\n // Check last week number of last year as\n // well. If no1wkst is 0, either the year\n // started on week start, or week number 1\n // got days from last year, so there are no\n // days from last year's last week number in\n // this year.\n var lnumweeks = void 0;\n if (!includes(options.byweekno, -1)) {\n var lyearweekday = getWeekday(datetime(year - 1, 1, 1));\n var lno1wkst = pymod(7 - lyearweekday.valueOf() + options.wkst, 7);\n var lyearlen = isLeapYear(year - 1) ? 366 : 365;\n var weekst = void 0;\n if (lno1wkst >= 4) {\n lno1wkst = 0;\n weekst = lyearlen + pymod(lyearweekday - options.wkst, 7);\n }\n else {\n weekst = yearlen - no1wkst;\n }\n lnumweeks = Math.floor(52 + pymod(weekst, 7) / 4);\n }\n else {\n lnumweeks = -1;\n }\n if (includes(options.byweekno, lnumweeks)) {\n for (var i = 0; i < no1wkst; i++)\n result.wnomask[i] = 1;\n }\n }\n return result;\n}\nfunction baseYearMasks(year) {\n var yearlen = isLeapYear(year) ? 366 : 365;\n var firstyday = datetime(year, 1, 1);\n var wday = getWeekday(firstyday);\n if (yearlen === 365) {\n return {\n mmask: M365MASK,\n mdaymask: MDAY365MASK,\n nmdaymask: NMDAY365MASK,\n wdaymask: WDAYMASK.slice(wday),\n mrange: M365RANGE,\n };\n }\n return {\n mmask: M366MASK,\n mdaymask: MDAY366MASK,\n nmdaymask: NMDAY366MASK,\n wdaymask: WDAYMASK.slice(wday),\n mrange: M366RANGE,\n };\n}\n//# sourceMappingURL=yearinfo.js.map",
|
|
60
|
+
"import { RRule } from '../rrule';\nimport { empty, repeat, pymod } from '../helpers';\nexport function rebuildMonth(year, month, yearlen, mrange, wdaymask, options) {\n var result = {\n lastyear: year,\n lastmonth: month,\n nwdaymask: [],\n };\n var ranges = [];\n if (options.freq === RRule.YEARLY) {\n if (empty(options.bymonth)) {\n ranges = [[0, yearlen]];\n }\n else {\n for (var j = 0; j < options.bymonth.length; j++) {\n month = options.bymonth[j];\n ranges.push(mrange.slice(month - 1, month + 1));\n }\n }\n }\n else if (options.freq === RRule.MONTHLY) {\n ranges = [mrange.slice(month - 1, month + 1)];\n }\n if (empty(ranges)) {\n return result;\n }\n // Weekly frequency won't get here, so we may not\n // care about cross-year weekly periods.\n result.nwdaymask = repeat(0, yearlen);\n for (var j = 0; j < ranges.length; j++) {\n var rang = ranges[j];\n var first = rang[0];\n var last = rang[1] - 1;\n for (var k = 0; k < options.bynweekday.length; k++) {\n var i = void 0;\n var _a = options.bynweekday[k], wday = _a[0], n = _a[1];\n if (n < 0) {\n i = last + (n + 1) * 7;\n i -= pymod(wdaymask[i] - wday, 7);\n }\n else {\n i = first + (n - 1) * 7;\n i += pymod(7 - wdaymask[i] + wday, 7);\n }\n if (first <= i && i <= last)\n result.nwdaymask[i] = 1;\n }\n }\n return result;\n}\n//# sourceMappingURL=monthinfo.js.map",
|
|
61
|
+
"export function easter(y, offset) {\n if (offset === void 0) { offset = 0; }\n var a = y % 19;\n var b = Math.floor(y / 100);\n var c = y % 100;\n var d = Math.floor(b / 4);\n var e = b % 4;\n var f = Math.floor((b + 8) / 25);\n var g = Math.floor((b - f + 1) / 3);\n var h = Math.floor(19 * a + b - d - g + 15) % 30;\n var i = Math.floor(c / 4);\n var k = c % 4;\n var l = Math.floor(32 + 2 * e + 2 * i - h - k) % 7;\n var m = Math.floor((a + 11 * h + 22 * l) / 451);\n var month = Math.floor((h + l - 7 * m + 114) / 31);\n var day = ((h + l - 7 * m + 114) % 31) + 1;\n var date = Date.UTC(y, month - 1, day + offset);\n var yearStart = Date.UTC(y, 0, 1);\n return [Math.ceil((date - yearStart) / (1000 * 60 * 60 * 24))];\n}\n//# sourceMappingURL=easter.js.map",
|
|
62
|
+
"import { notEmpty, repeat, range, isPresent } from '../helpers';\nimport { Frequency } from '../types';\nimport { rebuildYear } from './yearinfo';\nimport { rebuildMonth } from './monthinfo';\nimport { easter } from './easter';\nimport { Time } from '../datetime';\nimport { datetime, sort, toOrdinal } from '../dateutil';\n// =============================================================================\n// Iterinfo\n// =============================================================================\nvar Iterinfo = /** @class */ (function () {\n // eslint-disable-next-line no-empty-function\n function Iterinfo(options) {\n this.options = options;\n }\n Iterinfo.prototype.rebuild = function (year, month) {\n var options = this.options;\n if (year !== this.lastyear) {\n this.yearinfo = rebuildYear(year, options);\n }\n if (notEmpty(options.bynweekday) &&\n (month !== this.lastmonth || year !== this.lastyear)) {\n var _a = this.yearinfo, yearlen = _a.yearlen, mrange = _a.mrange, wdaymask = _a.wdaymask;\n this.monthinfo = rebuildMonth(year, month, yearlen, mrange, wdaymask, options);\n }\n if (isPresent(options.byeaster)) {\n this.eastermask = easter(year, options.byeaster);\n }\n };\n Object.defineProperty(Iterinfo.prototype, \"lastyear\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.lastyear : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"lastmonth\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.lastmonth : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"yearlen\", {\n get: function () {\n return this.yearinfo.yearlen;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"yearordinal\", {\n get: function () {\n return this.yearinfo.yearordinal;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mrange\", {\n get: function () {\n return this.yearinfo.mrange;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"wdaymask\", {\n get: function () {\n return this.yearinfo.wdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mmask\", {\n get: function () {\n return this.yearinfo.mmask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"wnomask\", {\n get: function () {\n return this.yearinfo.wnomask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nwdaymask\", {\n get: function () {\n return this.monthinfo ? this.monthinfo.nwdaymask : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nextyearlen\", {\n get: function () {\n return this.yearinfo.nextyearlen;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"mdaymask\", {\n get: function () {\n return this.yearinfo.mdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Iterinfo.prototype, \"nmdaymask\", {\n get: function () {\n return this.yearinfo.nmdaymask;\n },\n enumerable: false,\n configurable: true\n });\n Iterinfo.prototype.ydayset = function () {\n return [range(this.yearlen), 0, this.yearlen];\n };\n Iterinfo.prototype.mdayset = function (_, month) {\n var start = this.mrange[month - 1];\n var end = this.mrange[month];\n var set = repeat(null, this.yearlen);\n for (var i = start; i < end; i++)\n set[i] = i;\n return [set, start, end];\n };\n Iterinfo.prototype.wdayset = function (year, month, day) {\n // We need to handle cross-year weeks here.\n var set = repeat(null, this.yearlen + 7);\n var i = toOrdinal(datetime(year, month, day)) - this.yearordinal;\n var start = i;\n for (var j = 0; j < 7; j++) {\n set[i] = i;\n ++i;\n if (this.wdaymask[i] === this.options.wkst)\n break;\n }\n return [set, start, i];\n };\n Iterinfo.prototype.ddayset = function (year, month, day) {\n var set = repeat(null, this.yearlen);\n var i = toOrdinal(datetime(year, month, day)) - this.yearordinal;\n set[i] = i;\n return [set, i, i + 1];\n };\n Iterinfo.prototype.htimeset = function (hour, _, second, millisecond) {\n var _this = this;\n var set = [];\n this.options.byminute.forEach(function (minute) {\n set = set.concat(_this.mtimeset(hour, minute, second, millisecond));\n });\n sort(set);\n return set;\n };\n Iterinfo.prototype.mtimeset = function (hour, minute, _, millisecond) {\n var set = this.options.bysecond.map(function (second) { return new Time(hour, minute, second, millisecond); });\n sort(set);\n return set;\n };\n Iterinfo.prototype.stimeset = function (hour, minute, second, millisecond) {\n return [new Time(hour, minute, second, millisecond)];\n };\n Iterinfo.prototype.getdayset = function (freq) {\n switch (freq) {\n case Frequency.YEARLY:\n return this.ydayset.bind(this);\n case Frequency.MONTHLY:\n return this.mdayset.bind(this);\n case Frequency.WEEKLY:\n return this.wdayset.bind(this);\n case Frequency.DAILY:\n return this.ddayset.bind(this);\n default:\n return this.ddayset.bind(this);\n }\n };\n Iterinfo.prototype.gettimeset = function (freq) {\n switch (freq) {\n case Frequency.HOURLY:\n return this.htimeset.bind(this);\n case Frequency.MINUTELY:\n return this.mtimeset.bind(this);\n case Frequency.SECONDLY:\n return this.stimeset.bind(this);\n }\n };\n return Iterinfo;\n}());\nexport default Iterinfo;\n//# sourceMappingURL=index.js.map",
|
|
63
|
+
"import { combine, fromOrdinal, sort } from '../dateutil';\nimport { pymod, isPresent, includes } from '../helpers';\nexport function buildPoslist(bysetpos, timeset, start, end, ii, dayset) {\n var poslist = [];\n for (var j = 0; j < bysetpos.length; j++) {\n var daypos = void 0;\n var timepos = void 0;\n var pos = bysetpos[j];\n if (pos < 0) {\n daypos = Math.floor(pos / timeset.length);\n timepos = pymod(pos, timeset.length);\n }\n else {\n daypos = Math.floor((pos - 1) / timeset.length);\n timepos = pymod(pos - 1, timeset.length);\n }\n var tmp = [];\n for (var k = start; k < end; k++) {\n var val = dayset[k];\n if (!isPresent(val))\n continue;\n tmp.push(val);\n }\n var i = void 0;\n if (daypos < 0) {\n i = tmp.slice(daypos)[0];\n }\n else {\n i = tmp[daypos];\n }\n var time = timeset[timepos];\n var date = fromOrdinal(ii.yearordinal + i);\n var res = combine(date, time);\n // XXX: can this ever be in the array?\n // - compare the actual date instead?\n if (!includes(poslist, res))\n poslist.push(res);\n }\n sort(poslist);\n return poslist;\n}\n//# sourceMappingURL=poslist.js.map",
|
|
64
|
+
"import { freqIsDailyOrGreater } from '../types';\nimport { combine, fromOrdinal, MAXYEAR } from '../dateutil';\nimport Iterinfo from '../iterinfo/index';\nimport { RRule } from '../rrule';\nimport { buildTimeset } from '../parseoptions';\nimport { notEmpty, includes, isPresent } from '../helpers';\nimport { DateWithZone } from '../datewithzone';\nimport { buildPoslist } from './poslist';\nimport { DateTime } from '../datetime';\nexport function iter(iterResult, options) {\n var dtstart = options.dtstart, freq = options.freq, interval = options.interval, until = options.until, bysetpos = options.bysetpos;\n var count = options.count;\n if (count === 0 || interval === 0) {\n return emitResult(iterResult);\n }\n var counterDate = DateTime.fromDate(dtstart);\n var ii = new Iterinfo(options);\n ii.rebuild(counterDate.year, counterDate.month);\n var timeset = makeTimeset(ii, counterDate, options);\n for (;;) {\n var _a = ii.getdayset(freq)(counterDate.year, counterDate.month, counterDate.day), dayset = _a[0], start = _a[1], end = _a[2];\n var filtered = removeFilteredDays(dayset, start, end, ii, options);\n if (notEmpty(bysetpos)) {\n var poslist = buildPoslist(bysetpos, timeset, start, end, ii, dayset);\n for (var j = 0; j < poslist.length; j++) {\n var res = poslist[j];\n if (until && res > until) {\n return emitResult(iterResult);\n }\n if (res >= dtstart) {\n var rezonedDate = rezoneIfNeeded(res, options);\n if (!iterResult.accept(rezonedDate)) {\n return emitResult(iterResult);\n }\n if (count) {\n --count;\n if (!count) {\n return emitResult(iterResult);\n }\n }\n }\n }\n }\n else {\n for (var j = start; j < end; j++) {\n var currentDay = dayset[j];\n if (!isPresent(currentDay)) {\n continue;\n }\n var date = fromOrdinal(ii.yearordinal + currentDay);\n for (var k = 0; k < timeset.length; k++) {\n var time = timeset[k];\n var res = combine(date, time);\n if (until && res > until) {\n return emitResult(iterResult);\n }\n if (res >= dtstart) {\n var rezonedDate = rezoneIfNeeded(res, options);\n if (!iterResult.accept(rezonedDate)) {\n return emitResult(iterResult);\n }\n if (count) {\n --count;\n if (!count) {\n return emitResult(iterResult);\n }\n }\n }\n }\n }\n }\n if (options.interval === 0) {\n return emitResult(iterResult);\n }\n // Handle frequency and interval\n counterDate.add(options, filtered);\n if (counterDate.year > MAXYEAR) {\n return emitResult(iterResult);\n }\n if (!freqIsDailyOrGreater(freq)) {\n timeset = ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, 0);\n }\n ii.rebuild(counterDate.year, counterDate.month);\n }\n}\nfunction isFiltered(ii, currentDay, options) {\n var bymonth = options.bymonth, byweekno = options.byweekno, byweekday = options.byweekday, byeaster = options.byeaster, bymonthday = options.bymonthday, bynmonthday = options.bynmonthday, byyearday = options.byyearday;\n return ((notEmpty(bymonth) && !includes(bymonth, ii.mmask[currentDay])) ||\n (notEmpty(byweekno) && !ii.wnomask[currentDay]) ||\n (notEmpty(byweekday) && !includes(byweekday, ii.wdaymask[currentDay])) ||\n (notEmpty(ii.nwdaymask) && !ii.nwdaymask[currentDay]) ||\n (byeaster !== null && !includes(ii.eastermask, currentDay)) ||\n ((notEmpty(bymonthday) || notEmpty(bynmonthday)) &&\n !includes(bymonthday, ii.mdaymask[currentDay]) &&\n !includes(bynmonthday, ii.nmdaymask[currentDay])) ||\n (notEmpty(byyearday) &&\n ((currentDay < ii.yearlen &&\n !includes(byyearday, currentDay + 1) &&\n !includes(byyearday, -ii.yearlen + currentDay)) ||\n (currentDay >= ii.yearlen &&\n !includes(byyearday, currentDay + 1 - ii.yearlen) &&\n !includes(byyearday, -ii.nextyearlen + currentDay - ii.yearlen)))));\n}\nfunction rezoneIfNeeded(date, options) {\n return new DateWithZone(date, options.tzid).rezonedDate();\n}\nfunction emitResult(iterResult) {\n return iterResult.getValue();\n}\nfunction removeFilteredDays(dayset, start, end, ii, options) {\n var filtered = false;\n for (var dayCounter = start; dayCounter < end; dayCounter++) {\n var currentDay = dayset[dayCounter];\n filtered = isFiltered(ii, currentDay, options);\n if (filtered)\n dayset[currentDay] = null;\n }\n return filtered;\n}\nfunction makeTimeset(ii, counterDate, options) {\n var freq = options.freq, byhour = options.byhour, byminute = options.byminute, bysecond = options.bysecond;\n if (freqIsDailyOrGreater(freq)) {\n return buildTimeset(options);\n }\n if ((freq >= RRule.HOURLY &&\n notEmpty(byhour) &&\n !includes(byhour, counterDate.hour)) ||\n (freq >= RRule.MINUTELY &&\n notEmpty(byminute) &&\n !includes(byminute, counterDate.minute)) ||\n (freq >= RRule.SECONDLY &&\n notEmpty(bysecond) &&\n !includes(bysecond, counterDate.second))) {\n return [];\n }\n return ii.gettimeset(freq)(counterDate.hour, counterDate.minute, counterDate.second, counterDate.millisecond);\n}\n//# sourceMappingURL=index.js.map",
|
|
65
|
+
"import { isValidDate } from './dateutil';\nimport IterResult from './iterresult';\nimport CallbackIterResult from './callbackiterresult';\nimport { fromText, parseText, toText, isFullyConvertible } from './nlp/index';\nimport { Frequency, } from './types';\nimport { parseOptions, initializeOptions } from './parseoptions';\nimport { parseString } from './parsestring';\nimport { optionsToString } from './optionstostring';\nimport { Cache } from './cache';\nimport { Weekday } from './weekday';\nimport { iter } from './iter/index';\n// =============================================================================\n// RRule\n// =============================================================================\nexport var Days = {\n MO: new Weekday(0),\n TU: new Weekday(1),\n WE: new Weekday(2),\n TH: new Weekday(3),\n FR: new Weekday(4),\n SA: new Weekday(5),\n SU: new Weekday(6),\n};\nexport var DEFAULT_OPTIONS = {\n freq: Frequency.YEARLY,\n dtstart: null,\n interval: 1,\n wkst: Days.MO,\n count: null,\n until: null,\n tzid: null,\n bysetpos: null,\n bymonth: null,\n bymonthday: null,\n bynmonthday: null,\n byyearday: null,\n byweekno: null,\n byweekday: null,\n bynweekday: null,\n byhour: null,\n byminute: null,\n bysecond: null,\n byeaster: null,\n};\nexport var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n/**\n *\n * @param {Options?} options - see <http://labix.org/python-dateutil/#head-cf004ee9a75592797e076752b2a889c10f445418>\n * - The only required option is `freq`, one of RRule.YEARLY, RRule.MONTHLY, ...\n * @constructor\n */\nvar RRule = /** @class */ (function () {\n function RRule(options, noCache) {\n if (options === void 0) { options = {}; }\n if (noCache === void 0) { noCache = false; }\n // RFC string\n this._cache = noCache ? null : new Cache();\n // used by toString()\n this.origOptions = initializeOptions(options);\n var parsedOptions = parseOptions(options).parsedOptions;\n this.options = parsedOptions;\n }\n RRule.parseText = function (text, language) {\n return parseText(text, language);\n };\n RRule.fromText = function (text, language) {\n return fromText(text, language);\n };\n RRule.fromString = function (str) {\n return new RRule(RRule.parseString(str) || undefined);\n };\n RRule.prototype._iter = function (iterResult) {\n return iter(iterResult, this.options);\n };\n RRule.prototype._cacheGet = function (what, args) {\n if (!this._cache)\n return false;\n return this._cache._cacheGet(what, args);\n };\n RRule.prototype._cacheAdd = function (what, value, args) {\n if (!this._cache)\n return;\n return this._cache._cacheAdd(what, value, args);\n };\n /**\n * @param {Function} iterator - optional function that will be called\n * on each date that is added. It can return false\n * to stop the iteration.\n * @return Array containing all recurrences.\n */\n RRule.prototype.all = function (iterator) {\n if (iterator) {\n return this._iter(new CallbackIterResult('all', {}, iterator));\n }\n var result = this._cacheGet('all');\n if (result === false) {\n result = this._iter(new IterResult('all', {}));\n this._cacheAdd('all', result);\n }\n return result;\n };\n /**\n * Returns all the occurrences of the rrule between after and before.\n * The inc keyword defines what happens if after and/or before are\n * themselves occurrences. With inc == True, they will be included in the\n * list, if they are found in the recurrence set.\n *\n * @return Array\n */\n RRule.prototype.between = function (after, before, inc, iterator) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(after) || !isValidDate(before)) {\n throw new Error('Invalid date passed in to RRule.between');\n }\n var args = {\n before: before,\n after: after,\n inc: inc,\n };\n if (iterator) {\n return this._iter(new CallbackIterResult('between', args, iterator));\n }\n var result = this._cacheGet('between', args);\n if (result === false) {\n result = this._iter(new IterResult('between', args));\n this._cacheAdd('between', result, args);\n }\n return result;\n };\n /**\n * Returns the last recurrence before the given datetime instance.\n * The inc keyword defines what happens if dt is an occurrence.\n * With inc == True, if dt itself is an occurrence, it will be returned.\n *\n * @return Date or null\n */\n RRule.prototype.before = function (dt, inc) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(dt)) {\n throw new Error('Invalid date passed in to RRule.before');\n }\n var args = { dt: dt, inc: inc };\n var result = this._cacheGet('before', args);\n if (result === false) {\n result = this._iter(new IterResult('before', args));\n this._cacheAdd('before', result, args);\n }\n return result;\n };\n /**\n * Returns the first recurrence after the given datetime instance.\n * The inc keyword defines what happens if dt is an occurrence.\n * With inc == True, if dt itself is an occurrence, it will be returned.\n *\n * @return Date or null\n */\n RRule.prototype.after = function (dt, inc) {\n if (inc === void 0) { inc = false; }\n if (!isValidDate(dt)) {\n throw new Error('Invalid date passed in to RRule.after');\n }\n var args = { dt: dt, inc: inc };\n var result = this._cacheGet('after', args);\n if (result === false) {\n result = this._iter(new IterResult('after', args));\n this._cacheAdd('after', result, args);\n }\n return result;\n };\n /**\n * Returns the number of recurrences in this set. It will have go trough\n * the whole recurrence, if this hasn't been done before.\n */\n RRule.prototype.count = function () {\n return this.all().length;\n };\n /**\n * Converts the rrule into its string representation\n *\n * @see <http://www.ietf.org/rfc/rfc2445.txt>\n * @return String\n */\n RRule.prototype.toString = function () {\n return optionsToString(this.origOptions);\n };\n /**\n * Will convert all rules described in nlp:ToText\n * to text.\n */\n RRule.prototype.toText = function (gettext, language, dateFormatter) {\n return toText(this, gettext, language, dateFormatter);\n };\n RRule.prototype.isFullyConvertibleToText = function () {\n return isFullyConvertible(this);\n };\n /**\n * @return a RRule instance with the same freq and options\n * as this one (cache is not cloned)\n */\n RRule.prototype.clone = function () {\n return new RRule(this.origOptions);\n };\n // RRule class 'constants'\n RRule.FREQUENCIES = [\n 'YEARLY',\n 'MONTHLY',\n 'WEEKLY',\n 'DAILY',\n 'HOURLY',\n 'MINUTELY',\n 'SECONDLY',\n ];\n RRule.YEARLY = Frequency.YEARLY;\n RRule.MONTHLY = Frequency.MONTHLY;\n RRule.WEEKLY = Frequency.WEEKLY;\n RRule.DAILY = Frequency.DAILY;\n RRule.HOURLY = Frequency.HOURLY;\n RRule.MINUTELY = Frequency.MINUTELY;\n RRule.SECONDLY = Frequency.SECONDLY;\n RRule.MO = Days.MO;\n RRule.TU = Days.TU;\n RRule.WE = Days.WE;\n RRule.TH = Days.TH;\n RRule.FR = Days.FR;\n RRule.SA = Days.SA;\n RRule.SU = Days.SU;\n RRule.parseString = parseString;\n RRule.optionsToString = optionsToString;\n return RRule;\n}());\nexport { RRule };\n//# sourceMappingURL=rrule.js.map",
|
|
66
|
+
"import { DateWithZone } from './datewithzone';\nimport { iter } from './iter';\nimport { sort } from './dateutil';\nexport function iterSet(iterResult, _rrule, _exrule, _rdate, _exdate, tzid) {\n var _exdateHash = {};\n var _accept = iterResult.accept;\n function evalExdate(after, before) {\n _exrule.forEach(function (rrule) {\n rrule.between(after, before, true).forEach(function (date) {\n _exdateHash[Number(date)] = true;\n });\n });\n }\n _exdate.forEach(function (date) {\n var zonedDate = new DateWithZone(date, tzid).rezonedDate();\n _exdateHash[Number(zonedDate)] = true;\n });\n iterResult.accept = function (date) {\n var dt = Number(date);\n if (isNaN(dt))\n return _accept.call(this, date);\n if (!_exdateHash[dt]) {\n evalExdate(new Date(dt - 1), new Date(dt + 1));\n if (!_exdateHash[dt]) {\n _exdateHash[dt] = true;\n return _accept.call(this, date);\n }\n }\n return true;\n };\n if (iterResult.method === 'between') {\n evalExdate(iterResult.args.after, iterResult.args.before);\n iterResult.accept = function (date) {\n var dt = Number(date);\n if (!_exdateHash[dt]) {\n _exdateHash[dt] = true;\n return _accept.call(this, date);\n }\n return true;\n };\n }\n for (var i = 0; i < _rdate.length; i++) {\n var zonedDate = new DateWithZone(_rdate[i], tzid).rezonedDate();\n if (!iterResult.accept(new Date(zonedDate.getTime())))\n break;\n }\n _rrule.forEach(function (rrule) {\n iter(iterResult, rrule.options);\n });\n var res = iterResult._result;\n sort(res);\n switch (iterResult.method) {\n case 'all':\n case 'between':\n return res;\n case 'before':\n return ((res.length && res[res.length - 1]) || null);\n case 'after':\n default:\n return ((res.length && res[0]) || null);\n }\n}\n//# sourceMappingURL=iterset.js.map",
|
|
67
|
+
"import { __assign } from \"tslib\";\nimport { RRule } from './rrule';\nimport { RRuleSet } from './rruleset';\nimport { untilStringToDate } from './dateutil';\nimport { includes, split } from './helpers';\nimport { parseString, parseDtstart } from './parsestring';\n/**\n * RRuleStr\n * To parse a set of rrule strings\n */\nvar DEFAULT_OPTIONS = {\n dtstart: null,\n cache: false,\n unfold: false,\n forceset: false,\n compatible: false,\n tzid: null,\n};\nexport function parseInput(s, options) {\n var rrulevals = [];\n var rdatevals = [];\n var exrulevals = [];\n var exdatevals = [];\n var parsedDtstart = parseDtstart(s);\n var dtstart = parsedDtstart.dtstart;\n var tzid = parsedDtstart.tzid;\n var lines = splitIntoLines(s, options.unfold);\n lines.forEach(function (line) {\n var _a;\n if (!line)\n return;\n var _b = breakDownLine(line), name = _b.name, parms = _b.parms, value = _b.value;\n switch (name.toUpperCase()) {\n case 'RRULE':\n if (parms.length) {\n throw new Error(\"unsupported RRULE parm: \".concat(parms.join(',')));\n }\n rrulevals.push(parseString(line));\n break;\n case 'RDATE':\n var _c = (_a = /RDATE(?:;TZID=([^:=]+))?/i.exec(line)) !== null && _a !== void 0 ? _a : [], rdateTzid = _c[1];\n if (rdateTzid && !tzid) {\n tzid = rdateTzid;\n }\n rdatevals = rdatevals.concat(parseRDate(value, parms));\n break;\n case 'EXRULE':\n if (parms.length) {\n throw new Error(\"unsupported EXRULE parm: \".concat(parms.join(',')));\n }\n exrulevals.push(parseString(value));\n break;\n case 'EXDATE':\n exdatevals = exdatevals.concat(parseRDate(value, parms));\n break;\n case 'DTSTART':\n break;\n default:\n throw new Error('unsupported property: ' + name);\n }\n });\n return {\n dtstart: dtstart,\n tzid: tzid,\n rrulevals: rrulevals,\n rdatevals: rdatevals,\n exrulevals: exrulevals,\n exdatevals: exdatevals,\n };\n}\nfunction buildRule(s, options) {\n var _a = parseInput(s, options), rrulevals = _a.rrulevals, rdatevals = _a.rdatevals, exrulevals = _a.exrulevals, exdatevals = _a.exdatevals, dtstart = _a.dtstart, tzid = _a.tzid;\n var noCache = options.cache === false;\n if (options.compatible) {\n options.forceset = true;\n options.unfold = true;\n }\n if (options.forceset ||\n rrulevals.length > 1 ||\n rdatevals.length ||\n exrulevals.length ||\n exdatevals.length) {\n var rset_1 = new RRuleSet(noCache);\n rset_1.dtstart(dtstart);\n rset_1.tzid(tzid || undefined);\n rrulevals.forEach(function (val) {\n rset_1.rrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache));\n });\n rdatevals.forEach(function (date) {\n rset_1.rdate(date);\n });\n exrulevals.forEach(function (val) {\n rset_1.exrule(new RRule(groomRruleOptions(val, dtstart, tzid), noCache));\n });\n exdatevals.forEach(function (date) {\n rset_1.exdate(date);\n });\n if (options.compatible && options.dtstart)\n rset_1.rdate(dtstart);\n return rset_1;\n }\n var val = rrulevals[0] || {};\n return new RRule(groomRruleOptions(val, val.dtstart || options.dtstart || dtstart, val.tzid || options.tzid || tzid), noCache);\n}\nexport function rrulestr(s, options) {\n if (options === void 0) { options = {}; }\n return buildRule(s, initializeOptions(options));\n}\nfunction groomRruleOptions(val, dtstart, tzid) {\n return __assign(__assign({}, val), { dtstart: dtstart, tzid: tzid });\n}\nfunction initializeOptions(options) {\n var invalid = [];\n var keys = Object.keys(options);\n var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n keys.forEach(function (key) {\n if (!includes(defaultKeys, key))\n invalid.push(key);\n });\n if (invalid.length) {\n throw new Error('Invalid options: ' + invalid.join(', '));\n }\n return __assign(__assign({}, DEFAULT_OPTIONS), options);\n}\nfunction extractName(line) {\n if (line.indexOf(':') === -1) {\n return {\n name: 'RRULE',\n value: line,\n };\n }\n var _a = split(line, ':', 1), name = _a[0], value = _a[1];\n return {\n name: name,\n value: value,\n };\n}\nfunction breakDownLine(line) {\n var _a = extractName(line), name = _a.name, value = _a.value;\n var parms = name.split(';');\n if (!parms)\n throw new Error('empty property name');\n return {\n name: parms[0].toUpperCase(),\n parms: parms.slice(1),\n value: value,\n };\n}\nfunction splitIntoLines(s, unfold) {\n if (unfold === void 0) { unfold = false; }\n s = s && s.trim();\n if (!s)\n throw new Error('Invalid empty string');\n // More info about 'unfold' option\n // Go head to http://www.ietf.org/rfc/rfc2445.txt\n if (!unfold) {\n return s.split(/\\s/);\n }\n var lines = s.split('\\n');\n var i = 0;\n while (i < lines.length) {\n // TODO\n var line = (lines[i] = lines[i].replace(/\\s+$/g, ''));\n if (!line) {\n lines.splice(i, 1);\n }\n else if (i > 0 && line[0] === ' ') {\n lines[i - 1] += line.slice(1);\n lines.splice(i, 1);\n }\n else {\n i += 1;\n }\n }\n return lines;\n}\nfunction validateDateParm(parms) {\n parms.forEach(function (parm) {\n if (!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(parm)) {\n throw new Error('unsupported RDATE/EXDATE parm: ' + parm);\n }\n });\n}\nfunction parseRDate(rdateval, parms) {\n validateDateParm(parms);\n return rdateval.split(',').map(function (datestr) { return untilStringToDate(datestr); });\n}\n//# sourceMappingURL=rrulestr.js.map",
|
|
68
|
+
"import { __extends } from \"tslib\";\nimport { RRule } from './rrule';\nimport { sort, timeToUntilString } from './dateutil';\nimport { includes } from './helpers';\nimport { iterSet } from './iterset';\nimport { rrulestr } from './rrulestr';\nimport { optionsToString } from './optionstostring';\nfunction createGetterSetter(fieldName) {\n var _this = this;\n return function (field) {\n if (field !== undefined) {\n _this[\"_\".concat(fieldName)] = field;\n }\n if (_this[\"_\".concat(fieldName)] !== undefined) {\n return _this[\"_\".concat(fieldName)];\n }\n for (var i = 0; i < _this._rrule.length; i++) {\n var field_1 = _this._rrule[i].origOptions[fieldName];\n if (field_1) {\n return field_1;\n }\n }\n };\n}\nvar RRuleSet = /** @class */ (function (_super) {\n __extends(RRuleSet, _super);\n /**\n *\n * @param {Boolean?} noCache\n * The same stratagy as RRule on cache, default to false\n * @constructor\n */\n function RRuleSet(noCache) {\n if (noCache === void 0) { noCache = false; }\n var _this = _super.call(this, {}, noCache) || this;\n _this.dtstart = createGetterSetter.apply(_this, ['dtstart']);\n _this.tzid = createGetterSetter.apply(_this, ['tzid']);\n _this._rrule = [];\n _this._rdate = [];\n _this._exrule = [];\n _this._exdate = [];\n return _this;\n }\n RRuleSet.prototype._iter = function (iterResult) {\n return iterSet(iterResult, this._rrule, this._exrule, this._rdate, this._exdate, this.tzid());\n };\n /**\n * Adds an RRule to the set\n *\n * @param {RRule}\n */\n RRuleSet.prototype.rrule = function (rrule) {\n _addRule(rrule, this._rrule);\n };\n /**\n * Adds an EXRULE to the set\n *\n * @param {RRule}\n */\n RRuleSet.prototype.exrule = function (rrule) {\n _addRule(rrule, this._exrule);\n };\n /**\n * Adds an RDate to the set\n *\n * @param {Date}\n */\n RRuleSet.prototype.rdate = function (date) {\n _addDate(date, this._rdate);\n };\n /**\n * Adds an EXDATE to the set\n *\n * @param {Date}\n */\n RRuleSet.prototype.exdate = function (date) {\n _addDate(date, this._exdate);\n };\n /**\n * Get list of included rrules in this recurrence set.\n *\n * @return List of rrules\n */\n RRuleSet.prototype.rrules = function () {\n return this._rrule.map(function (e) { return rrulestr(e.toString()); });\n };\n /**\n * Get list of excluded rrules in this recurrence set.\n *\n * @return List of exrules\n */\n RRuleSet.prototype.exrules = function () {\n return this._exrule.map(function (e) { return rrulestr(e.toString()); });\n };\n /**\n * Get list of included datetimes in this recurrence set.\n *\n * @return List of rdates\n */\n RRuleSet.prototype.rdates = function () {\n return this._rdate.map(function (e) { return new Date(e.getTime()); });\n };\n /**\n * Get list of included datetimes in this recurrence set.\n *\n * @return List of exdates\n */\n RRuleSet.prototype.exdates = function () {\n return this._exdate.map(function (e) { return new Date(e.getTime()); });\n };\n RRuleSet.prototype.valueOf = function () {\n var result = [];\n if (!this._rrule.length && this._dtstart) {\n result = result.concat(optionsToString({ dtstart: this._dtstart }));\n }\n this._rrule.forEach(function (rrule) {\n result = result.concat(rrule.toString().split('\\n'));\n });\n this._exrule.forEach(function (exrule) {\n result = result.concat(exrule\n .toString()\n .split('\\n')\n .map(function (line) { return line.replace(/^RRULE:/, 'EXRULE:'); })\n .filter(function (line) { return !/^DTSTART/.test(line); }));\n });\n if (this._rdate.length) {\n result.push(rdatesToString('RDATE', this._rdate, this.tzid()));\n }\n if (this._exdate.length) {\n result.push(rdatesToString('EXDATE', this._exdate, this.tzid()));\n }\n return result;\n };\n /**\n * to generate recurrence field such as:\n * DTSTART:19970902T010000Z\n * RRULE:FREQ=YEARLY;COUNT=2;BYDAY=TU\n * RRULE:FREQ=YEARLY;COUNT=1;BYDAY=TH\n */\n RRuleSet.prototype.toString = function () {\n return this.valueOf().join('\\n');\n };\n /**\n * Create a new RRuleSet Object completely base on current instance\n */\n RRuleSet.prototype.clone = function () {\n var rrs = new RRuleSet(!!this._cache);\n this._rrule.forEach(function (rule) { return rrs.rrule(rule.clone()); });\n this._exrule.forEach(function (rule) { return rrs.exrule(rule.clone()); });\n this._rdate.forEach(function (date) { return rrs.rdate(new Date(date.getTime())); });\n this._exdate.forEach(function (date) { return rrs.exdate(new Date(date.getTime())); });\n return rrs;\n };\n return RRuleSet;\n}(RRule));\nexport { RRuleSet };\nfunction _addRule(rrule, collection) {\n if (!(rrule instanceof RRule)) {\n throw new TypeError(String(rrule) + ' is not RRule instance');\n }\n if (!includes(collection.map(String), String(rrule))) {\n collection.push(rrule);\n }\n}\nfunction _addDate(date, collection) {\n if (!(date instanceof Date)) {\n throw new TypeError(String(date) + ' is not Date instance');\n }\n if (!includes(collection.map(Number), Number(date))) {\n collection.push(date);\n sort(collection);\n }\n}\nfunction rdatesToString(param, rdates, tzid) {\n var isUTC = !tzid || tzid.toUpperCase() === 'UTC';\n var header = isUTC ? \"\".concat(param, \":\") : \"\".concat(param, \";TZID=\").concat(tzid, \":\");\n var dateString = rdates\n .map(function (rdate) { return timeToUntilString(rdate.valueOf(), isUTC); })\n .join(',');\n return \"\".concat(header).concat(dateString);\n}\n//# sourceMappingURL=rruleset.js.map",
|
|
69
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css\nvar CurrentTimeIndicator_module_default = {\n\t\"currentTimeIndicator\": \"m_74c54f2d\",\n\t\"currentTimeIndicatorLine\": \"m_e62414c1\",\n\t\"currentTimeIndicatorThumb\": \"m_decee6a9\",\n\t\"currentTimeIndicatorTimeBubble\": \"m_4b00bcc6\"\n};\n//#endregion\nexport { CurrentTimeIndicator_module_default as default };\n\n//# sourceMappingURL=CurrentTimeIndicator.module.mjs.map",
|
|
70
|
+
"\"use client\";\nimport { formatDate } from \"../../utils/format-date/format-date.mjs\";\nimport { getCurrentTimePosition } from \"../../utils/get-current-time-position/get-current-time-position.mjs\";\nimport { isInTimeRange } from \"../../utils/is-in-time-range/is-in-time-range.mjs\";\nimport CurrentTimeIndicator_module_default from \"./CurrentTimeIndicator.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, createVarsResolver, factory, getThemeColor, useProps, useStyles } from \"@mantine/core\";\nimport { useInterval } from \"@mantine/hooks\";\nimport { useState } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/CurrentTimeIndicator/CurrentTimeIndicator.tsx\nconst defaultProps = {\n\t__staticSelector: \"CurrentTimeIndicator\",\n\twithTimeBubble: true,\n\twithThumb: true,\n\tcurrentTimeFormat: \"HH:mm\",\n\ttopOffset: \"0rem\"\n};\nconst varsResolver = createVarsResolver((theme, { color }) => ({ currentTimeIndicator: { \"--indicator-color\": color ? getThemeColor(color, theme) : void 0 } }));\nconst CurrentTimeIndicator = factory((_props) => {\n\tconst props = useProps(\"CurrentTimeIndicator\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, startOffset, endOffset, color, withTimeBubble, withThumb, currentTimeFormat, locale, timeBubbleStartOffset, __staticSelector, topOffset, startTime, endTime, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: CurrentTimeIndicator_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t\tvarsResolver,\n\t\tattributes,\n\t\trootSelector: \"currentTimeIndicator\"\n\t});\n\tconst ctx = useDatesContext();\n\tconst [offsetPercent, setOffsetPercent] = useState(getCurrentTimePosition({\n\t\tstartTime,\n\t\tendTime\n\t}));\n\tuseInterval(() => setOffsetPercent(getCurrentTimePosition({\n\t\tstartTime,\n\t\tendTime\n\t})), 1e3 * 60, { autoInvoke: true });\n\tconst formattedTime = withTimeBubble ? formatDate({\n\t\tlocale: ctx.getLocale(locale),\n\t\tdate: dayjs(),\n\t\tformat: currentTimeFormat\n\t}) : \"\";\n\tif (!isInTimeRange({\n\t\tdate: dayjs().toDate(),\n\t\tstartTime,\n\t\tendTime\n\t})) return null;\n\treturn /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"currentTimeIndicator\"),\n\t\t__vars: {\n\t\t\t\"--top-offset\": `calc(${offsetPercent}% + ${topOffset})`,\n\t\t\t\"--start-offset\": startOffset,\n\t\t\t\"--end-offset\": endOffset,\n\t\t\t\"--time-bubble-start-offset\": timeBubbleStartOffset,\n\t\t\t\"--time-bubble-width\": formattedTime?.toString().toLowerCase().includes(\"m\") ? \"64px\" : \"46px\"\n\t\t},\n\t\t...others,\n\t\tchildren: [\n\t\t\twithTimeBubble && /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t...getStyles(\"currentTimeIndicatorTimeBubble\"),\n\t\t\t\tchildren: formattedTime\n\t\t\t}),\n\t\t\twithThumb && /* @__PURE__ */ jsx(\"div\", { ...getStyles(\"currentTimeIndicatorThumb\") }),\n\t\t\t/* @__PURE__ */ jsx(\"div\", { ...getStyles(\"currentTimeIndicatorLine\") })\n\t\t]\n\t});\n});\nCurrentTimeIndicator.displayName = \"@mantine/schedule/CurrentTimeIndicator\";\nCurrentTimeIndicator.classes = CurrentTimeIndicator_module_default;\nCurrentTimeIndicator.varsResolver = varsResolver;\n//#endregion\nexport { CurrentTimeIndicator };\n\n//# sourceMappingURL=CurrentTimeIndicator.mjs.map",
|
|
71
|
+
"\"use client\";\nimport { createContext } from \"react\";\n//#region packages/@mantine/schedule/src/components/DragContext/DragContext.tsx\nconst DragContext = createContext({});\n//#endregion\nexport { DragContext };\n\n//# sourceMappingURL=DragContext.mjs.map",
|
|
72
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/ScheduleEvent/ScheduleEvent.module.css\nvar ScheduleEvent_module_default = {\n\t\"event\": \"m_1ac94670\",\n\t\"eventInner\": \"m_71699dc6\",\n\t\"eventResizeHandle\": \"m_520128c\"\n};\n//#endregion\nexport { ScheduleEvent_module_default as default };\n\n//# sourceMappingURL=ScheduleEvent.module.mjs.map",
|
|
73
|
+
"\"use client\";\nimport { DragContext } from \"../DragContext/DragContext.mjs\";\nimport ScheduleEvent_module_default from \"./ScheduleEvent.module.mjs\";\nimport { Box, UnstyledButton, createVarsResolver, factory, getRadius, useProps, useStyles } from \"@mantine/core\";\nimport { use, useEffect, useRef } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleEvent/ScheduleEvent.tsx\nconst defaultProps = {\n\t__staticSelector: \"ScheduleEvent\",\n\tmode: \"default\",\n\tradius: \"sm\"\n};\nconst varsResolver = createVarsResolver((theme, { event, variant, radius }) => {\n\tconst colors = theme.variantColorResolver({\n\t\tcolor: event.color || theme.primaryColor,\n\t\ttheme,\n\t\tvariant: variant || event.variant || \"light\",\n\t\tautoContrast: true\n\t});\n\treturn { event: {\n\t\t\"--event-bg\": colors.background,\n\t\t\"--event-hover\": colors.hover,\n\t\t\"--event-color\": colors.color,\n\t\t\"--event-radius\": getRadius(radius)\n\t} };\n});\nconst ScheduleEvent = factory((_props) => {\n\tconst props = useProps(\"ScheduleEvent\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, children, nowrap, radius, color, __staticSelector, event, renderEventBody, renderEvent, size, autoSize, mod, hanging, draggable = false, onEventDragStart, onEventDragEnd, isDragging = false, mode, withResize = false, onResizeStart, isResizing = false, ...others } = props;\n\tconst ctx = use(DragContext);\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: ScheduleEvent_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\tvarsResolver,\n\t\trootSelector: \"event\"\n\t});\n\tconst handleDragStart = (e) => {\n\t\tif (!draggable) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\te.dataTransfer.effectAllowed = \"move\";\n\t\te.dataTransfer.setData(\"application/json\", JSON.stringify({ eventId: event.id }));\n\t\tonEventDragStart?.(event);\n\t\tctx.onDragStart?.(event);\n\t};\n\tconst handleDragEnd = () => {\n\t\tonEventDragEnd?.();\n\t\tctx.onDragEnd?.();\n\t};\n\tconst isCurrentlyDragging = isDragging || ctx.draggedEventId === event.id;\n\tconst isAnyEventDragging = ctx.isDragging || false;\n\tconst dragEndRef = useRef(ctx.onDragEnd);\n\tdragEndRef.current = ctx.onDragEnd;\n\tuseEffect(() => {\n\t\tif (isCurrentlyDragging) return () => {\n\t\t\tdragEndRef.current?.();\n\t\t};\n\t}, [isCurrentlyDragging]);\n\tconst showResizeHandles = withResize && mode !== \"static\";\n\tconst eventChildren = /* @__PURE__ */ jsxs(Fragment, { children: [\n\t\tshowResizeHandles && /* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"eventResizeHandle\"),\n\t\t\tmod: { edge: \"top\" },\n\t\t\tonPointerDown: (e) => onResizeStart?.(\"top\", e)\n\t\t}),\n\t\t/* @__PURE__ */ jsx(Box, {\n\t\t\tmod: {\n\t\t\t\tnowrap,\n\t\t\t\tsize,\n\t\t\t\tautoSize,\n\t\t\t\thanging\n\t\t\t},\n\t\t\t...getStyles(\"eventInner\"),\n\t\t\tchildren: typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title\n\t\t}),\n\t\tshowResizeHandles && /* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"eventResizeHandle\"),\n\t\t\tmod: { edge: \"bottom\" },\n\t\t\tonPointerDown: (e) => onResizeStart?.(\"bottom\", e)\n\t\t})\n\t] });\n\tconst rootProps = {\n\t\t...getStyles(\"event\"),\n\t\t\"data-event-id\": event.id,\n\t\tsize,\n\t\ttitle: event.title,\n\t\tmod: [{\n\t\t\tautoSize,\n\t\t\thanging,\n\t\t\tdraggable,\n\t\t\tdragging: isCurrentlyDragging,\n\t\t\t\"any-dragging\": isAnyEventDragging,\n\t\t\tstatic: mode === \"static\",\n\t\t\tresizing: isResizing,\n\t\t\tresizable: showResizeHandles\n\t\t}, mod],\n\t\tdraggable: draggable && mode !== \"static\",\n\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\tonDragStart: mode === \"static\" ? void 0 : handleDragStart,\n\t\tonDragEnd: mode === \"static\" ? void 0 : handleDragEnd,\n\t\tonClick: mode === \"static\" ? void 0 : others.onClick,\n\t\t...others,\n\t\tchildren: eventChildren\n\t};\n\tif (typeof renderEvent === \"function\") return renderEvent(event, rootProps);\n\treturn /* @__PURE__ */ jsx(UnstyledButton, { ...rootProps });\n});\nScheduleEvent.displayName = \"@mantine/schedule/ScheduleEvent\";\nScheduleEvent.classes = ScheduleEvent_module_default;\nScheduleEvent.varsResolver = varsResolver;\n//#endregion\nexport { ScheduleEvent };\n\n//# sourceMappingURL=ScheduleEvent.mjs.map",
|
|
74
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MoreEvents/MoreEvents.module.css\nvar MoreEvents_module_default = {\n\t\"moreEventsButton\": \"m_c958249f\",\n\t\"moreEventsDropdown\": \"m_fc2b9a3e\",\n\t\"moreEventsList\": \"m_89f3254b\"\n};\n//#endregion\nexport { MoreEvents_module_default as default };\n\n//# sourceMappingURL=MoreEvents.module.mjs.map",
|
|
75
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport { ScheduleEvent } from \"../ScheduleEvent/ScheduleEvent.mjs\";\nimport MoreEvents_module_default from \"./MoreEvents.module.mjs\";\nimport { Modal, Popover, UnstyledButton, factory, useProps, useStyles } from \"@mantine/core\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/MoreEvents/MoreEvents.tsx\nconst defaultProps = { dropdownType: \"popover\" };\nconst MoreEvents = factory((_props) => {\n\tconst props = useProps(\"MoreEvents\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, radius, dropdownType, events, moreEventsCount, popoverProps, modalProps, onDropdownClose, children, modalTitle, renderEventBody, renderEvent, id, labels, mode, onEventClick, ...others } = props;\n\tconst [dropdownOpened, dropdownHandlers] = useDisclosure();\n\tconst getStyles = useStyles({\n\t\tname: \"MoreEvents\",\n\t\tclasses: MoreEvents_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\trootSelector: \"moreEventsButton\"\n\t});\n\tconst handleClose = () => {\n\t\tdropdownHandlers.close();\n\t\tonDropdownClose?.();\n\t};\n\tconst eventsList = /* @__PURE__ */ jsx(\"div\", {\n\t\t...getStyles(\"moreEventsList\"),\n\t\tchildren: events.map((event) => /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\t\tradius,\n\t\t\tevent,\n\t\t\tsize: \"md\",\n\t\t\trenderEventBody,\n\t\t\trenderEvent,\n\t\t\tmode,\n\t\t\tonClick: onEventClick ? (e) => onEventClick(event, e) : void 0,\n\t\t\tchildren: event.title\n\t\t}, event.id))\n\t});\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [dropdownType === \"modal\" && /* @__PURE__ */ jsx(Modal, {\n\t\topened: dropdownOpened,\n\t\tonClose: handleClose,\n\t\tunstyled,\n\t\tradius,\n\t\ttitle: modalTitle,\n\t\t...modalProps,\n\t\tchildren: eventsList\n\t}), /* @__PURE__ */ jsxs(Popover, {\n\t\tposition: \"bottom-start\",\n\t\twidth: 260,\n\t\topened: dropdownOpened,\n\t\ttrapFocus: true,\n\t\treturnFocus: false,\n\t\tunstyled,\n\t\tdisabled: popoverProps?.disabled || dropdownType === \"modal\",\n\t\tradius,\n\t\ttransitionProps: {\n\t\t\ttransition: \"pop\",\n\t\t\tduration: 120\n\t\t},\n\t\toffset: -46,\n\t\tid,\n\t\t...popoverProps,\n\t\tonChange: (_opened) => {\n\t\t\tif (!_opened) {\n\t\t\t\tpopoverProps?.onChange?.(_opened);\n\t\t\t\thandleClose();\n\t\t\t}\n\t\t},\n\t\tchildren: [/* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t...getStyles(\"moreEventsButton\"),\n\t\t\tmod: { static: mode === \"static\" },\n\t\t\tonClick: () => dropdownHandlers.toggle(),\n\t\t\t...others,\n\t\t\tchildren: getLabel(\"moreLabel\", labels)(moreEventsCount)\n\t\t}) }), /* @__PURE__ */ jsx(Popover.Dropdown, {\n\t\t\t...getStyles(\"moreEventsDropdown\"),\n\t\t\tchildren: eventsList\n\t\t})]\n\t})] });\n});\nMoreEvents.displayName = \"@mantine/schedule/MoreEvents\";\nMoreEvents.classes = MoreEvents_module_default;\n//#endregion\nexport { MoreEvents };\n\n//# sourceMappingURL=MoreEvents.mjs.map",
|
|
76
|
+
"\"use client\";\nimport { createContext, useContext } from \"react\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ScheduleHeaderContext.ts\nconst ScheduleHeaderLabelsContext = createContext(void 0);\nScheduleHeaderLabelsContext.displayName = \"@mantine/schedule/ScheduleHeaderLabelsContext\";\nfunction useScheduleHeaderLabels(override) {\n\tconst contextLabels = useContext(ScheduleHeaderLabelsContext);\n\tif (!override) return contextLabels;\n\tif (!contextLabels) return override;\n\treturn {\n\t\t...contextLabels,\n\t\t...override\n\t};\n}\n//#endregion\nexport { ScheduleHeaderLabelsContext, useScheduleHeaderLabels };\n\n//# sourceMappingURL=ScheduleHeaderContext.mjs.map",
|
|
77
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/HeaderControl/HeaderControl.module.css\nvar HeaderControl_module_default = { \"headerControl\": \"m_b366a0f3\" };\n//#endregion\nexport { HeaderControl_module_default as default };\n\n//# sourceMappingURL=HeaderControl.module.mjs.map",
|
|
78
|
+
"\"use client\";\nimport { getLabel } from \"../../../labels.mjs\";\nimport { useScheduleHeaderLabels } from \"../ScheduleHeaderContext.mjs\";\nimport HeaderControl_module_default from \"./HeaderControl.module.mjs\";\nimport { AccordionChevron, UnstyledButton, createVarsResolver, factory, getRadius, useDirection, useProps, useStyles } from \"@mantine/core\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/HeaderControl/HeaderControl.tsx\nconst defaultProps = {\n\t__staticSelector: \"HeaderControl\",\n\tinteractive: true\n};\nconst varsResolver = createVarsResolver((_theme, { radius }) => ({ headerControl: { \"--control-radius\": radius === void 0 ? void 0 : getRadius(radius) } }));\nconst HeaderControl = factory((_props) => {\n\tconst props = useProps(\"HeaderControl\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, __staticSelector, mod, attributes, active, square, radius, interactive, labels, ...others } = props;\n\treturn /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t...useStyles({\n\t\t\tname: __staticSelector,\n\t\t\tclasses: HeaderControl_module_default,\n\t\t\tprops,\n\t\t\tclassName,\n\t\t\tstyle,\n\t\t\tclassNames,\n\t\t\tstyles,\n\t\t\tunstyled,\n\t\t\tattributes,\n\t\t\tvars,\n\t\t\tvarsResolver,\n\t\t\trootSelector: \"headerControl\"\n\t\t})(\"headerControl\", { active: interactive }),\n\t\tmod: [{\n\t\t\tactive,\n\t\t\tsquare,\n\t\t\tinteractive\n\t\t}, mod],\n\t\ttabIndex: interactive ? void 0 : -1,\n\t\t...others\n\t});\n});\nHeaderControl.displayName = \"@mantine/schedule/HeaderControl\";\nHeaderControl.classes = HeaderControl_module_default;\nHeaderControl.varsResolver = varsResolver;\nfunction ScheduleHeaderNext(props) {\n\tconst { dir } = useDirection();\n\treturn /* @__PURE__ */ jsx(HeaderControl, {\n\t\t\"data-type\": \"next\",\n\t\t\"aria-label\": getLabel(\"next\", useScheduleHeaderLabels(props.labels)),\n\t\tsquare: true,\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(AccordionChevron, { style: { transform: `rotate(${dir === \"rtl\" ? 90 : -90}deg)` } })\n\t});\n}\nfunction ScheduleHeaderPrevious(props) {\n\tconst { dir } = useDirection();\n\treturn /* @__PURE__ */ jsx(HeaderControl, {\n\t\t\"data-type\": \"previous\",\n\t\t\"aria-label\": getLabel(\"previous\", useScheduleHeaderLabels(props.labels)),\n\t\tsquare: true,\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(AccordionChevron, { style: { transform: `rotate(${dir === \"rtl\" ? -90 : 90}deg)` } })\n\t});\n}\nfunction ScheduleHeaderToday(props) {\n\tconst resolvedLabels = useScheduleHeaderLabels(props.labels);\n\treturn /* @__PURE__ */ jsx(HeaderControl, {\n\t\t\"data-type\": \"today\",\n\t\t\"aria-label\": getLabel(\"today\", resolvedLabels),\n\t\t...props,\n\t\tchildren: getLabel(\"today\", resolvedLabels)\n\t});\n}\nScheduleHeaderNext.displayName = \"@mantine/schedule/ScheduleHeaderNext\";\nScheduleHeaderPrevious.displayName = \"@mantine/schedule/ScheduleHeaderPrevious\";\nScheduleHeaderToday.displayName = \"@mantine/schedule/ScheduleHeaderToday\";\n//#endregion\nexport { HeaderControl, ScheduleHeaderNext, ScheduleHeaderPrevious, ScheduleHeaderToday };\n\n//# sourceMappingURL=HeaderControl.mjs.map",
|
|
79
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css\nvar MonthYearSelect_module_default = {\n\t\"monthYearSelectTarget\": \"m_9d235876\",\n\t\"monthYearSelectList\": \"m_673e0cc3\",\n\t\"monthYearSelectDropdown\": \"m_e24605b6\",\n\t\"monthYearSelectLabel\": \"m_807fa76f\",\n\t\"monthYearSelectControl\": \"m_9baf5b18\"\n};\n//#endregion\nexport { MonthYearSelect_module_default as default };\n\n//# sourceMappingURL=MonthYearSelect.module.mjs.map",
|
|
80
|
+
"\"use client\";\nimport { getLabel } from \"../../../labels.mjs\";\nimport { formatDate } from \"../../../utils/format-date/format-date.mjs\";\nimport { getMonthsList } from \"../../../utils/get-months-list/get-months-list.mjs\";\nimport { getYearsList } from \"../../../utils/get-years-list/get-years-list.mjs\";\nimport { useScheduleHeaderLabels } from \"../ScheduleHeaderContext.mjs\";\nimport { HeaderControl } from \"../HeaderControl/HeaderControl.mjs\";\nimport MonthYearSelect_module_default from \"./MonthYearSelect.module.mjs\";\nimport { Popover, UnstyledButton, createScopedKeydownHandler, createVarsResolver, factory, getRadius, useProps, useStyles } from \"@mantine/core\";\nimport { useDisclosure } from \"@mantine/hooks\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.tsx\nconst defaultProps = {\n\t__staticSelector: \"MonthYearSelect\",\n\twithMonths: true\n};\nconst varsResolver = createVarsResolver((_theme, { radius }) => ({ monthYearSelectDropdown: { \"--control-radius\": radius === void 0 ? void 0 : getRadius(radius) } }));\nconst MonthYearSelect = factory((_props) => {\n\tconst props = useProps(\"MonthYearSelect\", defaultProps, _props);\n\tconst { __staticSelector, classNames, className, style, styles, unstyled, vars, attributes, popoverProps, startYear, endYear, onYearChange, onMonthChange, locale, monthsListFormat, monthValue, yearValue, labelFormat, radius, getMonthControlProps, getYearControlProps, withMonths, id, labels, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: MonthYearSelect_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\tvarsResolver,\n\t\trootSelector: \"monthYearSelectTarget\"\n\t});\n\tconst [opened, handlers] = useDisclosure(false);\n\tconst resolvedLabels = useScheduleHeaderLabels(labels);\n\tconst today = /* @__PURE__ */ new Date();\n\tconst ctx = useDatesContext();\n\tconst _startYear = startYear ?? today.getFullYear() - 5;\n\tconst _endYear = endYear ?? today.getFullYear() + 5;\n\tconst hasActiveYear = yearValue !== void 0 && yearValue >= _startYear && yearValue <= _endYear;\n\tconst years = getYearsList({\n\t\tstartYear: _startYear,\n\t\tendYear: _endYear\n\t}).map((year, index) => {\n\t\tconst controlProps = getYearControlProps?.(year);\n\t\treturn /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\tonClick: () => {\n\t\t\t\tonYearChange?.(year);\n\t\t\t\tif (!withMonths) handlers.close();\n\t\t\t},\n\t\t\tmod: {\n\t\t\t\ttype: \"year\",\n\t\t\t\tactive: year === yearValue\n\t\t\t},\n\t\t\t\"aria-label\": `${getLabel(\"selectYear\", resolvedLabels)} ${year}`,\n\t\t\ttabIndex: hasActiveYear ? year === yearValue ? 0 : -1 : index === 0 ? 0 : -1,\n\t\t\t...controlProps,\n\t\t\tonKeyDown: createScopedKeydownHandler({\n\t\t\t\tsiblingSelector: \"[data-type=\\\"year\\\"]:not(:disabled)\",\n\t\t\t\tparentSelector: \"[data-list]\",\n\t\t\t\tactivateOnFocus: false,\n\t\t\t\tloop: true,\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tonKeyDown: controlProps?.onKeyDown\n\t\t\t}),\n\t\t\t...getStyles(\"monthYearSelectControl\", {\n\t\t\t\tclassName: controlProps?.className,\n\t\t\t\tstyle: controlProps?.style\n\t\t\t}),\n\t\t\tchildren: year\n\t\t}, year);\n\t});\n\tconst months = withMonths ? getMonthsList({\n\t\tlocale: ctx.getLocale(locale),\n\t\tformat: monthsListFormat || \"MMMM\"\n\t}).map((month) => {\n\t\tconst controlProps = getMonthControlProps?.(month.month);\n\t\treturn /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\tonClick: () => onMonthChange?.(month.month),\n\t\t\tmod: {\n\t\t\t\ttype: \"month\",\n\t\t\t\tactive: month.month === monthValue\n\t\t\t},\n\t\t\ttabIndex: month.month === monthValue ? 0 : -1,\n\t\t\tonKeyDown: createScopedKeydownHandler({\n\t\t\t\tsiblingSelector: \"[data-type=\\\"month\\\"]:not(:disabled)\",\n\t\t\t\tparentSelector: \"[data-list]\",\n\t\t\t\tactivateOnFocus: false,\n\t\t\t\tloop: true,\n\t\t\t\torientation: \"vertical\",\n\t\t\t\tonKeyDown: controlProps?.onKeyDown\n\t\t\t}),\n\t\t\t...controlProps,\n\t\t\t...getStyles(\"monthYearSelectControl\", {\n\t\t\t\tclassName: controlProps?.className,\n\t\t\t\tstyle: controlProps?.style\n\t\t\t}),\n\t\t\t\"aria-label\": `${getLabel(\"selectMonth\", resolvedLabels)} ${month.name}`,\n\t\t\tchildren: month.name\n\t\t}, month.name);\n\t}) : null;\n\treturn /* @__PURE__ */ jsxs(Popover, {\n\t\tposition: \"bottom-start\",\n\t\t__staticSelector,\n\t\ttrapFocus: true,\n\t\ttransitionProps: {\n\t\t\ttransition: \"pop\",\n\t\t\tduration: 120\n\t\t},\n\t\tradius: radius || \"var(--schedule-radius, var(--mantine-radius-default))\",\n\t\tshadow: \"md\",\n\t\toffset: 3,\n\t\twidth: withMonths ? void 0 : \"target\",\n\t\topened,\n\t\tonChange: handlers.set,\n\t\tid,\n\t\t...popoverProps,\n\t\tchildren: [/* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(HeaderControl, {\n\t\t\t...getStyles(\"monthYearSelectTarget\"),\n\t\t\t__staticSelector,\n\t\t\tradius,\n\t\t\t\"data-with-months\": withMonths || void 0,\n\t\t\tonClick: handlers.toggle,\n\t\t\t...others,\n\t\t\tchildren: formatDate({\n\t\t\t\tlocale: ctx.getLocale(locale),\n\t\t\t\tdate: new Date(yearValue ?? today.getFullYear(), monthValue ?? today.getMonth()),\n\t\t\t\tformat: labelFormat || (withMonths ? \"MMMM YYYY\" : \"YYYY\")\n\t\t\t})\n\t\t}) }), /* @__PURE__ */ jsxs(Popover.Dropdown, {\n\t\t\t\"data-with-months\": withMonths || void 0,\n\t\t\t...getStyles(\"monthYearSelectDropdown\"),\n\t\t\tchildren: [withMonths && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\"data-list\": true,\n\t\t\t\t...getStyles(\"monthYearSelectList\"),\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t...getStyles(\"monthYearSelectLabel\"),\n\t\t\t\t\tchildren: getLabel(\"month\", resolvedLabels)\n\t\t\t\t}), months]\n\t\t\t}), /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\"data-list\": true,\n\t\t\t\t...getStyles(\"monthYearSelectList\"),\n\t\t\t\tchildren: [withMonths && /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t...getStyles(\"monthYearSelectLabel\"),\n\t\t\t\t\tchildren: getLabel(\"year\", resolvedLabels)\n\t\t\t\t}), years]\n\t\t\t})]\n\t\t})]\n\t});\n});\nMonthYearSelect.displayName = \"@mantine/schedule/MonthYearSelect\";\nMonthYearSelect.classes = MonthYearSelect_module_default;\nMonthYearSelect.varsResolver = varsResolver;\n//#endregion\nexport { MonthYearSelect };\n\n//# sourceMappingURL=MonthYearSelect.mjs.map",
|
|
81
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ViewSelect/ViewSelect.module.css\nvar ViewSelect_module_default = { \"viewSelect\": \"m_e106e12d\" };\n//#endregion\nexport { ViewSelect_module_default as default };\n\n//# sourceMappingURL=ViewSelect.module.mjs.map",
|
|
82
|
+
"\"use client\";\nimport { getLabel } from \"../../../labels.mjs\";\nimport { useScheduleHeaderLabels } from \"../ScheduleHeaderContext.mjs\";\nimport { HeaderControl } from \"../HeaderControl/HeaderControl.mjs\";\nimport ViewSelect_module_default from \"./ViewSelect.module.mjs\";\nimport { Box, factory, useDirection, useProps, useResolvedStylesApi, useStyles } from \"@mantine/core\";\nimport { useEffect, useRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ViewSelect/ViewSelect.tsx\nconst defaultProps = {\n\t__staticSelector: \"ViewSelect\",\n\tviews: [\n\t\t\"day\",\n\t\t\"week\",\n\t\t\"month\",\n\t\t\"year\"\n\t]\n};\nconst ViewSelect = factory((_props) => {\n\tconst props = useProps(\"ViewSelect\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, value, onChange, views, __staticSelector, radius, labels, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: ViewSelect_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\trootSelector: \"viewSelect\"\n\t});\n\tconst resolvedLabels = useScheduleHeaderLabels(labels);\n\tconst { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n\t\tclassNames,\n\t\tstyles,\n\t\tprops\n\t});\n\tconst { dir } = useDirection();\n\tconst controlsRef = useRef([]);\n\tconst activatedWithKeyboardRef = useRef(false);\n\tuseEffect(() => {\n\t\tif (activatedWithKeyboardRef.current && document.activeElement === document.body) {\n\t\t\tconst selectedIndex = views.findIndex((view) => view === value);\n\t\t\tif (selectedIndex !== -1) controlsRef.current[selectedIndex]?.focus();\n\t\t}\n\t\tactivatedWithKeyboardRef.current = false;\n\t}, []);\n\tconst handleKeyDown = (event, index) => {\n\t\tconst isRtl = dir === \"rtl\";\n\t\tconst nextKey = isRtl ? \"ArrowLeft\" : \"ArrowRight\";\n\t\tconst prevKey = isRtl ? \"ArrowRight\" : \"ArrowLeft\";\n\t\tif (event.key === nextKey) {\n\t\t\tevent.preventDefault();\n\t\t\tconst nextIndex = index < views.length - 1 ? index + 1 : 0;\n\t\t\tcontrolsRef.current[nextIndex]?.focus();\n\t\t} else if (event.key === prevKey) {\n\t\t\tevent.preventDefault();\n\t\t\tconst prevIndex = index > 0 ? index - 1 : views.length - 1;\n\t\t\tcontrolsRef.current[prevIndex]?.focus();\n\t\t} else if (event.key === \"Home\") {\n\t\t\tevent.preventDefault();\n\t\t\tcontrolsRef.current[0]?.focus();\n\t\t} else if (event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tcontrolsRef.current[views.length - 1]?.focus();\n\t\t} else if (event.key === \"Enter\" || event.key === \" \") activatedWithKeyboardRef.current = true;\n\t};\n\tconst switchToLabelKeys = {\n\t\tday: \"switchToDayView\",\n\t\tweek: \"switchToWeekView\",\n\t\tmonth: \"switchToMonthView\",\n\t\tyear: \"switchToYearView\"\n\t};\n\tconst items = views.map((view, index) => {\n\t\tconst isSelected = value === view;\n\t\treturn /* @__PURE__ */ jsx(HeaderControl, {\n\t\t\tref: (node) => {\n\t\t\t\tcontrolsRef.current[index] = node;\n\t\t\t},\n\t\t\t\"data-type\": view,\n\t\t\tactive: isSelected,\n\t\t\tonClick: () => onChange?.(view),\n\t\t\tonKeyDown: (event) => handleKeyDown(event, index),\n\t\t\tclassNames: resolvedClassNames,\n\t\t\tstyles: resolvedStyles,\n\t\t\t__staticSelector,\n\t\t\tradius,\n\t\t\trole: \"tab\",\n\t\t\t\"aria-label\": getLabel(switchToLabelKeys[view], resolvedLabels),\n\t\t\t\"aria-selected\": isSelected,\n\t\t\ttabIndex: isSelected ? 0 : -1,\n\t\t\tchildren: getLabel(view, resolvedLabels)\n\t\t}, view);\n\t});\n\treturn /* @__PURE__ */ jsx(Box, {\n\t\t...getStyles(\"viewSelect\"),\n\t\trole: \"tablist\",\n\t\t\"aria-label\": getLabel(\"viewSelectLabel\", resolvedLabels),\n\t\t...others,\n\t\tchildren: items\n\t});\n});\nViewSelect.displayName = \"@mantine/schedule/ViewSelect\";\nViewSelect.classes = ViewSelect_module_default;\n//#endregion\nexport { ViewSelect };\n\n//# sourceMappingURL=ViewSelect.mjs.map",
|
|
83
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ScheduleHeader.module.css\nvar ScheduleHeader_module_default = {\n\t\"header\": \"m_9d44fc56\",\n\t\"navigationGroup\": \"m_21150122\",\n\t\"todayControl\": \"m_7a42c1e5\",\n\t\"viewSelect\": \"m_5998194a\",\n\t\"compactViewSelect\": \"m_feecf21b\"\n};\n//#endregion\nexport { ScheduleHeader_module_default as default };\n\n//# sourceMappingURL=ScheduleHeader.module.mjs.map",
|
|
84
|
+
"\"use client\";\nimport { ScheduleHeaderLabelsContext } from \"./ScheduleHeaderContext.mjs\";\nimport { HeaderControl, ScheduleHeaderNext, ScheduleHeaderPrevious, ScheduleHeaderToday } from \"./HeaderControl/HeaderControl.mjs\";\nimport { MonthYearSelect } from \"./MonthYearSelect/MonthYearSelect.mjs\";\nimport { ViewSelect } from \"./ViewSelect/ViewSelect.mjs\";\nimport ScheduleHeader_module_default from \"./ScheduleHeader.module.mjs\";\nimport { Box, createVarsResolver, factory, useProps, useStyles } from \"@mantine/core\";\nimport { jsx } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ScheduleHeader.tsx\nconst defaultProps = { __staticSelector: \"ScheduleHeader\" };\nconst varsResolver = createVarsResolver(() => ({ scheduleHeader: { \"--test\": \"test\" } }));\nconst ScheduleHeader = factory((_props) => {\n\tconst props = useProps(\"ScheduleHeader\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, __staticSelector, labels, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: ScheduleHeader_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t\tvarsResolver,\n\t\tattributes,\n\t\trootSelector: \"header\"\n\t});\n\treturn /* @__PURE__ */ jsx(ScheduleHeaderLabelsContext.Provider, {\n\t\tvalue: labels,\n\t\tchildren: /* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"header\"),\n\t\t\t...others\n\t\t})\n\t});\n});\nScheduleHeader.displayName = \"@mantine/schedule/ScheduleHeader\";\nScheduleHeader.classes = ScheduleHeader_module_default;\nScheduleHeader.varsResolver = varsResolver;\nScheduleHeader.Control = HeaderControl;\nScheduleHeader.Next = ScheduleHeaderNext;\nScheduleHeader.Previous = ScheduleHeaderPrevious;\nScheduleHeader.Today = ScheduleHeaderToday;\nScheduleHeader.ViewSelect = ViewSelect;\nScheduleHeader.MonthYearSelect = MonthYearSelect;\n//#endregion\nexport { ScheduleHeader };\n\n//# sourceMappingURL=ScheduleHeader.mjs.map",
|
|
85
|
+
"\"use client\";\nimport { useEffect, useEffectEvent, useRef } from \"react\";\n//#region packages/@mantine/schedule/src/hooks/use-auto-scroll-on-drag.ts\nconst EDGE_THRESHOLD = 50;\nconst MAX_SCROLL_SPEED = 8;\nfunction useAutoScrollOnDrag({ viewportRef, enabled }) {\n\tconst rafId = useRef(null);\n\tconst scrollDirection = useRef(0);\n\tconst stopScroll = useEffectEvent(() => {\n\t\tif (rafId.current !== null) {\n\t\t\tcancelAnimationFrame(rafId.current);\n\t\t\trafId.current = null;\n\t\t}\n\t\tscrollDirection.current = 0;\n\t});\n\tconst startScroll = useEffectEvent(() => {\n\t\tif (rafId.current !== null) return;\n\t\tconst tick = () => {\n\t\t\tconst viewport = viewportRef.current;\n\t\t\tif (!viewport || scrollDirection.current === 0) {\n\t\t\t\trafId.current = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tviewport.scrollTop += scrollDirection.current;\n\t\t\trafId.current = requestAnimationFrame(tick);\n\t\t};\n\t\trafId.current = requestAnimationFrame(tick);\n\t});\n\tuseEffect(() => {\n\t\tif (!enabled) return;\n\t\tconst viewport = viewportRef.current;\n\t\tif (!viewport) return;\n\t\tconst handleDragOver = (event) => {\n\t\t\tconst rect = viewport.getBoundingClientRect();\n\t\t\tconst distanceFromTop = event.clientY - rect.top;\n\t\t\tconst distanceFromBottom = rect.bottom - event.clientY;\n\t\t\tif (distanceFromTop < EDGE_THRESHOLD) {\n\t\t\t\tconst proximity = 1 - distanceFromTop / EDGE_THRESHOLD;\n\t\t\t\tscrollDirection.current = -Math.ceil(proximity * MAX_SCROLL_SPEED);\n\t\t\t\tstartScroll();\n\t\t\t} else if (distanceFromBottom < EDGE_THRESHOLD) {\n\t\t\t\tconst proximity = 1 - distanceFromBottom / EDGE_THRESHOLD;\n\t\t\t\tscrollDirection.current = Math.ceil(proximity * MAX_SCROLL_SPEED);\n\t\t\t\tstartScroll();\n\t\t\t} else stopScroll();\n\t\t};\n\t\tconst handleDragEnd = () => {\n\t\t\tstopScroll();\n\t\t};\n\t\tviewport.addEventListener(\"dragover\", handleDragOver);\n\t\tviewport.addEventListener(\"dragleave\", handleDragEnd);\n\t\tviewport.addEventListener(\"dragend\", handleDragEnd);\n\t\tviewport.addEventListener(\"drop\", handleDragEnd);\n\t\treturn () => {\n\t\t\tstopScroll();\n\t\t\tviewport.removeEventListener(\"dragover\", handleDragOver);\n\t\t\tviewport.removeEventListener(\"dragleave\", handleDragEnd);\n\t\t\tviewport.removeEventListener(\"dragend\", handleDragEnd);\n\t\t\tviewport.removeEventListener(\"drop\", handleDragEnd);\n\t\t};\n\t}, [enabled, viewportRef]);\n}\n//#endregion\nexport { useAutoScrollOnDrag };\n\n//# sourceMappingURL=use-auto-scroll-on-drag.mjs.map",
|
|
86
|
+
"\"use client\";\nimport { useCallback, useState } from \"react\";\n//#region packages/@mantine/schedule/src/hooks/use-drag-state.ts\nconst initialState = {\n\tisDragging: false,\n\tdraggedEventId: null,\n\tdraggedEvent: null,\n\tdropTarget: null\n};\nfunction useDragState() {\n\tconst [state, setState] = useState(initialState);\n\treturn {\n\t\tstate,\n\t\tstartDrag: useCallback((event) => {\n\t\t\tsetState({\n\t\t\t\tisDragging: true,\n\t\t\t\tdraggedEventId: event.id,\n\t\t\t\tdraggedEvent: event,\n\t\t\t\tdropTarget: null\n\t\t\t});\n\t\t}, []),\n\t\tendDrag: useCallback(() => {\n\t\t\tsetState(initialState);\n\t\t}, []),\n\t\tsetDropTarget: useCallback((target) => {\n\t\t\tsetState((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tdropTarget: target\n\t\t\t}));\n\t\t}, []),\n\t\tclearDropTarget: useCallback(() => {\n\t\t\tsetState((prev) => ({\n\t\t\t\t...prev,\n\t\t\t\tdropTarget: null\n\t\t\t}));\n\t\t}, [])\n\t};\n}\n//#endregion\nexport { useDragState };\n\n//# sourceMappingURL=use-drag-state.mjs.map",
|
|
87
|
+
"\"use client\";\nimport { useDragState } from \"./use-drag-state.mjs\";\nimport dayjs from \"dayjs\";\nimport { useCallback, useEffectEvent, useState } from \"react\";\n//#region packages/@mantine/schedule/src/hooks/use-drag-drop-handlers.ts\n/**\n* Hook that provides unified drag-drop handlers for Schedule views.\n* Handles drag state management and event drops across Day, Week, and Month views.\n*\n* @template T - Type of the drop target (e.g., slot index, day string, etc.)\n*/\nfunction useDragDropHandlers(options) {\n\tconst { enabled, mode, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, calculateDropTarget, onExternalDrop } = options;\n\tconst stableOnEventDrop = useEffectEvent(onEventDrop || (() => {}));\n\tconst stableOnEventDragStart = useEffectEvent(onEventDragStart || (() => {}));\n\tconst stableOnEventDragEnd = useEffectEvent(onEventDragEnd || (() => {}));\n\tconst stableOnExternalDrop = useEffectEvent(onExternalDrop || (() => {}));\n\tconst dragState = useDragState();\n\tconst [dropTarget, setDropTarget] = useState(null);\n\tconst handleDragEnd = useCallback(() => {\n\t\tdragState.endDrag();\n\t\tsetDropTarget(null);\n\t\tstableOnEventDragEnd();\n\t}, [dragState]);\n\tconst handleDragStart = useCallback((event) => {\n\t\tif (!enabled || mode === \"static\") return;\n\t\tdragState.startDrag(event);\n\t\tstableOnEventDragStart(event);\n\t}, [\n\t\tenabled,\n\t\tmode,\n\t\tdragState\n\t]);\n\tconst handleDragOver = useCallback((event, target) => {\n\t\tif (mode === \"static\") return;\n\t\tlet isInternalDrag = dragState.state.isDragging;\n\t\tif (isInternalDrag && !event.dataTransfer.types.includes(\"application/json\")) {\n\t\t\thandleDragEnd();\n\t\t\tisInternalDrag = false;\n\t\t}\n\t\tif (isInternalDrag && !enabled) return;\n\t\tif (!isInternalDrag && !onExternalDrop) return;\n\t\tevent.preventDefault();\n\t\tevent.dataTransfer.dropEffect = isInternalDrag ? \"move\" : \"copy\";\n\t\tsetDropTarget(target);\n\t}, [\n\t\tenabled,\n\t\tmode,\n\t\tdragState.state.isDragging,\n\t\tonExternalDrop,\n\t\thandleDragEnd\n\t]);\n\tconst handleDragLeave = useCallback(() => {\n\t\tsetDropTarget(null);\n\t}, []);\n\tconst handleDrop = useCallback((event, target) => {\n\t\tevent.preventDefault();\n\t\tconst isInternalDrag = dragState.state.isDragging && event.dataTransfer.types.includes(\"application/json\");\n\t\tif (isInternalDrag && enabled && dragState.state.draggedEvent && onEventDrop) {\n\t\t\tconst { start, end } = calculateDropTarget(target, dragState.state.draggedEvent);\n\t\t\tstableOnEventDrop({\n\t\t\t\teventId: dragState.state.draggedEventId,\n\t\t\t\tnewStart: dayjs(start).format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\t\tnewEnd: dayjs(end).format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\t\tevent: dragState.state.draggedEvent\n\t\t\t});\n\t\t\thandleDragEnd();\n\t\t\treturn;\n\t\t}\n\t\tif (!isInternalDrag && onExternalDrop) {\n\t\t\tif (dragState.state.isDragging) handleDragEnd();\n\t\t\tstableOnExternalDrop(event, target);\n\t\t\tsetDropTarget(null);\n\t\t\treturn;\n\t\t}\n\t\tsetDropTarget(null);\n\t}, [\n\t\tenabled,\n\t\tdragState.state,\n\t\tonEventDrop,\n\t\tonExternalDrop,\n\t\tcalculateDropTarget,\n\t\thandleDragEnd,\n\t\tstableOnEventDrop,\n\t\tstableOnExternalDrop\n\t]);\n\tconst isDraggableEvent = useCallback((event) => {\n\t\treturn enabled && mode !== \"static\" && event.display !== \"background\" && (canDragEvent ? canDragEvent(event) : true);\n\t}, [\n\t\tenabled,\n\t\tmode,\n\t\tcanDragEvent\n\t]);\n\tconst isDropTarget = useCallback((target) => {\n\t\tif (dropTarget && typeof dropTarget === \"object\" && typeof target === \"object\") return JSON.stringify(dropTarget) === JSON.stringify(target);\n\t\treturn dropTarget === target;\n\t}, [dropTarget]);\n\treturn {\n\t\tdragContextValue: {\n\t\t\tisDragging: dragState.state.isDragging,\n\t\t\tdraggedEventId: dragState.state.draggedEventId,\n\t\t\tdraggedEvent: dragState.state.draggedEvent,\n\t\t\tdropTarget: dragState.state.dropTarget,\n\t\t\tonDragStart: handleDragStart,\n\t\t\tonDragEnd: handleDragEnd,\n\t\t\tsetDropTarget: dragState.setDropTarget\n\t\t},\n\t\tdropTarget,\n\t\thandleDragStart,\n\t\thandleDragEnd,\n\t\thandleDragOver,\n\t\thandleDragLeave,\n\t\thandleDrop,\n\t\tisDraggableEvent,\n\t\tisDropTarget\n\t};\n}\n//#endregion\nexport { useDragDropHandlers };\n\n//# sourceMappingURL=use-drag-drop-handlers.mjs.map",
|
|
88
|
+
"\"use client\";\nimport { clampIntervalMinutes } from \"../utils/clamp-interval-minutes/clamp-interval-minutes.mjs\";\nimport { parseTimeString } from \"../utils/parse-time-string/parse-time-string.mjs\";\nimport dayjs from \"dayjs\";\nimport { useCallback, useEffect, useEffectEvent, useRef, useState } from \"react\";\n//#region packages/@mantine/schedule/src/hooks/use-event-resize.ts\nfunction useEventResize({ enabled = false, mode = \"default\", startTime, endTime, intervalMinutes, onEventResize, canResizeEvent }) {\n\tconst [resizeState, setResizeState] = useState(null);\n\tconst resizeRef = useRef(null);\n\tconst justResizedRef = useRef(false);\n\tconst stableOnEventResize = useEffectEvent(onEventResize || (() => {}));\n\tconst parsedStartTime = parseTimeString(startTime);\n\tconst parsedEndTime = parseTimeString(endTime);\n\tconst startMinutes = parsedStartTime.hours * 60 + parsedStartTime.minutes;\n\tconst endMinutes = parsedEndTime.hours * 60 + parsedEndTime.minutes;\n\tconst clampedInterval = clampIntervalMinutes(intervalMinutes);\n\tconst literalRange = endMinutes - startMinutes;\n\tconst totalMinutes = Math.ceil(literalRange / clampedInterval) * clampedInterval;\n\tconst minHeightPercent = clampedInterval / totalMinutes * 100;\n\tconst clampAndSnap = useCallback((minutes) => {\n\t\tconst snapped = Math.round(minutes / clampedInterval) * clampedInterval;\n\t\treturn Math.max(0, Math.min(literalRange, snapped));\n\t}, [literalRange, clampedInterval]);\n\tconst percentToDateTime = useCallback((percent, eventDate) => {\n\t\tconst totalMins = startMinutes + clampAndSnap(percent / 100 * totalMinutes);\n\t\tconst hours = Math.floor(totalMins / 60);\n\t\tconst mins = totalMins % 60;\n\t\treturn `${eventDate} ${String(hours).padStart(2, \"0\")}:${String(mins).padStart(2, \"0\")}:00`;\n\t}, [\n\t\ttotalMinutes,\n\t\tstartMinutes,\n\t\tclampAndSnap\n\t]);\n\tconst snapPercent = useCallback((percent) => {\n\t\treturn clampAndSnap(percent / 100 * totalMinutes) / totalMinutes * 100;\n\t}, [totalMinutes, clampAndSnap]);\n\tconst handleResizeStart = useCallback(({ event, edge, container, originalTop, originalHeight, eventDate, pointerEvent }) => {\n\t\tif (!enabled || mode === \"static\") return;\n\t\tpointerEvent.preventDefault();\n\t\tpointerEvent.stopPropagation();\n\t\tconst state = {\n\t\t\teventId: event.id,\n\t\t\tevent,\n\t\t\tedge,\n\t\t\tcontainer,\n\t\t\toriginalTop,\n\t\t\toriginalHeight,\n\t\t\tcurrentTop: originalTop,\n\t\t\tcurrentHeight: originalHeight,\n\t\t\teventDate,\n\t\t\toriginalStart: dayjs(event.start).format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\toriginalEnd: dayjs(event.end).format(\"YYYY-MM-DD HH:mm:ss\")\n\t\t};\n\t\tresizeRef.current = state;\n\t\tsetResizeState(state);\n\t}, [enabled, mode]);\n\tconst isResizing = resizeState !== null;\n\tuseEffect(() => {\n\t\tif (!isResizing) return;\n\t\tconst savedUserSelect = document.body.style.userSelect;\n\t\tdocument.body.style.userSelect = \"none\";\n\t\tconst handlePointerMove = (e) => {\n\t\t\tconst state = resizeRef.current;\n\t\t\tif (!state) return;\n\t\t\tconst containerRect = state.container.getBoundingClientRect();\n\t\t\tconst relativeY = e.clientY - containerRect.top;\n\t\t\tconst snappedPercent = snapPercent(Math.max(0, Math.min(100, relativeY / containerRect.height * 100)));\n\t\t\tlet newTop = state.originalTop;\n\t\t\tlet newHeight = state.originalHeight;\n\t\t\tif (state.edge === \"bottom\") newHeight = Math.max(minHeightPercent, snappedPercent - state.originalTop);\n\t\t\telse {\n\t\t\t\tconst originalBottom = state.originalTop + state.originalHeight;\n\t\t\t\tnewTop = Math.min(snappedPercent, originalBottom - minHeightPercent);\n\t\t\t\tnewHeight = originalBottom - newTop;\n\t\t\t}\n\t\t\tresizeRef.current = {\n\t\t\t\t...state,\n\t\t\t\tcurrentTop: newTop,\n\t\t\t\tcurrentHeight: newHeight\n\t\t\t};\n\t\t\tsetResizeState(resizeRef.current);\n\t\t};\n\t\tconst handlePointerUp = () => {\n\t\t\tconst state = resizeRef.current;\n\t\t\tif (state) {\n\t\t\t\tif (state.currentTop !== state.originalTop || state.currentHeight !== state.originalHeight) {\n\t\t\t\t\tlet newStart;\n\t\t\t\t\tlet newEnd;\n\t\t\t\t\tif (state.edge === \"top\") {\n\t\t\t\t\t\tnewStart = percentToDateTime(state.currentTop, state.eventDate);\n\t\t\t\t\t\tnewEnd = state.originalEnd;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewStart = state.originalStart;\n\t\t\t\t\t\tnewEnd = percentToDateTime(state.currentTop + state.currentHeight, state.eventDate);\n\t\t\t\t\t}\n\t\t\t\t\tstableOnEventResize({\n\t\t\t\t\t\teventId: state.eventId,\n\t\t\t\t\t\tnewStart,\n\t\t\t\t\t\tnewEnd,\n\t\t\t\t\t\tevent: state.event\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tresizeRef.current = null;\n\t\t\tsetResizeState(null);\n\t\t\tjustResizedRef.current = true;\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tjustResizedRef.current = false;\n\t\t\t});\n\t\t};\n\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\t\treturn () => {\n\t\t\tdocument.body.style.userSelect = savedUserSelect;\n\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t};\n\t}, [isResizing]);\n\tconst getResizePosition = useCallback((eventId) => {\n\t\tif (!resizeState || resizeState.eventId !== eventId) return null;\n\t\treturn {\n\t\t\ttop: resizeState.currentTop,\n\t\t\theight: resizeState.currentHeight\n\t\t};\n\t}, [resizeState]);\n\tconst isResizableEvent = useCallback((event) => {\n\t\tif (!enabled || mode === \"static\" || event.display === \"background\") return false;\n\t\treturn canResizeEvent ? canResizeEvent(event) : true;\n\t}, [\n\t\tenabled,\n\t\tmode,\n\t\tcanResizeEvent\n\t]);\n\tconst wasResizing = useCallback(() => justResizedRef.current, []);\n\treturn {\n\t\thandleResizeStart,\n\t\tisResizing,\n\t\tresizingEventId: resizeState?.eventId ?? null,\n\t\tgetResizePosition,\n\t\tisResizableEvent,\n\t\twasResizing\n\t};\n}\n//#endregion\nexport { useEventResize };\n\n//# sourceMappingURL=use-event-resize.mjs.map",
|
|
89
|
+
"\"use client\";\nimport { useCallback, useEffect, useEffectEvent, useRef, useState } from \"react\";\n//#region packages/@mantine/schedule/src/hooks/use-slot-drag-select.ts\nfunction useSlotDragSelect({ enabled = true, onDragEnd }) {\n\tconst [selectedRange, setSelectedRange] = useState(null);\n\tconst dragRef = useRef(null);\n\tconst stableOnDragEnd = useEffectEvent(onDragEnd || (() => {}));\n\tconst handleSlotPointerDown = useCallback((_event, index, group) => {\n\t\tif (!enabled) return;\n\t\tdragRef.current = {\n\t\t\tgroup,\n\t\t\tstartIndex: index,\n\t\t\tcurrentIndex: index\n\t\t};\n\t\tsetSelectedRange({\n\t\t\tgroup,\n\t\t\tstart: index,\n\t\t\tend: index\n\t\t});\n\t}, [enabled]);\n\tconst isDragging = selectedRange !== null;\n\tuseEffect(() => {\n\t\tif (!isDragging) return;\n\t\tconst savedUserSelect = document.body.style.userSelect;\n\t\tdocument.body.style.userSelect = \"none\";\n\t\tconst handlePointerMove = (e) => {\n\t\t\tif (!dragRef.current) return;\n\t\t\tconst elements = document.elementsFromPoint(e.clientX, e.clientY);\n\t\t\tfor (const el of elements) {\n\t\t\t\tconst indexAttr = el.getAttribute?.(\"data-drag-slot-index\");\n\t\t\t\tconst groupAttr = el.getAttribute?.(\"data-drag-slot-group\");\n\t\t\t\tif (indexAttr != null && groupAttr != null) {\n\t\t\t\t\tif (groupAttr === dragRef.current.group) {\n\t\t\t\t\t\tconst newIndex = Number(indexAttr);\n\t\t\t\t\t\tif (!isNaN(newIndex) && newIndex !== dragRef.current.currentIndex) {\n\t\t\t\t\t\t\tdragRef.current.currentIndex = newIndex;\n\t\t\t\t\t\t\tsetSelectedRange({\n\t\t\t\t\t\t\t\tgroup: groupAttr,\n\t\t\t\t\t\t\t\tstart: Math.min(dragRef.current.startIndex, newIndex),\n\t\t\t\t\t\t\t\tend: Math.max(dragRef.current.startIndex, newIndex)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst handlePointerUp = () => {\n\t\t\tif (dragRef.current) {\n\t\t\t\tconst { startIndex, currentIndex, group } = dragRef.current;\n\t\t\t\tif (startIndex !== currentIndex) stableOnDragEnd(Math.min(startIndex, currentIndex), Math.max(startIndex, currentIndex), group);\n\t\t\t}\n\t\t\tdragRef.current = null;\n\t\t\tsetSelectedRange(null);\n\t\t};\n\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\t\treturn () => {\n\t\t\tdocument.body.style.userSelect = savedUserSelect;\n\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t};\n\t}, [isDragging]);\n\treturn {\n\t\thandleSlotPointerDown,\n\t\tisSlotSelected: useCallback((index, group) => {\n\t\t\tif (!selectedRange || selectedRange.group !== group) return false;\n\t\t\treturn index >= selectedRange.start && index <= selectedRange.end;\n\t\t}, [selectedRange]),\n\t\tisDragging\n\t};\n}\n//#endregion\nexport { useSlotDragSelect };\n\n//# sourceMappingURL=use-slot-drag-select.mjs.map",
|
|
90
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport ScheduleHeader_module_default from \"./ScheduleHeader.module.mjs\";\nimport { ScheduleHeader } from \"./ScheduleHeader.mjs\";\nimport { NativeSelect } from \"@mantine/core\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/ScheduleHeader/ScheduleHeaderBase.tsx\nconst VIEW_LEVELS = [\n\t\"day\",\n\t\"week\",\n\t\"month\",\n\t\"year\"\n];\nfunction ScheduleHeaderBase({ view, navigationHandlers, control, labels, onDateChange, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, stylesApiProps }) {\n\tconst centralControl = control.monthYearSelect ? /* @__PURE__ */ jsx(ScheduleHeader.MonthYearSelect, {\n\t\t...stylesApiProps,\n\t\tlabels,\n\t\t...control.monthYearSelect\n\t}) : /* @__PURE__ */ jsx(ScheduleHeader.Control, {\n\t\t...stylesApiProps,\n\t\tinteractive: false,\n\t\tmiw: control.miw,\n\t\tchildren: control.title\n\t});\n\tconst compactViewSelectData = (viewSelectProps?.views || VIEW_LEVELS).map((v) => ({\n\t\tvalue: v,\n\t\tlabel: getLabel(v, labels)\n\t}));\n\treturn /* @__PURE__ */ jsxs(ScheduleHeader, {\n\t\t...stylesApiProps,\n\t\tlabels,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\tclassName: ScheduleHeader_module_default.navigationGroup,\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ jsx(ScheduleHeader.Previous, {\n\t\t\t\t\t\t...stylesApiProps,\n\t\t\t\t\t\tonClick: () => onDateChange?.(navigationHandlers.previous()),\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\t...previousControlProps\n\t\t\t\t\t}),\n\t\t\t\t\tcentralControl,\n\t\t\t\t\t/* @__PURE__ */ jsx(ScheduleHeader.Next, {\n\t\t\t\t\t\t...stylesApiProps,\n\t\t\t\t\t\tonClick: () => onDateChange?.(navigationHandlers.next()),\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\t...nextControlProps\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\tclassName: ScheduleHeader_module_default.todayControl,\n\t\t\t\tchildren: /* @__PURE__ */ jsx(ScheduleHeader.Today, {\n\t\t\t\t\t...stylesApiProps,\n\t\t\t\t\tonClick: () => onDateChange?.(navigationHandlers.today()),\n\t\t\t\t\tlabels,\n\t\t\t\t\t...todayControlProps\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(NativeSelect, {\n\t\t\t\tclassName: ScheduleHeader_module_default.compactViewSelect,\n\t\t\t\tdata: compactViewSelectData,\n\t\t\t\tvalue: view,\n\t\t\t\tonChange: (event) => onViewChange?.(event.currentTarget.value),\n\t\t\t\t\"aria-label\": getLabel(\"viewSelectLabel\", labels),\n\t\t\t\tsize: \"sm\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\tclassName: ScheduleHeader_module_default.viewSelect,\n\t\t\t\tstyle: { marginInlineStart: \"auto\" },\n\t\t\t\tchildren: /* @__PURE__ */ jsx(ScheduleHeader.ViewSelect, {\n\t\t\t\t\tvalue: view,\n\t\t\t\t\tonChange: onViewChange,\n\t\t\t\t\tlabels,\n\t\t\t\t\t...stylesApiProps,\n\t\t\t\t\t...viewSelectProps\n\t\t\t\t})\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\nexport { ScheduleHeaderBase };\n\n//# sourceMappingURL=ScheduleHeaderBase.mjs.map",
|
|
91
|
+
"\"use client\";\nimport { isAllDayEvent } from \"../../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { sortEvents } from \"../../../utils/sort-events/sort-events.mjs\";\nimport { isEventsOverlap } from \"../../../utils/is-events-overlap/is-events-overlap.mjs\";\nimport { getDayPosition } from \"../../../utils/get-day-position/get-day-position.mjs\";\n//#region packages/@mantine/schedule/src/components/DayView/get-day-view-events/get-day-positioned-events.ts\nfunction columnHasConflict({ columns, columnIndex, event, allDay, date }) {\n\tif (!columns[columnIndex]) return false;\n\treturn columns[columnIndex].some((e) => {\n\t\tconst eAllDay = isAllDayEvent({\n\t\t\tevent: e,\n\t\t\tdate\n\t\t});\n\t\tconst hasTimeConflict = isEventsOverlap(e, event);\n\t\tif (allDay || eAllDay) return false;\n\t\treturn hasTimeConflict;\n\t});\n}\nfunction getDayPositionedEvents({ events, startTime, endTime, intervalMinutes, date }) {\n\tconst columns = [];\n\tconst positioned = [];\n\tconst sorted = sortEvents(events);\n\tfor (const event of sorted) {\n\t\tconst allDay = isAllDayEvent({\n\t\t\tevent,\n\t\t\tdate\n\t\t});\n\t\tlet column = 0;\n\t\twhile (columnHasConflict({\n\t\t\tcolumns,\n\t\t\tcolumnIndex: column,\n\t\t\tevent,\n\t\t\tallDay,\n\t\t\tdate\n\t\t})) column++;\n\t\tif (!columns[column]) columns[column] = [];\n\t\tcolumns[column].push(event);\n\t\tconst verticalPosition = allDay ? {\n\t\t\ttop: 0,\n\t\t\theight: 100\n\t\t} : getDayPosition({\n\t\t\tevent,\n\t\t\tstartTime,\n\t\t\tendTime,\n\t\t\tintervalMinutes\n\t\t});\n\t\tpositioned.push({\n\t\t\t...event,\n\t\t\tposition: {\n\t\t\t\t...verticalPosition,\n\t\t\t\tallDay,\n\t\t\t\tcolumn,\n\t\t\t\twidth: 0,\n\t\t\t\toffset: 0,\n\t\t\t\toverlaps: 0\n\t\t\t}\n\t\t});\n\t}\n\tfor (const positionedEvent of positioned) {\n\t\tconst { allDay, column } = positionedEvent.position;\n\t\tif (allDay) {\n\t\t\tpositionedEvent.position.overlaps = 1;\n\t\t\tpositionedEvent.position.width = 100;\n\t\t\tpositionedEvent.position.offset = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tconst directlyOverlapping = [];\n\t\tfor (const otherEvent of positioned) {\n\t\t\tif (otherEvent === positionedEvent || otherEvent.position.allDay) continue;\n\t\t\tif (isEventsOverlap(otherEvent, positionedEvent)) directlyOverlapping.push(otherEvent);\n\t\t}\n\t\tlet maxColumn = column;\n\t\tfor (const overlappingEvent of directlyOverlapping) {\n\t\t\tmaxColumn = Math.max(maxColumn, overlappingEvent.position.column);\n\t\t\tfor (const otherEvent of positioned) {\n\t\t\t\tif (otherEvent === overlappingEvent || otherEvent.position.allDay) continue;\n\t\t\t\tif (isEventsOverlap(otherEvent, overlappingEvent)) maxColumn = Math.max(maxColumn, otherEvent.position.column);\n\t\t\t}\n\t\t}\n\t\tconst totalColumns = maxColumn + 1;\n\t\tlet nextOccupiedColumn = totalColumns;\n\t\tfor (const other of directlyOverlapping) if (other.position.column > column && other.position.column < nextOccupiedColumn) nextOccupiedColumn = other.position.column;\n\t\tconst columnsSpanned = nextOccupiedColumn - column;\n\t\tpositionedEvent.position.overlaps = totalColumns;\n\t\tpositionedEvent.position.width = columnsSpanned / totalColumns * 100;\n\t\tpositionedEvent.position.offset = column * 100 / totalColumns;\n\t}\n\treturn positioned;\n}\n//#endregion\nexport { getDayPositionedEvents };\n\n//# sourceMappingURL=get-day-positioned-events.mjs.map",
|
|
92
|
+
"\"use client\";\nimport { isAllDayEvent } from \"../../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { validateEvent } from \"../../../utils/validate-event/validate-event.mjs\";\nimport { isEventInTimeRange } from \"../../../utils/is-event-in-time-range/is-event-in-time-range.mjs\";\nimport { getDayPosition } from \"../../../utils/get-day-position/get-day-position.mjs\";\nimport { getDayPositionedEvents } from \"./get-day-positioned-events.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/DayView/get-day-view-events/get-day-view-events.ts\nfunction getDayViewEvents({ events, date, startTime, endTime, intervalMinutes }) {\n\tif (events === void 0) return {\n\t\tallDayEvents: [],\n\t\tregularEvents: [],\n\t\tbackgroundTimedEvents: [],\n\t\tbackgroundAllDayEvents: []\n\t};\n\tconst ids = /* @__PURE__ */ new Set();\n\tconst filteredEvents = [];\n\tconst backgroundFiltered = [];\n\tconst dayStart = dayjs(date).startOf(\"day\");\n\tconst dayEnd = dayjs(date).endOf(\"day\");\n\tfor (const event of events) {\n\t\tconst eventStart = dayjs(event.start);\n\t\tconst eventEnd = dayjs(event.end);\n\t\tconst isOnDay = eventStart.isSame(dayStart, \"day\");\n\t\tconst spansIntoDay = !isOnDay && event.display === \"background\" && eventStart.isBefore(dayEnd) && eventEnd.isAfter(dayStart);\n\t\tif (isOnDay || spansIntoDay) {\n\t\t\tif (isOnDay && !isEventInTimeRange({\n\t\t\t\tevent,\n\t\t\t\tstartTime,\n\t\t\t\tendTime\n\t\t\t})) continue;\n\t\t\tconst validated = validateEvent(event);\n\t\t\tif (!ids.has(event.id)) ids.add(event.id);\n\t\t\telse throw new Error(`[@mantine/schedule] DayView: Duplicated event ids found: ${event.id}`);\n\t\t\tif (event.display === \"background\") backgroundFiltered.push(validated);\n\t\t\telse filteredEvents.push(validated);\n\t\t}\n\t}\n\tconst positionedEvents = getDayPositionedEvents({\n\t\tevents: filteredEvents,\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes,\n\t\tdate\n\t});\n\tconst allDayEvents = [];\n\tconst regularEvents = [];\n\tfor (const event of positionedEvents) if (event.position.allDay) allDayEvents.push(event);\n\telse regularEvents.push(event);\n\tconst backgroundTimedEvents = [];\n\tconst backgroundAllDayEvents = [];\n\tfor (const event of backgroundFiltered) {\n\t\tconst eventStart = dayjs(event.start);\n\t\tconst eventEnd = dayjs(event.end);\n\t\tconst clippedStart = eventStart.isBefore(dayStart) ? dayStart : eventStart;\n\t\tconst clippedEnd = eventEnd.isAfter(dayEnd) ? dayEnd : eventEnd;\n\t\tconst clippedEvent = {\n\t\t\t...event,\n\t\t\tstart: clippedStart.format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\tend: clippedEnd.format(\"YYYY-MM-DD HH:mm:ss\")\n\t\t};\n\t\tif (isAllDayEvent({\n\t\t\tevent: clippedEvent,\n\t\t\tdate\n\t\t})) backgroundAllDayEvents.push({\n\t\t\t...event,\n\t\t\tposition: {\n\t\t\t\ttop: 0,\n\t\t\t\theight: 100,\n\t\t\t\tallDay: true,\n\t\t\t\twidth: 100,\n\t\t\t\toffset: 0,\n\t\t\t\tcolumn: 0,\n\t\t\t\toverlaps: 1\n\t\t\t}\n\t\t});\n\t\telse {\n\t\t\tconst { top, height } = getDayPosition({\n\t\t\t\tevent: clippedEvent,\n\t\t\t\tstartTime,\n\t\t\t\tendTime,\n\t\t\t\tintervalMinutes\n\t\t\t});\n\t\t\tif (height <= 0) continue;\n\t\t\tbackgroundTimedEvents.push({\n\t\t\t\t...event,\n\t\t\t\tposition: {\n\t\t\t\t\ttop,\n\t\t\t\t\theight,\n\t\t\t\t\tallDay: false,\n\t\t\t\t\twidth: 100,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tcolumn: 0,\n\t\t\t\t\toverlaps: 1\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tallDayEvents,\n\t\tregularEvents,\n\t\tbackgroundTimedEvents,\n\t\tbackgroundAllDayEvents\n\t};\n}\n//#endregion\nexport { getDayViewEvents };\n\n//# sourceMappingURL=get-day-view-events.mjs.map",
|
|
93
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/DayView/DayView.module.css\nvar DayView_module_default = {\n\t\"dayView\": \"m_3c5fb2d5\",\n\t\"dayViewHeader\": \"m_d27b4dc2\",\n\t\"dayViewScrollArea\": \"m_f2eec5af\",\n\t\"dayViewInner\": \"m_d5502881\",\n\t\"dayViewTimeSlots\": \"m_9389813\",\n\t\"dayViewSlot\": \"m_cd179e73\",\n\t\"dayViewSlotLabels\": \"m_c30b0852\",\n\t\"dayViewSlotLabel\": \"m_2f950041\",\n\t\"dayViewSlots\": \"m_d5dc3060\",\n\t\"dayViewBackgroundEvent\": \"m_c5cd9a77\",\n\t\"dayViewAllDay\": \"m_c6f08d70\",\n\t\"dayViewAllDayEvents\": \"m_42b986a9\"\n};\n//#endregion\nexport { DayView_module_default as default };\n\n//# sourceMappingURL=DayView.module.mjs.map",
|
|
94
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport { formatDate } from \"../../utils/format-date/format-date.mjs\";\nimport { clampIntervalMinutes } from \"../../utils/clamp-interval-minutes/clamp-interval-minutes.mjs\";\nimport { getDayTimeIntervals } from \"../../utils/get-day-time-intervals/get-day-time-intervals.mjs\";\nimport { toDateString } from \"../../utils/to-date-string/to-date-string.mjs\";\nimport { isAllDayEvent } from \"../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { getVisibleEvents } from \"../../utils/get-visible-events/get-visible-events.mjs\";\nimport { calculateDropTime } from \"../../utils/calculate-drop-time/calculate-drop-time.mjs\";\nimport { getBusinessHoursMod } from \"../../utils/get-business-hours-mod/get-business-hours-mod.mjs\";\nimport { expandRecurringEvents } from \"../../utils/expand-recurring-events/expand-recurring-events.mjs\";\nimport { useAutoScrollOnDrag } from \"../../hooks/use-auto-scroll-on-drag.mjs\";\nimport { useDragDropHandlers } from \"../../hooks/use-drag-drop-handlers.mjs\";\nimport { useEventResize } from \"../../hooks/use-event-resize.mjs\";\nimport { useSlotDragSelect } from \"../../hooks/use-slot-drag-select.mjs\";\nimport { CurrentTimeIndicator } from \"../CurrentTimeIndicator/CurrentTimeIndicator.mjs\";\nimport { DragContext } from \"../DragContext/DragContext.mjs\";\nimport { ScheduleEvent } from \"../ScheduleEvent/ScheduleEvent.mjs\";\nimport { MoreEvents } from \"../MoreEvents/MoreEvents.mjs\";\nimport { ScheduleHeaderBase } from \"../ScheduleHeader/ScheduleHeaderBase.mjs\";\nimport { getDayViewEvents } from \"./get-day-view-events/get-day-view-events.mjs\";\nimport DayView_module_default from \"./DayView.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, ScrollArea, UnstyledButton, createVarsResolver, factory, getRadius, rem, useMantineTheme, useProps, useResolvedStylesApi, useStyles } from \"@mantine/core\";\nimport { useIsomorphicEffect, useMergedRef } from \"@mantine/hooks\";\nimport { createElement, useCallback, useRef } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/DayView/DayView.tsx\nconst defaultProps = {\n\t__staticSelector: \"DayView\",\n\tstartTime: \"00:00:00\",\n\tendTime: \"23:59:59\",\n\tintervalMinutes: 15,\n\twithAllDaySlot: true,\n\tslotLabelFormat: \"HH:mm\",\n\theaderFormat: \"MMMM D, YYYY\",\n\twithCurrentTimeBubble: true,\n\twithHeader: true,\n\thighlightBusinessHours: false,\n\tbusinessHours: [\"09:00:00\", \"17:00:00\"],\n\twithEventsDragAndDrop: false,\n\twithDragSlotSelect: false,\n\twithEventResize: false,\n\tmode: \"default\"\n};\nconst varsResolver = createVarsResolver((_theme, { radius, slotHeight, allDaySlotHeight }) => ({ dayView: {\n\t\"--day-view-radius\": radius !== void 0 ? getRadius(radius) : void 0,\n\t\"--day-view-slot-height\": rem(slotHeight),\n\t\"--day-view-all-day-slot-height\": rem(allDaySlotHeight)\n} }));\nconst DayView = factory((_props) => {\n\tconst props = useProps(\"DayView\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, attributes, vars, __staticSelector, startTime, endTime, intervalMinutes, withAllDaySlot, date, locale, slotLabelFormat, headerFormat, withCurrentTimeIndicator = dayjs(date).isSame(dayjs(), \"day\"), withCurrentTimeBubble, withHeader, radius, onDateChange, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, slotHeight, allDaySlotHeight, scrollAreaProps, events, moreEventsProps, renderEventBody, renderEvent, labels, highlightBusinessHours, businessHours, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onTimeSlotClick, onAllDaySlotClick, onEventClick, withDragSlotSelect, onSlotDragEnd, mode, startScrollTime, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, recurrenceExpansionLimit, getTimeSlotProps, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: DayView_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\tvarsResolver,\n\t\trootSelector: \"dayView\"\n\t});\n\tconst { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n\t\tclassNames,\n\t\tstyles,\n\t\tprops\n\t});\n\tconst stylesApiProps = {\n\t\tclassNames: resolvedClassNames,\n\t\tstyles: resolvedStyles,\n\t\tattributes,\n\t\t__staticSelector,\n\t\tradius\n\t};\n\tconst theme = useMantineTheme();\n\tconst ctx = useDatesContext();\n\tconst slots = getDayTimeIntervals({\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes\n\t});\n\tconst slotsRef = useRef([]);\n\tconst viewportRef = useRef(null);\n\tconst timeSlotsContainerRef = useRef(null);\n\tconst mergedViewportRef = useMergedRef(viewportRef, scrollAreaProps?.viewportRef);\n\tuseAutoScrollOnDrag({\n\t\tviewportRef,\n\t\tenabled: (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== \"static\"\n\t});\n\tuseIsomorphicEffect(() => {\n\t\tif (!startScrollTime || !viewportRef.current || slotsRef.current.length === 0) return;\n\t\tconst targetIndex = slots.findIndex((s) => s.startTime >= startScrollTime);\n\t\tif (targetIndex < 0) return;\n\t\tconst targetSlot = slotsRef.current[targetIndex];\n\t\tif (!targetSlot) return;\n\t\tconst slotRect = targetSlot.getBoundingClientRect();\n\t\tconst viewportRect = viewportRef.current.getBoundingClientRect();\n\t\tviewportRef.current.scrollTo({\n\t\t\tleft: 0,\n\t\t\ttop: slotRect.top - viewportRect.top\n\t\t});\n\t}, []);\n\tconst getSlotIndexFromDragPoint = useCallback((event) => {\n\t\tconst slotIndex = slotsRef.current.findIndex((slotNode) => {\n\t\t\tif (!slotNode) return false;\n\t\t\tconst rect = slotNode.getBoundingClientRect();\n\t\t\treturn event.clientY >= rect.top && event.clientY <= rect.bottom;\n\t\t});\n\t\tif (slotIndex >= 0) return slotIndex;\n\t\tconst firstSlot = slotsRef.current[0];\n\t\tconst lastSlot = slotsRef.current[slotsRef.current.length - 1];\n\t\tif (!firstSlot || !lastSlot) return null;\n\t\tconst firstRect = firstSlot.getBoundingClientRect();\n\t\tconst lastRect = lastSlot.getBoundingClientRect();\n\t\tif (event.clientY < firstRect.top) return 0;\n\t\tif (event.clientY > lastRect.bottom) return slotsRef.current.length - 1;\n\t\treturn null;\n\t}, []);\n\tconst handleSlotKeyDown = (event, slotIndex) => {\n\t\tconst direction = event.key;\n\t\tif (direction === \"ArrowDown\" && slotIndex < slots.length - 1) {\n\t\t\tevent.preventDefault();\n\t\t\tslotsRef.current[slotIndex + 1]?.focus();\n\t\t} else if (direction === \"ArrowUp\" && slotIndex > 0) {\n\t\t\tevent.preventDefault();\n\t\t\tslotsRef.current[slotIndex - 1]?.focus();\n\t\t}\n\t};\n\tconst slotDragSelect = useSlotDragSelect({\n\t\tenabled: withDragSlotSelect && mode !== \"static\",\n\t\tonDragEnd: (startIndex, endIndex) => {\n\t\t\tif (!onSlotDragEnd) return;\n\t\t\tconst slotDate = dayjs(date).format(\"YYYY-MM-DD\");\n\t\t\tonSlotDragEnd(`${slotDate} ${slots[startIndex].startTime}`, `${slotDate} ${slots[endIndex].endTime}`);\n\t\t}\n\t});\n\tconst eventsData = getDayViewEvents({\n\t\tevents: expandRecurringEvents({\n\t\t\tevents,\n\t\t\trangeStart: dayjs(date).startOf(\"day\").toDate(),\n\t\t\trangeEnd: dayjs(date).endOf(\"day\").toDate(),\n\t\t\texpansionLimit: recurrenceExpansionLimit\n\t\t}),\n\t\tdate,\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes\n\t});\n\tconst handleExternalDrop = useCallback((e, slotIndex) => {\n\t\tif (!onExternalEventDrop) return;\n\t\tconst slotDate = dayjs(date).format(\"YYYY-MM-DD\");\n\t\tonExternalEventDrop(e.dataTransfer, `${slotDate} ${slots[slotIndex].startTime}`);\n\t}, [\n\t\tonExternalEventDrop,\n\t\tdate,\n\t\tslots\n\t]);\n\tconst dragDrop = useDragDropHandlers({\n\t\tenabled: withEventsDragAndDrop,\n\t\tmode,\n\t\tonEventDrop,\n\t\tcanDragEvent,\n\t\tonEventDragStart,\n\t\tonEventDragEnd,\n\t\tcalculateDropTarget: (slotIndex, draggedEvent) => {\n\t\t\tconst slotTime = slots[slotIndex].startTime;\n\t\t\treturn calculateDropTime({\n\t\t\t\tdraggedEvent,\n\t\t\t\ttargetDate: date,\n\t\t\t\ttargetSlotTime: slotTime,\n\t\t\t\tintervalMinutes\n\t\t\t});\n\t\t},\n\t\tonExternalDrop: onExternalEventDrop ? handleExternalDrop : void 0\n\t});\n\tconst eventResize = useEventResize({\n\t\tenabled: withEventResize,\n\t\tmode,\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes,\n\t\tonEventResize,\n\t\tcanResizeEvent\n\t});\n\tconst withDragHandlers = (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== \"static\";\n\tconst eventsNodes = eventsData.regularEvents.map((event) => {\n\t\tconst eventIsAllDay = isAllDayEvent({\n\t\t\tevent,\n\t\t\tdate\n\t\t});\n\t\tconst isDraggable = !eventIsAllDay && dragDrop.isDraggableEvent(event);\n\t\tconst isResizable = !eventIsAllDay && eventResize.isResizableEvent(event);\n\t\tconst resizePosition = eventResize.getResizePosition(event.id);\n\t\tconst eventTop = resizePosition ? resizePosition.top : event.position.top;\n\t\tconst eventHeight = resizePosition ? resizePosition.height : event.position.height;\n\t\treturn /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\t\tevent,\n\t\t\trenderEventBody,\n\t\t\trenderEvent,\n\t\t\tautoSize: true,\n\t\t\tdraggable: isDraggable,\n\t\t\twithResize: isResizable,\n\t\t\tisResizing: resizePosition !== null,\n\t\t\tonResizeStart: isResizable ? (edge, e) => {\n\t\t\t\tif (timeSlotsContainerRef.current) eventResize.handleResizeStart({\n\t\t\t\t\tevent,\n\t\t\t\t\tedge,\n\t\t\t\t\tcontainer: timeSlotsContainerRef.current,\n\t\t\t\t\toriginalTop: event.position.top,\n\t\t\t\t\toriginalHeight: event.position.height,\n\t\t\t\t\teventDate: dayjs(date).format(\"YYYY-MM-DD\"),\n\t\t\t\t\tpointerEvent: e\n\t\t\t\t});\n\t\t\t} : void 0,\n\t\t\tmode,\n\t\t\tonClick: onEventClick ? (e) => {\n\t\t\t\tif (!eventResize.wasResizing()) onEventClick(event, e);\n\t\t\t} : void 0,\n\t\t\t...stylesApiProps,\n\t\t\tstyle: {\n\t\t\t\t...stylesApiProps.styles?.event,\n\t\t\t\ttop: `${eventTop}%`,\n\t\t\t\theight: `${eventHeight}%`,\n\t\t\t\tinsetInlineStart: `${event.position.offset}%`,\n\t\t\t\twidth: `${event.position.width}%`,\n\t\t\t\tposition: \"absolute\"\n\t\t\t}\n\t\t}, event.id);\n\t});\n\tconst allDayEventsCount = getVisibleEvents({\n\t\tmaxEvents: 2,\n\t\ttotalEvents: eventsData.allDayEvents.length\n\t});\n\tconst allDayEventsNodes = eventsData.allDayEvents.slice(0, allDayEventsCount.visibleEventsCount).map((event) => /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\tevent,\n\t\trenderEventBody,\n\t\trenderEvent,\n\t\tstyle: { maxHeight: \"50%\" },\n\t\tnowrap: true,\n\t\tautoSize: true,\n\t\tmode,\n\t\tonClick: onEventClick ? (e) => onEventClick(event, e) : void 0,\n\t\t...stylesApiProps\n\t}, event.id));\n\tconst dayGroup = dayjs(date).format(\"YYYY-MM-DD\");\n\tconst items = slots.map((slot, index) => {\n\t\tconst isDropTarget = dragDrop.isDropTarget(index);\n\t\tconst isDragSelected = slotDragSelect.isSlotSelected(index, dayGroup);\n\t\tconst slotStart = `${dayGroup} ${slot.startTime}`;\n\t\tconst slotEnd = `${dayGroup} ${slot.endTime}`;\n\t\tconst { onClick: externalOnClick, ...externalSlotProps } = getTimeSlotProps?.({\n\t\t\tstart: slotStart,\n\t\t\tend: slotEnd\n\t\t}) || {};\n\t\tconst handleClick = mode === \"static\" ? void 0 : (event) => {\n\t\t\tonTimeSlotClick?.({\n\t\t\t\tslotStart,\n\t\t\t\tslotEnd,\n\t\t\t\tnativeEvent: event\n\t\t\t});\n\t\t\texternalOnClick?.(event);\n\t\t};\n\t\treturn /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t\t...getStyles(\"dayViewSlot\"),\n\t\t\tkey: slot.startTime,\n\t\t\tref: (node) => {\n\t\t\t\tslotsRef.current[index] = node;\n\t\t\t},\n\t\t\tmod: {\n\t\t\t\t\"hour-start\": slot.isHourStart,\n\t\t\t\t...getBusinessHoursMod({\n\t\t\t\t\ttime: slot.startTime,\n\t\t\t\t\tbusinessHours,\n\t\t\t\t\thighlightBusinessHours\n\t\t\t\t}),\n\t\t\t\t\"drop-target\": isDropTarget,\n\t\t\t\t\"drag-selected\": isDragSelected,\n\t\t\t\tstatic: mode === \"static\"\n\t\t\t},\n\t\t\t__vars: { \"--slot-size\": `${clampIntervalMinutes(intervalMinutes) / 60}` },\n\t\t\t\"aria-label\": `${getLabel(\"timeSlot\", labels)} ${slot.startTime} - ${slot.endTime}`,\n\t\t\ttabIndex: mode === \"static\" ? -1 : index === 0 ? 0 : -1,\n\t\t\t\"data-drag-slot-index\": withDragSlotSelect && mode !== \"static\" ? index : void 0,\n\t\t\t\"data-drag-slot-group\": withDragSlotSelect && mode !== \"static\" ? dayGroup : void 0,\n\t\t\tonKeyDown: mode === \"static\" ? void 0 : (e) => handleSlotKeyDown(e, index),\n\t\t\tonPointerDown: withDragSlotSelect && mode !== \"static\" ? (e) => slotDragSelect.handleSlotPointerDown(e, index, dayGroup) : void 0,\n\t\t\tonClick: handleClick,\n\t\t\tonDragOver: withDragHandlers ? (event) => event.preventDefault() : void 0,\n\t\t\t...externalSlotProps\n\t\t});\n\t});\n\tconst slotsLabels = slots.reduce((acc, slot) => {\n\t\tif (slot.isHourStart) {\n\t\t\tconst slotTime = dayjs(`${dayjs(date).format(\"YYYY-MM-DD\")} ${slot.startTime}`);\n\t\t\tconst label = formatDate({\n\t\t\t\tlocale: ctx.getLocale(locale),\n\t\t\t\tdate: slotTime,\n\t\t\t\tformat: slotLabelFormat\n\t\t\t});\n\t\t\tacc.push(/* @__PURE__ */ createElement(Box, {\n\t\t\t\t...getStyles(\"dayViewSlotLabel\"),\n\t\t\t\tkey: slot.startTime,\n\t\t\t\tmod: getBusinessHoursMod({\n\t\t\t\t\ttime: slot.startTime,\n\t\t\t\t\tbusinessHours,\n\t\t\t\t\thighlightBusinessHours\n\t\t\t\t})\n\t\t\t}, label));\n\t\t}\n\t\treturn acc;\n\t}, []);\n\tconst backgroundAllDayEventNodes = eventsData.backgroundAllDayEvents.map((event) => {\n\t\tconst colors = theme.variantColorResolver({\n\t\t\tcolor: event.color || theme.primaryColor,\n\t\t\ttheme,\n\t\t\tvariant: \"light\",\n\t\t\tautoContrast: true\n\t\t});\n\t\tconst bgEventBody = typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title;\n\t\tconst bgEventProps = {\n\t\t\tkey: `bg-allday-${event.id}`,\n\t\t\t...getStyles(\"dayViewBackgroundEvent\", { style: {\n\t\t\t\ttop: 0,\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\"\n\t\t\t} }),\n\t\t\t__vars: {\n\t\t\t\t\"--bg-event-bg\": colors.background,\n\t\t\t\t\"--bg-event-color\": colors.color\n\t\t\t},\n\t\t\tchildren: bgEventBody\n\t\t};\n\t\tif (typeof renderEvent === \"function\") return renderEvent(event, bgEventProps);\n\t\tconst { key: bgEventKey, ...restBgEventProps } = bgEventProps;\n\t\treturn /* @__PURE__ */ jsx(Box, { ...restBgEventProps }, bgEventKey);\n\t});\n\tconst backgroundTimedEventNodes = eventsData.backgroundTimedEvents.map((event) => {\n\t\tconst colors = theme.variantColorResolver({\n\t\t\tcolor: event.color || theme.primaryColor,\n\t\t\ttheme,\n\t\t\tvariant: \"light\",\n\t\t\tautoContrast: true\n\t\t});\n\t\tconst bgEventBody = typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title;\n\t\tconst bgEventProps = {\n\t\t\tkey: event.id,\n\t\t\t...getStyles(\"dayViewBackgroundEvent\", { style: {\n\t\t\t\ttop: `calc(${event.position.top}% + 1px)`,\n\t\t\t\theight: `calc(${event.position.height}% - 2px)`,\n\t\t\t\twidth: \"100%\"\n\t\t\t} }),\n\t\t\t__vars: {\n\t\t\t\t\"--bg-event-bg\": colors.background,\n\t\t\t\t\"--bg-event-color\": colors.color\n\t\t\t},\n\t\t\tchildren: bgEventBody\n\t\t};\n\t\tif (typeof renderEvent === \"function\") return renderEvent(event, bgEventProps);\n\t\tconst { key: bgEventKey, ...restBgEventProps } = bgEventProps;\n\t\treturn /* @__PURE__ */ jsx(Box, { ...restBgEventProps }, bgEventKey);\n\t});\n\tconst content = /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"dayView\"),\n\t\tmod: {\n\t\t\tstatic: mode === \"static\",\n\t\t\t\"slot-dragging\": slotDragSelect.isDragging\n\t\t},\n\t\t...others,\n\t\tchildren: [withHeader && /* @__PURE__ */ jsx(ScheduleHeaderBase, {\n\t\t\tview: \"day\",\n\t\t\tnavigationHandlers: {\n\t\t\t\tprevious: () => toDateString(dayjs(date).subtract(1, \"day\")),\n\t\t\t\tnext: () => toDateString(dayjs(date).add(1, \"day\")),\n\t\t\t\ttoday: () => toDateString(dayjs())\n\t\t\t},\n\t\t\tcontrol: {\n\t\t\t\ttitle: formatDate({\n\t\t\t\t\tlocale: ctx.getLocale(locale),\n\t\t\t\t\tdate,\n\t\t\t\t\tformat: headerFormat\n\t\t\t\t}),\n\t\t\t\tmiw: 140\n\t\t\t},\n\t\t\tlabels,\n\t\t\tonDateChange,\n\t\t\tonViewChange,\n\t\t\tpreviousControlProps,\n\t\t\tnextControlProps,\n\t\t\ttodayControlProps,\n\t\t\tviewSelectProps,\n\t\t\tstylesApiProps\n\t\t}), /* @__PURE__ */ jsx(ScrollArea.Autosize, {\n\t\t\tscrollbarSize: 4,\n\t\t\t...scrollAreaProps,\n\t\t\t...getStyles(\"dayViewScrollArea\", {\n\t\t\t\tclassName: scrollAreaProps?.className,\n\t\t\t\tstyle: scrollAreaProps?.style\n\t\t\t}),\n\t\t\tviewportRef: mergedViewportRef,\n\t\t\tchildren: /* @__PURE__ */ jsxs(Box, {\n\t\t\t\t...getStyles(\"dayViewInner\"),\n\t\t\t\tchildren: [/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t...getStyles(\"dayViewSlotLabels\"),\n\t\t\t\t\tchildren: [withAllDaySlot && /* @__PURE__ */ jsx(Box, {\n\t\t\t\t\t\t...getStyles(\"dayViewSlotLabel\"),\n\t\t\t\t\t\tmod: { \"all-day\": true },\n\t\t\t\t\t\tchildren: getLabel(\"allDay\", labels)\n\t\t\t\t\t}), slotsLabels]\n\t\t\t\t}), /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t...getStyles(\"dayViewSlots\"),\n\t\t\t\t\tchildren: [withAllDaySlot && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t...getStyles(\"dayViewAllDay\"),\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\tbackgroundAllDayEventNodes,\n\t\t\t\t\t\t\t/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t\t\t...getStyles(\"dayViewAllDayEvents\"),\n\t\t\t\t\t\t\t\tchildren: [allDayEventsNodes, allDayEventsCount.hiddenEventsCount > 0 && /* @__PURE__ */ jsx(MoreEvents, {\n\t\t\t\t\t\t\t\t\tevents: eventsData.allDayEvents,\n\t\t\t\t\t\t\t\t\tmoreEventsCount: allDayEventsCount.hiddenEventsCount,\n\t\t\t\t\t\t\t\t\trenderEventBody,\n\t\t\t\t\t\t\t\t\trenderEvent,\n\t\t\t\t\t\t\t\t\tmode,\n\t\t\t\t\t\t\t\t\tlabels,\n\t\t\t\t\t\t\t\t\tonEventClick,\n\t\t\t\t\t\t\t\t\t...stylesApiProps,\n\t\t\t\t\t\t\t\t\t...moreEventsProps\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t\t\t\t\t\t...getStyles(\"dayViewSlot\"),\n\t\t\t\t\t\t\t\tmod: {\n\t\t\t\t\t\t\t\t\t\"all-day\": true,\n\t\t\t\t\t\t\t\t\tstatic: mode === \"static\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"aria-label\": `${getLabel(\"timeSlot\", labels)} ${getLabel(\"allDay\", labels)}`,\n\t\t\t\t\t\t\t\tonClick: mode === \"static\" || !onAllDaySlotClick ? void 0 : (e) => {\n\t\t\t\t\t\t\t\t\tonAllDaySlotClick(dayjs(date).format(\"YYYY-MM-DD\"), e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}), /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\tref: timeSlotsContainerRef,\n\t\t\t\t\t\t...getStyles(\"dayViewTimeSlots\"),\n\t\t\t\t\t\tonDragOver: withDragHandlers ? (event) => {\n\t\t\t\t\t\t\tconst slotIndex = getSlotIndexFromDragPoint(event);\n\t\t\t\t\t\t\tif (slotIndex !== null) dragDrop.handleDragOver(event, slotIndex);\n\t\t\t\t\t\t} : void 0,\n\t\t\t\t\t\tonDragLeave: withDragHandlers ? dragDrop.handleDragLeave : void 0,\n\t\t\t\t\t\tonDrop: withDragHandlers ? (event) => {\n\t\t\t\t\t\t\tconst slotIndex = getSlotIndexFromDragPoint(event);\n\t\t\t\t\t\t\tif (slotIndex !== null) dragDrop.handleDrop(event, slotIndex);\n\t\t\t\t\t\t} : void 0,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\tbackgroundTimedEventNodes,\n\t\t\t\t\t\t\teventsNodes,\n\t\t\t\t\t\t\twithCurrentTimeIndicator && /* @__PURE__ */ jsx(CurrentTimeIndicator, {\n\t\t\t\t\t\t\t\tstartOffset: \"calc(var(--day-view-slot-labels-width) * -1)\",\n\t\t\t\t\t\t\t\tendOffset: \"0rem\",\n\t\t\t\t\t\t\t\ttopOffset: \"0rem\",\n\t\t\t\t\t\t\t\ttimeBubbleStartOffset: \"calc(var(--day-view-slot-labels-width) * -1 + 30px)\",\n\t\t\t\t\t\t\t\tcurrentTimeFormat: slotLabelFormat,\n\t\t\t\t\t\t\t\twithTimeBubble: withCurrentTimeBubble,\n\t\t\t\t\t\t\t\twithThumb: !withCurrentTimeBubble,\n\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\t\t\tendTime,\n\t\t\t\t\t\t\t\t...stylesApiProps\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\titems\n\t\t\t\t\t\t]\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t})\n\t\t})]\n\t});\n\tif (withEventsDragAndDrop) return /* @__PURE__ */ jsx(DragContext.Provider, {\n\t\tvalue: dragDrop.dragContextValue,\n\t\tchildren: content\n\t});\n\treturn content;\n});\nDayView.displayName = \"@mantine/schedule/DayView\";\nDayView.classes = DayView_module_default;\nDayView.varsResolver = varsResolver;\n//#endregion\nexport { DayView };\n\n//# sourceMappingURL=DayView.mjs.map",
|
|
95
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MonthView/handle-month-view-key-down.ts\nfunction getDirection(key) {\n\tswitch (key) {\n\t\tcase \"ArrowDown\": return \"down\";\n\t\tcase \"ArrowUp\": return \"up\";\n\t\tcase \"ArrowRight\": return \"right\";\n\t\tcase \"ArrowLeft\": return \"left\";\n\t\tdefault: return null;\n\t}\n}\nfunction getControlsSize(controlsRef) {\n\tif (!controlsRef.current) return null;\n\treturn controlsRef.current.map((week) => week ? week.length : 0);\n}\nfunction getNextPosition({ direction, weekIndex, dayIndex, size }) {\n\tconst currentWeekSize = size[weekIndex];\n\tif (!currentWeekSize) return null;\n\tswitch (direction) {\n\t\tcase \"up\": {\n\t\t\tif (weekIndex === 0) return null;\n\t\t\tconst prevWeekSize = size[weekIndex - 1];\n\t\t\tconst clampedDayIndex = Math.min(dayIndex, prevWeekSize - 1);\n\t\t\treturn {\n\t\t\t\tweekIndex: weekIndex - 1,\n\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t};\n\t\t}\n\t\tcase \"down\": {\n\t\t\tif (weekIndex === size.length - 1) return null;\n\t\t\tconst nextWeekSize = size[weekIndex + 1];\n\t\t\tconst clampedDayIndex = Math.min(dayIndex, nextWeekSize - 1);\n\t\t\treturn {\n\t\t\t\tweekIndex: weekIndex + 1,\n\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t};\n\t\t}\n\t\tcase \"left\":\n\t\t\tif (dayIndex === 0) {\n\t\t\t\tif (weekIndex === 0) return null;\n\t\t\t\treturn {\n\t\t\t\t\tweekIndex: weekIndex - 1,\n\t\t\t\t\tdayIndex: size[weekIndex - 1] - 1\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tweekIndex,\n\t\t\t\tdayIndex: dayIndex - 1\n\t\t\t};\n\t\tcase \"right\":\n\t\t\tif (dayIndex === currentWeekSize - 1) {\n\t\t\t\tif (weekIndex === size.length - 1) return null;\n\t\t\t\treturn {\n\t\t\t\t\tweekIndex: weekIndex + 1,\n\t\t\t\t\tdayIndex: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tweekIndex,\n\t\t\t\tdayIndex: dayIndex + 1\n\t\t\t};\n\t\tdefault: return null;\n\t}\n}\nfunction focusOnNextFocusableControl({ controlsRef, direction, weekIndex, dayIndex, size }) {\n\tconst nextPosition = getNextPosition({\n\t\tdirection,\n\t\tweekIndex,\n\t\tdayIndex,\n\t\tsize\n\t});\n\tif (!nextPosition) return;\n\tconst controlToFocus = controlsRef.current?.[nextPosition.weekIndex]?.[nextPosition.dayIndex];\n\tif (!controlToFocus) return;\n\tif (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\") || controlToFocus.getAttribute(\"data-day-placeholder\")) focusOnNextFocusableControl({\n\t\tcontrolsRef,\n\t\tdirection,\n\t\tweekIndex: nextPosition.weekIndex,\n\t\tdayIndex: nextPosition.dayIndex,\n\t\tsize\n\t});\n\telse controlToFocus.focus();\n}\nfunction handleMonthViewKeyDown({ controlsRef, weekIndex, dayIndex, event }) {\n\tconst direction = getDirection(event.key);\n\tif (direction) {\n\t\tevent.preventDefault();\n\t\tconst size = getControlsSize(controlsRef);\n\t\tif (!size) return;\n\t\tfocusOnNextFocusableControl({\n\t\t\tcontrolsRef,\n\t\t\tdirection,\n\t\t\tweekIndex,\n\t\t\tdayIndex,\n\t\t\tsize\n\t\t});\n\t}\n}\n//#endregion\nexport { handleMonthViewKeyDown };\n\n//# sourceMappingURL=handle-month-view-key-down.mjs.map",
|
|
96
|
+
"\"use client\";\nimport { validateEvent } from \"../../utils/validate-event/validate-event.mjs\";\nimport { isMultidayEvent } from \"../../utils/is-multiday-event/is-multiday-event.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/MobileMonthView/get-mobile-month-view-events.ts\nfunction groupEventByDate(event, groupedEvents) {\n\tif (isMultidayEvent(event)) {\n\t\tconst startDate = dayjs(event.start).startOf(\"day\");\n\t\tconst endDate = dayjs(event.end).startOf(\"day\");\n\t\tfor (let date = startDate; date.isBefore(endDate) || date.isSame(endDate); date = date.add(1, \"day\")) {\n\t\t\tconst dateKey = date.format(\"YYYY-MM-DD\");\n\t\t\tif (!groupedEvents[dateKey]) groupedEvents[dateKey] = [];\n\t\t\tgroupedEvents[dateKey].push(event);\n\t\t}\n\t\treturn;\n\t}\n\tconst eventDate = dayjs(event.start).format(\"YYYY-MM-DD\");\n\tif (!groupedEvents[eventDate]) groupedEvents[eventDate] = [];\n\tgroupedEvents[eventDate].push(event);\n}\nfunction getMobileMonthViewEvents({ date, events }) {\n\tconst groupedEvents = {};\n\tif (events === void 0) return groupedEvents;\n\tconst ids = /* @__PURE__ */ new Set();\n\tfor (const event of events) {\n\t\tif (event.display === \"background\") continue;\n\t\tif (dayjs(event.start).isSame(dayjs(date), \"month\")) {\n\t\t\tgroupEventByDate(validateEvent(event), groupedEvents);\n\t\t\tif (!ids.has(event.id)) ids.add(event.id);\n\t\t\telse throw new Error(`[@mantine/schedule] MobileMonthView: Duplicated event ids found: ${event.id}`);\n\t\t}\n\t}\n\treturn groupedEvents;\n}\n//#endregion\nexport { getMobileMonthViewEvents };\n\n//# sourceMappingURL=get-mobile-month-view-events.mjs.map",
|
|
97
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MobileMonthView/MobileMonthView.module.css\nvar MobileMonthView_module_default = {\n\t\"mobileMonthView\": \"m_70d87f99\",\n\t\"mobileMonthViewHeader\": \"m_c4707786\",\n\t\"mobileMonthViewHeaderBackButton\": \"m_1fb0b31f\",\n\t\"mobileMonthViewHeaderLabel\": \"m_7b47db0e\",\n\t\"mobileMonthViewCalendar\": \"m_a20935f7\",\n\t\"mobileMonthViewWeekdays\": \"m_8797b104\",\n\t\"mobileMonthViewWeekdaysCorner\": \"m_b58e3c79\",\n\t\"mobileMonthViewWeekday\": \"m_e357794f\",\n\t\"mobileMonthViewWeek\": \"m_4b161f2d\",\n\t\"mobileMonthViewWeekNumber\": \"m_dbf910d6\",\n\t\"mobileMonthViewDay\": \"m_fa29b943\",\n\t\"mobileMonthViewDayIndicators\": \"m_ab2b21e7\",\n\t\"mobileMonthViewDayIndicator\": \"m_b2f0e00c\",\n\t\"mobileMonthViewEventsList\": \"m_66ba41d0\",\n\t\"mobileMonthViewEventsHeader\": \"m_9a1cef3f\",\n\t\"mobileMonthViewEvent\": \"m_16b7da81\",\n\t\"mobileMonthViewEventBody\": \"m_ea745fc3\",\n\t\"mobileMonthViewEventColor\": \"m_6425cd62\",\n\t\"mobileMonthViewEventTime\": \"m_ea7c78ee\",\n\t\"mobileMonthViewNoEvents\": \"m_bbac00f3\"\n};\n//#endregion\nexport { MobileMonthView_module_default as default };\n\n//# sourceMappingURL=MobileMonthView.module.mjs.map",
|
|
98
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport { formatDate } from \"../../utils/format-date/format-date.mjs\";\nimport { getWeekdaysNames } from \"../../utils/get-weekdays-names/get-weekdays-names.mjs\";\nimport { getWeekNumber } from \"../../utils/get-week-number/get-week-number.mjs\";\nimport { getMonthDays } from \"../../utils/get-month-days/get-month-days.mjs\";\nimport { isSameMonth } from \"../../utils/is-same-month/is-same-month.mjs\";\nimport { toDateString } from \"../../utils/to-date-string/to-date-string.mjs\";\nimport { sortEvents } from \"../../utils/sort-events/sort-events.mjs\";\nimport { expandRecurringEvents } from \"../../utils/expand-recurring-events/expand-recurring-events.mjs\";\nimport { handleMonthViewKeyDown } from \"../MonthView/handle-month-view-key-down.mjs\";\nimport { getMobileMonthViewEvents } from \"./get-mobile-month-view-events.mjs\";\nimport MobileMonthView_module_default from \"./MobileMonthView.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { AccordionChevron, Box, Text, UnstyledButton, createVarsResolver, factory, getRadius, getThemeColor, useDirection, useMantineTheme, useProps, useStyles } from \"@mantine/core\";\nimport { useUncontrolled } from \"@mantine/hooks\";\nimport React, { createElement, useRef } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/MobileMonthView/MobileMonthView.tsx\nconst defaultProps = {\n\t__staticSelector: \"MobileMonthView\",\n\twithWeekDays: true,\n\tconsistentWeeks: true,\n\thighlightToday: true,\n\tmode: \"default\",\n\teventsHeaderFormat: \"dddd, MMMM D\"\n};\nconst varsResolver = createVarsResolver((_theme, { radius }) => ({ mobileMonthView: { \"--mobile-month-view-radius\": getRadius(radius) } }));\nconst MobileMonthView = factory((_props) => {\n\tconst props = useProps(\"MobileMonthView\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, attributes, __staticSelector, date, onDateChange, selectedDate, defaultSelectedDate, onSelectedDateChange, withWeekNumbers, withWeekDays, locale, firstDayOfWeek, weekdayFormat, weekendDays, getWeekNumberProps, getDayProps, onDayClick, onWeekNumberClick, consistentWeeks, highlightToday, radius, withOutsideDays, events, labels, mode, renderEvent, eventsHeaderFormat, onYearClick, onEventClick, renderHeader, recurrenceExpansionLimit, ...others } = props;\n\tconst ctx = useDatesContext();\n\tconst theme = useMantineTheme();\n\tconst today = dayjs();\n\tconst [_selectedDate, _setSelectedDate] = useUncontrolled({\n\t\tvalue: selectedDate,\n\t\tdefaultValue: defaultSelectedDate ?? toDateString(today),\n\t\tonChange: (value) => onSelectedDateChange?.(value ? toDateString(dayjs(value)) : null)\n\t});\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: MobileMonthView_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\tvarsResolver,\n\t\trootSelector: \"mobileMonthView\"\n\t});\n\tconst daysRef = useRef([]);\n\tconst firstDayPosition = useRef(null);\n\tconst groupedEvents = getMobileMonthViewEvents({\n\t\tdate,\n\t\tevents: expandRecurringEvents({\n\t\t\tevents,\n\t\t\trangeStart: dayjs(date).startOf(\"month\").toDate(),\n\t\t\trangeEnd: dayjs(date).endOf(\"month\").toDate(),\n\t\t\texpansionLimit: recurrenceExpansionLimit\n\t\t})\n\t});\n\tconst weekdays = withWeekDays ? getWeekdaysNames({\n\t\tlocale: ctx.getLocale(locale),\n\t\tformat: weekdayFormat,\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n\t}).map((day, index) => /* @__PURE__ */ createElement(\"div\", {\n\t\t...getStyles(\"mobileMonthViewWeekday\"),\n\t\tkey: index\n\t}, day)) : null;\n\tconst weeks = getMonthDays({\n\t\tmonth: dayjs(date).format(\"YYYY-MM-DD\"),\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\tconsistentWeeks\n\t}).map((week, weekIndex) => {\n\t\tconst days = week.map((dayDate, dayIndex) => {\n\t\t\tconst outside = !isSameMonth(dayDate, date);\n\t\t\tconst weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(dayDate).day());\n\t\t\tconst ariaLabel = dayjs(dayDate).locale(locale || ctx.locale).format(\"MMMM D, YYYY\");\n\t\t\tconst dayProps = getDayProps?.(dayjs(dayDate).format(\"YYYY-MM-DD\")) || {};\n\t\t\tconst isToday = dayjs(dayDate).isSame(today, \"day\") && highlightToday;\n\t\t\tconst isSelected = _selectedDate && dayjs(dayDate).isSame(dayjs(_selectedDate), \"day\");\n\t\t\tconst dayEvents = groupedEvents[dayjs(dayDate).format(\"YYYY-MM-DD\")] || [];\n\t\t\tconst shouldRender = withOutsideDays || !outside;\n\t\t\tif (shouldRender && firstDayPosition.current === null) firstDayPosition.current = {\n\t\t\t\tweekIndex,\n\t\t\t\tdayIndex\n\t\t\t};\n\t\t\tconst isFirstDay = firstDayPosition.current?.weekIndex === weekIndex && firstDayPosition.current?.dayIndex === dayIndex;\n\t\t\tconst indicators = dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ createElement(\"div\", {\n\t\t\t\t...getStyles(\"mobileMonthViewDayIndicator\", { style: { backgroundColor: getThemeColor(event.color, theme) } }),\n\t\t\t\tkey: event.id\n\t\t\t}));\n\t\t\tconst handleDayClick = (event) => {\n\t\t\t\tconst dateStr = dayjs(dayDate).format(\"YYYY-MM-DD\");\n\t\t\t\t_setSelectedDate(dateStr);\n\t\t\t\tonDayClick?.(dateStr, event);\n\t\t\t\tdayProps.onClick?.(event);\n\t\t\t};\n\t\t\tconst handleDayKeyDown = (event) => {\n\t\t\t\thandleMonthViewKeyDown({\n\t\t\t\t\tcontrolsRef: daysRef,\n\t\t\t\t\tweekIndex,\n\t\t\t\t\tdayIndex,\n\t\t\t\t\tevent\n\t\t\t\t});\n\t\t\t};\n\t\t\treturn /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t\t\t\"aria-label\": ariaLabel,\n\t\t\t\t\"aria-selected\": isSelected || void 0,\n\t\t\t\t...dayProps,\n\t\t\t\t...getStyles(\"mobileMonthViewDay\", {\n\t\t\t\t\tclassName: dayProps.className,\n\t\t\t\t\tstyle: dayProps.style\n\t\t\t\t}),\n\t\t\t\tkey: dayDate,\n\t\t\t\tref: (node) => {\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tif (!daysRef.current[weekIndex]) daysRef.current[weekIndex] = [];\n\t\t\t\t\t\tdaysRef.current[weekIndex][dayIndex] = node;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmod: [{\n\t\t\t\t\toutside,\n\t\t\t\t\tweekend,\n\t\t\t\t\ttoday: isToday,\n\t\t\t\t\tselected: isSelected,\n\t\t\t\t\tstatic: mode === \"static\",\n\t\t\t\t\thidden: !shouldRender\n\t\t\t\t}, dayProps.mod],\n\t\t\t\ttabIndex: mode === \"static\" || !shouldRender ? -1 : isFirstDay ? 0 : -1,\n\t\t\t\tonClick: mode === \"static\" || !shouldRender ? void 0 : handleDayClick,\n\t\t\t\tonKeyDown: mode === \"static\" || !shouldRender ? void 0 : handleDayKeyDown\n\t\t\t}, shouldRender ? dayjs(dayDate).format(\"D\") : null, shouldRender && /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t...getStyles(\"mobileMonthViewDayIndicators\"),\n\t\t\t\tchildren: indicators\n\t\t\t}));\n\t\t});\n\t\tconst weekNumberProps = getWeekNumberProps?.(dayjs(week[0]).format(\"YYYY-MM-DD\")) || {};\n\t\tconst weekNumber = getWeekNumber(week);\n\t\treturn /* @__PURE__ */ createElement(\"div\", {\n\t\t\t...getStyles(\"mobileMonthViewWeek\"),\n\t\t\tkey: weekIndex\n\t\t}, withWeekNumbers && /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t\"aria-label\": `Week ${weekNumber}`,\n\t\t\t...weekNumberProps,\n\t\t\tonClick: mode === \"static\" ? void 0 : (event) => {\n\t\t\t\tonWeekNumberClick?.(dayjs(week[0]).format(\"YYYY-MM-DD\"), event);\n\t\t\t\tweekNumberProps.onClick?.(event);\n\t\t\t},\n\t\t\tmod: { static: mode === \"static\" },\n\t\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\t\t...getStyles(\"mobileMonthViewWeekNumber\", {\n\t\t\t\tclassName: weekNumberProps.className,\n\t\t\t\tstyle: weekNumberProps.style\n\t\t\t}),\n\t\t\tchildren: weekNumber\n\t\t}, weekNumber), days);\n\t});\n\tconst eventsList = (_selectedDate ? sortEvents(groupedEvents[dayjs(_selectedDate).format(\"YYYY-MM-DD\")] || []) : []).map((event) => {\n\t\tconst startTime = dayjs(event.start).format(\"HH:mm\");\n\t\tconst endTime = dayjs(event.end).format(\"HH:mm\");\n\t\tconst isAllDay = startTime === \"00:00\" && endTime === \"00:00\";\n\t\tconst eventChildren = /* @__PURE__ */ jsxs(Box, {\n\t\t\t...getStyles(\"mobileMonthViewEventBody\"),\n\t\t\tchildren: [/* @__PURE__ */ jsx(\"div\", { ...getStyles(\"mobileMonthViewEventColor\", { style: { backgroundColor: getThemeColor(event.color, theme) } }) }), /* @__PURE__ */ jsxs(\"div\", { children: [/* @__PURE__ */ jsx(Text, {\n\t\t\t\t...getStyles(\"mobileMonthViewEventTitle\"),\n\t\t\t\tchildren: event.title\n\t\t\t}), /* @__PURE__ */ jsx(Text, {\n\t\t\t\t...getStyles(\"mobileMonthViewEventTime\"),\n\t\t\t\tchildren: isAllDay ? \"All day\" : `${startTime} – ${endTime}`\n\t\t\t})] })]\n\t\t});\n\t\tconst rootProps = {\n\t\t\t...getStyles(\"mobileMonthViewEvent\"),\n\t\t\tonClick: mode === \"static\" ? void 0 : (e) => {\n\t\t\t\tonEventClick?.(event, e);\n\t\t\t},\n\t\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\t\tchildren: eventChildren\n\t\t};\n\t\tif (typeof renderEvent === \"function\") return /* @__PURE__ */ jsx(React.Fragment, { children: renderEvent(event, rootProps) }, event.id);\n\t\treturn /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t\t...rootProps,\n\t\t\tkey: event.id\n\t\t});\n\t});\n\tconst eventsHeader = _selectedDate ? formatDate({\n\t\tlocale: ctx.getLocale(locale),\n\t\tdate: _selectedDate,\n\t\tformat: eventsHeaderFormat\n\t}) : \"\";\n\tconst { dir } = useDirection();\n\tconst headerLabel = formatDate({\n\t\tlocale: ctx.getLocale(locale),\n\t\tdate,\n\t\tformat: \"MMMM YYYY\"\n\t});\n\tconst defaultHeader = /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(UnstyledButton, {\n\t\t...getStyles(\"mobileMonthViewHeaderBackButton\"),\n\t\tonClick: onYearClick,\n\t\tmod: { static: mode === \"static\" },\n\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\tchildren: [/* @__PURE__ */ jsx(AccordionChevron, {\n\t\t\tstyle: { transform: `rotate(${dir === \"rtl\" ? -90 : 90}deg)` },\n\t\t\tsize: 20\n\t\t}), dayjs(date).format(\"YYYY\")]\n\t}), /* @__PURE__ */ jsx(Text, {\n\t\t...getStyles(\"mobileMonthViewHeaderLabel\"),\n\t\tchildren: headerLabel\n\t})] });\n\treturn /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"mobileMonthView\"),\n\t\tmod: { \"with-week-numbers\": withWeekNumbers },\n\t\t...others,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t...getStyles(\"mobileMonthViewHeader\"),\n\t\t\t\tchildren: typeof renderHeader === \"function\" ? renderHeader({\n\t\t\t\t\tmode,\n\t\t\t\t\tdate,\n\t\t\t\t\tdefaultHeader\n\t\t\t\t}) : defaultHeader\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsxs(Box, {\n\t\t\t\t...getStyles(\"mobileMonthViewCalendar\"),\n\t\t\t\tmod: { \"with-weekdays\": withWeekDays },\n\t\t\t\tchildren: [weekdays && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t...getStyles(\"mobileMonthViewWeekdays\"),\n\t\t\t\t\tchildren: [withWeekNumbers && /* @__PURE__ */ jsx(\"div\", { ...getStyles(\"mobileMonthViewWeekdaysCorner\") }), weekdays]\n\t\t\t\t}), weeks]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsxs(Box, {\n\t\t\t\t...getStyles(\"mobileMonthViewEventsList\"),\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(Text, {\n\t\t\t\t\t...getStyles(\"mobileMonthViewEventsHeader\"),\n\t\t\t\t\tchildren: eventsHeader\n\t\t\t\t}), eventsList.length > 0 ? eventsList : /* @__PURE__ */ jsx(Text, {\n\t\t\t\t\t...getStyles(\"mobileMonthViewNoEvents\"),\n\t\t\t\t\tchildren: getLabel(\"noEvents\", labels)\n\t\t\t\t})]\n\t\t\t})\n\t\t]\n\t});\n});\nMobileMonthView.displayName = \"@mantine/schedule/MobileMonthView\";\nMobileMonthView.classes = MobileMonthView_module_default;\nMobileMonthView.varsResolver = varsResolver;\n//#endregion\nexport { MobileMonthView };\n\n//# sourceMappingURL=MobileMonthView.mjs.map",
|
|
99
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-renderable-month-event-segments.ts\nconst DAYS_IN_WEEK = 7;\nconst DAY_WIDTH = 100 / DAYS_IN_WEEK;\nfunction getEventDayRange(event) {\n\tconst startDayIndex = Math.max(0, Math.round(event.position.startOffset / DAY_WIDTH));\n\tconst daysSpanned = Math.max(1, Math.round(event.position.width / DAY_WIDTH));\n\treturn {\n\t\tstartDayIndex,\n\t\tendDayIndex: Math.min(DAYS_IN_WEEK - 1, startDayIndex + daysSpanned - 1)\n\t};\n}\nfunction getFirstAvailableRow(usedRows, maxEventsPerDay) {\n\tfor (let row = 0; row < maxEventsPerDay; row += 1) if (!usedRows.has(row)) return row;\n\treturn null;\n}\nfunction getSegmentHanging(originalHanging, touchesStart, touchesEnd) {\n\tconst hangsFromStart = touchesStart && (originalHanging === \"start\" || originalHanging === \"both\");\n\tconst hangsFromEnd = touchesEnd && (originalHanging === \"end\" || originalHanging === \"both\");\n\tif (hangsFromStart && hangsFromEnd) return \"both\";\n\tif (hangsFromStart) return \"start\";\n\tif (hangsFromEnd) return \"end\";\n\treturn \"none\";\n}\nfunction getSegmentPosition(event, segment, eventRange) {\n\tconst touchesStart = segment.startDayIndex === eventRange.startDayIndex;\n\tconst touchesEnd = segment.endDayIndex === eventRange.endDayIndex;\n\treturn {\n\t\t...event.position,\n\t\tstartOffset: segment.startDayIndex / DAYS_IN_WEEK * 100,\n\t\twidth: (segment.endDayIndex - segment.startDayIndex + 1) / DAYS_IN_WEEK * 100,\n\t\trow: segment.row,\n\t\thanging: getSegmentHanging(event.position.hanging, touchesStart, touchesEnd)\n\t};\n}\nfunction getEventKey(event) {\n\treturn event.id;\n}\nfunction getRenderableMonthEventSegments({ events, groupedByDay, maxEventsPerDay, week }) {\n\tconst eventIndexes = /* @__PURE__ */ new Map();\n\tconst eventRanges = /* @__PURE__ */ new Map();\n\tconst renderRows = /* @__PURE__ */ new Map();\n\tevents.forEach((event, index) => {\n\t\teventIndexes.set(event, index);\n\t\teventRanges.set(event, getEventDayRange(event));\n\t});\n\tconst setRenderRow = (event, dayIndex, row) => {\n\t\tif (!renderRows.has(event)) renderRows.set(event, /* @__PURE__ */ new Map());\n\t\trenderRows.get(event).set(dayIndex, row);\n\t};\n\tfor (let dayIndex = 0; dayIndex < week.length; dayIndex += 1) {\n\t\tconst dayEvents = groupedByDay[week[dayIndex]] || [];\n\t\tconst dayEventIds = new Set(dayEvents.map((event) => getEventKey(event)));\n\t\tconst dayWeekEvents = events.filter((event) => {\n\t\t\tconst range = eventRanges.get(event);\n\t\t\treturn dayEventIds.has(getEventKey(event)) && dayIndex >= range.startDayIndex && dayIndex <= range.endDayIndex;\n\t\t});\n\t\tif (dayEvents.length > maxEventsPerDay) {\n\t\t\tdayWeekEvents.forEach((event) => {\n\t\t\t\tif (event.position.row < maxEventsPerDay) setRenderRow(event, dayIndex, event.position.row);\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst usedRows = /* @__PURE__ */ new Set();\n\t\t[...dayWeekEvents].sort((a, b) => {\n\t\t\tconst rowDiff = a.position.row - b.position.row;\n\t\t\tif (rowDiff !== 0) return rowDiff;\n\t\t\treturn eventIndexes.get(a) - eventIndexes.get(b);\n\t\t}).forEach((event) => {\n\t\t\tlet row = event.position.row;\n\t\t\tif (row >= maxEventsPerDay || usedRows.has(row)) {\n\t\t\t\tconst availableRow = getFirstAvailableRow(usedRows, maxEventsPerDay);\n\t\t\t\tif (availableRow === null) return;\n\t\t\t\trow = availableRow;\n\t\t\t}\n\t\t\tusedRows.add(row);\n\t\t\tsetRenderRow(event, dayIndex, row);\n\t\t});\n\t}\n\treturn events.flatMap((event) => {\n\t\tconst eventRange = eventRanges.get(event);\n\t\tconst eventRenderRows = renderRows.get(event);\n\t\tconst segments = [];\n\t\tlet currentSegment = null;\n\t\tconst addSegment = (segment) => {\n\t\t\tconst position = getSegmentPosition(event, segment, eventRange);\n\t\t\tsegments.push({\n\t\t\t\tevent,\n\t\t\t\tposition,\n\t\t\t\tclipStart: segment.startDayIndex > eventRange.startDayIndex,\n\t\t\t\tclipEnd: segment.endDayIndex < eventRange.endDayIndex,\n\t\t\t\tkey: `${event.id}-${event.position.weekIndex}-${segment.startDayIndex}-${segment.endDayIndex}-${segment.row}`\n\t\t\t});\n\t\t};\n\t\tfor (let dayIndex = eventRange.startDayIndex; dayIndex <= eventRange.endDayIndex; dayIndex += 1) {\n\t\t\tconst row = eventRenderRows?.get(dayIndex);\n\t\t\tif (row === void 0) {\n\t\t\t\tif (currentSegment) {\n\t\t\t\t\taddSegment(currentSegment);\n\t\t\t\t\tcurrentSegment = null;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (currentSegment && currentSegment.row === row) currentSegment.endDayIndex = dayIndex;\n\t\t\telse {\n\t\t\t\tif (currentSegment) addSegment(currentSegment);\n\t\t\t\tcurrentSegment = {\n\t\t\t\t\tstartDayIndex: dayIndex,\n\t\t\t\t\tendDayIndex: dayIndex,\n\t\t\t\t\trow\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tif (currentSegment) addSegment(currentSegment);\n\t\treturn segments;\n\t});\n}\n//#endregion\nexport { getRenderableMonthEventSegments };\n\n//# sourceMappingURL=get-renderable-month-event-segments.mjs.map",
|
|
100
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/add-event-to-day-groups.ts\nfunction addEventToDayGroups({ positionedEvent, eventStart, eventEnd, groupedByDay, eventsAddedToDay, weekIdx }) {\n\tif (weekIdx === 0 || !eventsAddedToDay.has(positionedEvent.id.toString())) {\n\t\tlet dayDate = eventStart;\n\t\twhile (dayDate.isBefore(eventEnd) || dayDate.isSame(eventEnd, \"day\")) {\n\t\t\tconst dayDateStr = dayDate.format(\"YYYY-MM-DD 00:00:00\");\n\t\t\tif (groupedByDay[dayDateStr]) groupedByDay[dayDateStr].push(positionedEvent);\n\t\t\tdayDate = dayDate.add(1, \"day\");\n\t\t}\n\t\teventsAddedToDay.add(positionedEvent.id.toString());\n\t}\n}\n//#endregion\nexport { addEventToDayGroups };\n\n//# sourceMappingURL=add-event-to-day-groups.mjs.map",
|
|
101
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/calculate-event-position-in-week.ts\nfunction calculateEventPositionInWeek({ eventStart, eventEnd, weekStart, weekEnd, isMultiday }) {\n\tlet displayStart = eventStart;\n\tlet displayEnd = eventEnd;\n\tconst hangingStart = eventStart.isBefore(weekStart);\n\tconst hangingEnd = eventEnd.isAfter(weekEnd);\n\tconst hanging = hangingStart && hangingEnd ? \"both\" : hangingStart ? \"start\" : hangingEnd ? \"end\" : \"none\";\n\tif (displayStart.isBefore(weekStart)) displayStart = weekStart;\n\tif (displayEnd.isAfter(weekEnd)) displayEnd = weekEnd;\n\tconst startDayIndex = displayStart.diff(weekStart, \"day\");\n\tconst endDayIndex = displayEnd.diff(weekStart, \"day\");\n\tconst daysSpanned = Math.max(1, endDayIndex - startDayIndex + (isMultiday ? 1 : 0));\n\treturn {\n\t\tstartDayIndex,\n\t\tdaysSpanned,\n\t\tstartOffset: startDayIndex / 7 * 100,\n\t\twidth: daysSpanned / 7 * 100,\n\t\thanging\n\t};\n}\n//#endregion\nexport { calculateEventPositionInWeek };\n\n//# sourceMappingURL=calculate-event-position-in-week.mjs.map",
|
|
102
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/find-available-row.ts\nfunction findAvailableRow({ existingEvents, startDayIndex, daysSpanned, weekStart }) {\n\tlet row = 0;\n\tfor (const existing of existingEvents) {\n\t\tconst existingStart = dayjs(existing.start).startOf(\"day\");\n\t\tconst existingDayIndex = (existingStart.isBefore(weekStart) || existingStart.isSame(weekStart, \"day\") ? weekStart : existingStart).diff(weekStart, \"day\");\n\t\tif (existingDayIndex + (existing.position?.width || 0) / 100 * 7 > startDayIndex && existingDayIndex < startDayIndex + daysSpanned) row = Math.max(row, (existing.position?.row || 0) + 1);\n\t}\n\treturn row;\n}\n//#endregion\nexport { findAvailableRow };\n\n//# sourceMappingURL=find-available-row.mjs.map",
|
|
103
|
+
"\"use client\";\nimport { getStartOfWeek } from \"../../../utils/get-start-of-week/get-start-of-week.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/get-weeks-in-range.ts\nfunction getWeeksInRange({ rangeStart, rangeEnd, firstDayOfWeek }) {\n\tconst weeks = [];\n\tconst groupedByDay = {};\n\tlet currentDate = dayjs(getStartOfWeek({\n\t\tdate: rangeStart.format(\"YYYY-MM-DD\"),\n\t\tfirstDayOfWeek\n\t}));\n\twhile (currentDate.isBefore(rangeEnd) || currentDate.isSame(rangeEnd, \"day\")) {\n\t\tconst week = [];\n\t\tfor (let i = 0; i < 7; i++) {\n\t\t\tconst dateStr = currentDate.format(\"YYYY-MM-DD 00:00:00\");\n\t\t\tweek.push(dateStr);\n\t\t\tif (!groupedByDay[dateStr]) groupedByDay[dateStr] = [];\n\t\t\tcurrentDate = currentDate.add(1, \"day\");\n\t\t}\n\t\tweeks.push(week);\n\t}\n\treturn {\n\t\tweeks,\n\t\tgroupedByDay\n\t};\n}\n//#endregion\nexport { getWeeksInRange };\n\n//# sourceMappingURL=get-weeks-in-range.mjs.map",
|
|
104
|
+
"\"use client\";\nimport { addEventToDayGroups } from \"./add-event-to-day-groups.mjs\";\nimport { calculateEventPositionInWeek } from \"./calculate-event-position-in-week.mjs\";\nimport { findAvailableRow } from \"./find-available-row.mjs\";\nimport { getWeeksInRange } from \"./get-weeks-in-range.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/get-month-positioned-events.ts\nfunction getMonthPositionedEvents({ date, events, firstDayOfWeek = 1, range }) {\n\tconst groupedByWeek = {};\n\tconst backgroundByWeek = {};\n\tconst eventsAddedToDay = /* @__PURE__ */ new Set();\n\tconst { weeks, groupedByDay } = getWeeksInRange({\n\t\trangeStart: range ? dayjs(range.start) : dayjs(date).startOf(\"month\"),\n\t\trangeEnd: range ? dayjs(range.end) : dayjs(date).startOf(\"month\").endOf(\"month\"),\n\t\tfirstDayOfWeek\n\t});\n\tfor (let i = 0; i < weeks.length; i++) {\n\t\tgroupedByWeek[i.toString()] = [];\n\t\tbackgroundByWeek[i.toString()] = [];\n\t}\n\tfor (const event of events) {\n\t\tconst eventStart = dayjs(event.start).startOf(\"day\");\n\t\tconst rawEnd = dayjs(event.end);\n\t\tconst eventEnd = rawEnd.hour() === 0 && rawEnd.minute() === 0 && rawEnd.second() === 0 ? rawEnd.startOf(\"day\").subtract(1, \"day\") : rawEnd.startOf(\"day\");\n\t\tconst isMultiday = eventEnd.isAfter(eventStart);\n\t\tfor (let weekIdx = 0; weekIdx < weeks.length; weekIdx++) {\n\t\t\tconst week = weeks[weekIdx];\n\t\t\tconst weekStart = dayjs(week[0]).startOf(\"day\");\n\t\t\tconst weekEnd = dayjs(week[6]).endOf(\"day\");\n\t\t\tif ((eventStart.isBefore(weekEnd) || eventStart.isSame(weekEnd, \"day\")) && (eventEnd.isAfter(weekStart) || eventEnd.isSame(weekStart, \"day\"))) {\n\t\t\t\tconst { startDayIndex, daysSpanned, startOffset, width, hanging } = calculateEventPositionInWeek({\n\t\t\t\t\teventStart,\n\t\t\t\t\teventEnd,\n\t\t\t\t\tweekStart,\n\t\t\t\t\tweekEnd,\n\t\t\t\t\tisMultiday\n\t\t\t\t});\n\t\t\t\tif (event.display === \"background\") {\n\t\t\t\t\tbackgroundByWeek[weekIdx.toString()].push({\n\t\t\t\t\t\t...event,\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\tstartOffset,\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tweekIndex: weekIdx,\n\t\t\t\t\t\t\trow: 0,\n\t\t\t\t\t\t\thanging\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst row = findAvailableRow({\n\t\t\t\t\texistingEvents: groupedByWeek[weekIdx.toString()],\n\t\t\t\t\tstartDayIndex,\n\t\t\t\t\tdaysSpanned,\n\t\t\t\t\tweekStart\n\t\t\t\t});\n\t\t\t\tconst positionedEvent = {\n\t\t\t\t\t...event,\n\t\t\t\t\tposition: {\n\t\t\t\t\t\tstartOffset,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tweekIndex: weekIdx,\n\t\t\t\t\t\trow,\n\t\t\t\t\t\thanging\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tgroupedByWeek[weekIdx.toString()].push(positionedEvent);\n\t\t\t\taddEventToDayGroups({\n\t\t\t\t\tpositionedEvent,\n\t\t\t\t\teventStart,\n\t\t\t\t\teventEnd,\n\t\t\t\t\tgroupedByDay,\n\t\t\t\t\teventsAddedToDay,\n\t\t\t\t\tweekIdx\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tgroupedByWeek,\n\t\tgroupedByDay,\n\t\tbackgroundByWeek\n\t};\n}\n//#endregion\nexport { getMonthPositionedEvents };\n\n//# sourceMappingURL=get-month-positioned-events.mjs.map",
|
|
105
|
+
"\"use client\";\nimport { validateEvent } from \"../../../utils/validate-event/validate-event.mjs\";\nimport { getMonthRange } from \"../../../utils/get-month-range/get-month-range.mjs\";\nimport { getMonthPositionedEvents } from \"./get-month-positioned-events.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/MonthView/get-month-view-events/get-month-view-events.ts\nfunction getMonthViewEvents({ date, events, firstDayOfWeek = 1, withOutsideDays, consistentWeeks }) {\n\tif (events === void 0) return {\n\t\tgroupedByDay: {},\n\t\tgroupedByWeek: {},\n\t\tbackgroundByWeek: {}\n\t};\n\tconst ids = /* @__PURE__ */ new Set();\n\tconst filteredEvents = [];\n\tconst range = getMonthRange({\n\t\tmonth: date,\n\t\twithOutsideDays,\n\t\tconsistentWeeks,\n\t\tfirstDayOfWeek\n\t});\n\tfor (const event of events) if (dayjs(event.end).isAfter(range.start, \"day\") || dayjs(event.start).isBefore(range.end, \"day\")) {\n\t\tfilteredEvents.push(validateEvent(event));\n\t\tif (!ids.has(event.id)) ids.add(event.id);\n\t\telse throw new Error(`[@mantine/schedule] MonthView: Duplicated event ids found: ${event.id}`);\n\t}\n\treturn getMonthPositionedEvents({\n\t\tdate,\n\t\tevents: filteredEvents,\n\t\tfirstDayOfWeek,\n\t\trange\n\t});\n}\n//#endregion\nexport { getMonthViewEvents };\n\n//# sourceMappingURL=get-month-view-events.mjs.map",
|
|
106
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/MonthView/MonthView.module.css\nvar MonthView_module_default = {\n\t\"monthView\": \"m_8eceba9d\",\n\t\"monthViewWeekdays\": \"m_6634a808\",\n\t\"monthViewWeek\": \"m_bdaf3831\",\n\t\"monthViewWeekNumber\": \"m_873456da\",\n\t\"monthViewWeekday\": \"m_c97d91cb\",\n\t\"monthViewWeekdaysCorner\": \"m_25eee07d\",\n\t\"monthViewDay\": \"m_ab476fbf\",\n\t\"monthViewDayLabel\": \"m_fd501e75\",\n\t\"monthViewBackgroundEvent\": \"m_9e8509af\",\n\t\"monthViewEvents\": \"m_f0fa5e16\"\n};\n//#endregion\nexport { MonthView_module_default as default };\n\n//# sourceMappingURL=MonthView.module.mjs.map",
|
|
107
|
+
"\"use client\";\nimport { getWeekdaysNames } from \"../../utils/get-weekdays-names/get-weekdays-names.mjs\";\nimport { getWeekNumber } from \"../../utils/get-week-number/get-week-number.mjs\";\nimport { getMonthDays } from \"../../utils/get-month-days/get-month-days.mjs\";\nimport { isSameMonth } from \"../../utils/is-same-month/is-same-month.mjs\";\nimport { toDateString } from \"../../utils/to-date-string/to-date-string.mjs\";\nimport { getMonthRange } from \"../../utils/get-month-range/get-month-range.mjs\";\nimport { calculateMonthDropDate } from \"../../utils/calculate-month-drop-date/calculate-month-drop-date.mjs\";\nimport { expandRecurringEvents } from \"../../utils/expand-recurring-events/expand-recurring-events.mjs\";\nimport { useDragDropHandlers } from \"../../hooks/use-drag-drop-handlers.mjs\";\nimport { useSlotDragSelect } from \"../../hooks/use-slot-drag-select.mjs\";\nimport { DragContext } from \"../DragContext/DragContext.mjs\";\nimport { ScheduleEvent } from \"../ScheduleEvent/ScheduleEvent.mjs\";\nimport { MoreEvents } from \"../MoreEvents/MoreEvents.mjs\";\nimport { ScheduleHeaderBase } from \"../ScheduleHeader/ScheduleHeaderBase.mjs\";\nimport { handleMonthViewKeyDown } from \"./handle-month-view-key-down.mjs\";\nimport { getRenderableMonthEventSegments } from \"./get-renderable-month-event-segments.mjs\";\nimport { getMonthViewEvents } from \"./get-month-view-events/get-month-view-events.mjs\";\nimport MonthView_module_default from \"./MonthView.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, ScrollArea, UnstyledButton, createVarsResolver, factory, getRadius, useMantineTheme, useProps, useResolvedStylesApi, useStyles } from \"@mantine/core\";\nimport { createElement, useCallback, useRef } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/MonthView/MonthView.tsx\nconst varsResolver = createVarsResolver((_theme, { radius, maxEventsPerDay }) => ({ monthView: {\n\t\"--month-view-radius\": radius !== void 0 ? getRadius(radius) : void 0,\n\t\"--month-view-max-events\": maxEventsPerDay !== void 0 ? `${Math.min(10, Math.max(1, maxEventsPerDay))}` : void 0\n} }));\nconst defaultProps = {\n\t__staticSelector: \"MonthView\",\n\twithWeekDays: true,\n\tconsistentWeeks: true,\n\thighlightToday: true,\n\twithOutsideDays: true,\n\twithHeader: true,\n\tweekdayFormat: \"ddd\",\n\twithEventsDragAndDrop: false,\n\twithDragSlotSelect: false,\n\tmode: \"default\"\n};\nconst MonthView = factory((_props) => {\n\tconst props = useProps(\"MonthView\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, attributes, vars, mod, date, onDateChange, withWeekNumbers, withWeekDays, locale, weekdayFormat, firstDayOfWeek, weekendDays, __staticSelector, getDayProps, getWeekNumberProps, onDayClick, onWeekNumberClick, consistentWeeks, highlightToday, radius, withOutsideDays, withHeader, monthYearSelectProps, onViewChange, todayControlProps, nextControlProps, previousControlProps, viewSelectProps, events, moreEventsProps, renderEventBody, renderEvent, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onEventClick, withDragSlotSelect, onSlotDragEnd, labels, mode, scrollAreaProps, onExternalEventDrop, recurrenceExpansionLimit, maxEventsPerDay: _maxEventsPerDay, ...others } = props;\n\tconst maxEventsPerDay = Math.min(10, Math.max(1, _maxEventsPerDay ?? 2));\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: MonthView_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tattributes,\n\t\tvars,\n\t\tvarsResolver,\n\t\trootSelector: \"monthView\"\n\t});\n\tconst { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n\t\tclassNames,\n\t\tstyles,\n\t\tprops\n\t});\n\tconst stylesApiProps = {\n\t\tclassNames: resolvedClassNames,\n\t\tstyles: resolvedStyles,\n\t\tattributes,\n\t\t__staticSelector,\n\t\tradius\n\t};\n\tconst theme = useMantineTheme();\n\tconst ctx = useDatesContext();\n\tconst range = getMonthRange({\n\t\tmonth: date,\n\t\twithOutsideDays,\n\t\tconsistentWeeks,\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n\t});\n\tconst monthEvents = getMonthViewEvents({\n\t\tdate,\n\t\tevents: expandRecurringEvents({\n\t\t\tevents,\n\t\t\trangeStart: dayjs(range.start).startOf(\"day\").toDate(),\n\t\t\trangeEnd: dayjs(range.end).endOf(\"day\").toDate(),\n\t\t\texpansionLimit: recurrenceExpansionLimit\n\t\t}),\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\twithOutsideDays,\n\t\tconsistentWeeks\n\t});\n\tconst handleExternalDrop = useCallback((e, day) => {\n\t\tif (!onExternalEventDrop) return;\n\t\tonExternalEventDrop(e.dataTransfer, `${dayjs(day).format(\"YYYY-MM-DD\")} 00:00:00`);\n\t}, [onExternalEventDrop]);\n\tconst dragDrop = useDragDropHandlers({\n\t\tenabled: withEventsDragAndDrop,\n\t\tmode,\n\t\tonEventDrop,\n\t\tcanDragEvent,\n\t\tonEventDragStart,\n\t\tonEventDragEnd,\n\t\tcalculateDropTarget: (targetDay, draggedEvent) => {\n\t\t\treturn calculateMonthDropDate({\n\t\t\t\tdraggedEvent,\n\t\t\t\ttargetDay\n\t\t\t});\n\t\t},\n\t\tonExternalDrop: onExternalEventDrop ? handleExternalDrop : void 0\n\t});\n\tconst withDragHandlers = (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== \"static\";\n\tconst flatDaysRef = useRef([]);\n\tconst slotDragSelect = useSlotDragSelect({\n\t\tenabled: withDragSlotSelect && mode !== \"static\",\n\t\tonDragEnd: (startIndex, endIndex) => {\n\t\t\tif (!onSlotDragEnd) return;\n\t\t\tconst startDay = flatDaysRef.current[startIndex];\n\t\t\tconst endDay = flatDaysRef.current[endIndex];\n\t\t\tif (startDay && endDay) onSlotDragEnd(dayjs(startDay).startOf(\"day\").format(\"YYYY-MM-DD HH:mm:ss\"), dayjs(endDay).endOf(\"day\").format(\"YYYY-MM-DD HH:mm:ss\"));\n\t\t}\n\t});\n\tconst daysRef = useRef([]);\n\tconst monthDays = getMonthDays({\n\t\tmonth: dayjs(date).format(\"YYYY-MM-DD 00:00:00\"),\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\tconsistentWeeks: consistentWeeks && withOutsideDays\n\t});\n\tconst firstDayIndex = (() => {\n\t\tfor (let weekIndex = 0; weekIndex < monthDays.length; weekIndex++) {\n\t\t\tconst week = monthDays[weekIndex];\n\t\t\tfor (let dayIndex = 0; dayIndex < week.length; dayIndex++) {\n\t\t\t\tconst day = week[dayIndex];\n\t\t\t\tif (!!isSameMonth(date, day) || withOutsideDays) return {\n\t\t\t\t\tweekIndex,\n\t\t\t\t\tdayIndex\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tweekIndex: 0,\n\t\t\tdayIndex: 0\n\t\t};\n\t})();\n\tconst weekdays = withWeekDays ? getWeekdaysNames({\n\t\tlocale: ctx.getLocale(locale),\n\t\tformat: weekdayFormat,\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n\t}).map((day, index) => /* @__PURE__ */ createElement(\"div\", {\n\t\t...getStyles(\"monthViewWeekday\"),\n\t\tkey: index\n\t}, day)) : null;\n\tconst monthGroup = \"month\";\n\tflatDaysRef.current = monthDays.flat();\n\tconst weeks = monthDays.map((week, weekIndex) => {\n\t\tif (!daysRef.current[weekIndex]) daysRef.current[weekIndex] = [];\n\t\tconst days = week.map((day, dayIndex) => {\n\t\t\tconst outside = !isSameMonth(date, day);\n\t\t\tconst weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(day).day());\n\t\t\tconst ariaLabel = dayjs(day).locale(locale || ctx.locale).format(\"MMMM D, YYYY\");\n\t\t\tconst dayProps = getDayProps?.(dayjs(day).format(\"YYYY-MM-DD\")) || {};\n\t\t\tconst today = dayjs(day).isSame(dayjs(), \"day\") && highlightToday;\n\t\t\tif (outside && !withOutsideDays) return /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"data-static\": true,\n\t\t\t\t...getStyles(\"monthViewDay\", { style: dayProps.style })\n\t\t\t}, day);\n\t\t\tconst isFirstDay = weekIndex === firstDayIndex.weekIndex && dayIndex === firstDayIndex.dayIndex;\n\t\t\tconst isDropTarget = dragDrop.isDropTarget(day);\n\t\t\tconst flatIndex = weekIndex * 7 + dayIndex;\n\t\t\tconst isDragSelected = slotDragSelect.isSlotSelected(flatIndex, monthGroup);\n\t\t\treturn /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t\t\t\"aria-label\": ariaLabel,\n\t\t\t\t...dayProps,\n\t\t\t\t...getStyles(\"monthViewDay\", {\n\t\t\t\t\tclassName: dayProps.className,\n\t\t\t\t\tstyle: dayProps.style\n\t\t\t\t}),\n\t\t\t\tkey: day,\n\t\t\t\tref: (node) => {\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tif (!daysRef.current[weekIndex]) daysRef.current[weekIndex] = [];\n\t\t\t\t\t\tdaysRef.current[weekIndex][dayIndex] = node;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"data-drag-slot-index\": withDragSlotSelect && mode !== \"static\" ? flatIndex : void 0,\n\t\t\t\t\"data-drag-slot-group\": withDragSlotSelect && mode !== \"static\" ? monthGroup : void 0,\n\t\t\t\tonClick: mode === \"static\" ? void 0 : (event) => {\n\t\t\t\t\tonDayClick?.(dayjs(day).format(\"YYYY-MM-DD\"), event);\n\t\t\t\t\tdayProps.onClick?.(event);\n\t\t\t\t},\n\t\t\t\tonPointerDown: withDragSlotSelect && mode !== \"static\" ? (e) => slotDragSelect.handleSlotPointerDown(e, flatIndex, monthGroup) : void 0,\n\t\t\t\tonKeyDown: (event) => {\n\t\t\t\t\thandleMonthViewKeyDown({\n\t\t\t\t\t\tcontrolsRef: daysRef,\n\t\t\t\t\t\tweekIndex,\n\t\t\t\t\t\tdayIndex,\n\t\t\t\t\t\tevent\n\t\t\t\t\t});\n\t\t\t\t\tdayProps.onKeyDown?.(event);\n\t\t\t\t},\n\t\t\t\tmod: [{\n\t\t\t\t\toutside,\n\t\t\t\t\tweekend,\n\t\t\t\t\ttoday,\n\t\t\t\t\t\"drop-target\": isDropTarget,\n\t\t\t\t\t\"drag-selected\": isDragSelected,\n\t\t\t\t\tstatic: mode === \"static\"\n\t\t\t\t}, dayProps.mod],\n\t\t\t\t\"data-outside\": outside || void 0,\n\t\t\t\ttabIndex: mode === \"static\" ? -1 : isFirstDay ? 0 : -1,\n\t\t\t\tonDragOver: withDragHandlers ? (e) => dragDrop.handleDragOver(e, day) : void 0,\n\t\t\t\tonDragLeave: withDragHandlers ? dragDrop.handleDragLeave : void 0,\n\t\t\t\tonDrop: withDragHandlers ? (e) => dragDrop.handleDrop(e, day) : void 0\n\t\t\t}, /* @__PURE__ */ jsx(\"span\", {\n\t\t\t\t\"data-today\": today || void 0,\n\t\t\t\t...getStyles(\"monthViewDayLabel\"),\n\t\t\t\tchildren: dayjs(day).format(\"D\")\n\t\t\t}));\n\t\t});\n\t\tconst weekNumberProps = getWeekNumberProps?.(dayjs(week[0]).format(\"YYYY-MM-DD\")) || {};\n\t\tconst weekNumber = getWeekNumber(week);\n\t\tconst backgroundEventNodes = (monthEvents.backgroundByWeek[weekIndex] || []).map((event) => {\n\t\t\tconst colors = theme.variantColorResolver({\n\t\t\t\tcolor: event.color || theme.primaryColor,\n\t\t\t\ttheme,\n\t\t\t\tvariant: \"light\",\n\t\t\t\tautoContrast: true\n\t\t\t});\n\t\t\tconst bgEventBody = typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title;\n\t\t\tconst bgEventProps = {\n\t\t\t\tkey: `bg-${event.id}-${weekIndex}`,\n\t\t\t\t...getStyles(\"monthViewBackgroundEvent\", { style: {\n\t\t\t\t\tleft: `calc(${event.position.startOffset}% + 2px)`,\n\t\t\t\t\twidth: `calc(${event.position.width}% - 3px)`\n\t\t\t\t} }),\n\t\t\t\t__vars: {\n\t\t\t\t\t\"--bg-event-bg\": colors.background,\n\t\t\t\t\t\"--bg-event-color\": colors.color\n\t\t\t\t},\n\t\t\t\tchildren: bgEventBody\n\t\t\t};\n\t\t\tif (typeof renderEvent === \"function\") return renderEvent(event, bgEventProps);\n\t\t\tconst { key: bgEventKey, ...restBgEventProps } = bgEventProps;\n\t\t\treturn /* @__PURE__ */ jsx(Box, { ...restBgEventProps }, bgEventKey);\n\t\t});\n\t\tconst rowHeightPercent = 100 / maxEventsPerDay;\n\t\tconst events = getRenderableMonthEventSegments({\n\t\t\tevents: monthEvents.groupedByWeek[weekIndex] || [],\n\t\t\tgroupedByDay: monthEvents.groupedByDay,\n\t\t\tmaxEventsPerDay,\n\t\t\tweek\n\t\t}).map((segment) => {\n\t\t\tconst isDraggable = dragDrop.isDraggableEvent(segment.event);\n\t\t\treturn /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\t\t\tevent: segment.event,\n\t\t\t\tnowrap: true,\n\t\t\t\tautoSize: true,\n\t\t\t\thanging: segment.position.hanging,\n\t\t\t\tdraggable: isDraggable,\n\t\t\t\trenderEventBody,\n\t\t\t\trenderEvent,\n\t\t\t\tradius,\n\t\t\t\tmode,\n\t\t\t\tmod: {\n\t\t\t\t\t\"clip-start\": segment.clipStart,\n\t\t\t\t\t\"clip-end\": segment.clipEnd\n\t\t\t\t},\n\t\t\t\tonClick: onEventClick ? (e) => onEventClick(segment.event, e) : void 0,\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: `calc(${segment.position.row * rowHeightPercent}% + 1px)`,\n\t\t\t\t\tleft: `calc(${segment.position.startOffset}% + 1px)`,\n\t\t\t\t\twidth: `calc(${segment.position.width}% - 2px)`,\n\t\t\t\t\theight: `calc(${rowHeightPercent}% - 2px)`\n\t\t\t\t}\n\t\t\t}, segment.key);\n\t\t});\n\t\tconst moreEventsNodes = week.map((day, dayIndex) => {\n\t\t\tconst dayEvents = monthEvents.groupedByDay[day] || [];\n\t\t\tconst hiddenEventsCount = Math.max(0, dayEvents.length - maxEventsPerDay);\n\t\t\tif (hiddenEventsCount <= 0) return null;\n\t\t\treturn /* @__PURE__ */ jsx(MoreEvents, {\n\t\t\t\tevents: dayEvents,\n\t\t\t\tmoreEventsCount: hiddenEventsCount,\n\t\t\t\tmode,\n\t\t\t\tlabels,\n\t\t\t\trenderEventBody,\n\t\t\t\trenderEvent,\n\t\t\t\tonEventClick,\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: `calc(100% - 2px)`,\n\t\t\t\t\tleft: `calc(${dayIndex / 7 * 100}% + 1px)`,\n\t\t\t\t\twidth: `calc(${1 / 7 * 100}% - 1px)`,\n\t\t\t\t\theight: \"22px\",\n\t\t\t\t\tpaddingInline: 4\n\t\t\t\t},\n\t\t\t\t...moreEventsProps\n\t\t\t}, `more-${day}`);\n\t\t});\n\t\treturn /* @__PURE__ */ createElement(\"div\", {\n\t\t\t...getStyles(\"monthViewWeek\"),\n\t\t\tkey: weekIndex\n\t\t}, withWeekNumbers && /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t\"aria-label\": `Week ${weekNumber}`,\n\t\t\t...weekNumberProps,\n\t\t\tonClick: mode === \"static\" ? void 0 : (event) => {\n\t\t\t\tonViewChange?.(\"week\");\n\t\t\t\tonDateChange?.(toDateString(week[0]));\n\t\t\t\tonWeekNumberClick?.(dayjs(week[0]).format(\"YYYY-MM-DD\"), event);\n\t\t\t\tweekNumberProps.onClick?.(event);\n\t\t\t},\n\t\t\tmod: { static: mode === \"static\" },\n\t\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\t\t...getStyles(\"monthViewWeekNumber\", {\n\t\t\t\tclassName: weekNumberProps.className,\n\t\t\t\tstyle: weekNumberProps.style\n\t\t\t}),\n\t\t\tchildren: weekNumber\n\t\t}, weekNumber), /* @__PURE__ */ createElement(\"div\", {\n\t\t\t...getStyles(\"monthViewEvents\"),\n\t\t\tkey: \"week-events\"\n\t\t}, backgroundEventNodes, events, moreEventsNodes), days);\n\t});\n\tconst content = /* @__PURE__ */ jsxs(Box, {\n\t\tmod: [{\n\t\t\t\"with-week-numbers\": withWeekNumbers,\n\t\t\t\"with-weekdays\": withWeekDays,\n\t\t\tstatic: mode === \"static\",\n\t\t\t\"slot-dragging\": slotDragSelect.isDragging\n\t\t}, mod],\n\t\t...getStyles(\"monthView\"),\n\t\t...others,\n\t\tchildren: [withHeader && /* @__PURE__ */ jsx(ScheduleHeaderBase, {\n\t\t\tview: \"month\",\n\t\t\tnavigationHandlers: {\n\t\t\t\tprevious: () => toDateString(dayjs(date).subtract(1, \"month\").startOf(\"month\")),\n\t\t\t\tnext: () => toDateString(dayjs(date).add(1, \"month\").startOf(\"month\")),\n\t\t\t\ttoday: () => toDateString(dayjs())\n\t\t\t},\n\t\t\tcontrol: { monthYearSelect: {\n\t\t\t\tlocale,\n\t\t\t\tyearValue: dayjs(date).get(\"year\"),\n\t\t\t\tmonthValue: dayjs(date).get(\"month\"),\n\t\t\t\tonYearChange: (year) => onDateChange?.(toDateString(dayjs(date).set(\"year\", year).startOf(\"month\"))),\n\t\t\t\tonMonthChange: (month) => onDateChange?.(toDateString(dayjs(date).set(\"month\", month).startOf(\"month\"))),\n\t\t\t\t...monthYearSelectProps\n\t\t\t} },\n\t\t\tlabels,\n\t\t\tonDateChange,\n\t\t\tonViewChange,\n\t\t\tpreviousControlProps,\n\t\t\tnextControlProps,\n\t\t\ttodayControlProps,\n\t\t\tviewSelectProps,\n\t\t\tstylesApiProps\n\t\t}), /* @__PURE__ */ jsx(ScrollArea, {\n\t\t\tscrollbarSize: 4,\n\t\t\t...scrollAreaProps,\n\t\t\t...getStyles(\"monthViewScrollArea\", {\n\t\t\t\tclassName: scrollAreaProps?.className,\n\t\t\t\tstyle: scrollAreaProps?.style\n\t\t\t}),\n\t\t\tchildren: /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t...getStyles(\"monthViewInner\"),\n\t\t\t\tchildren: [weekdays && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t...getStyles(\"monthViewWeekdays\"),\n\t\t\t\t\tchildren: [withWeekNumbers && /* @__PURE__ */ jsx(\"div\", { ...getStyles(\"monthViewWeekdaysCorner\") }), weekdays]\n\t\t\t\t}), weeks]\n\t\t\t})\n\t\t})]\n\t});\n\tif (withEventsDragAndDrop) return /* @__PURE__ */ jsx(DragContext.Provider, {\n\t\tvalue: dragDrop.dragContextValue,\n\t\tchildren: content\n\t});\n\treturn content;\n});\nMonthView.displayName = \"@mantine/schedule/MonthView\";\nMonthView.classes = MonthView_module_default;\nMonthView.varsResolver = varsResolver;\n//#endregion\nexport { MonthView };\n\n//# sourceMappingURL=MonthView.mjs.map",
|
|
108
|
+
"\"use client\";\nimport { formatDate } from \"../../../utils/format-date/format-date.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-label/get-week-label.ts\nfunction getWeekLabel({ weekdays, locale, weekLabelFormat, renderWeekLabel }) {\n\tif (renderWeekLabel) return renderWeekLabel({\n\t\tweekStart: dayjs(weekdays[0]).format(\"YYYY-MM-DD\"),\n\t\tweekEnd: dayjs(weekdays[weekdays.length - 1]).format(\"YYYY-MM-DD\")\n\t});\n\treturn `${formatDate({\n\t\tlocale,\n\t\tdate: weekdays[0],\n\t\tformat: weekLabelFormat\n\t})} – ${formatDate({\n\t\tlocale,\n\t\tdate: weekdays[weekdays.length - 1],\n\t\tformat: weekLabelFormat\n\t})}, ${formatDate({\n\t\tlocale,\n\t\tdate: weekdays[0],\n\t\tformat: \"YYYY\"\n\t})}`;\n}\n//#endregion\nexport { getWeekLabel };\n\n//# sourceMappingURL=get-week-label.mjs.map",
|
|
109
|
+
"\"use client\";\nimport { validateEvent } from \"../../../utils/validate-event/validate-event.mjs\";\nimport { isEventInTimeRange } from \"../../../utils/is-event-in-time-range/is-event-in-time-range.mjs\";\nimport { isWithinWeek } from \"../../../utils/is-within-week/is-within-week.mjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/filter-week-view-events.ts\nfunction filterWeekViewEvents({ date, events, startTime, endTime, firstDayOfWeek = 1 }) {\n\tif (events === void 0) return [];\n\tconst ids = /* @__PURE__ */ new Set();\n\tconst filteredEvents = [];\n\tfor (const event of events) if (isWithinWeek({\n\t\tevent,\n\t\ttargetWeek: date,\n\t\tfirstDayOfWeek\n\t}) && isEventInTimeRange({\n\t\tevent,\n\t\tstartTime,\n\t\tendTime\n\t})) {\n\t\tfilteredEvents.push(validateEvent(event));\n\t\tif (!ids.has(event.id)) ids.add(event.id);\n\t\telse throw new Error(`[@mantine/schedule] WeekView: Duplicated event ids found: ${event.id}`);\n\t}\n\treturn filteredEvents;\n}\n//#endregion\nexport { filterWeekViewEvents };\n\n//# sourceMappingURL=filter-week-view-events.mjs.map",
|
|
110
|
+
"\"use client\";\nimport { isEventsOverlap } from \"../../../utils/is-events-overlap/is-events-overlap.mjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/assign-event-rows.ts\nfunction assignEventRows(events) {\n\tconst eventRows = /* @__PURE__ */ new Map();\n\tfor (const event of events) {\n\t\tlet row = 0;\n\t\twhile (true) {\n\t\t\tlet hasConflict = false;\n\t\t\tfor (const [otherEvent, otherRow] of eventRows.entries()) if (otherRow === row && isEventsOverlap(event, otherEvent)) {\n\t\t\t\thasConflict = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!hasConflict) break;\n\t\t\trow++;\n\t\t}\n\t\teventRows.set(event, row);\n\t}\n\treturn eventRows;\n}\n//#endregion\nexport { assignEventRows };\n\n//# sourceMappingURL=assign-event-rows.mjs.map",
|
|
111
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-all-day-event-offset.ts\nfunction calculateAllDayEventOffset({ eventStartDate, weekStartDate, weekDays, visibleDaysCount, hangingStart }) {\n\tlet displayStartDate = eventStartDate;\n\tif (hangingStart) displayStartDate = weekStartDate;\n\tif (!weekDays.some((day) => dayjs(day).isSame(displayStartDate, \"day\"))) displayStartDate = dayjs(weekDays[0]);\n\treturn (weekDays.filter((day) => dayjs(day).isBefore(displayStartDate) || dayjs(day).isSame(displayStartDate, \"day\")).length - 1) / visibleDaysCount * 100;\n}\n//#endregion\nexport { calculateAllDayEventOffset };\n\n//# sourceMappingURL=calculate-all-day-event-offset.mjs.map",
|
|
112
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-all-day-event-width.ts\nfunction calculateAllDayEventWidth({ eventStartDate, actualEndDate, weekStartDate, weekEndDate, weekDays, visibleDaysCount }) {\n\tlet displayStartDate = eventStartDate;\n\tif (eventStartDate.isBefore(weekStartDate)) displayStartDate = weekStartDate;\n\tlet displayEndDate = actualEndDate;\n\tif (actualEndDate.isAfter(weekEndDate)) displayEndDate = weekEndDate;\n\treturn weekDays.filter((day) => (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, \"day\")) && (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, \"day\"))).length / visibleDaysCount * 100;\n}\n//#endregion\nexport { calculateAllDayEventWidth };\n\n//# sourceMappingURL=calculate-all-day-event-width.mjs.map",
|
|
113
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-event-days.ts\nfunction calculateEventDays({ event, weekDays, actualEndDate }) {\n\tconst eventStartDate = dayjs(event.start).startOf(\"day\");\n\treturn weekDays.filter((day) => {\n\t\tconst dayDate = dayjs(day).startOf(\"day\");\n\t\treturn (dayDate.isAfter(eventStartDate) || dayDate.isSame(eventStartDate)) && (dayDate.isBefore(actualEndDate) || dayDate.isSame(actualEndDate));\n\t});\n}\n//#endregion\nexport { calculateEventDays };\n\n//# sourceMappingURL=calculate-event-days.mjs.map",
|
|
114
|
+
"\"use client\";\nimport { isEventsOverlap } from \"../../../utils/is-events-overlap/is-events-overlap.mjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.ts\nfunction calculateRegularEventOverlaps(events) {\n\tfor (const event of events) {\n\t\tlet maxOverlappingColumn = event.position.column;\n\t\tfor (const otherEvent of events) if (isEventsOverlap(event, otherEvent)) maxOverlappingColumn = Math.max(maxOverlappingColumn, otherEvent.position.column);\n\t\tconst overlaps = maxOverlappingColumn + 1;\n\t\tevent.position.overlaps = overlaps;\n\t\tevent.position.width = 100 / overlaps;\n\t\tevent.position.offset = event.position.column * 100 / overlaps;\n\t}\n}\n//#endregion\nexport { calculateRegularEventOverlaps };\n\n//# sourceMappingURL=calculate-regular-event-overlaps.mjs.map",
|
|
115
|
+
"\"use client\";\nimport { isAllDayEvent } from \"../../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { isEventsOverlap } from \"../../../utils/is-events-overlap/is-events-overlap.mjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/find-available-column.ts\nfunction columnHasConflict({ columns, columnIndex, event, allDay, allWeekDays }) {\n\tconst columnKey = `col-${columnIndex}`;\n\tif (!columns.has(columnKey)) return false;\n\treturn columns.get(columnKey).some((e) => {\n\t\tconst eAllDay = allWeekDays.some((day) => isAllDayEvent({\n\t\t\tevent: e,\n\t\t\tdate: day\n\t\t}));\n\t\tconst hasTimeConflict = isEventsOverlap(e, event);\n\t\tif (allDay && eAllDay) return hasTimeConflict;\n\t\tif (allDay || eAllDay) return false;\n\t\treturn hasTimeConflict;\n\t});\n}\nfunction findAvailableColumn(input) {\n\tlet column = 0;\n\twhile (columnHasConflict({\n\t\t...input,\n\t\tcolumnIndex: column\n\t})) column++;\n\treturn column;\n}\n//#endregion\nexport { findAvailableColumn };\n\n//# sourceMappingURL=find-available-column.mjs.map",
|
|
116
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/get-event-end-date.ts\nfunction getEventEndDate(event) {\n\tconst eventEndDate = dayjs(event.end).startOf(\"day\");\n\tif (dayjs(event.end).hour() === 0 && dayjs(event.end).minute() === 0) return eventEndDate.subtract(1, \"day\");\n\treturn eventEndDate;\n}\n//#endregion\nexport { getEventEndDate };\n\n//# sourceMappingURL=get-event-end-date.mjs.map",
|
|
117
|
+
"\"use client\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/get-hanging-status.ts\nfunction getHangingStatus({ eventStartDate, actualEndDate, weekDays }) {\n\tconst weekStartDate = dayjs(weekDays[0]);\n\tconst weekEndDate = dayjs(weekDays[weekDays.length - 1]);\n\tconst hangingStart = eventStartDate.isBefore(weekStartDate);\n\tconst hangingEnd = actualEndDate.isAfter(weekEndDate);\n\tif (hangingStart && hangingEnd) return \"both\";\n\tif (hangingStart) return \"start\";\n\tif (hangingEnd) return \"end\";\n\treturn \"none\";\n}\n//#endregion\nexport { getHangingStatus };\n\n//# sourceMappingURL=get-hanging-status.mjs.map",
|
|
118
|
+
"\"use client\";\nimport { getWeekDays } from \"../../../utils/get-week-days/get-week-days.mjs\";\nimport { isAllDayEvent } from \"../../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { sortEvents } from \"../../../utils/sort-events/sort-events.mjs\";\nimport { getDayPosition } from \"../../../utils/get-day-position/get-day-position.mjs\";\nimport { assignEventRows } from \"./assign-event-rows.mjs\";\nimport { calculateAllDayEventOffset } from \"./calculate-all-day-event-offset.mjs\";\nimport { calculateAllDayEventWidth } from \"./calculate-all-day-event-width.mjs\";\nimport { calculateEventDays } from \"./calculate-event-days.mjs\";\nimport { calculateRegularEventOverlaps } from \"./calculate-regular-event-overlaps.mjs\";\nimport { findAvailableColumn } from \"./find-available-column.mjs\";\nimport { getEventEndDate } from \"./get-event-end-date.mjs\";\nimport { getHangingStatus } from \"./get-hanging-status.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/get-week-positioned-events.ts\nfunction getWeekPositionedEvents({ date, events, startTime, endTime, intervalMinutes, firstDayOfWeek = 1, weekendDays = [0, 6], withWeekendDays = true }) {\n\tconst weekDays = getWeekDays({\n\t\tweek: date,\n\t\tfirstDayOfWeek,\n\t\twithWeekendDays,\n\t\tweekendDays\n\t});\n\tconst visibleDaysCount = weekDays.length;\n\tconst weekStartDate = dayjs(weekDays[0]);\n\tconst weekEndDate = dayjs(weekDays[weekDays.length - 1]);\n\tconst grouped = {\n\t\tallDayEvents: [],\n\t\tregularEvents: Object.fromEntries(weekDays.map((day) => [day, []])),\n\t\tbackgroundEvents: Object.fromEntries(weekDays.map((day) => [day, []]))\n\t};\n\tconst columns = /* @__PURE__ */ new Map();\n\tconst allDayColumns = /* @__PURE__ */ new Map();\n\tconst sorted = sortEvents(events);\n\tfor (const event of sorted) {\n\t\tif (event.display === \"background\") {\n\t\t\tconst eventStartDate = dayjs(event.start).startOf(\"day\");\n\t\t\tconst actualEndDate = getEventEndDate(event);\n\t\t\tconst eventWeekDays = calculateEventDays({\n\t\t\t\tevent,\n\t\t\t\tweekDays,\n\t\t\t\tactualEndDate\n\t\t\t});\n\t\t\tconst hanging = getHangingStatus({\n\t\t\t\teventStartDate,\n\t\t\t\tactualEndDate,\n\t\t\t\tweekDays\n\t\t\t});\n\t\t\tfor (const day of eventWeekDays) {\n\t\t\t\tconst visibleDayIndex = weekDays.indexOf(day);\n\t\t\t\tif (visibleDayIndex === -1) continue;\n\t\t\t\tconst dayStart = dayjs(day);\n\t\t\t\tconst dayEnd = dayStart.endOf(\"day\");\n\t\t\t\tconst eventStart = dayjs(event.start);\n\t\t\t\tconst eventEnd = dayjs(event.end);\n\t\t\t\tconst clippedStart = eventStart.isBefore(dayStart) ? dayStart : eventStart;\n\t\t\t\tconst clippedEnd = eventEnd.isAfter(dayEnd) ? dayEnd : eventEnd;\n\t\t\t\tconst clippedEvent = {\n\t\t\t\t\t...event,\n\t\t\t\t\tstart: clippedStart.format(\"YYYY-MM-DD HH:mm:ss\"),\n\t\t\t\t\tend: clippedEnd.format(\"YYYY-MM-DD HH:mm:ss\")\n\t\t\t\t};\n\t\t\t\tconst isAllDay = isAllDayEvent({\n\t\t\t\t\tevent: clippedEvent,\n\t\t\t\t\tdate: day\n\t\t\t\t});\n\t\t\t\tconst verticalPosition = isAllDay ? {\n\t\t\t\t\ttop: 0,\n\t\t\t\t\theight: 100\n\t\t\t\t} : getDayPosition({\n\t\t\t\t\tevent: clippedEvent,\n\t\t\t\t\tstartTime,\n\t\t\t\t\tendTime,\n\t\t\t\t\tintervalMinutes\n\t\t\t\t});\n\t\t\t\tif (!isAllDay && verticalPosition.height <= 0) continue;\n\t\t\t\tconst dayWeekOffset = visibleDayIndex / visibleDaysCount * 100;\n\t\t\t\tgrouped.backgroundEvents[day].push({\n\t\t\t\t\t...event,\n\t\t\t\t\tposition: {\n\t\t\t\t\t\t...verticalPosition,\n\t\t\t\t\t\tallDay: isAllDay,\n\t\t\t\t\t\tcolumn: 0,\n\t\t\t\t\t\twidth: 100,\n\t\t\t\t\t\toffset: 0,\n\t\t\t\t\t\toverlaps: 1,\n\t\t\t\t\t\tweekOffset: dayWeekOffset,\n\t\t\t\t\t\trow: 0,\n\t\t\t\t\t\thanging\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst eventStartDate = dayjs(event.start).startOf(\"day\");\n\t\tconst actualEndDate = getEventEndDate(event);\n\t\tconst eventWeekDays = calculateEventDays({\n\t\t\tevent,\n\t\t\tweekDays,\n\t\t\tactualEndDate\n\t\t});\n\t\tif (eventWeekDays.length === 0) continue;\n\t\tconst isMultiday = actualEndDate.isAfter(eventStartDate);\n\t\tconst hanging = getHangingStatus({\n\t\t\teventStartDate,\n\t\t\tactualEndDate,\n\t\t\tweekDays\n\t\t});\n\t\tconst isActuallyAllDay = eventWeekDays.some((day) => isAllDayEvent({\n\t\t\tevent,\n\t\t\tdate: day\n\t\t}));\n\t\tconst allDay = isMultiday || isActuallyAllDay;\n\t\tconst columnMap = allDay ? allDayColumns : columns;\n\t\tconst column = findAvailableColumn({\n\t\t\tcolumns: columnMap,\n\t\t\tevent,\n\t\t\tallDay,\n\t\t\tallWeekDays: weekDays\n\t\t});\n\t\tconst columnKey = `col-${column}`;\n\t\tif (!columnMap.has(columnKey)) columnMap.set(columnKey, []);\n\t\tcolumnMap.get(columnKey).push(event);\n\t\tconst verticalPosition = allDay ? {\n\t\t\ttop: 0,\n\t\t\theight: 100\n\t\t} : getDayPosition({\n\t\t\tevent,\n\t\t\tstartTime,\n\t\t\tendTime,\n\t\t\tintervalMinutes\n\t\t});\n\t\tif (allDay) {\n\t\t\tconst offset = calculateAllDayEventOffset({\n\t\t\t\teventStartDate,\n\t\t\t\tweekStartDate,\n\t\t\t\tweekDays,\n\t\t\t\tvisibleDaysCount,\n\t\t\t\thangingStart: hanging === \"start\" || hanging === \"both\"\n\t\t\t});\n\t\t\tgrouped.allDayEvents.push({\n\t\t\t\t...event,\n\t\t\t\tposition: {\n\t\t\t\t\t...verticalPosition,\n\t\t\t\t\tallDay,\n\t\t\t\t\tcolumn,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\toffset,\n\t\t\t\t\toverlaps: 0,\n\t\t\t\t\trow: 0,\n\t\t\t\t\thanging\n\t\t\t\t}\n\t\t\t});\n\t\t} else for (const day of eventWeekDays) {\n\t\t\tconst visibleDayIndex = weekDays.indexOf(day);\n\t\t\tif (visibleDayIndex === -1) continue;\n\t\t\tconst dayWeekOffset = visibleDayIndex / visibleDaysCount * 100;\n\t\t\tgrouped.regularEvents[day].push({\n\t\t\t\t...event,\n\t\t\t\tposition: {\n\t\t\t\t\t...verticalPosition,\n\t\t\t\t\tallDay,\n\t\t\t\t\tcolumn,\n\t\t\t\t\twidth: 0,\n\t\t\t\t\toffset: 0,\n\t\t\t\t\toverlaps: 0,\n\t\t\t\t\tweekOffset: dayWeekOffset,\n\t\t\t\t\trow: 0,\n\t\t\t\t\thanging\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tfor (const day of weekDays) calculateRegularEventOverlaps(grouped.regularEvents[day]);\n\tif (grouped.allDayEvents.length > 0) {\n\t\tconst eventRows = assignEventRows(grouped.allDayEvents);\n\t\tconst assignedRows = /* @__PURE__ */ new Set();\n\t\tfor (const event of grouped.allDayEvents) {\n\t\t\tconst row = eventRows.get(event);\n\t\t\tevent.position.row = row;\n\t\t\tassignedRows.add(row);\n\t\t}\n\t\tconst rowCount = Math.max(...assignedRows) + 1;\n\t\tfor (const event of grouped.allDayEvents) {\n\t\t\tconst eventStartDate = dayjs(event.start).startOf(\"day\");\n\t\t\tconst actualEndDate = getEventEndDate(event);\n\t\t\tevent.position.width = calculateAllDayEventWidth({\n\t\t\t\teventStartDate,\n\t\t\t\tactualEndDate,\n\t\t\t\tweekStartDate,\n\t\t\t\tweekEndDate,\n\t\t\t\tweekDays,\n\t\t\t\tvisibleDaysCount\n\t\t\t});\n\t\t\tevent.position.overlaps = rowCount;\n\t\t}\n\t}\n\treturn grouped;\n}\n//#endregion\nexport { getWeekPositionedEvents };\n\n//# sourceMappingURL=get-week-positioned-events.mjs.map",
|
|
119
|
+
"\"use client\";\nimport { filterWeekViewEvents } from \"./filter-week-view-events.mjs\";\nimport { getWeekPositionedEvents } from \"./get-week-positioned-events.mjs\";\n//#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/get-week-view-events.ts\nfunction getWeekViewEvents(input) {\n\treturn getWeekPositionedEvents({\n\t\t...input,\n\t\tevents: filterWeekViewEvents(input)\n\t});\n}\n//#endregion\nexport { getWeekViewEvents };\n\n//# sourceMappingURL=get-week-view-events.mjs.map",
|
|
120
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/WeekView/handle-week-view-key-down.ts\nfunction getDirection(key) {\n\tswitch (key) {\n\t\tcase \"ArrowDown\": return \"down\";\n\t\tcase \"ArrowUp\": return \"up\";\n\t\tcase \"ArrowRight\": return \"right\";\n\t\tcase \"ArrowLeft\": return \"left\";\n\t\tdefault: return null;\n\t}\n}\nfunction getControlsSize(controlsRef) {\n\tif (!controlsRef.current) return null;\n\treturn controlsRef.current.map((day) => day ? day.length : 0);\n}\nfunction getNextPosition({ direction, dayIndex, slotIndex, size }) {\n\tconst currentDaySize = size[dayIndex];\n\tif (!currentDaySize) return null;\n\tswitch (direction) {\n\t\tcase \"up\":\n\t\t\tif (slotIndex === 0) return null;\n\t\t\treturn {\n\t\t\t\tdayIndex,\n\t\t\t\tslotIndex: slotIndex - 1\n\t\t\t};\n\t\tcase \"down\":\n\t\t\tif (slotIndex === currentDaySize - 1) return null;\n\t\t\treturn {\n\t\t\t\tdayIndex,\n\t\t\t\tslotIndex: slotIndex + 1\n\t\t\t};\n\t\tcase \"left\": {\n\t\t\tif (dayIndex === 0) return null;\n\t\t\tconst prevDaySize = size[dayIndex - 1];\n\t\t\tconst clampedSlotIndex = Math.min(slotIndex, prevDaySize - 1);\n\t\t\treturn {\n\t\t\t\tdayIndex: dayIndex - 1,\n\t\t\t\tslotIndex: clampedSlotIndex\n\t\t\t};\n\t\t}\n\t\tcase \"right\": {\n\t\t\tif (dayIndex === size.length - 1) return null;\n\t\t\tconst nextDaySize = size[dayIndex + 1];\n\t\t\tconst clampedSlotIndex = Math.min(slotIndex, nextDaySize - 1);\n\t\t\treturn {\n\t\t\t\tdayIndex: dayIndex + 1,\n\t\t\t\tslotIndex: clampedSlotIndex\n\t\t\t};\n\t\t}\n\t\tdefault: return null;\n\t}\n}\nfunction focusOnNextFocusableControl({ controlsRef, direction, dayIndex, slotIndex, size }) {\n\tconst nextPosition = getNextPosition({\n\t\tdirection,\n\t\tdayIndex,\n\t\tslotIndex,\n\t\tsize\n\t});\n\tif (!nextPosition) return;\n\tconst controlToFocus = controlsRef.current?.[nextPosition.dayIndex]?.[nextPosition.slotIndex];\n\tif (!controlToFocus) return;\n\tif (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\")) focusOnNextFocusableControl({\n\t\tcontrolsRef,\n\t\tdirection,\n\t\tdayIndex: nextPosition.dayIndex,\n\t\tslotIndex: nextPosition.slotIndex,\n\t\tsize\n\t});\n\telse controlToFocus.focus();\n}\nfunction handleWeekViewKeyDown({ controlsRef, dayIndex, slotIndex, event }) {\n\tconst direction = getDirection(event.key);\n\tif (direction) {\n\t\tevent.preventDefault();\n\t\tconst size = getControlsSize(controlsRef);\n\t\tif (!size) return;\n\t\tfocusOnNextFocusableControl({\n\t\t\tcontrolsRef,\n\t\t\tdirection,\n\t\t\tdayIndex,\n\t\t\tslotIndex,\n\t\t\tsize\n\t\t});\n\t}\n}\n//#endregion\nexport { handleWeekViewKeyDown };\n\n//# sourceMappingURL=handle-week-view-key-down.mjs.map",
|
|
121
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport { getBusinessHoursMod } from \"../../utils/get-business-hours-mod/get-business-hours-mod.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, UnstyledButton } from \"@mantine/core\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/WeekView/WeekViewDay.tsx\nfunction WeekViewDay({ day, dayIndex, slots, getStyles, weekendDays, children, labels, highlightBusinessHours, businessHours, withEventsDragAndDrop, onDaySlotsDragOver, onDaySlotsDragLeave, onDaySlotsDrop, onSlotClick, dropTargetSlotIndex, mode, slotsRef, firstSlotIndex, onSlotKeyDown, onFirstSlotArrowUp, withDragSlotSelect, onSlotPointerDown, isSlotDragSelected, daySlotsContainerRef, getTimeSlotProps }) {\n\tconst ctx = useDatesContext();\n\tconst dayOfWeek = dayjs(day).day();\n\tconst weekend = ctx.getWeekendDays(weekendDays).includes(dayOfWeek);\n\tconst today = dayjs(day).isSame(dayjs(), \"day\");\n\tconst dayGroup = dayjs(day).format(\"YYYY-MM-DD\");\n\tconst items = slots.map((slot, slotIndex) => {\n\t\tconst isDropTarget = dropTargetSlotIndex === slotIndex;\n\t\tconst isFirstSlot = firstSlotIndex?.dayIndex === dayIndex && firstSlotIndex?.slotIndex === slotIndex;\n\t\tconst isDragSelected = isSlotDragSelected?.(slotIndex, dayGroup) || false;\n\t\tconst slotStart = `${dayGroup} ${slot.startTime}`;\n\t\tconst slotEnd = `${dayGroup} ${slot.endTime}`;\n\t\tconst { onClick: externalOnClick, ...externalSlotProps } = getTimeSlotProps?.({\n\t\t\tstart: slotStart,\n\t\t\tend: slotEnd\n\t\t}) || {};\n\t\tconst handleClick = mode === \"static\" ? void 0 : (e) => {\n\t\t\tonSlotClick?.(String(day), slot.startTime, e);\n\t\t\texternalOnClick?.(e);\n\t\t};\n\t\treturn /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\tref: (node) => {\n\t\t\t\tif (node && slotsRef?.current) {\n\t\t\t\t\tif (!slotsRef.current[dayIndex]) slotsRef.current[dayIndex] = [];\n\t\t\t\t\tslotsRef.current[dayIndex][slotIndex] = node;\n\t\t\t\t}\n\t\t\t},\n\t\t\t...getStyles(\"weekViewDaySlot\"),\n\t\t\tmod: {\n\t\t\t\t\"hour-start\": slot.isHourStart,\n\t\t\t\t...getBusinessHoursMod({\n\t\t\t\t\ttime: slot.startTime,\n\t\t\t\t\tbusinessHours,\n\t\t\t\t\thighlightBusinessHours,\n\t\t\t\t\tdayOfWeek\n\t\t\t\t}),\n\t\t\t\t\"drop-target\": isDropTarget,\n\t\t\t\t\"drag-selected\": isDragSelected,\n\t\t\t\tstatic: mode === \"static\"\n\t\t\t},\n\t\t\t\"aria-label\": `${getLabel(\"timeSlot\", labels)} ${dayGroup} ${slot.startTime} - ${slot.endTime}`,\n\t\t\ttabIndex: mode === \"static\" ? -1 : isFirstSlot ? 0 : -1,\n\t\t\t\"data-drag-slot-index\": withDragSlotSelect && mode !== \"static\" ? slotIndex : void 0,\n\t\t\t\"data-drag-slot-group\": withDragSlotSelect && mode !== \"static\" ? dayGroup : void 0,\n\t\t\tonKeyDown: (e) => {\n\t\t\t\tif (slotIndex === 0 && e.key === \"ArrowUp\" && onFirstSlotArrowUp) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonFirstSlotArrowUp(dayIndex);\n\t\t\t\t} else if (onSlotKeyDown) onSlotKeyDown(e, dayIndex, slotIndex);\n\t\t\t},\n\t\t\tonPointerDown: withDragSlotSelect && mode !== \"static\" ? (e) => onSlotPointerDown?.(e, slotIndex, dayGroup) : void 0,\n\t\t\tonClick: handleClick,\n\t\t\tonDragOver: withEventsDragAndDrop && mode !== \"static\" ? (e) => e.preventDefault() : void 0,\n\t\t\t...externalSlotProps\n\t\t}, slot.startTime);\n\t});\n\treturn /* @__PURE__ */ jsx(Box, {\n\t\t...getStyles(\"weekViewDay\"),\n\t\tmod: {\n\t\t\ttoday,\n\t\t\tweekend\n\t\t},\n\t\tchildren: /* @__PURE__ */ jsxs(Box, {\n\t\t\tref: daySlotsContainerRef,\n\t\t\tmod: { today },\n\t\t\t...getStyles(\"weekViewDaySlots\"),\n\t\t\tonDragOver: withEventsDragAndDrop && mode !== \"static\" ? (e) => onDaySlotsDragOver?.(e, String(day), dayIndex) : void 0,\n\t\t\tonDragLeave: withEventsDragAndDrop && mode !== \"static\" ? onDaySlotsDragLeave : void 0,\n\t\t\tonDrop: withEventsDragAndDrop && mode !== \"static\" ? (e) => onDaySlotsDrop?.(e, String(day), dayIndex) : void 0,\n\t\t\tchildren: [children, items]\n\t\t})\n\t});\n}\n//#endregion\nexport { WeekViewDay };\n\n//# sourceMappingURL=WeekViewDay.mjs.map",
|
|
122
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/WeekView/WeekView.module.css\nvar WeekView_module_default = {\n\t\"weekView\": \"m_42b9032d\",\n\t\"weekViewRoot\": \"m_6b2099af\",\n\t\"weekViewInner\": \"m_f8734f29\",\n\t\"weekViewScrollArea\": \"m_44818807\",\n\t\"weekViewHeader\": \"m_13bcfc1a\",\n\t\"weekViewCorner\": \"m_bc98be2\",\n\t\"weekViewSlotLabels\": \"m_149dcaaa\",\n\t\"weekViewSlotLabel\": \"m_29f492e9\",\n\t\"weekViewDay\": \"m_98199d2f\",\n\t\"weekViewDayLabel\": \"m_ccf0d705\",\n\t\"weekViewDayNumber\": \"m_d5b28558\",\n\t\"weekViewDayWeekday\": \"m_a0fc06f9\",\n\t\"weekViewBackgroundEvent\": \"m_41ce8f1f\",\n\t\"weekViewDaySlots\": \"m_cd58ae46\",\n\t\"weekViewDaySlot\": \"m_8ac0cbcd\",\n\t\"weekViewWeekLabel\": \"m_838426b3\",\n\t\"weekViewWeekNumber\": \"m_f1892b6a\",\n\t\"weekViewAllDaySlots\": \"m_4f08474d\",\n\t\"weekViewAllDaySlotsLabel\": \"m_85cdcfa7\",\n\t\"weekViewAllDaySlotsEvents\": \"m_2923a6c6\",\n\t\"weekViewAllDaySlotsList\": \"m_77edfd8b\"\n};\n//#endregion\nexport { WeekView_module_default as default };\n\n//# sourceMappingURL=WeekView.module.mjs.map",
|
|
123
|
+
"\"use client\";\nimport { getLabel } from \"../../labels.mjs\";\nimport { formatDate } from \"../../utils/format-date/format-date.mjs\";\nimport { getWeekNumber } from \"../../utils/get-week-number/get-week-number.mjs\";\nimport { getDayTimeIntervals } from \"../../utils/get-day-time-intervals/get-day-time-intervals.mjs\";\nimport { toDateString } from \"../../utils/to-date-string/to-date-string.mjs\";\nimport { getWeekDays } from \"../../utils/get-week-days/get-week-days.mjs\";\nimport { nextWeek } from \"../../utils/next-week/next-week.mjs\";\nimport { previousWeek } from \"../../utils/previous-week/previous-week.mjs\";\nimport { isAllDayEvent } from \"../../utils/is-all-day-event/is-all-day-event.mjs\";\nimport { calculateDropTime } from \"../../utils/calculate-drop-time/calculate-drop-time.mjs\";\nimport { getBusinessHoursMod } from \"../../utils/get-business-hours-mod/get-business-hours-mod.mjs\";\nimport { expandRecurringEvents } from \"../../utils/expand-recurring-events/expand-recurring-events.mjs\";\nimport { useAutoScrollOnDrag } from \"../../hooks/use-auto-scroll-on-drag.mjs\";\nimport { useDragDropHandlers } from \"../../hooks/use-drag-drop-handlers.mjs\";\nimport { useEventResize } from \"../../hooks/use-event-resize.mjs\";\nimport { useSlotDragSelect } from \"../../hooks/use-slot-drag-select.mjs\";\nimport { CurrentTimeIndicator } from \"../CurrentTimeIndicator/CurrentTimeIndicator.mjs\";\nimport { DragContext } from \"../DragContext/DragContext.mjs\";\nimport { ScheduleEvent } from \"../ScheduleEvent/ScheduleEvent.mjs\";\nimport { ScheduleHeaderBase } from \"../ScheduleHeader/ScheduleHeaderBase.mjs\";\nimport { getWeekLabel } from \"./get-week-label/get-week-label.mjs\";\nimport { getWeekViewEvents } from \"./get-week-view-events/get-week-view-events.mjs\";\nimport { handleWeekViewKeyDown } from \"./handle-week-view-key-down.mjs\";\nimport { WeekViewDay } from \"./WeekViewDay.mjs\";\nimport WeekView_module_default from \"./WeekView.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, ScrollArea, UnstyledButton, createVarsResolver, factory, getRadius, rem, useMantineTheme, useProps, useResolvedStylesApi, useStyles } from \"@mantine/core\";\nimport { useIsomorphicEffect, useMergedRef } from \"@mantine/hooks\";\nimport { createElement, useCallback, useMemo, useRef, useState } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/WeekView/WeekView.tsx\nconst defaultProps = {\n\t__staticSelector: \"WeekView\",\n\twithWeekendDays: true,\n\twithCurrentTimeIndicator: true,\n\tstartTime: \"00:00:00\",\n\tendTime: \"23:59:59\",\n\tslotLabelFormat: \"HH:mm\",\n\tintervalMinutes: 60,\n\tweekdayFormat: \"ddd\",\n\twithWeekNumber: true,\n\twithCurrentTimeBubble: true,\n\twithAllDaySlots: true,\n\twithHeader: true,\n\tweekLabelFormat: \"MMM DD\",\n\thighlightBusinessHours: false,\n\tbusinessHours: [\"09:00:00\", \"17:00:00\"],\n\twithEventsDragAndDrop: false,\n\twithDragSlotSelect: false,\n\twithEventResize: false,\n\tmode: \"default\"\n};\nconst varsResolver = createVarsResolver((_theme, { radius, allDaySlotHeight, slotHeight }) => ({ weekView: {\n\t\"--week-view-radius\": radius !== void 0 ? getRadius(radius) : void 0,\n\t\"--week-view-all-day-slots-height\": rem(allDaySlotHeight),\n\t\"--week-view-slot-height\": rem(slotHeight)\n} }));\nconst WeekView = factory((_props) => {\n\tconst props = useProps(\"WeekView\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, attributes, vars, startTime, endTime, date, onDateChange, intervalMinutes, slotLabelFormat, withWeekendDays, weekendDays, firstDayOfWeek, weekdayFormat, radius, highlightToday, withCurrentTimeIndicator, forceCurrentTimeIndicator, scrollAreaProps, locale, withWeekNumber, withCurrentTimeBubble, withAllDaySlots, __staticSelector, withHeader, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, weekLabelFormat, events, allDaySlotHeight, slotHeight, labels, highlightBusinessHours, businessHours, renderEventBody, renderEvent, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onTimeSlotClick, onAllDaySlotClick, onEventClick, withDragSlotSelect, onSlotDragEnd, mode, startScrollTime, renderWeekLabel, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, recurrenceExpansionLimit, getTimeSlotProps, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: WeekView_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t\tvarsResolver,\n\t\tattributes,\n\t\trootSelector: \"weekView\"\n\t});\n\tconst { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n\t\tclassNames,\n\t\tstyles,\n\t\tprops\n\t});\n\tconst stylesApiProps = {\n\t\tclassNames: resolvedClassNames,\n\t\tstyles: resolvedStyles,\n\t\tattributes,\n\t\t__staticSelector,\n\t\tradius\n\t};\n\tconst theme = useMantineTheme();\n\tconst [scrolled, setScrolled] = useState(false);\n\tconst ctx = useDatesContext();\n\tconst slots = getDayTimeIntervals({\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes\n\t});\n\tconst viewportRef = useRef(null);\n\tuseAutoScrollOnDrag({\n\t\tviewportRef,\n\t\tenabled: (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== \"static\"\n\t});\n\tconst handleExternalDrop = useCallback((e, target) => {\n\t\tif (!onExternalEventDrop) return;\n\t\tconst slotDate = dayjs(target.day).format(\"YYYY-MM-DD\");\n\t\tonExternalEventDrop(e.dataTransfer, `${slotDate} ${slots[target.slotIndex].startTime}`);\n\t}, [onExternalEventDrop, slots]);\n\tconst handleExternalAllDayDrop = useCallback((e, day) => {\n\t\tif (!onExternalEventDrop) return;\n\t\tonExternalEventDrop(e.dataTransfer, `${dayjs(day).format(\"YYYY-MM-DD\")} 00:00:00`);\n\t}, [onExternalEventDrop]);\n\tconst dragDrop = useDragDropHandlers({\n\t\tenabled: withEventsDragAndDrop,\n\t\tmode,\n\t\tonEventDrop,\n\t\tcanDragEvent,\n\t\tonEventDragStart,\n\t\tonEventDragEnd,\n\t\tcalculateDropTarget: (target, draggedEvent) => {\n\t\t\tconst slotTime = slots[target.slotIndex].startTime;\n\t\t\treturn calculateDropTime({\n\t\t\t\tdraggedEvent,\n\t\t\t\ttargetDate: target.day,\n\t\t\t\ttargetSlotTime: slotTime,\n\t\t\t\tintervalMinutes\n\t\t\t});\n\t\t},\n\t\tonExternalDrop: onExternalEventDrop ? handleExternalDrop : void 0\n\t});\n\tconst allDayDragDrop = useDragDropHandlers({\n\t\tenabled: withEventsDragAndDrop,\n\t\tmode,\n\t\tonEventDrop,\n\t\tcanDragEvent,\n\t\tonEventDragStart,\n\t\tonEventDragEnd,\n\t\tcalculateDropTarget: (targetDay, draggedEvent) => {\n\t\t\tconst eventDuration = dayjs(draggedEvent.end).diff(dayjs(draggedEvent.start), \"millisecond\");\n\t\t\tconst newStart = dayjs(targetDay).startOf(\"day\");\n\t\t\treturn {\n\t\t\t\tstart: newStart.toDate(),\n\t\t\t\tend: newStart.add(eventDuration, \"millisecond\").toDate()\n\t\t\t};\n\t\t},\n\t\tonExternalDrop: onExternalEventDrop ? handleExternalAllDayDrop : void 0\n\t});\n\tconst slotDragSelect = useSlotDragSelect({\n\t\tenabled: withDragSlotSelect && mode !== \"static\",\n\t\tonDragEnd: (startIndex, endIndex, group) => {\n\t\t\tif (!onSlotDragEnd) return;\n\t\t\tconst slotDate = dayjs(group).format(\"YYYY-MM-DD\");\n\t\t\tonSlotDragEnd(`${slotDate} ${slots[startIndex].startTime}`, `${slotDate} ${slots[endIndex].endTime}`);\n\t\t}\n\t});\n\tconst eventResize = useEventResize({\n\t\tenabled: withEventResize,\n\t\tmode,\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes,\n\t\tonEventResize,\n\t\tcanResizeEvent\n\t});\n\tconst withDragHandlers = (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== \"static\";\n\tconst handleTimeSlotClick = (day, slotTime, e) => {\n\t\tif (!onTimeSlotClick) return;\n\t\tconst slotDate = dayjs(day).format(\"YYYY-MM-DD\");\n\t\tconst slotIndex = slots.findIndex((s) => s.startTime === slotTime);\n\t\tif (slotIndex === -1) return;\n\t\tconst slot = slots[slotIndex];\n\t\tonTimeSlotClick({\n\t\t\tslotStart: `${slotDate} ${slot.startTime}`,\n\t\t\tslotEnd: `${slotDate} ${slot.endTime}`,\n\t\t\tnativeEvent: e\n\t\t});\n\t};\n\tconst weekdays = getWeekDays({\n\t\tweek: date,\n\t\twithWeekendDays,\n\t\tweekendDays: ctx.getWeekendDays(weekendDays),\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n\t});\n\tconst weekEvents = getWeekViewEvents({\n\t\tdate,\n\t\tevents: expandRecurringEvents({\n\t\t\tevents,\n\t\t\trangeStart: dayjs(weekdays[0]).startOf(\"day\").toDate(),\n\t\t\trangeEnd: dayjs(weekdays[weekdays.length - 1]).endOf(\"day\").toDate(),\n\t\t\texpansionLimit: recurrenceExpansionLimit\n\t\t}),\n\t\tstartTime,\n\t\tendTime,\n\t\tintervalMinutes,\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\tweekendDays: ctx.getWeekendDays(weekendDays),\n\t\twithWeekendDays\n\t});\n\tconst timeValues = slots.map((interval) => {\n\t\tconst label = formatDate({\n\t\t\tdate: dayjs(`${dayjs(date).format(\"YYYY-MM-DD\")} ${interval.startTime}`),\n\t\t\tlocale: ctx.getLocale(locale),\n\t\t\tformat: slotLabelFormat\n\t\t});\n\t\treturn /* @__PURE__ */ createElement(Box, {\n\t\t\t...getStyles(\"weekViewSlotLabel\"),\n\t\t\tkey: interval.startTime,\n\t\t\tmod: {\n\t\t\t\t\"hour-start\": interval.isHourStart,\n\t\t\t\t...getBusinessHoursMod({\n\t\t\t\t\ttime: interval.startTime,\n\t\t\t\t\tbusinessHours,\n\t\t\t\t\thighlightBusinessHours\n\t\t\t\t})\n\t\t\t}\n\t\t}, label);\n\t});\n\tconst slotsRef = useRef([]);\n\tconst allDaySlotsRef = useRef([]);\n\tconst weekdaysRef = useRef([]);\n\tconst daySlotsContainersRef = useRef([]);\n\tconst mergedViewportRef = useMergedRef(viewportRef, scrollAreaProps?.viewportRef);\n\tconst firstSlotIndex = {\n\t\tdayIndex: 0,\n\t\tslotIndex: 0\n\t};\n\tuseIsomorphicEffect(() => {\n\t\tif (!startScrollTime || !viewportRef.current) return;\n\t\tconst firstDaySlots = slotsRef.current[0];\n\t\tif (!firstDaySlots || firstDaySlots.length === 0) return;\n\t\tconst targetIndex = slots.findIndex((s) => s.startTime >= startScrollTime);\n\t\tif (targetIndex < 0) return;\n\t\tconst targetSlot = firstDaySlots[targetIndex];\n\t\tif (!targetSlot) return;\n\t\tconst slotRect = targetSlot.getBoundingClientRect();\n\t\tconst viewportRect = viewportRef.current.getBoundingClientRect();\n\t\tviewportRef.current.scrollTo({\n\t\t\tleft: 0,\n\t\t\ttop: slotRect.top - viewportRect.top\n\t\t});\n\t}, []);\n\tconst getSlotIndexFromDragPoint = useCallback((event, dayIndex) => {\n\t\tconst daySlots = slotsRef.current[dayIndex] ?? [];\n\t\tconst slotIndex = daySlots.findIndex((slotNode) => {\n\t\t\tif (!slotNode) return false;\n\t\t\tconst rect = slotNode.getBoundingClientRect();\n\t\t\treturn event.clientY >= rect.top && event.clientY <= rect.bottom;\n\t\t});\n\t\tif (slotIndex >= 0) return slotIndex;\n\t\tconst firstSlot = daySlots[0];\n\t\tconst lastSlot = daySlots[daySlots.length - 1];\n\t\tif (!firstSlot || !lastSlot) return null;\n\t\tconst firstRect = firstSlot.getBoundingClientRect();\n\t\tconst lastRect = lastSlot.getBoundingClientRect();\n\t\tif (event.clientY < firstRect.top) return 0;\n\t\tif (event.clientY > lastRect.bottom) return daySlots.length - 1;\n\t\treturn null;\n\t}, []);\n\tconst handleSlotKeyDown = (event, dayIndex, slotIndex) => {\n\t\thandleWeekViewKeyDown({\n\t\t\tcontrolsRef: slotsRef,\n\t\t\tdayIndex,\n\t\t\tslotIndex,\n\t\t\tevent\n\t\t});\n\t};\n\tconst handleAllDaySlotKeyDown = (event, dayIndex) => {\n\t\tconst direction = event.key;\n\t\tif (direction === \"ArrowRight\" && dayIndex < weekdays.length - 1) {\n\t\t\tevent.preventDefault();\n\t\t\tallDaySlotsRef.current[dayIndex + 1]?.focus();\n\t\t} else if (direction === \"ArrowLeft\" && dayIndex > 0) {\n\t\t\tevent.preventDefault();\n\t\t\tallDaySlotsRef.current[dayIndex - 1]?.focus();\n\t\t} else if (direction === \"ArrowDown\") {\n\t\t\tevent.preventDefault();\n\t\t\tslotsRef.current?.[dayIndex]?.[0]?.focus();\n\t\t}\n\t};\n\tconst handleWeekdayKeyDown = (event, dayIndex) => {\n\t\tconst direction = event.key;\n\t\tif (direction === \"ArrowRight\" && dayIndex < weekdays.length - 1) {\n\t\t\tevent.preventDefault();\n\t\t\tweekdaysRef.current[dayIndex + 1]?.focus();\n\t\t} else if (direction === \"ArrowLeft\" && dayIndex > 0) {\n\t\t\tevent.preventDefault();\n\t\t\tweekdaysRef.current[dayIndex - 1]?.focus();\n\t\t}\n\t};\n\tconst currentWeekdayIndex = withCurrentTimeIndicator ? forceCurrentTimeIndicator ? weekdays.findIndex((day) => dayjs(day).day() === dayjs().day()) : weekdays.findIndex((day) => dayjs(day).isSame(dayjs(), \"date\")) : -1;\n\tconst weekdaysLabels = weekdays.map((day, dayIndex) => /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t...getStyles(\"weekViewDayLabel\"),\n\t\tkey: day,\n\t\tref: (node) => {\n\t\t\tweekdaysRef.current[dayIndex] = node;\n\t\t},\n\t\t\"aria-label\": `${getLabel(\"weekday\", labels)} ${dayjs(day).format(\"YYYY-MM-DD\")}`,\n\t\tmod: {\n\t\t\ttoday: dayjs(day).isSame(dayjs(), \"day\") && !!highlightToday,\n\t\t\tweekend: ctx.getWeekendDays(weekendDays).includes(dayjs(day).day()),\n\t\t\tstatic: mode === \"static\"\n\t\t},\n\t\ttabIndex: mode === \"static\" ? -1 : dayIndex === 0 ? 0 : -1,\n\t\tonKeyDown: mode === \"static\" ? void 0 : (event) => handleWeekdayKeyDown(event, dayIndex),\n\t\tonClick: mode === \"static\" ? void 0 : () => {\n\t\t\tonViewChange?.(\"day\");\n\t\t\tonDateChange?.(toDateString(day));\n\t\t}\n\t}, /* @__PURE__ */ createElement(Box, {\n\t\t...getStyles(\"weekViewDayWeekday\"),\n\t\tkey: \"weekday\"\n\t}, formatDate({\n\t\tlocale: ctx.getLocale(locale),\n\t\tdate: day,\n\t\tformat: weekdayFormat\n\t})), /* @__PURE__ */ createElement(\"div\", {\n\t\t...getStyles(\"weekViewDayNumber\"),\n\t\tkey: \"date\"\n\t}, dayjs(day).date())));\n\tconst days = weekdays.map((day, dayIndex) => {\n\t\tconst backgroundEventNodes = (weekEvents.backgroundEvents[day] || []).filter((event) => !event.position.allDay).map((event) => {\n\t\t\tconst colors = theme.variantColorResolver({\n\t\t\t\tcolor: event.color || theme.primaryColor,\n\t\t\t\ttheme,\n\t\t\t\tvariant: \"light\",\n\t\t\t\tautoContrast: true\n\t\t\t});\n\t\t\tconst bgEventBody = typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title;\n\t\t\tconst bgEventProps = {\n\t\t\t\tkey: `bg-${event.id}`,\n\t\t\t\t...getStyles(\"weekViewBackgroundEvent\", { style: {\n\t\t\t\t\ttop: `${event.position.top}%`,\n\t\t\t\t\theight: `${event.position.height}%`,\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t} }),\n\t\t\t\t__vars: {\n\t\t\t\t\t\"--bg-event-bg\": colors.background,\n\t\t\t\t\t\"--bg-event-color\": colors.color\n\t\t\t\t},\n\t\t\t\tchildren: bgEventBody\n\t\t\t};\n\t\t\tif (typeof renderEvent === \"function\") return renderEvent(event, bgEventProps);\n\t\t\tconst { key: bgEventKey, ...restBgEventProps } = bgEventProps;\n\t\t\treturn /* @__PURE__ */ jsx(Box, { ...restBgEventProps }, bgEventKey);\n\t\t});\n\t\tconst dayEvents = (weekEvents.regularEvents[day] || []).map((event) => {\n\t\t\tconst eventIsAllDay = isAllDayEvent({\n\t\t\t\tevent,\n\t\t\t\tdate: day\n\t\t\t});\n\t\t\tconst isDraggable = !eventIsAllDay && dragDrop.isDraggableEvent(event);\n\t\t\tconst isResizable = !eventIsAllDay && eventResize.isResizableEvent(event);\n\t\t\tconst resizePosition = eventResize.getResizePosition(event.id);\n\t\t\tconst eventTop = resizePosition ? resizePosition.top : event.position.top;\n\t\t\tconst eventHeight = resizePosition ? resizePosition.height : event.position.height;\n\t\t\treturn /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\t\t\tevent,\n\t\t\t\tautoSize: true,\n\t\t\t\thanging: event.position.hanging,\n\t\t\t\tdraggable: isDraggable,\n\t\t\t\twithResize: isResizable,\n\t\t\t\tisResizing: resizePosition !== null,\n\t\t\t\tonResizeStart: isResizable ? (edge, e) => {\n\t\t\t\t\tconst container = daySlotsContainersRef.current[dayIndex];\n\t\t\t\t\tif (container) eventResize.handleResizeStart({\n\t\t\t\t\t\tevent,\n\t\t\t\t\t\tedge,\n\t\t\t\t\t\tcontainer,\n\t\t\t\t\t\toriginalTop: event.position.top,\n\t\t\t\t\t\toriginalHeight: event.position.height,\n\t\t\t\t\t\teventDate: dayjs(day).format(\"YYYY-MM-DD\"),\n\t\t\t\t\t\tpointerEvent: e\n\t\t\t\t\t});\n\t\t\t\t} : void 0,\n\t\t\t\trenderEventBody,\n\t\t\t\trenderEvent,\n\t\t\t\tradius,\n\t\t\t\tmode,\n\t\t\t\tonClick: onEventClick ? (e) => {\n\t\t\t\t\tif (!eventResize.wasResizing()) onEventClick(event, e);\n\t\t\t\t} : void 0,\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: `calc(${eventTop}% + 1px)`,\n\t\t\t\t\tleft: `${event.position.offset}%`,\n\t\t\t\t\twidth: `${event.position.width}%`,\n\t\t\t\t\theight: `calc(${eventHeight}% - 1px)`\n\t\t\t\t}\n\t\t\t}, event.id);\n\t\t});\n\t\treturn /* @__PURE__ */ jsxs(WeekViewDay, {\n\t\t\tday,\n\t\t\tdayIndex,\n\t\t\tslots,\n\t\t\tgetStyles,\n\t\t\tweekendDays,\n\t\t\thighlightBusinessHours,\n\t\t\tbusinessHours,\n\t\t\tlabels,\n\t\t\twithEventsDragAndDrop: withDragHandlers,\n\t\t\tmode,\n\t\t\tslotsRef,\n\t\t\tfirstSlotIndex,\n\t\t\tonSlotKeyDown: handleSlotKeyDown,\n\t\t\tonSlotClick: handleTimeSlotClick,\n\t\t\tonFirstSlotArrowUp: withAllDaySlots ? (dayIdx) => {\n\t\t\t\tallDaySlotsRef.current[dayIdx]?.focus();\n\t\t\t} : void 0,\n\t\t\tonDaySlotsDragOver: (event, dayStr, dayIdx) => {\n\t\t\t\tconst slotIndex = getSlotIndexFromDragPoint(event, dayIdx);\n\t\t\t\tif (slotIndex !== null) dragDrop.handleDragOver(event, {\n\t\t\t\t\tday: dayStr,\n\t\t\t\t\tslotIndex\n\t\t\t\t});\n\t\t\t},\n\t\t\tonDaySlotsDragLeave: dragDrop.handleDragLeave,\n\t\t\tonDaySlotsDrop: (event, dayStr, dayIdx) => {\n\t\t\t\tconst slotIndex = getSlotIndexFromDragPoint(event, dayIdx);\n\t\t\t\tif (slotIndex !== null) dragDrop.handleDrop(event, {\n\t\t\t\t\tday: dayStr,\n\t\t\t\t\tslotIndex\n\t\t\t\t});\n\t\t\t},\n\t\t\tdropTargetSlotIndex: dragDrop.dropTarget?.day === day ? dragDrop.dropTarget.slotIndex : void 0,\n\t\t\twithDragSlotSelect,\n\t\t\tonSlotPointerDown: slotDragSelect.handleSlotPointerDown,\n\t\t\tisSlotDragSelected: slotDragSelect.isSlotSelected,\n\t\t\tdaySlotsContainerRef: (node) => {\n\t\t\t\tdaySlotsContainersRef.current[dayIndex] = node;\n\t\t\t},\n\t\t\tgetTimeSlotProps,\n\t\t\tchildren: [backgroundEventNodes, dayEvents]\n\t\t}, day);\n\t});\n\tconst allDaySlots = weekdays.map((day, dayIndex) => /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\"aria-label\": `${getLabel(\"allDay\", labels)} ${dayjs(day).format(\"YYYY-MM-DD\")}`,\n\t\tref: (node) => {\n\t\t\tallDaySlotsRef.current[dayIndex] = node;\n\t\t},\n\t\ttabIndex: dayIndex === 0 ? 0 : -1,\n\t\tonKeyDown: (event) => handleAllDaySlotKeyDown(event, dayIndex),\n\t\tonClick: mode === \"static\" || !onAllDaySlotClick ? void 0 : (e) => onAllDaySlotClick(dayjs(day).format(\"YYYY-MM-DD\"), e),\n\t\tonDragOver: withDragHandlers ? (e) => allDayDragDrop.handleDragOver(e, day) : void 0,\n\t\tonDragLeave: withDragHandlers ? allDayDragDrop.handleDragLeave : void 0,\n\t\tonDrop: withDragHandlers ? (e) => allDayDragDrop.handleDrop(e, day) : void 0,\n\t\t...getStyles(\"weekViewDaySlot\"),\n\t\tmod: { \"drop-target\": allDayDragDrop.isDropTarget(day) }\n\t}, day));\n\tconst allDayEventIds = useMemo(() => new Set(weekEvents.allDayEvents.map((e) => e.id)), [weekEvents.allDayEvents]);\n\tconst allDayEvents = weekEvents.allDayEvents.map((event) => /* @__PURE__ */ jsx(ScheduleEvent, {\n\t\tevent,\n\t\tautoSize: true,\n\t\tnowrap: true,\n\t\thanging: event.position.hanging,\n\t\tdraggable: allDayDragDrop.isDraggableEvent(event),\n\t\trenderEvent,\n\t\tmode,\n\t\tonClick: onEventClick ? (e) => onEventClick(event, e) : void 0,\n\t\tstyle: {\n\t\t\tposition: \"absolute\",\n\t\t\tzIndex: 2,\n\t\t\ttop: `calc(${event.position.row * 50}% + 1px)`,\n\t\t\tleft: `calc(${event.position.offset}% + 1px)`,\n\t\t\twidth: `calc(${event.position.width}% - 1px)`,\n\t\t\theight: \"calc(50% - 2px)\",\n\t\t\tmaxHeight: \"calc(50% - 2px)\"\n\t\t}\n\t}, event.id));\n\tconst allDayBackgroundEventNodes = weekdays.flatMap((day, dayIndex) => {\n\t\tconst allDayBgEvents = (weekEvents.backgroundEvents[day] || []).filter((event) => event.position.allDay);\n\t\tconst dayWidth = 100 / weekdays.length;\n\t\tconst dayOffset = dayIndex * dayWidth;\n\t\treturn allDayBgEvents.map((event) => {\n\t\t\tconst colors = theme.variantColorResolver({\n\t\t\t\tcolor: event.color || theme.primaryColor,\n\t\t\t\ttheme,\n\t\t\t\tvariant: \"light\",\n\t\t\t\tautoContrast: true\n\t\t\t});\n\t\t\tconst bgEventBody = typeof renderEventBody === \"function\" ? renderEventBody(event) : event.title;\n\t\t\tconst bgEventProps = {\n\t\t\t\tkey: `bg-allday-${event.id}-${day}`,\n\t\t\t\t...getStyles(\"weekViewBackgroundEvent\", { style: {\n\t\t\t\t\ttop: 0,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tleft: `${dayOffset}%`,\n\t\t\t\t\twidth: `${dayWidth}%`\n\t\t\t\t} }),\n\t\t\t\t__vars: {\n\t\t\t\t\t\"--bg-event-bg\": colors.background,\n\t\t\t\t\t\"--bg-event-color\": colors.color\n\t\t\t\t},\n\t\t\t\tchildren: bgEventBody\n\t\t\t};\n\t\t\tif (typeof renderEvent === \"function\") return renderEvent(event, bgEventProps);\n\t\t\tconst { key: bgEventKey, ...restBgEventProps } = bgEventProps;\n\t\t\treturn /* @__PURE__ */ jsx(Box, { ...restBgEventProps }, bgEventKey);\n\t\t});\n\t});\n\tconst extraRows = Math.max(...weekEvents.allDayEvents.map((event) => event.position.row), 1) - 1;\n\tconst content = /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"weekView\"),\n\t\tmod: {\n\t\t\tstatic: mode === \"static\",\n\t\t\t\"slot-dragging\": slotDragSelect.isDragging\n\t\t},\n\t\t...others,\n\t\tchildren: [withHeader && /* @__PURE__ */ jsx(ScheduleHeaderBase, {\n\t\t\tview: \"week\",\n\t\t\tnavigationHandlers: {\n\t\t\t\tprevious: () => previousWeek(date, ctx.getFirstDayOfWeek(firstDayOfWeek)),\n\t\t\t\tnext: () => nextWeek(date, ctx.getFirstDayOfWeek(firstDayOfWeek)),\n\t\t\t\ttoday: () => toDateString(dayjs())\n\t\t\t},\n\t\t\tcontrol: {\n\t\t\t\tmiw: 140,\n\t\t\t\ttitle: getWeekLabel({\n\t\t\t\t\tweekdays,\n\t\t\t\t\tlocale: ctx.getLocale(locale),\n\t\t\t\t\tweekLabelFormat,\n\t\t\t\t\trenderWeekLabel\n\t\t\t\t})\n\t\t\t},\n\t\t\tlabels,\n\t\t\tonDateChange,\n\t\t\tonViewChange,\n\t\t\tpreviousControlProps,\n\t\t\tnextControlProps,\n\t\t\ttodayControlProps,\n\t\t\tviewSelectProps,\n\t\t\tstylesApiProps\n\t\t}), /* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"weekViewRoot\"),\n\t\t\t__vars: {\n\t\t\t\t\"--indicator-offset-index\": currentWeekdayIndex === -1 ? void 0 : `${currentWeekdayIndex + 1}`,\n\t\t\t\t\"--number-of-days\": withWeekendDays ? \"7\" : `${7 - ctx.getWeekendDays(weekendDays).length}`\n\t\t\t},\n\t\t\tmod: { \"with-weekends\": withWeekendDays },\n\t\t\tchildren: /* @__PURE__ */ jsxs(ScrollArea.Autosize, {\n\t\t\t\tscrollbarSize: 4,\n\t\t\t\t...scrollAreaProps,\n\t\t\t\t...getStyles(\"weekViewScrollArea\", {\n\t\t\t\t\tclassName: scrollAreaProps?.className,\n\t\t\t\t\tstyle: scrollAreaProps?.style\n\t\t\t\t}),\n\t\t\t\tonScrollPositionChange: (position) => {\n\t\t\t\t\tscrollAreaProps?.onScrollPositionChange?.(position);\n\t\t\t\t\tsetScrolled(position.y !== 0);\n\t\t\t\t},\n\t\t\t\tviewportRef: mergedViewportRef,\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ jsxs(Box, {\n\t\t\t\t\t\t...getStyles(\"weekViewHeader\"),\n\t\t\t\t\t\tmod: { scrolled },\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ createElement(\"div\", {\n\t\t\t\t\t\t\t...getStyles(\"weekViewCorner\"),\n\t\t\t\t\t\t\tkey: \"corner\"\n\t\t\t\t\t\t}, withWeekNumber && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t\t\t...getStyles(\"weekViewWeekLabel\"),\n\t\t\t\t\t\t\tchildren: getLabel(\"week\", labels)\n\t\t\t\t\t\t}), /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t\t\t...getStyles(\"weekViewWeekNumber\"),\n\t\t\t\t\t\t\tchildren: getWeekNumber(date)\n\t\t\t\t\t\t})] })), weekdaysLabels]\n\t\t\t\t\t}),\n\t\t\t\t\twithAllDaySlots && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t...getStyles(\"weekViewAllDaySlots\"),\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t\t\t...getStyles(\"weekViewAllDaySlotsLabel\"),\n\t\t\t\t\t\t\tchildren: getLabel(\"allDay\", labels)\n\t\t\t\t\t\t}), /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t\t...getStyles(\"weekViewAllDaySlotsList\"),\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\tallDayBackgroundEventNodes,\n\t\t\t\t\t\t\t\t/* @__PURE__ */ jsx(Box, {\n\t\t\t\t\t\t\t\t\t...getStyles(\"weekViewAllDaySlotsEvents\"),\n\t\t\t\t\t\t\t\t\t__vars: { \"--extra-rows\": `${extraRows}` },\n\t\t\t\t\t\t\t\t\tchildren: allDayEvents\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tallDaySlots\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t})]\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t\t\t...getStyles(\"weekViewInner\"),\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t\t\t\t...getStyles(\"weekViewSlotLabels\"),\n\t\t\t\t\t\t\t\tchildren: timeValues\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twithCurrentTimeIndicator && currentWeekdayIndex !== -1 && /* @__PURE__ */ jsx(CurrentTimeIndicator, {\n\t\t\t\t\t\t\t\tstartOffset: \"calc(100% - (100% / var(--number-of-days)) * (var(--number-of-days) - var(--indicator-offset-index) + 1) + ((var(--number-of-days) - var(--indicator-offset-index) + 1) * var(--indicator-labels-offset)))\",\n\t\t\t\t\t\t\t\tendOffset: \"calc((100% / var(--number-of-days)) * (var(--number-of-days) - var(--indicator-offset-index)) - (var(--number-of-days) - var(--indicator-offset-index)) * var(--indicator-labels-offset))\",\n\t\t\t\t\t\t\t\ttimeBubbleStartOffset: \"calc(var(--week-view-slots-label-width) - var(--time-bubble-width))\",\n\t\t\t\t\t\t\t\tcurrentTimeFormat: slotLabelFormat,\n\t\t\t\t\t\t\t\twithTimeBubble: withCurrentTimeBubble,\n\t\t\t\t\t\t\t\twithThumb: withCurrentTimeBubble ? currentWeekdayIndex !== 0 : true,\n\t\t\t\t\t\t\t\tlocale,\n\t\t\t\t\t\t\t\tstartTime,\n\t\t\t\t\t\t\t\tendTime,\n\t\t\t\t\t\t\t\t...stylesApiProps\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdays\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t})]\n\t});\n\tconst mergedDragContextValue = useMemo(() => ({\n\t\tisDragging: dragDrop.dragContextValue.isDragging || allDayDragDrop.dragContextValue.isDragging,\n\t\tdraggedEventId: dragDrop.dragContextValue.draggedEventId ?? allDayDragDrop.dragContextValue.draggedEventId,\n\t\tdraggedEvent: dragDrop.dragContextValue.draggedEvent ?? allDayDragDrop.dragContextValue.draggedEvent,\n\t\tdropTarget: dragDrop.dragContextValue.dropTarget ?? allDayDragDrop.dragContextValue.dropTarget,\n\t\tonDragStart: (event) => {\n\t\t\tif (allDayEventIds.has(event.id)) allDayDragDrop.handleDragStart(event);\n\t\t\telse dragDrop.handleDragStart(event);\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tdragDrop.handleDragEnd();\n\t\t\tallDayDragDrop.handleDragEnd();\n\t\t},\n\t\tsetDropTarget: dragDrop.dragContextValue.setDropTarget\n\t}), [\n\t\tdragDrop.dragContextValue,\n\t\tallDayDragDrop.dragContextValue,\n\t\tallDayEventIds\n\t]);\n\tif (withEventsDragAndDrop) return /* @__PURE__ */ jsx(DragContext.Provider, {\n\t\tvalue: mergedDragContextValue,\n\t\tchildren: content\n\t});\n\treturn content;\n});\nWeekView.displayName = \"@mantine/schedule/WeekView\";\nWeekView.classes = WeekView_module_default;\nWeekView.varsResolver = varsResolver;\n//#endregion\nexport { WeekView };\n\n//# sourceMappingURL=WeekView.mjs.map",
|
|
124
|
+
"\"use client\";\nimport { validateEvent } from \"../../../utils/validate-event/validate-event.mjs\";\nimport { isMultidayEvent } from \"../../../utils/is-multiday-event/is-multiday-event.mjs\";\nimport dayjs from \"dayjs\";\n//#region packages/@mantine/schedule/src/components/YearView/get-year-view-events/get-year-view-events.ts\nfunction groupEventByDate(event, groupedEvents) {\n\tif (isMultidayEvent(event)) {\n\t\tconst startDate = dayjs(event.start).startOf(\"day\");\n\t\tconst endDate = dayjs(event.end).startOf(\"day\");\n\t\tfor (let date = startDate; date.isBefore(endDate) || date.isSame(endDate); date = date.add(1, \"day\")) {\n\t\t\tconst dateKey = date.format(\"YYYY-MM-DD\");\n\t\t\tif (!groupedEvents[dateKey]) groupedEvents[dateKey] = [];\n\t\t\tgroupedEvents[dateKey].push(event);\n\t\t}\n\t\treturn;\n\t}\n\tconst eventDate = dayjs(event.start).format(\"YYYY-MM-DD\");\n\tif (!groupedEvents[eventDate]) groupedEvents[eventDate] = [];\n\tgroupedEvents[eventDate].push(event);\n}\nfunction getYearViewEvents({ date, events }) {\n\tconst groupedEvents = {};\n\tif (events === void 0) return groupedEvents;\n\tconst ids = /* @__PURE__ */ new Set();\n\tfor (const event of events) if (dayjs(event.start).isSame(dayjs(date), \"year\")) {\n\t\tgroupEventByDate(validateEvent(event), groupedEvents);\n\t\tif (!ids.has(event.id)) ids.add(event.id);\n\t\telse throw new Error(`[@mantine/schedule] YearView: Duplicated event ids found: ${event.id}`);\n\t}\n\treturn groupedEvents;\n}\n//#endregion\nexport { getYearViewEvents };\n\n//# sourceMappingURL=get-year-view-events.mjs.map",
|
|
125
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/YearView/handle-year-view-key-down.ts\nfunction getDirection(key) {\n\tswitch (key) {\n\t\tcase \"ArrowDown\": return \"down\";\n\t\tcase \"ArrowUp\": return \"up\";\n\t\tcase \"ArrowRight\": return \"right\";\n\t\tcase \"ArrowLeft\": return \"left\";\n\t\tdefault: return null;\n\t}\n}\nfunction getControlsSize(controlsRef) {\n\tif (!controlsRef.current) return null;\n\treturn controlsRef.current.map((month) => month ? month.map((week) => week ? week.length : 0) : []);\n}\nfunction getNextPosition({ direction, monthIndex, weekIndex, dayIndex, size }) {\n\tconst currentMonthSize = size[monthIndex];\n\tif (!currentMonthSize) return null;\n\tswitch (direction) {\n\t\tcase \"up\": {\n\t\t\tif (weekIndex === 0) {\n\t\t\t\tif (monthIndex === 0) return null;\n\t\t\t\tconst prevMonthSize = size[monthIndex - 1];\n\t\t\t\tif (!prevMonthSize || prevMonthSize.length === 0) return null;\n\t\t\t\tconst lastWeekIndex = prevMonthSize.length - 1;\n\t\t\t\tconst clampedDayIndex = Math.min(dayIndex, prevMonthSize[lastWeekIndex] - 1);\n\t\t\t\treturn {\n\t\t\t\t\tmonthIndex: monthIndex - 1,\n\t\t\t\t\tweekIndex: lastWeekIndex,\n\t\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst prevWeekSize = currentMonthSize[weekIndex - 1];\n\t\t\tconst clampedDayIndex = Math.min(dayIndex, prevWeekSize - 1);\n\t\t\treturn {\n\t\t\t\tmonthIndex,\n\t\t\t\tweekIndex: weekIndex - 1,\n\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t};\n\t\t}\n\t\tcase \"down\": {\n\t\t\tif (weekIndex === currentMonthSize.length - 1) {\n\t\t\t\tif (monthIndex === size.length - 1) return null;\n\t\t\t\tconst nextMonthSize = size[monthIndex + 1];\n\t\t\t\tif (!nextMonthSize || nextMonthSize.length === 0) return null;\n\t\t\t\tconst clampedDayIndex = Math.min(dayIndex, nextMonthSize[0] - 1);\n\t\t\t\treturn {\n\t\t\t\t\tmonthIndex: monthIndex + 1,\n\t\t\t\t\tweekIndex: 0,\n\t\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst nextWeekSize = currentMonthSize[weekIndex + 1];\n\t\t\tconst clampedDayIndex = Math.min(dayIndex, nextWeekSize - 1);\n\t\t\treturn {\n\t\t\t\tmonthIndex,\n\t\t\t\tweekIndex: weekIndex + 1,\n\t\t\t\tdayIndex: clampedDayIndex\n\t\t\t};\n\t\t}\n\t\tcase \"left\":\n\t\t\tif (dayIndex === 0) {\n\t\t\t\tif (weekIndex === 0) {\n\t\t\t\t\tif (monthIndex === 0) return null;\n\t\t\t\t\tconst prevMonthSize = size[monthIndex - 1];\n\t\t\t\t\tif (!prevMonthSize || prevMonthSize.length === 0) return null;\n\t\t\t\t\tconst lastWeekIndex = prevMonthSize.length - 1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmonthIndex: monthIndex - 1,\n\t\t\t\t\t\tweekIndex: lastWeekIndex,\n\t\t\t\t\t\tdayIndex: prevMonthSize[lastWeekIndex] - 1\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tmonthIndex,\n\t\t\t\t\tweekIndex: weekIndex - 1,\n\t\t\t\t\tdayIndex: currentMonthSize[weekIndex - 1] - 1\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tmonthIndex,\n\t\t\t\tweekIndex,\n\t\t\t\tdayIndex: dayIndex - 1\n\t\t\t};\n\t\tcase \"right\":\n\t\t\tif (dayIndex === currentMonthSize[weekIndex] - 1) {\n\t\t\t\tif (weekIndex === currentMonthSize.length - 1) {\n\t\t\t\t\tif (monthIndex === size.length - 1) return null;\n\t\t\t\t\tconst nextMonthSize = size[monthIndex + 1];\n\t\t\t\t\tif (!nextMonthSize || nextMonthSize.length === 0) return null;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmonthIndex: monthIndex + 1,\n\t\t\t\t\t\tweekIndex: 0,\n\t\t\t\t\t\tdayIndex: 0\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tmonthIndex,\n\t\t\t\t\tweekIndex: weekIndex + 1,\n\t\t\t\t\tdayIndex: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tmonthIndex,\n\t\t\t\tweekIndex,\n\t\t\t\tdayIndex: dayIndex + 1\n\t\t\t};\n\t\tdefault: return null;\n\t}\n}\nfunction focusOnNextFocusableControl({ controlsRef, direction, monthIndex, weekIndex, dayIndex, size }) {\n\tconst nextPosition = getNextPosition({\n\t\tdirection,\n\t\tmonthIndex,\n\t\tweekIndex,\n\t\tdayIndex,\n\t\tsize\n\t});\n\tif (!nextPosition) return;\n\tconst controlToFocus = controlsRef.current?.[nextPosition.monthIndex]?.[nextPosition.weekIndex]?.[nextPosition.dayIndex];\n\tif (!controlToFocus) return;\n\tif (controlToFocus.disabled || controlToFocus.getAttribute(\"data-hidden\") || controlToFocus.getAttribute(\"data-outside\") || controlToFocus.getAttribute(\"data-day-placeholder\")) focusOnNextFocusableControl({\n\t\tcontrolsRef,\n\t\tdirection,\n\t\tmonthIndex: nextPosition.monthIndex,\n\t\tweekIndex: nextPosition.weekIndex,\n\t\tdayIndex: nextPosition.dayIndex,\n\t\tsize\n\t});\n\telse controlToFocus.focus();\n}\nfunction handleYearViewKeyDown({ controlsRef, monthIndex, weekIndex, dayIndex, event }) {\n\tconst direction = getDirection(event.key);\n\tif (direction) {\n\t\tevent.preventDefault();\n\t\tconst size = getControlsSize(controlsRef);\n\t\tif (!size) return;\n\t\tfocusOnNextFocusableControl({\n\t\t\tcontrolsRef,\n\t\t\tdirection,\n\t\t\tmonthIndex,\n\t\t\tweekIndex,\n\t\t\tdayIndex,\n\t\t\tsize\n\t\t});\n\t}\n}\n//#endregion\nexport { handleYearViewKeyDown };\n\n//# sourceMappingURL=handle-year-view-key-down.mjs.map",
|
|
126
|
+
"\"use client\";\nimport { formatDate } from \"../../utils/format-date/format-date.mjs\";\nimport { getWeekdaysNames } from \"../../utils/get-weekdays-names/get-weekdays-names.mjs\";\nimport { getWeekNumber } from \"../../utils/get-week-number/get-week-number.mjs\";\nimport { getMonthDays } from \"../../utils/get-month-days/get-month-days.mjs\";\nimport { isSameMonth } from \"../../utils/is-same-month/is-same-month.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, UnstyledButton, getThemeColor, useMantineTheme } from \"@mantine/core\";\nimport { createElement } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/YearView/YearViewMonth.tsx\nfunction YearViewMonth({ month, getStyles, monthLabelFormat = \"MMMM\", withWeekNumbers, withWeekDays, locale, firstDayOfWeek, weekdayFormat, weekendDays, getDayProps, onDayClick, onWeekNumberClick, onMonthClick, getWeekNumberProps, highlightToday, groupedEvents, mode, withOutsideDays, __getDayRef, __onDayKeyDown, firstDayIndex }) {\n\tconst ctx = useDatesContext();\n\tconst theme = useMantineTheme();\n\tconst today = dayjs();\n\tconst weekdays = withWeekDays ? getWeekdaysNames({\n\t\tlocale: ctx.getLocale(locale),\n\t\tformat: weekdayFormat,\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)\n\t}).map((day, index) => /* @__PURE__ */ createElement(\"div\", {\n\t\t...getStyles(\"yearViewWeekday\"),\n\t\tkey: index\n\t}, day)) : null;\n\tconst weeks = getMonthDays({\n\t\tmonth: dayjs(month).format(\"YYYY-MM-DD\"),\n\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\tconsistentWeeks: true\n\t}).map((week, weekIndex) => {\n\t\tconst days = week.map((date, dayIndex) => {\n\t\t\tconst outside = !isSameMonth(date, month);\n\t\t\tif (outside && !withOutsideDays) return /* @__PURE__ */ createElement(\"div\", {\n\t\t\t\t...getStyles(\"yearViewDay\"),\n\t\t\t\t\"data-day-placeholder\": true,\n\t\t\t\tkey: date\n\t\t\t});\n\t\t\tconst weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(date).day());\n\t\t\tconst ariaLabel = dayjs(date).locale(locale || ctx.locale).format(\"MMMM D, YYYY\");\n\t\t\tconst dayProps = getDayProps?.(dayjs(date).format(\"YYYY-MM-DD\")) || {};\n\t\t\tconst isToday = dayjs(date).isSame(today, \"day\") && highlightToday;\n\t\t\tconst dayEvents = groupedEvents?.[dayjs(date).format(\"YYYY-MM-DD\")] || [];\n\t\t\tconst isFirstDayOfMonth = firstDayIndex && weekIndex === firstDayIndex.weekIndex && dayIndex === firstDayIndex.dayIndex;\n\t\t\tconst isInTabOrder = mode !== \"static\" && !outside && isFirstDayOfMonth;\n\t\t\tconst indicators = dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ createElement(\"div\", {\n\t\t\t\t...getStyles(\"yearViewDayIndicator\", { style: { backgroundColor: getThemeColor(event.color, theme) } }),\n\t\t\t\tkey: event.id\n\t\t\t}));\n\t\t\treturn /* @__PURE__ */ createElement(UnstyledButton, {\n\t\t\t\t\"aria-label\": ariaLabel,\n\t\t\t\t...dayProps,\n\t\t\t\t...getStyles(\"yearViewDay\", {\n\t\t\t\t\tclassName: dayProps.className,\n\t\t\t\t\tstyle: dayProps.style\n\t\t\t\t}),\n\t\t\t\tkey: date,\n\t\t\t\tmod: [{\n\t\t\t\t\toutside,\n\t\t\t\t\tweekend,\n\t\t\t\t\ttoday: isToday,\n\t\t\t\t\tstatic: mode === \"static\"\n\t\t\t\t}, dayProps.mod],\n\t\t\t\ttabIndex: isInTabOrder ? 0 : -1,\n\t\t\t\tref: (node) => {\n\t\t\t\t\tif (node) __getDayRef?.(weekIndex, dayIndex, node);\n\t\t\t\t},\n\t\t\t\tonKeyDown: (event) => {\n\t\t\t\t\tdayProps.onKeyDown?.(event);\n\t\t\t\t\t__onDayKeyDown?.(event, {\n\t\t\t\t\t\tweekIndex,\n\t\t\t\t\t\tdayIndex,\n\t\t\t\t\t\tdate\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tonClick: mode === \"static\" ? void 0 : (event) => {\n\t\t\t\t\tonDayClick?.(dayjs(date).format(\"YYYY-MM-DD\"), event);\n\t\t\t\t\tdayProps.onClick?.(event);\n\t\t\t\t}\n\t\t\t}, dayjs(date).format(\"D\"), /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t...getStyles(\"yearViewDayIndicators\"),\n\t\t\t\tchildren: indicators\n\t\t\t}));\n\t\t});\n\t\tconst weekNumberProps = getWeekNumberProps?.(dayjs(week[0]).format(\"YYYY-MM-DD\")) || {};\n\t\tconst weekNumber = getWeekNumber(week);\n\t\treturn /* @__PURE__ */ createElement(\"div\", {\n\t\t\t...getStyles(\"yearViewWeek\"),\n\t\t\tkey: weekIndex\n\t\t}, withWeekNumbers && /* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t\"aria-label\": `Week ${weekNumber}`,\n\t\t\ttitle: `Week ${weekNumber}`,\n\t\t\t...weekNumberProps,\n\t\t\tonClick: mode === \"static\" ? void 0 : (event) => {\n\t\t\t\tonWeekNumberClick?.(dayjs(week[0]).format(\"YYYY-MM-DD\"), event);\n\t\t\t\tweekNumberProps.onClick?.(event);\n\t\t\t},\n\t\t\tmod: { static: mode === \"static\" },\n\t\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\t\t...getStyles(\"yearViewWeekNumber\", {\n\t\t\t\tclassName: weekNumberProps.className,\n\t\t\t\tstyle: weekNumberProps.style\n\t\t\t}),\n\t\t\tchildren: weekNumber\n\t\t}, weekNumber), days);\n\t});\n\treturn /* @__PURE__ */ jsxs(Box, {\n\t\tmod: [{\n\t\t\t\"with-week-numbers\": withWeekNumbers,\n\t\t\t\"with-weekdays\": withWeekDays,\n\t\t\tstatic: mode === \"static\"\n\t\t}],\n\t\t...getStyles(\"yearViewMonth\"),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(UnstyledButton, {\n\t\t\t\tonClick: mode === \"static\" ? void 0 : (event) => onMonthClick?.(dayjs(month).startOf(\"month\").format(\"YYYY-MM-DD\"), event),\n\t\t\t\tmod: { static: mode === \"static\" },\n\t\t\t\ttabIndex: mode === \"static\" ? -1 : 0,\n\t\t\t\t...getStyles(\"yearViewMonthCaption\"),\n\t\t\t\tchildren: formatDate({\n\t\t\t\t\tlocale: ctx.getLocale(locale),\n\t\t\t\t\tdate: month,\n\t\t\t\t\tformat: monthLabelFormat\n\t\t\t\t})\n\t\t\t}),\n\t\t\tweekdays && /* @__PURE__ */ jsxs(\"div\", {\n\t\t\t\t...getStyles(\"yearViewWeekdays\"),\n\t\t\t\tchildren: [withWeekNumbers && /* @__PURE__ */ jsx(\"div\", { ...getStyles(\"yearViewWeekdaysCorner\") }), weekdays]\n\t\t\t}),\n\t\t\tweeks\n\t\t]\n\t});\n}\n//#endregion\nexport { YearViewMonth };\n\n//# sourceMappingURL=YearViewMonth.mjs.map",
|
|
127
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/YearView/YearView.module.css\nvar YearView_module_default = {\n\t\"yearView\": \"m_7301354d\",\n\t\"yearViewMonths\": \"m_8b7a61a0\",\n\t\"yearViewMonth\": \"m_3e4e4533\",\n\t\"yearViewWeekdays\": \"m_845972b8\",\n\t\"yearViewWeek\": \"m_f9c4dae1\",\n\t\"yearViewWeekNumber\": \"m_af51358a\",\n\t\"yearViewWeekday\": \"m_e33cb11b\",\n\t\"yearViewWeekdaysCorner\": \"m_221ce72d\",\n\t\"yearViewDay\": \"m_399ab70f\",\n\t\"yearViewMonthCaption\": \"m_950e3d33\",\n\t\"yearViewDayIndicators\": \"m_98250b3\",\n\t\"yearViewDayIndicator\": \"m_10d2a7c0\"\n};\n//#endregion\nexport { YearView_module_default as default };\n\n//# sourceMappingURL=YearView.module.mjs.map",
|
|
128
|
+
"\"use client\";\nimport { getMonthDays } from \"../../utils/get-month-days/get-month-days.mjs\";\nimport { isSameMonth } from \"../../utils/is-same-month/is-same-month.mjs\";\nimport { getMonthsByQuarter } from \"../../utils/get-months-by-quarter/get-months-by-quarter.mjs\";\nimport { toDateString } from \"../../utils/to-date-string/to-date-string.mjs\";\nimport { expandRecurringEvents } from \"../../utils/expand-recurring-events/expand-recurring-events.mjs\";\nimport { ScheduleHeaderBase } from \"../ScheduleHeader/ScheduleHeaderBase.mjs\";\nimport { getYearViewEvents } from \"./get-year-view-events/get-year-view-events.mjs\";\nimport { handleYearViewKeyDown } from \"./handle-year-view-key-down.mjs\";\nimport { YearViewMonth } from \"./YearViewMonth.mjs\";\nimport YearView_module_default from \"./YearView.module.mjs\";\nimport dayjs from \"dayjs\";\nimport { Box, createVarsResolver, factory, getRadius, useProps, useResolvedStylesApi, useStyles } from \"@mantine/core\";\nimport { useRef } from \"react\";\nimport { useDatesContext } from \"@mantine/dates\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/YearView/YearView.tsx\nconst defaultProps = {\n\t__staticSelector: \"YearView\",\n\tmonthLabelFormat: \"MMMM\",\n\twithWeekDays: true,\n\thighlightToday: true,\n\twithHeader: true,\n\twithOutsideDays: true,\n\tmode: \"default\"\n};\nconst varsResolver = createVarsResolver((_theme, { radius }) => ({ yearView: { \"--year-view-radius\": radius !== void 0 ? getRadius(radius) : void 0 } }));\nconst YearView = factory((_props) => {\n\tconst props = useProps(\"YearView\", defaultProps, _props);\n\tconst { date, onDateChange, events, monthLabelFormat, withWeekNumbers, withWeekDays, locale, firstDayOfWeek, weekdayFormat, weekendDays, onMonthClick, onDayClick, onWeekNumberClick, getDayProps, getWeekNumberProps, highlightToday, labels, withOutsideDays, withHeader, monthYearSelectProps, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, __staticSelector, classNames, className, style, styles, unstyled, vars, attributes, radius, mode, recurrenceExpansionLimit, ...others } = props;\n\tconst ctx = useDatesContext();\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector,\n\t\tclasses: YearView_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars,\n\t\tvarsResolver,\n\t\tattributes,\n\t\trootSelector: \"yearView\"\n\t});\n\tconst { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({\n\t\tclassNames,\n\t\tstyles,\n\t\tprops\n\t});\n\tconst stylesApiProps = {\n\t\tclassNames: resolvedClassNames,\n\t\tstyles: resolvedStyles,\n\t\tattributes,\n\t\t__staticSelector,\n\t\tradius\n\t};\n\tconst groupedEvents = getYearViewEvents({\n\t\tdate,\n\t\tevents: expandRecurringEvents({\n\t\t\tevents,\n\t\t\trangeStart: dayjs(date).startOf(\"year\").toDate(),\n\t\t\trangeEnd: dayjs(date).endOf(\"year\").toDate(),\n\t\t\texpansionLimit: recurrenceExpansionLimit\n\t\t})\n\t});\n\tconst daysRef = useRef([]);\n\tconst getFirstDayIndex = (month) => {\n\t\tconst weeks = getMonthDays({\n\t\t\tmonth: dayjs(month).format(\"YYYY-MM-DD\"),\n\t\t\tfirstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n\t\t\tconsistentWeeks: true\n\t\t});\n\t\tfor (let weekIndex = 0; weekIndex < weeks.length; weekIndex++) {\n\t\t\tconst week = weeks[weekIndex];\n\t\t\tfor (let dayIndex = 0; dayIndex < week.length; dayIndex++) {\n\t\t\t\tconst dayDate = week[dayIndex];\n\t\t\t\tif (isSameMonth(dayDate, month)) return {\n\t\t\t\t\tweekIndex,\n\t\t\t\t\tdayIndex\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t};\n\tlet globalMonthIndex = 0;\n\tconst months = getMonthsByQuarter(dayjs(date).format(\"YYYY-MM-DD\")).flat().map((month) => {\n\t\tconst currentMonthIndex = globalMonthIndex;\n\t\tglobalMonthIndex++;\n\t\treturn /* @__PURE__ */ jsx(YearViewMonth, {\n\t\t\tmonth,\n\t\t\tgetStyles,\n\t\t\tmonthLabelFormat,\n\t\t\twithWeekNumbers,\n\t\t\twithWeekDays,\n\t\t\tlocale,\n\t\t\tfirstDayOfWeek,\n\t\t\tweekdayFormat: weekdayFormat || ((date) => dayjs(date).locale(ctx.getLocale(locale)).format(\"dd\").slice(0, 1)),\n\t\t\tweekendDays,\n\t\t\tgetDayProps,\n\t\t\tgetWeekNumberProps,\n\t\t\tonMonthClick,\n\t\t\tonDayClick,\n\t\t\tonWeekNumberClick,\n\t\t\thighlightToday,\n\t\t\tgroupedEvents,\n\t\t\tmode,\n\t\t\twithOutsideDays,\n\t\t\tfirstDayIndex: getFirstDayIndex(month),\n\t\t\t__getDayRef: (weekIndex, dayIndex, node) => {\n\t\t\t\tif (!Array.isArray(daysRef.current[currentMonthIndex])) daysRef.current[currentMonthIndex] = [];\n\t\t\t\tif (!Array.isArray(daysRef.current[currentMonthIndex][weekIndex])) daysRef.current[currentMonthIndex][weekIndex] = [];\n\t\t\t\tdaysRef.current[currentMonthIndex][weekIndex][dayIndex] = node;\n\t\t\t},\n\t\t\t__onDayKeyDown: (event, payload) => {\n\t\t\t\thandleYearViewKeyDown({\n\t\t\t\t\tcontrolsRef: daysRef,\n\t\t\t\t\tmonthIndex: currentMonthIndex,\n\t\t\t\t\tweekIndex: payload.weekIndex,\n\t\t\t\t\tdayIndex: payload.dayIndex,\n\t\t\t\t\tevent\n\t\t\t\t});\n\t\t\t}\n\t\t}, month);\n\t});\n\treturn /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"yearView\"),\n\t\tmod: { static: mode === \"static\" },\n\t\t...others,\n\t\tchildren: [withHeader && /* @__PURE__ */ jsx(ScheduleHeaderBase, {\n\t\t\tview: \"year\",\n\t\t\tnavigationHandlers: {\n\t\t\t\tprevious: () => toDateString(dayjs(date).subtract(1, \"year\").startOf(\"year\")),\n\t\t\t\tnext: () => toDateString(dayjs(date).add(1, \"year\").startOf(\"year\")),\n\t\t\t\ttoday: () => toDateString(dayjs())\n\t\t\t},\n\t\t\tcontrol: { monthYearSelect: {\n\t\t\t\tlocale,\n\t\t\t\twithMonths: false,\n\t\t\t\tyearValue: dayjs(date).get(\"year\"),\n\t\t\t\tmonthValue: dayjs(date).get(\"month\"),\n\t\t\t\tonYearChange: (year) => onDateChange?.(toDateString(dayjs(date).set(\"year\", year).startOf(\"year\"))),\n\t\t\t\t...monthYearSelectProps\n\t\t\t} },\n\t\t\tlabels,\n\t\t\tonDateChange,\n\t\t\tonViewChange,\n\t\t\tpreviousControlProps,\n\t\t\tnextControlProps,\n\t\t\ttodayControlProps,\n\t\t\tviewSelectProps,\n\t\t\tstylesApiProps\n\t\t}), /* @__PURE__ */ jsx(\"div\", {\n\t\t\t...getStyles(\"yearViewMonths\"),\n\t\t\tchildren: months\n\t\t})]\n\t});\n});\nYearView.displayName = \"@mantine/schedule/YearView\";\nYearView.classes = YearView_module_default;\nYearView.varsResolver = varsResolver;\n//#endregion\nexport { YearView };\n\n//# sourceMappingURL=YearView.mjs.map",
|
|
129
|
+
"\"use client\";\n//#region packages/@mantine/schedule/src/components/Schedule/Schedule.module.css\nvar Schedule_module_default = {\n\t\"root\": \"m_10df4638\",\n\t\"desktopView\": \"m_89e7ecb\",\n\t\"mobileView\": \"m_a0700b3d\"\n};\n//#endregion\nexport { Schedule_module_default as default };\n\n//# sourceMappingURL=Schedule.module.mjs.map",
|
|
130
|
+
"\"use client\";\nimport { DayView } from \"../DayView/DayView.mjs\";\nimport { MobileMonthView } from \"../MobileMonthView/MobileMonthView.mjs\";\nimport { MonthView } from \"../MonthView/MonthView.mjs\";\nimport { WeekView } from \"../WeekView/WeekView.mjs\";\nimport { YearView } from \"../YearView/YearView.mjs\";\nimport Schedule_module_default from \"./Schedule.module.mjs\";\nimport { Box, factory, useProps, useStyles } from \"@mantine/core\";\nimport { useUncontrolled } from \"@mantine/hooks\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n//#region packages/@mantine/schedule/src/components/Schedule/Schedule.tsx\nconst defaultProps = {\n\tdefaultView: \"week\",\n\tmode: \"default\",\n\tlayout: \"default\"\n};\nconst Schedule = factory((_props) => {\n\tconst props = useProps(\"Schedule\", defaultProps, _props);\n\tconst { classNames, className, style, styles, unstyled, vars, date, defaultDate, onDateChange, view, defaultView, onViewChange, events, locale, radius, labels, renderEventBody, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onTimeSlotClick, onAllDaySlotClick, onDayClick, onEventClick, withDragSlotSelect, onSlotDragEnd, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, recurrenceExpansionLimit, mode, layout, dayViewProps, weekViewProps, monthViewProps, yearViewProps, mobileMonthViewProps, __staticSelector, mod, ...others } = props;\n\tconst getStyles = useStyles({\n\t\tname: __staticSelector || \"Schedule\",\n\t\tclasses: Schedule_module_default,\n\t\tprops,\n\t\tclassName,\n\t\tstyle,\n\t\tclassNames,\n\t\tstyles,\n\t\tunstyled,\n\t\tvars\n\t});\n\tconst [_view, _setView] = useUncontrolled({\n\t\tvalue: view,\n\t\tdefaultValue: defaultView,\n\t\tonChange: onViewChange\n\t});\n\tconst [_date, _setDate] = useUncontrolled({\n\t\tvalue: date,\n\t\tdefaultValue: defaultDate ?? /* @__PURE__ */ new Date()\n\t});\n\tconst handleDateChange = (newDate) => {\n\t\t_setDate(newDate);\n\t\tonDateChange?.(newDate);\n\t};\n\tconst handleViewChange = (newView) => {\n\t\t_setView(newView);\n\t\tonViewChange?.(newView);\n\t};\n\tconst handleMonthClick = (monthDate) => {\n\t\thandleDateChange(monthDate);\n\t\thandleViewChange(\"month\");\n\t};\n\tconst commonProps = {\n\t\tdate: _date,\n\t\tonDateChange: handleDateChange,\n\t\tview: _view,\n\t\tonViewChange: handleViewChange,\n\t\tevents,\n\t\tlocale,\n\t\tradius,\n\t\tlabels,\n\t\trenderEventBody,\n\t\twithEventsDragAndDrop: mode === \"static\" ? false : withEventsDragAndDrop,\n\t\tonEventDrop,\n\t\tcanDragEvent,\n\t\tonEventDragStart,\n\t\tonEventDragEnd,\n\t\tonTimeSlotClick,\n\t\tonAllDaySlotClick,\n\t\tonDayClick,\n\t\tonEventClick,\n\t\twithDragSlotSelect,\n\t\tonSlotDragEnd,\n\t\tonExternalEventDrop,\n\t\twithEventResize: mode === \"static\" ? false : withEventResize,\n\t\tonEventResize,\n\t\tcanResizeEvent,\n\t\trecurrenceExpansionLimit,\n\t\tmode\n\t};\n\tconst desktopContent = (() => {\n\t\tswitch (_view) {\n\t\t\tcase \"day\": return /* @__PURE__ */ jsx(DayView, {\n\t\t\t\t...commonProps,\n\t\t\t\t...dayViewProps\n\t\t\t});\n\t\t\tcase \"week\": return /* @__PURE__ */ jsx(WeekView, {\n\t\t\t\t...commonProps,\n\t\t\t\t...weekViewProps\n\t\t\t});\n\t\t\tcase \"month\": return /* @__PURE__ */ jsx(MonthView, {\n\t\t\t\t...commonProps,\n\t\t\t\t...monthViewProps\n\t\t\t});\n\t\t\tcase \"year\": return /* @__PURE__ */ jsx(YearView, {\n\t\t\t\t...commonProps,\n\t\t\t\tonMonthClick: handleMonthClick,\n\t\t\t\t...yearViewProps\n\t\t\t});\n\t\t\tdefault: return null;\n\t\t}\n\t})();\n\tconst mobileContent = (() => {\n\t\tswitch (_view) {\n\t\t\tcase \"day\":\n\t\t\tcase \"week\":\n\t\t\tcase \"month\": return /* @__PURE__ */ jsx(MobileMonthView, {\n\t\t\t\tdate: _date,\n\t\t\t\tonDateChange: handleDateChange,\n\t\t\t\tevents,\n\t\t\t\tlocale,\n\t\t\t\tradius,\n\t\t\t\tlabels,\n\t\t\t\tmode,\n\t\t\t\trecurrenceExpansionLimit,\n\t\t\t\tonYearClick: () => handleViewChange(\"year\"),\n\t\t\t\tonEventClick,\n\t\t\t\t...mobileMonthViewProps\n\t\t\t});\n\t\t\tcase \"year\": return /* @__PURE__ */ jsx(YearView, {\n\t\t\t\t...commonProps,\n\t\t\t\tonMonthClick: handleMonthClick,\n\t\t\t\t...yearViewProps\n\t\t\t});\n\t\t\tdefault: return null;\n\t\t}\n\t})();\n\tif (layout === \"responsive\") return /* @__PURE__ */ jsxs(Box, {\n\t\t...getStyles(\"root\"),\n\t\tmod: [{ layout }, mod],\n\t\t...others,\n\t\tchildren: [/* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"desktopView\"),\n\t\t\tchildren: desktopContent\n\t\t}), /* @__PURE__ */ jsx(Box, {\n\t\t\t...getStyles(\"mobileView\"),\n\t\t\tchildren: mobileContent\n\t\t})]\n\t});\n\treturn /* @__PURE__ */ jsx(Box, {\n\t\t...getStyles(\"root\"),\n\t\tmod,\n\t\t...others,\n\t\tchildren: desktopContent\n\t});\n});\nSchedule.displayName = \"@mantine/schedule/Schedule\";\nSchedule.classes = Schedule_module_default;\n//#endregion\nexport { Schedule };\n\n//# sourceMappingURL=Schedule.mjs.map"
|
|
131
|
+
],
|
|
132
|
+
"mappings": "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",
|
|
133
|
+
"debugId": "4D15653EEECC582B64756E2164756E21",
|
|
134
|
+
"names": []
|
|
135
|
+
}
|