@mantine-vue/schedule 2.1.0

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.
Files changed (104) hide show
  1. package/README.md +21 -0
  2. package/cjs/index.cjs +4198 -0
  3. package/cjs/index.cjs.map +1 -0
  4. package/esm/index.mjs +4106 -0
  5. package/esm/index.mjs.map +1 -0
  6. package/lib/component-props.d.ts +265 -0
  7. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +114 -0
  8. package/lib/components/CurrentTimeIndicator/index.d.ts +1 -0
  9. package/lib/components/DayView/DayView.d.ts +212 -0
  10. package/lib/components/DayView/get-day-view-events/get-day-positioned-events.d.ts +15 -0
  11. package/lib/components/DayView/get-day-view-events/get-day-view-events.d.ts +15 -0
  12. package/lib/components/DayView/index.d.ts +3 -0
  13. package/lib/components/DragContext/DragContext.d.ts +11 -0
  14. package/lib/components/DragContext/index.d.ts +1 -0
  15. package/lib/components/MobileMonthView/MobileMonthView.d.ts +171 -0
  16. package/lib/components/MobileMonthView/get-mobile-month-view-events.d.ts +8 -0
  17. package/lib/components/MobileMonthView/index.d.ts +1 -0
  18. package/lib/components/MonthView/MonthView.d.ts +174 -0
  19. package/lib/components/MonthView/get-month-view-events/add-event-to-day-groups.d.ts +14 -0
  20. package/lib/components/MonthView/get-month-view-events/calculate-event-position-in-week.d.ts +18 -0
  21. package/lib/components/MonthView/get-month-view-events/find-available-row.d.ts +10 -0
  22. package/lib/components/MonthView/get-month-view-events/get-month-positioned-events.d.ts +31 -0
  23. package/lib/components/MonthView/get-month-view-events/get-month-view-events.d.ts +16 -0
  24. package/lib/components/MonthView/get-month-view-events/get-weeks-in-range.d.ts +13 -0
  25. package/lib/components/MonthView/get-renderable-month-event-segments.d.ts +16 -0
  26. package/lib/components/MonthView/index.d.ts +4 -0
  27. package/lib/components/MoreEvents/MoreEvents.d.ts +65 -0
  28. package/lib/components/MoreEvents/index.d.ts +1 -0
  29. package/lib/components/Schedule/Schedule.d.ts +134 -0
  30. package/lib/components/Schedule/index.d.ts +1 -0
  31. package/lib/components/ScheduleEvent/ScheduleEvent.d.ts +88 -0
  32. package/lib/components/ScheduleEvent/index.d.ts +1 -0
  33. package/lib/components/ScheduleHeader/HeaderControl/index.d.ts +2 -0
  34. package/lib/components/ScheduleHeader/MonthYearSelect/index.d.ts +2 -0
  35. package/lib/components/ScheduleHeader/ScheduleHeader.d.ts +364 -0
  36. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +72 -0
  37. package/lib/components/ScheduleHeader/ViewSelect/index.d.ts +2 -0
  38. package/lib/components/ScheduleHeader/index.d.ts +2 -0
  39. package/lib/components/WeekView/WeekView.d.ts +294 -0
  40. package/lib/components/WeekView/get-week-label/get-week-label.d.ts +13 -0
  41. package/lib/components/WeekView/get-week-view-events/assign-event-rows.d.ts +2 -0
  42. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-offset.d.ts +11 -0
  43. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-width.d.ts +12 -0
  44. package/lib/components/WeekView/get-week-view-events/calculate-event-days.d.ts +9 -0
  45. package/lib/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.d.ts +2 -0
  46. package/lib/components/WeekView/get-week-view-events/filter-week-view-events.d.ts +14 -0
  47. package/lib/components/WeekView/get-week-view-events/find-available-column.d.ts +9 -0
  48. package/lib/components/WeekView/get-week-view-events/get-event-end-date.d.ts +3 -0
  49. package/lib/components/WeekView/get-week-view-events/get-hanging-status.d.ts +9 -0
  50. package/lib/components/WeekView/get-week-view-events/get-week-positioned-events.d.ts +26 -0
  51. package/lib/components/WeekView/get-week-view-events/get-week-view-events.d.ts +7 -0
  52. package/lib/components/WeekView/index.d.ts +4 -0
  53. package/lib/components/YearView/YearView.d.ts +151 -0
  54. package/lib/components/YearView/get-year-view-events/get-year-view-events.d.ts +8 -0
  55. package/lib/components/YearView/index.d.ts +1 -0
  56. package/lib/components/keyboard-navigation.d.ts +7 -0
  57. package/lib/components/shared.d.ts +161 -0
  58. package/lib/components/use-slot-drag-select.d.ts +28 -0
  59. package/lib/hooks/use-event-resize.d.ts +31 -0
  60. package/lib/index.d.mts +15 -0
  61. package/lib/index.d.ts +15 -0
  62. package/lib/labels.d.ts +25 -0
  63. package/lib/test-utils.d.ts +7 -0
  64. package/lib/types.d.ts +141 -0
  65. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +22 -0
  66. package/lib/utils/calculate-month-drop-date/calculate-month-drop-date.d.ts +14 -0
  67. package/lib/utils/clamp-interval-minutes/clamp-interval-minutes.d.ts +2 -0
  68. package/lib/utils/expand-recurring-events/expand-recurring-events.d.ts +10 -0
  69. package/lib/utils/format-date/format-date.d.ts +8 -0
  70. package/lib/utils/get-business-hours-mod/get-business-hours-mod.d.ts +26 -0
  71. package/lib/utils/get-current-time-position/get-current-time-position.d.ts +10 -0
  72. package/lib/utils/get-day-position/get-day-position.d.ts +17 -0
  73. package/lib/utils/get-day-time-intervals/get-day-time-intervals.d.ts +19 -0
  74. package/lib/utils/get-end-of-week/get-end-of-week.d.ts +3 -0
  75. package/lib/utils/get-month-days/get-month-days.d.ts +8 -0
  76. package/lib/utils/get-month-range/get-month-range.d.ts +13 -0
  77. package/lib/utils/get-months-by-quarter/get-months-by-quarter.d.ts +2 -0
  78. package/lib/utils/get-months-list/get-months-list.d.ts +11 -0
  79. package/lib/utils/get-start-of-week/get-start-of-week.d.ts +7 -0
  80. package/lib/utils/get-visible-events/get-visible-events.d.ts +9 -0
  81. package/lib/utils/get-week-days/get-week-days.d.ts +13 -0
  82. package/lib/utils/get-week-number/get-week-number.d.ts +2 -0
  83. package/lib/utils/get-weekdays-names/get-weekdays-names.d.ts +9 -0
  84. package/lib/utils/get-years-list/get-years-list.d.ts +6 -0
  85. package/lib/utils/index.d.ts +41 -0
  86. package/lib/utils/is-after-min-date/is-after-min-date.d.ts +2 -0
  87. package/lib/utils/is-all-day-event/is-all-day-event.d.ts +7 -0
  88. package/lib/utils/is-before-max-date/is-before-max-date.d.ts +2 -0
  89. package/lib/utils/is-event-in-time-range/is-event-in-time-range.d.ts +8 -0
  90. package/lib/utils/is-events-overlap/is-events-overlap.d.ts +3 -0
  91. package/lib/utils/is-in-time-range/is-in-time-range.d.ts +9 -0
  92. package/lib/utils/is-multiday-event/is-multiday-event.d.ts +2 -0
  93. package/lib/utils/is-same-month/is-same-month.d.ts +2 -0
  94. package/lib/utils/is-within-week/is-within-week.d.ts +8 -0
  95. package/lib/utils/next-week/next-week.d.ts +2 -0
  96. package/lib/utils/parse-time-string/parse-time-string.d.ts +6 -0
  97. package/lib/utils/previous-week/previous-week.d.ts +2 -0
  98. package/lib/utils/sort-events/sort-events.d.ts +3 -0
  99. package/lib/utils/to-date-string/to-date-string.d.ts +2 -0
  100. package/lib/utils/to-time-string/to-time-string.d.ts +2 -0
  101. package/lib/utils/validate-event/validate-event.d.ts +2 -0
  102. package/package.json +53 -0
  103. package/styles.css +2087 -0
  104. package/styles.layer.css +2089 -0
