@sunsama/event-calendar 0.2.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 (236) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +105 -0
  3. package/lib/commonjs/components/all-day-events.js +117 -0
  4. package/lib/commonjs/components/all-day-events.js.map +1 -0
  5. package/lib/commonjs/components/background-hours-content.js +43 -0
  6. package/lib/commonjs/components/background-hours-content.js.map +1 -0
  7. package/lib/commonjs/components/background-hours-layout.js +57 -0
  8. package/lib/commonjs/components/background-hours-layout.js.map +1 -0
  9. package/lib/commonjs/components/drag-bar.js +84 -0
  10. package/lib/commonjs/components/drag-bar.js.map +1 -0
  11. package/lib/commonjs/components/edit-event-container.js +114 -0
  12. package/lib/commonjs/components/edit-event-container.js.map +1 -0
  13. package/lib/commonjs/components/event-container.js +37 -0
  14. package/lib/commonjs/components/event-container.js.map +1 -0
  15. package/lib/commonjs/components/new-event-container.js +73 -0
  16. package/lib/commonjs/components/new-event-container.js.map +1 -0
  17. package/lib/commonjs/components/time-indicator.js +64 -0
  18. package/lib/commonjs/components/time-indicator.js.map +1 -0
  19. package/lib/commonjs/components/timed-event-container.js +91 -0
  20. package/lib/commonjs/components/timed-event-container.js.map +1 -0
  21. package/lib/commonjs/components/timed-events.js +68 -0
  22. package/lib/commonjs/components/timed-events.js.map +1 -0
  23. package/lib/commonjs/components/zoom-provider.js +109 -0
  24. package/lib/commonjs/components/zoom-provider.js.map +1 -0
  25. package/lib/commonjs/enums.js +2 -0
  26. package/lib/commonjs/enums.js.map +1 -0
  27. package/lib/commonjs/hooks/use-cloned-events.js +25 -0
  28. package/lib/commonjs/hooks/use-cloned-events.js.map +1 -0
  29. package/lib/commonjs/hooks/use-events-layout.js +34 -0
  30. package/lib/commonjs/hooks/use-events-layout.js.map +1 -0
  31. package/lib/commonjs/hooks/use-is-editing.js +83 -0
  32. package/lib/commonjs/hooks/use-is-editing.js.map +1 -0
  33. package/lib/commonjs/index.js +129 -0
  34. package/lib/commonjs/index.js.map +1 -0
  35. package/lib/commonjs/types.js +24 -0
  36. package/lib/commonjs/types.js.map +1 -0
  37. package/lib/commonjs/utils/calendar-layout.js +113 -0
  38. package/lib/commonjs/utils/calendar-layout.js.map +1 -0
  39. package/lib/commonjs/utils/compute-positioning.js +33 -0
  40. package/lib/commonjs/utils/compute-positioning.js.map +1 -0
  41. package/lib/commonjs/utils/date-utils.js +152 -0
  42. package/lib/commonjs/utils/date-utils.js.map +1 -0
  43. package/lib/commonjs/utils/double-tap-reset-zoom-gesture.js +19 -0
  44. package/lib/commonjs/utils/double-tap-reset-zoom-gesture.js.map +1 -0
  45. package/lib/commonjs/utils/generate-event-layouts.js +198 -0
  46. package/lib/commonjs/utils/generate-event-layouts.js.map +1 -0
  47. package/lib/commonjs/utils/globals.js +11 -0
  48. package/lib/commonjs/utils/globals.js.map +1 -0
  49. package/lib/commonjs/utils/pan-edit-event-gesture.js +41 -0
  50. package/lib/commonjs/utils/pan-edit-event-gesture.js.map +1 -0
  51. package/lib/module/components/all-day-events.js +110 -0
  52. package/lib/module/components/all-day-events.js.map +1 -0
  53. package/lib/module/components/background-hours-content.js +37 -0
  54. package/lib/module/components/background-hours-content.js.map +1 -0
  55. package/lib/module/components/background-hours-layout.js +51 -0
  56. package/lib/module/components/background-hours-layout.js.map +1 -0
  57. package/lib/module/components/drag-bar.js +78 -0
  58. package/lib/module/components/drag-bar.js.map +1 -0
  59. package/lib/module/components/edit-event-container.js +107 -0
  60. package/lib/module/components/edit-event-container.js.map +1 -0
  61. package/lib/module/components/event-container.js +33 -0
  62. package/lib/module/components/event-container.js.map +1 -0
  63. package/lib/module/components/new-event-container.js +67 -0
  64. package/lib/module/components/new-event-container.js.map +1 -0
  65. package/lib/module/components/time-indicator.js +57 -0
  66. package/lib/module/components/time-indicator.js.map +1 -0
  67. package/lib/module/components/timed-event-container.js +84 -0
  68. package/lib/module/components/timed-event-container.js.map +1 -0
  69. package/lib/module/components/timed-events.js +63 -0
  70. package/lib/module/components/timed-events.js.map +1 -0
  71. package/lib/module/components/zoom-provider.js +102 -0
  72. package/lib/module/components/zoom-provider.js.map +1 -0
  73. package/lib/module/enums.js +2 -0
  74. package/lib/module/enums.js.map +1 -0
  75. package/lib/module/hooks/use-cloned-events.js +21 -0
  76. package/lib/module/hooks/use-cloned-events.js.map +1 -0
  77. package/lib/module/hooks/use-events-layout.js +29 -0
  78. package/lib/module/hooks/use-events-layout.js.map +1 -0
  79. package/lib/module/hooks/use-is-editing.js +75 -0
  80. package/lib/module/hooks/use-is-editing.js.map +1 -0
  81. package/lib/module/index.js +124 -0
  82. package/lib/module/index.js.map +1 -0
  83. package/lib/module/types.js +20 -0
  84. package/lib/module/types.js.map +1 -0
  85. package/lib/module/utils/calendar-layout.js +108 -0
  86. package/lib/module/utils/calendar-layout.js.map +1 -0
  87. package/lib/module/utils/compute-positioning.js +28 -0
  88. package/lib/module/utils/compute-positioning.js.map +1 -0
  89. package/lib/module/utils/date-utils.js +139 -0
  90. package/lib/module/utils/date-utils.js.map +1 -0
  91. package/lib/module/utils/double-tap-reset-zoom-gesture.js +15 -0
  92. package/lib/module/utils/double-tap-reset-zoom-gesture.js.map +1 -0
  93. package/lib/module/utils/generate-event-layouts.js +192 -0
  94. package/lib/module/utils/generate-event-layouts.js.map +1 -0
  95. package/lib/module/utils/globals.js +7 -0
  96. package/lib/module/utils/globals.js.map +1 -0
  97. package/lib/module/utils/pan-edit-event-gesture.js +37 -0
  98. package/lib/module/utils/pan-edit-event-gesture.js.map +1 -0
  99. package/lib/typescript/commonjs/components/all-day-events.d.ts +3 -0
  100. package/lib/typescript/commonjs/components/all-day-events.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/components/background-hours-content.d.ts +7 -0
  102. package/lib/typescript/commonjs/components/background-hours-content.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/components/background-hours-layout.d.ts +7 -0
  104. package/lib/typescript/commonjs/components/background-hours-layout.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/components/drag-bar.d.ts +14 -0
  106. package/lib/typescript/commonjs/components/drag-bar.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/components/edit-event-container.d.ts +7 -0
  108. package/lib/typescript/commonjs/components/edit-event-container.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/components/event-container.d.ts +7 -0
  110. package/lib/typescript/commonjs/components/event-container.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/components/new-event-container.d.ts +3 -0
  112. package/lib/typescript/commonjs/components/new-event-container.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/components/time-indicator.d.ts +3 -0
  114. package/lib/typescript/commonjs/components/time-indicator.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/components/timed-event-container.d.ts +9 -0
  116. package/lib/typescript/commonjs/components/timed-event-container.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/components/timed-events.d.ts +7 -0
  118. package/lib/typescript/commonjs/components/timed-events.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/components/zoom-provider.d.ts +7 -0
  120. package/lib/typescript/commonjs/components/zoom-provider.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/enums.d.ts +2 -0
  122. package/lib/typescript/commonjs/enums.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/hooks/use-cloned-events.d.ts +11 -0
  124. package/lib/typescript/commonjs/hooks/use-cloned-events.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/hooks/use-events-layout.d.ts +13 -0
  126. package/lib/typescript/commonjs/hooks/use-events-layout.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts +17 -0
  128. package/lib/typescript/commonjs/hooks/use-is-editing.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/index.d.ts +27 -0
  130. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/package.json +1 -0
  132. package/lib/typescript/commonjs/types.d.ts +128 -0
  133. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/utils/__tests___/compute-positioning.test.d.ts +2 -0
  135. package/lib/typescript/commonjs/utils/__tests___/compute-positioning.test.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/utils/__tests___/date-utils.test.d.ts +2 -0
  137. package/lib/typescript/commonjs/utils/__tests___/date-utils.test.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/utils/__tests___/generate-event-layout.test.d.ts +2 -0
  139. package/lib/typescript/commonjs/utils/__tests___/generate-event-layout.test.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/utils/calendar-layout.d.ts +36 -0
  141. package/lib/typescript/commonjs/utils/calendar-layout.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/utils/compute-positioning.d.ts +10 -0
  143. package/lib/typescript/commonjs/utils/compute-positioning.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/utils/date-utils.d.ts +30 -0
  145. package/lib/typescript/commonjs/utils/date-utils.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/utils/double-tap-reset-zoom-gesture.d.ts +5 -0
  147. package/lib/typescript/commonjs/utils/double-tap-reset-zoom-gesture.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/utils/generate-event-layouts.d.ts +15 -0
  149. package/lib/typescript/commonjs/utils/generate-event-layouts.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/utils/globals.d.ts +5 -0
  151. package/lib/typescript/commonjs/utils/globals.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/utils/pan-edit-event-gesture.d.ts +6 -0
  153. package/lib/typescript/commonjs/utils/pan-edit-event-gesture.d.ts.map +1 -0
  154. package/lib/typescript/module/components/all-day-events.d.ts +3 -0
  155. package/lib/typescript/module/components/all-day-events.d.ts.map +1 -0
  156. package/lib/typescript/module/components/background-hours-content.d.ts +7 -0
  157. package/lib/typescript/module/components/background-hours-content.d.ts.map +1 -0
  158. package/lib/typescript/module/components/background-hours-layout.d.ts +7 -0
  159. package/lib/typescript/module/components/background-hours-layout.d.ts.map +1 -0
  160. package/lib/typescript/module/components/drag-bar.d.ts +14 -0
  161. package/lib/typescript/module/components/drag-bar.d.ts.map +1 -0
  162. package/lib/typescript/module/components/edit-event-container.d.ts +7 -0
  163. package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -0
  164. package/lib/typescript/module/components/event-container.d.ts +7 -0
  165. package/lib/typescript/module/components/event-container.d.ts.map +1 -0
  166. package/lib/typescript/module/components/new-event-container.d.ts +3 -0
  167. package/lib/typescript/module/components/new-event-container.d.ts.map +1 -0
  168. package/lib/typescript/module/components/time-indicator.d.ts +3 -0
  169. package/lib/typescript/module/components/time-indicator.d.ts.map +1 -0
  170. package/lib/typescript/module/components/timed-event-container.d.ts +9 -0
  171. package/lib/typescript/module/components/timed-event-container.d.ts.map +1 -0
  172. package/lib/typescript/module/components/timed-events.d.ts +7 -0
  173. package/lib/typescript/module/components/timed-events.d.ts.map +1 -0
  174. package/lib/typescript/module/components/zoom-provider.d.ts +7 -0
  175. package/lib/typescript/module/components/zoom-provider.d.ts.map +1 -0
  176. package/lib/typescript/module/enums.d.ts +2 -0
  177. package/lib/typescript/module/enums.d.ts.map +1 -0
  178. package/lib/typescript/module/hooks/use-cloned-events.d.ts +11 -0
  179. package/lib/typescript/module/hooks/use-cloned-events.d.ts.map +1 -0
  180. package/lib/typescript/module/hooks/use-events-layout.d.ts +13 -0
  181. package/lib/typescript/module/hooks/use-events-layout.d.ts.map +1 -0
  182. package/lib/typescript/module/hooks/use-is-editing.d.ts +17 -0
  183. package/lib/typescript/module/hooks/use-is-editing.d.ts.map +1 -0
  184. package/lib/typescript/module/index.d.ts +27 -0
  185. package/lib/typescript/module/index.d.ts.map +1 -0
  186. package/lib/typescript/module/package.json +1 -0
  187. package/lib/typescript/module/types.d.ts +128 -0
  188. package/lib/typescript/module/types.d.ts.map +1 -0
  189. package/lib/typescript/module/utils/__tests___/compute-positioning.test.d.ts +2 -0
  190. package/lib/typescript/module/utils/__tests___/compute-positioning.test.d.ts.map +1 -0
  191. package/lib/typescript/module/utils/__tests___/date-utils.test.d.ts +2 -0
  192. package/lib/typescript/module/utils/__tests___/date-utils.test.d.ts.map +1 -0
  193. package/lib/typescript/module/utils/__tests___/generate-event-layout.test.d.ts +2 -0
  194. package/lib/typescript/module/utils/__tests___/generate-event-layout.test.d.ts.map +1 -0
  195. package/lib/typescript/module/utils/calendar-layout.d.ts +36 -0
  196. package/lib/typescript/module/utils/calendar-layout.d.ts.map +1 -0
  197. package/lib/typescript/module/utils/compute-positioning.d.ts +10 -0
  198. package/lib/typescript/module/utils/compute-positioning.d.ts.map +1 -0
  199. package/lib/typescript/module/utils/date-utils.d.ts +30 -0
  200. package/lib/typescript/module/utils/date-utils.d.ts.map +1 -0
  201. package/lib/typescript/module/utils/double-tap-reset-zoom-gesture.d.ts +5 -0
  202. package/lib/typescript/module/utils/double-tap-reset-zoom-gesture.d.ts.map +1 -0
  203. package/lib/typescript/module/utils/generate-event-layouts.d.ts +15 -0
  204. package/lib/typescript/module/utils/generate-event-layouts.d.ts.map +1 -0
  205. package/lib/typescript/module/utils/globals.d.ts +5 -0
  206. package/lib/typescript/module/utils/globals.d.ts.map +1 -0
  207. package/lib/typescript/module/utils/pan-edit-event-gesture.d.ts +6 -0
  208. package/lib/typescript/module/utils/pan-edit-event-gesture.d.ts.map +1 -0
  209. package/package.json +195 -0
  210. package/src/components/all-day-events.tsx +134 -0
  211. package/src/components/background-hours-content.tsx +51 -0
  212. package/src/components/background-hours-layout.tsx +61 -0
  213. package/src/components/drag-bar.tsx +120 -0
  214. package/src/components/edit-event-container.tsx +158 -0
  215. package/src/components/event-container.tsx +44 -0
  216. package/src/components/new-event-container.tsx +90 -0
  217. package/src/components/time-indicator.tsx +72 -0
  218. package/src/components/timed-event-container.tsx +124 -0
  219. package/src/components/timed-events.tsx +72 -0
  220. package/src/components/zoom-provider.tsx +146 -0
  221. package/src/enums.ts +0 -0
  222. package/src/hooks/use-cloned-events.ts +26 -0
  223. package/src/hooks/use-events-layout.ts +55 -0
  224. package/src/hooks/use-is-editing.tsx +109 -0
  225. package/src/index.tsx +165 -0
  226. package/src/types.ts +163 -0
  227. package/src/utils/__tests___/compute-positioning.test.ts +255 -0
  228. package/src/utils/__tests___/date-utils.test.ts +41 -0
  229. package/src/utils/__tests___/generate-event-layout.test.ts +277 -0
  230. package/src/utils/calendar-layout.ts +139 -0
  231. package/src/utils/compute-positioning.ts +44 -0
  232. package/src/utils/date-utils.ts +238 -0
  233. package/src/utils/double-tap-reset-zoom-gesture.ts +23 -0
  234. package/src/utils/generate-event-layouts.ts +314 -0
  235. package/src/utils/globals.ts +8 -0
  236. package/src/utils/pan-edit-event-gesture.ts +64 -0
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ import _partition from "lodash/partition";
4
+ import _reduce from "lodash/reduce";
5
+ import _sortBy from "lodash/sortBy";
6
+ import _reverse from "lodash/reverse";
7
+ import moment from "moment-timezone";
8
+ import { CalendarLayout } from "src/utils/calendar-layout";
9
+ import { computeCalendarDateRange, dateRangeIntersect, getDuration, getDurationInDays, isAllDayOrSpansMidnight, startOfUserWeek } from "src/utils/date-utils";
10
+ import computePositioning from "src/utils/compute-positioning";
11
+ import { EventExtend } from "src/types";
12
+ export const generateEventLayouts = ({
13
+ events,
14
+ startCalendarDate,
15
+ endCalendarDate,
16
+ userCalendarId,
17
+ calendarViewInterval = "1day",
18
+ startDayOfWeekOffset = 0,
19
+ timezone
20
+ }) => {
21
+ // Calculate spacial layout for CalendarViewDay events
22
+ // in month view, midnight-spanning part-day events are rendered as all-day multi-day
23
+ const [allDayEvents, partDayEvents] = _partition([...events], event => isAllDayOrSpansMidnight(event, timezone));
24
+
25
+ // lowest priority sort by ID for consistent ordering of otherwise equal events
26
+ let allDayEventsSorted = _sortBy(allDayEvents, event => event.id);
27
+
28
+ // secondary sort by length descending
29
+ allDayEventsSorted = _sortBy(allDayEventsSorted, event => getDurationInDays(event, timezone));
30
+ allDayEventsSorted = _reverse(allDayEventsSorted);
31
+
32
+ // primary sort by start ascending
33
+ allDayEventsSorted = _sortBy(allDayEventsSorted, event => new Date(event.start).valueOf());
34
+
35
+ // lowest priority sort by ID for consistent ordering of otherwise equal events
36
+ let partDayEventsSorted = _sortBy(partDayEvents, event => event.id);
37
+ partDayEventsSorted = _sortBy(partDayEventsSorted, event => getDuration(event)); // secondary sort by duration ascending
38
+ partDayEventsSorted = _sortBy(partDayEventsSorted, event => new Date(event.start).valueOf()); // primary sort by start ascending
39
+ const calendarViewDayEvents = [...allDayEventsSorted, ...(calendarViewInterval === "month" ? partDayEventsSorted : [])];
40
+ const visibleDayCount = moment.tz(endCalendarDate, timezone).diff(moment.tz(startCalendarDate, timezone), "days");
41
+ const visibleDays = [];
42
+ for (let dayCount = 0; dayCount <= visibleDayCount; dayCount++) {
43
+ visibleDays.push(moment.tz(startCalendarDate, timezone).add(dayCount, "day").format("YYYY-MM-DD"));
44
+ }
45
+ const calendarViewDateRanges = visibleDays.map(visibleDay => {
46
+ return computeCalendarDateRange(visibleDay, timezone, calendarViewInterval, startDayOfWeekOffset);
47
+ });
48
+ const result = {};
49
+ calendarViewDateRanges.forEach(date => {
50
+ const calendarLayoutOptions = {
51
+ visibleX: date.dayIndexes,
52
+ enableWeekBreaks: calendarViewInterval === "month",
53
+ startOfWeekXOffset: moment.tz(date.basisDate, timezone).diff(startOfUserWeek(startDayOfWeekOffset, date.basisDate, timezone), "days")
54
+ };
55
+ const calendarViewDayLayout = _reduce(calendarViewDayEvents, (calendarLayout, event) => {
56
+ const eventStartIndex = moment.tz(event.start, timezone).startOf("day").diff(moment.tz(date.basisDate, timezone), "days");
57
+ const eventDurationDays = getDurationInDays(event, timezone);
58
+ calendarLayout.findFitAndInsert(eventStartIndex, eventDurationDays, event);
59
+ return calendarLayout;
60
+ }, new CalendarLayout(calendarLayoutOptions));
61
+ const calendarViewDayRowHeight = calendarViewDayLayout.height();
62
+
63
+ // set the calendar layout for each day
64
+ const calendarDates = date.calendarDates || [];
65
+ calendarDates.forEach(calendarDate => {
66
+ const currentDayDate = moment.tz(calendarDate, timezone).startOf("day");
67
+ const startDate = currentDayDate.toDate();
68
+ const endDate = moment.tz(startDate, timezone).endOf("day").toDate();
69
+ const showHours = !["month"].includes(calendarViewInterval);
70
+ const dayId = calendarDate;
71
+ const allDayEventsLayout = [];
72
+ let partDayEventsLayout = [];
73
+ const x = moment(startDate).diff(moment.tz(date.basisDate, timezone), "days");
74
+ for (let y = 0; y < calendarViewDayRowHeight; ++y) {
75
+ const {
76
+ event,
77
+ visibleWidthDays,
78
+ extend = EventExtend.None,
79
+ isPrimaryRendered
80
+ } = calendarViewDayLayout.getViewAt(x, y);
81
+ if (event) {
82
+ allDayEventsLayout.push({
83
+ event,
84
+ rowIndex: y,
85
+ // @ts-ignore we know visibleWidthDays will be set for all day events if an event is returned
86
+ visibleWidthDays,
87
+ extend,
88
+ isPrimaryRendered
89
+ });
90
+ }
91
+ }
92
+
93
+ // Handle part day events according to view type
94
+ if (showHours) {
95
+ // Bucket, partition, sort, and handle collisions
96
+ partDayEventsLayout = partDayEventsLayout.concat(handleCollisions(events.filter(event => !isAllDayOrSpansMidnight(event, timezone) && dateRangeIntersect({
97
+ startDate: new Date(event.start),
98
+ endDate: new Date(event.end)
99
+ }, {
100
+ startDate,
101
+ endDate
102
+ })), userCalendarId, currentDayDate, timezone));
103
+ }
104
+ result[dayId] = {
105
+ allDayEventsLayout,
106
+ partDayEventsLayout
107
+ };
108
+ });
109
+ });
110
+ return result;
111
+ };
112
+ const combineEventPosition = (dayDate, timezone, collisionObject) => {
113
+ const position = computePositioning({
114
+ timezone,
115
+ collisionObject: collisionObject,
116
+ startOfDayMoment: dayDate
117
+ });
118
+ return {
119
+ ...collisionObject,
120
+ position
121
+ };
122
+ };
123
+ const handleCollisions = (allEvents, userCalendarId, dayDate, timezone) => {
124
+ let stackableEvents = _sortBy(allEvents, event => event.id);
125
+ stackableEvents = _sortBy(stackableEvents, event => {
126
+ // current user's primary calendar should always be leftmost option
127
+ return event.calendarId && !event.calendarId.includes(userCalendarId);
128
+ });
129
+ stackableEvents = _sortBy(stackableEvents, event => new Date(event.start).valueOf());
130
+ // calculate overlap stack properties
131
+ const stackedEvtsByPos = {};
132
+ let curStack = [];
133
+ for (const evt of stackableEvents) {
134
+ // already sorted by startDate
135
+ for (let idx = 0; idx < curStack.length; idx++) {
136
+ const stackEvt = curStack[idx];
137
+ if (stackEvt) {
138
+ const stackEvtEnd = new Date(stackEvt.event.end).valueOf();
139
+ const stackEvtStart = new Date(stackEvt.event.start).valueOf();
140
+ const eventStart = new Date(evt.start).valueOf();
141
+
142
+ // events shorter than 15 minutes behave as if they had 15 minute duration.
143
+ // matches behavior in calendar view, where the shortest 'height' an event is given matches the height of a 15 minute event.
144
+ const duration = (stackEvtEnd - stackEvtStart) / (1000 * 60);
145
+ const endDate = duration < 15 ? stackEvtStart + 15 * 60 * 1000 : stackEvtEnd;
146
+ if (endDate <= eventStart) {
147
+ // null out this event's position in stack
148
+ curStack[idx] = null;
149
+ if (curStack.length > 1) {
150
+ stackEvt.collisions = {
151
+ total: curStack.length,
152
+ order: idx
153
+ };
154
+ }
155
+ stackedEvtsByPos[idx] ? stackedEvtsByPos[idx].push(combineEventPosition(dayDate, timezone, stackEvt)) : stackedEvtsByPos[idx] = [combineEventPosition(dayDate, timezone, stackEvt)];
156
+ if (!curStack.some(el => el)) {
157
+ curStack = [];
158
+ }
159
+ }
160
+ }
161
+ }
162
+
163
+ // plop evt into first null placeholder we find, or just push if we don't have any.
164
+ const spliceIdx = curStack.findIndex(stackEvt => !stackEvt);
165
+ spliceIdx > -1 ? curStack.splice(spliceIdx, 1, {
166
+ event: evt
167
+ }) : curStack.splice(curStack.length, 0, {
168
+ event: evt
169
+ });
170
+ }
171
+
172
+ // clean up stack if we've exhausted allEvents and it's unpopped.
173
+ for (let idx = 0; idx < curStack.length; idx++) {
174
+ const stackEvt = curStack[idx];
175
+ if (stackEvt) {
176
+ if (curStack.length > 1) {
177
+ stackEvt.collisions = {
178
+ total: curStack.length,
179
+ order: idx
180
+ };
181
+ }
182
+ stackedEvtsByPos[idx] ? stackedEvtsByPos[idx].push(combineEventPosition(dayDate, timezone, stackEvt)) : stackedEvtsByPos[idx] = [combineEventPosition(dayDate, timezone, stackEvt)];
183
+ }
184
+ }
185
+
186
+ // always draw position 0 stack elements first.
187
+ let stackedEvents = [];
188
+ Object.keys(stackedEvtsByPos).forEach(pos => stackedEvents = stackedEvents.concat(stackedEvtsByPos[pos]));
189
+ return [...stackedEvents];
190
+ };
191
+ export default generateEventLayouts;
192
+ //# sourceMappingURL=generate-event-layouts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_partition","_reduce","_sortBy","_reverse","moment","CalendarLayout","computeCalendarDateRange","dateRangeIntersect","getDuration","getDurationInDays","isAllDayOrSpansMidnight","startOfUserWeek","computePositioning","EventExtend","generateEventLayouts","events","startCalendarDate","endCalendarDate","userCalendarId","calendarViewInterval","startDayOfWeekOffset","timezone","allDayEvents","partDayEvents","event","allDayEventsSorted","id","Date","start","valueOf","partDayEventsSorted","calendarViewDayEvents","visibleDayCount","tz","diff","visibleDays","dayCount","push","add","format","calendarViewDateRanges","map","visibleDay","result","forEach","date","calendarLayoutOptions","visibleX","dayIndexes","enableWeekBreaks","startOfWeekXOffset","basisDate","calendarViewDayLayout","calendarLayout","eventStartIndex","startOf","eventDurationDays","findFitAndInsert","calendarViewDayRowHeight","height","calendarDates","calendarDate","currentDayDate","startDate","toDate","endDate","endOf","showHours","includes","dayId","allDayEventsLayout","partDayEventsLayout","x","y","visibleWidthDays","extend","None","isPrimaryRendered","getViewAt","rowIndex","concat","handleCollisions","filter","end","combineEventPosition","dayDate","collisionObject","position","startOfDayMoment","allEvents","stackableEvents","calendarId","stackedEvtsByPos","curStack","evt","idx","length","stackEvt","stackEvtEnd","stackEvtStart","eventStart","duration","collisions","total","order","some","el","spliceIdx","findIndex","splice","stackedEvents","Object","keys","pos"],"sourceRoot":"../../../src","sources":["utils/generate-event-layouts.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import { createContext } from "react";
4
+ export const ConfigProvider = /*#__PURE__*/createContext(undefined);
5
+ export const DEFAULT_MINUTE_HEIGHT = 0.8;
6
+ export const TOP_MARGIN_PIXEL_OFFSET = 5;
7
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","ConfigProvider","undefined","DEFAULT_MINUTE_HEIGHT","TOP_MARGIN_PIXEL_OFFSET"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,cAAc,gBAAGD,aAAa,CAASE,SAAkB,CAAC;AAEvE,OAAO,MAAMC,qBAAqB,GAAG,GAAG;AAExC,OAAO,MAAMC,uBAAuB,GAAG,CAAC","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { Gesture } from "react-native-gesture-handler";
4
+ import { runOnJS } from "react-native-reanimated";
5
+ const gesturePan = (startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing) => Gesture.Pan().blocksExternalGesture(refNewEvent).onStart(() => {
6
+ if (startEditing) {
7
+ if (isEditing) {
8
+ return;
9
+ }
10
+ if (!isEditing) {
11
+ runOnJS(startEditing)();
12
+ }
13
+ }
14
+ startY.value = top.value;
15
+ }).onUpdate(({
16
+ translationY
17
+ }) => {
18
+ let freshUpdatedStartTime;
19
+ if (fiveMinuteInterval) {
20
+ // Set the updated time in 15 minute increments but make sure we never go lower
21
+ // than the first minute of the day
22
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
23
+ } else {
24
+ // Set the updated time in 1 minute increments but make sure we never go lower
25
+ // than the first minute of the day
26
+ freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
27
+ }
28
+
29
+ // Make sure the event does not span after midnight, and if so make sure it
30
+ // is limited to exactly midnight
31
+ if (freshUpdatedStartTime > maximumHour.value - height.value) {
32
+ freshUpdatedStartTime = maximumHour.value - height.value;
33
+ }
34
+ currentY.value = freshUpdatedStartTime;
35
+ });
36
+ export default gesturePan;
37
+ //# sourceMappingURL=pan-edit-event-gesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Gesture","runOnJS","gesturePan","startY","top","currentY","zoomLevel","maximumHour","height","refNewEvent","fiveMinuteInterval","isEditing","startEditing","Pan","blocksExternalGesture","onStart","value","onUpdate","translationY","freshUpdatedStartTime","Math","max","floor"],"sourceRoot":"../../../src","sources":["utils/pan-edit-event-gesture.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,8BAA8B;AACtD,SAASC,OAAO,QAAqB,yBAAyB;AAI9D,MAAMC,UAAU,GAAGA,CACjBC,MAA2B,EAC3BC,GAAwB,EACxBC,QAA6B,EAC7BC,SAA8B,EAC9BC,WAAgC,EAChCC,MAA2B,EAC3BC,WAA2B,EAC3BC,kBAA4B,EAC5BC,SAAyC,EACzCC,YAAyB,KAEzBZ,OAAO,CAACa,GAAG,CAAC,CAAC,CACVC,qBAAqB,CAACL,WAAW,CAAC,CAClCM,OAAO,CAAC,MAAM;EACb,IAAIH,YAAY,EAAE;IAChB,IAAID,SAAS,EAAE;MACb;IACF;IAEA,IAAI,CAACA,SAAS,EAAE;MACdV,OAAO,CAACW,YAAY,CAAC,CAAC,CAAC;IACzB;EACF;EAEAT,MAAM,CAACa,KAAK,GAAGZ,GAAG,CAACY,KAAK;AAC1B,CAAC,CAAC,CACDC,QAAQ,CAAC,CAAC;EAAEC;AAAa,CAAC,KAAK;EAC9B,IAAIC,qBAAqB;EAEzB,IAAIT,kBAAkB,EAAE;IACtB;IACA;IACAS,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDlB,MAAM,CAACa,KAAK,GACVI,IAAI,CAACE,KAAK,CAACJ,YAAY,GAAGZ,SAAS,CAACU,KAAK,GAAG,CAAC,CAAC,IAC3CV,SAAS,CAACU,KAAK,GAAG,CAAC,CAC1B,CAAC;EACH,CAAC,MAAM;IACL;IACA;IACAG,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAC9B,CAAC,EACDlB,MAAM,CAACa,KAAK,GACVI,IAAI,CAACE,KAAK,CAACJ,YAAY,GAAGZ,SAAS,CAACU,KAAK,CAAC,GAAGV,SAAS,CAACU,KAC3D,CAAC;EACH;;EAEA;EACA;EACA,IAAIG,qBAAqB,GAAGZ,WAAW,CAACS,KAAK,GAAGR,MAAM,CAACQ,KAAK,EAAE;IAC5DG,qBAAqB,GAAGZ,WAAW,CAACS,KAAK,GAAGR,MAAM,CAACQ,KAAK;EAC1D;EAEAX,QAAQ,CAACW,KAAK,GAAGG,qBAAqB;AACxC,CAAC,CAAC;AAEN,eAAejB,UAAU","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ declare const AllDayEvents: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
2
+ export default AllDayEvents;
3
+ //# sourceMappingURL=all-day-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-day-events.d.ts","sourceRoot":"","sources":["../../../../src/components/all-day-events.tsx"],"names":[],"mappings":"AAYA,QAAA,MAAM,YAAY,wEAiGjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PrefabHour } from "src/types";
2
+ type BackgroundHoursContentProps = {
3
+ hours: PrefabHour[];
4
+ };
5
+ declare const BackgroundHoursContent: import("react").MemoExoticComponent<({ hours }: BackgroundHoursContentProps) => import("react").JSX.Element>;
6
+ export default BackgroundHoursContent;
7
+ //# sourceMappingURL=background-hours-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-hours-content.d.ts","sourceRoot":"","sources":["../../../../src/components/background-hours-content.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,sBAAsB,kDACd,2BAA2B,iCA0BxC,CAAC;AAaF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { PrefabHour } from "src/types";
2
+ type BackgroundHoursLayoutProps = {
3
+ hours: PrefabHour[];
4
+ };
5
+ declare const BackgroundHoursLayout: import("react").MemoExoticComponent<({ hours }: BackgroundHoursLayoutProps) => import("react").JSX.Element>;
6
+ export default BackgroundHoursLayout;
7
+ //# sourceMappingURL=background-hours-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-hours-layout.d.ts","sourceRoot":"","sources":["../../../../src/components/background-hours-layout.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,qBAAqB,kDACb,0BAA0B,iCA2BvC,CAAC;AAsBF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { SharedValue } from "react-native-reanimated";
2
+ import { ReactNode } from "react";
3
+ type DragBarProps = {
4
+ top?: SharedValue<number>;
5
+ height: SharedValue<number>;
6
+ render: () => ReactNode;
7
+ refMainContainer: React.RefObject<any>;
8
+ fiveMinuteInterval?: boolean;
9
+ zoomLevel: SharedValue<number>;
10
+ maximumHour: SharedValue<number>;
11
+ };
12
+ declare const DragBar: ({ top, height, render, refMainContainer, fiveMinuteInterval, zoomLevel, maximumHour, }: DragBarProps) => import("react").JSX.Element;
13
+ export default DragBar;
14
+ //# sourceMappingURL=drag-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAI3C,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,SAAS,CAAC;IACxB,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,OAAO,2FAQV,YAAY,gCAsFd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { RefObject } from "react";
2
+ type EditEventContainerProps = {
3
+ refNewEvent: RefObject<any>;
4
+ };
5
+ declare const EditEventContainer: import("react").MemoExoticComponent<({ refNewEvent }: EditEventContainerProps) => import("react").JSX.Element | null>;
6
+ export default EditEventContainer;
7
+ //# sourceMappingURL=edit-event-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA8H1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { AllDayEventLayoutType } from "src/types";
2
+ type EventContainerProps = {
3
+ layout: AllDayEventLayoutType;
4
+ };
5
+ declare const EventContainer: ({ layout }: EventContainerProps) => import("react").JSX.Element;
6
+ export default EventContainer;
7
+ //# sourceMappingURL=event-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/event-container.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAe,MAAM,WAAW,CAAC;AAE/D,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,cAAc,eAAgB,mBAAmB,gCA+BtD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const NewEventContainer: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
2
+ export default NewEventContainer;
3
+ //# sourceMappingURL=new-event-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/new-event-container.tsx"],"names":[],"mappings":"AAUA,QAAA,MAAM,iBAAiB,wEA4DtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const TimeIndicator: import("react").MemoExoticComponent<() => import("react").JSX.Element>;
2
+ export default TimeIndicator;
3
+ //# sourceMappingURL=time-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-indicator.d.ts","sourceRoot":"","sources":["../../../../src/components/time-indicator.tsx"],"names":[],"mappings":"AASA,QAAA,MAAM,aAAa,wEA+ClB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { RefObject } from "react";
2
+ import { PartDayEventLayoutType } from "src/types";
3
+ type TimedEventContainerProps = {
4
+ layout: PartDayEventLayoutType;
5
+ refNewEvent: RefObject<any>;
6
+ };
7
+ declare const TimedEventContainer: ({ layout, refNewEvent, }: TimedEventContainerProps) => import("react").JSX.Element;
8
+ export default TimedEventContainer;
9
+ //# sourceMappingURL=timed-event-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EAAe,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEhE,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,6BAGtB,wBAAwB,gCA8F1B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { RefObject } from "react";
2
+ type TimedEventsProps = {
3
+ refNewEvent: RefObject<any>;
4
+ };
5
+ declare const TimedEvents: ({ refNewEvent }: TimedEventsProps) => import("react").JSX.Element;
6
+ export default TimedEvents;
7
+ //# sourceMappingURL=timed-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timed-events.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-events.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAUvD,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,WAAW,oBAAqB,gBAAgB,gCAqCrD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { GestureRef } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gesture";
2
+ type ZoomProviderProps = {
3
+ children: any;
4
+ };
5
+ declare const ZoomProvider: import("react").ForwardRefExoticComponent<ZoomProviderProps & import("react").RefAttributes<GestureRef>>;
6
+ export default ZoomProvider;
7
+ //# sourceMappingURL=zoom-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/zoom-provider.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,uEAAuE,CAAC;AAInG,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAKF,QAAA,MAAM,YAAY,0GAqHjB,CAAC;AAQF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/enums.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import { CalendarEvent } from "src/types";
3
+ export declare let updateClonedEvents: Dispatch<SetStateAction<CalendarEvent[]>>;
4
+ /**
5
+ * Returns a cloned version of the events array if the updateLocalStateAfterEdit is set to true.
6
+ * We do this to make local state updates faster and more responsive. If the updateLocalStateAfterEdit is set to false,
7
+ * we return the original events array and don't clone it.
8
+ */
9
+ declare const useClonedEvents: (events: CalendarEvent[], updateLocalStateAfterEdit: boolean) => CalendarEvent[];
10
+ export default useClonedEvents;
11
+ //# sourceMappingURL=use-cloned-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cloned-events.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-cloned-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,IAAI,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAEzE;;;;GAIG;AACH,QAAA,MAAM,eAAe,WACX,aAAa,EAAE,6BACI,OAAO,oBAUnC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { CalendarEvent, CalendarViewIntervalType, FullCalendarEventLayout } from "src/types";
2
+ export type UpdateEvent = {
3
+ events: CalendarEvent[];
4
+ userCalendarId: string;
5
+ timezone: string;
6
+ startCalendarDate: string;
7
+ endCalendarDate: string;
8
+ startDayOfWeekOffset?: number;
9
+ calendarViewInterval?: CalendarViewIntervalType;
10
+ };
11
+ declare const useEventsLayout: (props: UpdateEvent) => FullCalendarEventLayout;
12
+ export default useEventsLayout;
13
+ //# sourceMappingURL=use-events-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-events-layout.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-events-layout.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,WAAW,CAAC;AAUnB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD,CAAC;AAkBF,QAAA,MAAM,eAAe,UAAW,WAAW,4BAQ1C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React, { ReactNode } from "react";
2
+ import { SharedValue } from "react-native-reanimated";
3
+ import { PartDayEventLayoutType } from "src/types";
4
+ interface IsEditingType {
5
+ isEditing: null | PartDayEventLayoutType;
6
+ currentY: SharedValue<number>;
7
+ setIsEditing: (newValue: PartDayEventLayoutType | null, updatedTimes?: {
8
+ updatedStart: string;
9
+ updatedEnd: string;
10
+ }) => void;
11
+ }
12
+ export declare const useIsEditing: () => IsEditingType;
13
+ export declare const IsEditingProvider: ({ children }: {
14
+ children: ReactNode;
15
+ }) => React.JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=use-is-editing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-is-editing.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-is-editing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,SAAS,EAIV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAItE,OAAO,EAAc,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAE/D,UAAU,aAAa;IACrB,SAAS,EAAE,IAAI,GAAG,sBAAsB,CAAC;IACzC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,YAAY,EAAE,CACZ,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,YAAY,CAAC,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,KACE,IAAI,CAAC;CACX;AAID,eAAO,MAAM,YAAY,qBAOxB,CAAC;AAGF,eAAO,MAAM,iBAAiB,iBAAkB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sBAuEtE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { CalendarEvent, Config, onCreateEvent, ThemeStyle } from "src/types";
2
+ type EventCalenderProps = {
3
+ canCreateEvents?: boolean;
4
+ canEditEvent?: Config["canEditEvent"];
5
+ dayDate: string;
6
+ events: CalendarEvent[];
7
+ fiveMinuteInterval?: boolean;
8
+ initialZoomLevel?: number;
9
+ maxAllDayEvents?: number;
10
+ onCreateEvent?: onCreateEvent;
11
+ onEventEdit?: Config["onEventEdit"];
12
+ onPressEvent?: Config["onPressEvent"];
13
+ renderDragBars?: Config["renderDragBars"];
14
+ renderEvent: Config["renderEvent"];
15
+ renderNewEventContainer?: Config["renderNewEventContainer"];
16
+ showTimeIndicator?: boolean;
17
+ theme?: ThemeStyle;
18
+ timeFormat?: string;
19
+ timezone?: string;
20
+ updateLocalStateAfterEdit?: boolean;
21
+ userCalendarId?: string;
22
+ extraTimedComponents?: Config["extraTimedComponents"];
23
+ onZoomChange?: Config["onZoomChange"];
24
+ };
25
+ declare const EventCalendar: ({ events, timeFormat, dayDate, theme, initialZoomLevel, onCreateEvent, timezone, renderEvent, onPressEvent, userCalendarId, showTimeIndicator, maxAllDayEvents, canCreateEvents, renderNewEventContainer, fiveMinuteInterval, canEditEvent, onEventEdit, renderDragBars, updateLocalStateAfterEdit, extraTimedComponents, onZoomChange, }: EventCalenderProps) => import("react").JSX.Element;
26
+ export default EventCalendar;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,UAAU,EACX,MAAM,WAAW,CAAC;AAEnB,KAAK,kBAAkB,GAAG;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;CACvC,CAAC;AAEF,QAAA,MAAM,aAAa,8UAsBhB,kBAAkB,gCAwEpB,CAAC;AA0BF,eAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}