@@ -0,0 +1,9 @@
1
+ import type { VNodeChild } from 'vue';
2
+ import type { DateLabelFormat, DayOfWeek } from '../../types';
3
+ interface GetWeekdaysNamesInput {
4
+ locale: string;
5
+ format?: DateLabelFormat;
6
+ firstDayOfWeek?: DayOfWeek;
7
+ }
8
+ export declare function getWeekdaysNames({ locale, format, firstDayOfWeek, }: GetWeekdaysNamesInput): VNodeChild[];
9
+ export {};
@@ -0,0 +1,6 @@
1
+ interface GetYearsListInput {
2
+ startYear: number;
3
+ endYear: number;
4
+ }
5
+ export declare function getYearsList({ startYear, endYear }: GetYearsListInput): number[];
6
+ export {};
@@ -0,0 +1,41 @@
1
+ export { getWeekdaysNames } from './get-weekdays-names/get-weekdays-names';
2
+ export { getStartOfWeek } from './get-start-of-week/get-start-of-week';
3
+ export { getEndOfWeek } from './get-end-of-week/get-end-of-week';
4
+ export { getWeekNumber } from './get-week-number/get-week-number';
5
+ export { getMonthDays } from './get-month-days/get-month-days';
6
+ export { isAfterMinDate } from './is-after-min-date/is-after-min-date';
7
+ export { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';
8
+ export { isSameMonth } from './is-same-month/is-same-month';
9
+ export { getMonthsByQuarter } from './get-months-by-quarter/get-months-by-quarter';
10
+ export { getDayTimeIntervals } from './get-day-time-intervals/get-day-time-intervals';
11
+ export { getWeekDays } from './get-week-days/get-week-days';
12
+ export { getMonthsList } from './get-months-list/get-months-list';
13
+ export { getYearsList } from './get-years-list/get-years-list';
14
+ export { formatDate } from './format-date/format-date';
15
+ export { toDateString } from './to-date-string/to-date-string';
16
+ export { nextWeek } from './next-week/next-week';
17
+ export { previousWeek } from './previous-week/previous-week';
18
+ export { clampIntervalMinutes } from './clamp-interval-minutes/clamp-interval-minutes';
19
+ export { getCurrentTimePosition } from './get-current-time-position/get-current-time-position';
20
+ export { isInTimeRange } from './is-in-time-range/is-in-time-range';
21
+ export { isAllDayEvent } from './is-all-day-event/is-all-day-event';
22
+ export { validateEvent } from './validate-event/validate-event';
23
+ export { sortEvents } from './sort-events/sort-events';
24
+ export { isEventsOverlap } from './is-events-overlap/is-events-overlap';
25
+ export { getVisibleEvents } from './get-visible-events/get-visible-events';
26
+ export { isMultidayEvent } from './is-multiday-event/is-multiday-event';
27
+ export { isEventInTimeRange } from './is-event-in-time-range/is-event-in-time-range';
28
+ export { isWithinWeek } from './is-within-week/is-within-week';
29
+ export { getMonthRange } from './get-month-range/get-month-range';
30
+ export { parseTimeString } from './parse-time-string/parse-time-string';
31
+ export { toTimeString } from './to-time-string/to-time-string';
32
+ export { getDayPosition } from './get-day-position/get-day-position';
33
+ export { calculateDropTime } from './calculate-drop-time/calculate-drop-time';
34
+ export { calculateMonthDropDate } from './calculate-month-drop-date/calculate-month-drop-date';
35
+ export { getBusinessHoursMod } from './get-business-hours-mod/get-business-hours-mod';
36
+ export { expandRecurringEvents } from './expand-recurring-events/expand-recurring-events';
37
+ export type { DayTimeInterval } from './get-day-time-intervals/get-day-time-intervals';
38
+ export type { ParsedTime } from './parse-time-string/parse-time-string';
39
+ export type { CalculateDropTimeInput, CalculateDropTimeResult, } from './calculate-drop-time/calculate-drop-time';
40
+ export type { CalculateMonthDropDateInput, CalculateMonthDropDateResult, } from './calculate-month-drop-date/calculate-month-drop-date';
41
+ export type { BusinessHoursMod, BusinessHoursPerDay, BusinessHoursRange, BusinessHoursValue, GetBusinessHoursModInput, } from './get-business-hours-mod/get-business-hours-mod';
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue } from '../../types';
2
+ export declare function isAfterMinDate(date: AnyDateValue, minDate: AnyDateValue | undefined): boolean;
@@ -0,0 +1,7 @@
1
+ import { AnyDateValue, ScheduleEventData } from '../../types';
2
+ interface IsAllDayEventInput {
3
+ event: ScheduleEventData;
4
+ date: AnyDateValue;
5
+ }
6
+ export declare function isAllDayEvent({ event, date }: IsAllDayEventInput): boolean;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue } from '../../types';
2
+ export declare function isBeforeMaxDate(date: AnyDateValue, maxDate: AnyDateValue | undefined): boolean;
@@ -0,0 +1,8 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ interface IsEventInTimeRangeInput {
3
+ event: ScheduleEventData;
4
+ startTime?: string;
5
+ endTime?: string;
6
+ }
7
+ export declare function isEventInTimeRange({ event, startTime, endTime }: IsEventInTimeRangeInput): boolean;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ /** Returns true if two events overlap in time */
3
+ export declare function isEventsOverlap(event1: ScheduleEventData, event2: ScheduleEventData): boolean;
@@ -0,0 +1,9 @@
1
+ import { AnyDateValue } from '../../types';
2
+ interface IsInTimeRangeInput {
3
+ date: AnyDateValue;
4
+ startTime?: string;
5
+ endTime?: string;
6
+ }
7
+ /** Returns true if the given date's time is within the specified time range */
8
+ export declare function isInTimeRange({ date, startTime, endTime, }: IsInTimeRangeInput): boolean;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ export declare function isMultidayEvent(event: ScheduleEventData): boolean;
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue } from '../../types';
2
+ export declare function isSameMonth(date: AnyDateValue, comparison: AnyDateValue): boolean;
@@ -0,0 +1,8 @@
1
+ import { AnyDateValue, DayOfWeek, ScheduleEventData } from '../../types';
2
+ interface IsWithinWeekInput {
3
+ event: ScheduleEventData;
4
+ targetWeek: AnyDateValue;
5
+ firstDayOfWeek: DayOfWeek;
6
+ }
7
+ export declare function isWithinWeek({ event, targetWeek, firstDayOfWeek }: IsWithinWeekInput): boolean;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue, DateStringValue, DayOfWeek } from '../../types';
2
+ export declare function nextWeek(date: AnyDateValue, firstDayOfWeek: DayOfWeek): DateStringValue;
@@ -0,0 +1,6 @@
1
+ export interface ParsedTime {
2
+ hours: number;
3
+ minutes: number;
4
+ seconds: number;
5
+ }
6
+ export declare function parseTimeString(time: string): ParsedTime;
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue, DateStringValue, DayOfWeek } from '../../types';
2
+ export declare function previousWeek(date: AnyDateValue, firstDayOfWeek: DayOfWeek): DateStringValue;
@@ -0,0 +1,3 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ /** Sorts events by start time, then by duration (longer first) */
3
+ export declare function sortEvents<T extends ScheduleEventData>(events: T[]): T[];
@@ -0,0 +1,2 @@
1
+ import { AnyDateValue, DateStringValue } from '../../types';
2
+ export declare function toDateString(date: AnyDateValue): DateStringValue;
@@ -0,0 +1,2 @@
1
+ import { ParsedTime } from '../parse-time-string/parse-time-string';
2
+ export declare function toTimeString({ hours, minutes, seconds }: ParsedTime): string;
@@ -0,0 +1,2 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ export declare function validateEvent(eventData: ScheduleEventData): ScheduleEventData;
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@mantine-vue/schedule",
3
+ "version": "2.1.0",
4
+ "description": "Vue schedule and calendar components equivalent to @mantine/schedule",
5
+ "license": "MIT",
6
+ "files": [
7
+ "cjs",
8
+ "esm",
9
+ "lib",
10
+ "styles.css",
11
+ "styles.layer.css",
12
+ "styles"
13
+ ],
14
+ "sideEffects": [
15
+ "*.css"
16
+ ],
17
+ "main": "./cjs/index.cjs",
18
+ "module": "./esm/index.mjs",
19
+ "types": "./lib/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./lib/index.d.mts",
24
+ "default": "./esm/index.mjs"
25
+ },
26
+ "require": {
27
+ "types": "./lib/index.d.ts",
28
+ "default": "./cjs/index.cjs"
29
+ }
30
+ },
31
+ "./styles.css": "./styles.css",
32
+ "./styles.layer.css": "./styles.layer.css"
33
+ },
34
+ "dependencies": {
35
+ "rrule": "^2.8.1"
36
+ },
37
+ "devDependencies": {
38
+ "@mantine-vue/core": "workspace:*",
39
+ "@mantine-vue/dates": "workspace:*",
40
+ "@mantine-vue/hooks": "workspace:*",
41
+ "@vue/compiler-dom": "^3.5.0",
42
+ "@vue/test-utils": "^2.4.6",
43
+ "dayjs": "^1.11.21",
44
+ "vue": "^3.5.0"
45
+ },
46
+ "peerDependencies": {
47
+ "@mantine-vue/core": "2.1.0",
48
+ "@mantine-vue/dates": "2.1.0",
49
+ "@mantine-vue/hooks": "2.1.0",
50
+ "dayjs": ">=1.0.0",
51
+ "vue": "^3.5.0"
52
+ }
53
+ }