@koine/react 1.0.11 → 1.0.12

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 (306) hide show
  1. package/Alert/Alert.js +7 -13
  2. package/Animations/Reveal.js +12 -10
  3. package/Animations/Underline.js +3 -13
  4. package/Animations/useReveal.js +18 -17
  5. package/Autocomplete/AutocompleteDownshift.js +1 -1
  6. package/Autocomplete/AutocompleteDownshiftMultiselect.js +1 -1
  7. package/Autocomplete/AutocompleteMui.js +61 -56
  8. package/Autocomplete/AutocompleteReach.js +1 -1
  9. package/Autocomplete/components.js +17 -72
  10. package/Autocomplete/helpers.js +1 -1
  11. package/Bg/BgColor.js +14 -24
  12. package/Bg/BgPhoto.js +11 -54
  13. package/Bg/BgSvg.js +6 -9
  14. package/Breadcrumbs/Breadcrumbs.js +14 -54
  15. package/Buttons/Button.js +8 -73
  16. package/Buttons/ButtonComposite.js +20 -41
  17. package/Buttons/ButtonFab.js +4 -6
  18. package/Buttons/ButtonLink.js +7 -6
  19. package/Buttons/IconButton.js +5 -17
  20. package/Calendar/CalendarDaygridCell.js +20 -14
  21. package/Calendar/CalendarDaygridNav.js +10 -9
  22. package/Calendar/CalendarDaygridTable.js +32 -30
  23. package/Calendar/CalendarLegend.js +7 -2
  24. package/Calendar/calendar-api-google.js +101 -68
  25. package/Calendar/useCalendar.js +114 -113
  26. package/Calendar/utils.js +73 -74
  27. package/Carousel/Carousel.js +1 -1
  28. package/Carousel/CarouselCss.js +12 -26
  29. package/Collapsable/Collapsable.js +1 -1
  30. package/Debug/Debug.js +5 -17
  31. package/Details/Details.js +30 -27
  32. package/Dialog/DialogMui.js +22 -20
  33. package/Dialog/css/bare.js +17 -15
  34. package/Dialog/m/bare.js +17 -13
  35. package/Dialog/m/basic.js +2 -2
  36. package/Dialog/m/index.js +4 -4
  37. package/Dialog/sc/bare.js +25 -43
  38. package/Dialog/sc/framer.js +6 -6
  39. package/Dialog/sc/framerMaterial.js +6 -6
  40. package/Dialog/sc/material.js +17 -37
  41. package/Dialog/tw/bare.js +25 -19
  42. package/Dialog/tw/elegant.js +17 -15
  43. package/Dialog/tw/framer.js +6 -6
  44. package/Dialog/tw/framerMaterial.js +6 -6
  45. package/Dialog/tw/material.js +17 -15
  46. package/Editor/Editor--tiptap.js +14 -11
  47. package/Editor/components.js +6 -24
  48. package/Favicon/FaviconTags.js +2 -1
  49. package/Form/Form.js +30 -28
  50. package/Form/sc/bare.js +9 -18
  51. package/Forms/Checkbox/Checkbox.js +9 -15
  52. package/Forms/Feedback/Feedback.js +6 -7
  53. package/Forms/Field/Field.js +15 -26
  54. package/Forms/Field/FieldControl.js +19 -15
  55. package/Forms/Field/FieldHint.js +3 -5
  56. package/Forms/Input/Input.js +10 -16
  57. package/Forms/InputGroup/InputGroup.js +9 -36
  58. package/Forms/Label/Label.js +5 -23
  59. package/Forms/Password/Password.js +10 -23
  60. package/Forms/Radio/Radio.js +15 -18
  61. package/Forms/Switch/Switch.js +9 -39
  62. package/Forms/Textarea/Textarea.js +6 -7
  63. package/Forms/Textarea/TextareaRich.js +10 -24
  64. package/Forms/Toggle/Toggle.js +19 -67
  65. package/Forms/Toggle/useToggle.js +29 -29
  66. package/Forms/antispam.js +12 -12
  67. package/Forms/helpers.js +7 -6
  68. package/Forms/styles.js +12 -43
  69. package/Gauge/Gauge.js +1 -1
  70. package/Grid/Grid.js +25 -51
  71. package/Hamburger/Hamburger.js +35 -47
  72. package/Header/useHeader.js +12 -12
  73. package/Hidden/Hidden.js +9 -13
  74. package/Img/sc/bare.js +3 -1
  75. package/Link/Link.js +3 -1
  76. package/Link/LinkBlank.js +8 -17
  77. package/Menu/Menu.js +3 -10
  78. package/MenuItem/MenuItem.js +3 -19
  79. package/Meta/Meta.js +3 -2
  80. package/NoJs/NoJs.js +2 -2
  81. package/Pagination/PaginationNav.js +26 -48
  82. package/Pagination/PaginationResults.js +7 -6
  83. package/Pill/Pill.js +6 -36
  84. package/Progress/ProgressCircular.js +9 -30
  85. package/Progress/ProgressLinear.js +8 -16
  86. package/Progress/ProgressOverlay.js +11 -27
  87. package/Rating/Rating.js +24 -44
  88. package/Rating/index.js +19 -15
  89. package/Select/SelectDownshift.js +1 -1
  90. package/Select/components.js +6 -12
  91. package/Sidebar/Sidebar.js +13 -38
  92. package/Spacing/Spacing.js +12 -12
  93. package/Sticky/Sticky.js +1 -1
  94. package/Sticky/StickyCss.js +4 -2
  95. package/Tabs/TabsMui.js +19 -16
  96. package/Tabs/tw/bare.js +13 -11
  97. package/Tabs/tw/material.js +15 -11
  98. package/Tabs/useTabs.js +16 -16
  99. package/Typography/CopyPasteVisible.js +3 -5
  100. package/Typography/Native.js +12 -45
  101. package/Typography/ReadMore.js +25 -51
  102. package/Typography/TextLoop.js +19 -22
  103. package/Typography/TypeStairs.js +20 -16
  104. package/helpers/classed.js +21 -18
  105. package/helpers/extend-component.js +6 -6
  106. package/hooks/useAsyncFn.js +18 -11
  107. package/hooks/useDateLocale.js +22 -13
  108. package/hooks/useEffectOnce.js +1 -1
  109. package/hooks/useFirstMountState.js +1 -1
  110. package/hooks/useFocus.js +3 -3
  111. package/hooks/useId.js +3 -2
  112. package/hooks/useIsomorphicLayoutEffect.js +1 -1
  113. package/hooks/useMount.js +2 -2
  114. package/hooks/useMountedState.js +4 -4
  115. package/hooks/usePrevious.js +2 -2
  116. package/hooks/useScrollPosition.js +20 -15
  117. package/hooks/useScrollTo.js +7 -5
  118. package/hooks/useTraceUpdate.js +4 -3
  119. package/hooks/useUpdateEffect.js +3 -3
  120. package/hooks/useWindowSize.js +3 -3
  121. package/m/MotionProvider.js +4 -2
  122. package/node/Alert/Alert.js +9 -16
  123. package/node/Alert/index.js +1 -1
  124. package/node/Animations/Reveal.js +15 -13
  125. package/node/Animations/Underline.js +5 -16
  126. package/node/Animations/index.js +1 -1
  127. package/node/Animations/useReveal.js +19 -18
  128. package/node/Autocomplete/AutocompleteMui.js +69 -64
  129. package/node/Autocomplete/components.js +26 -82
  130. package/node/Autocomplete/helpers.js +2 -2
  131. package/node/Bg/BgColor.js +18 -29
  132. package/node/Bg/BgPhoto.js +15 -59
  133. package/node/Bg/BgSvg.js +8 -12
  134. package/node/Bg/index.js +1 -1
  135. package/node/Breadcrumbs/Breadcrumbs.js +20 -61
  136. package/node/Breadcrumbs/index.js +1 -1
  137. package/node/Buttons/Button.js +10 -76
  138. package/node/Buttons/ButtonComposite.js +23 -45
  139. package/node/Buttons/ButtonFab.js +6 -9
  140. package/node/Buttons/ButtonLink.js +10 -10
  141. package/node/Buttons/IconButton.js +7 -20
  142. package/node/Buttons/index.js +1 -1
  143. package/node/Calendar/CalendarDaygridCell.js +24 -18
  144. package/node/Calendar/CalendarDaygridNav.js +14 -13
  145. package/node/Calendar/CalendarDaygridTable.js +39 -38
  146. package/node/Calendar/CalendarLegend.js +8 -3
  147. package/node/Calendar/calendar-api-google.js +105 -73
  148. package/node/Calendar/index.js +1 -1
  149. package/node/Calendar/useCalendar.js +117 -116
  150. package/node/Calendar/utils.js +82 -84
  151. package/node/Carousel/CarouselCss.js +17 -32
  152. package/node/Carousel/index.js +1 -1
  153. package/node/Collapsable/index.js +1 -1
  154. package/node/Debug/Debug.js +7 -20
  155. package/node/Debug/index.js +1 -1
  156. package/node/Details/Details.js +24 -22
  157. package/node/Details/index.js +1 -1
  158. package/node/Dialog/DialogMui.js +12 -11
  159. package/node/Dialog/css/bare.js +11 -10
  160. package/node/Dialog/m/bare.js +18 -14
  161. package/node/Dialog/m/basic.js +1 -1
  162. package/node/Dialog/m/index.js +4 -4
  163. package/node/Dialog/sc/bare.js +22 -41
  164. package/node/Dialog/sc/framer.js +5 -5
  165. package/node/Dialog/sc/framerMaterial.js +5 -5
  166. package/node/Dialog/sc/material.js +12 -33
  167. package/node/Dialog/tw/bare.js +19 -14
  168. package/node/Dialog/tw/elegant.js +11 -9
  169. package/node/Dialog/tw/framer.js +5 -5
  170. package/node/Dialog/tw/framerMaterial.js +5 -5
  171. package/node/Dialog/tw/material.js +11 -9
  172. package/node/Editor/Editor--tiptap.js +19 -17
  173. package/node/Editor/components.js +9 -28
  174. package/node/Editor/index.js +1 -1
  175. package/node/Favicon/FaviconTags.js +3 -2
  176. package/node/Favicon/index.js +1 -1
  177. package/node/Form/Form.js +20 -18
  178. package/node/Form/index.js +1 -1
  179. package/node/Form/sc/bare.js +12 -22
  180. package/node/Forms/Checkbox/Checkbox.js +13 -20
  181. package/node/Forms/Checkbox/index.js +1 -1
  182. package/node/Forms/Feedback/Feedback.js +8 -10
  183. package/node/Forms/Feedback/index.js +1 -1
  184. package/node/Forms/Field/Field.js +18 -30
  185. package/node/Forms/Field/FieldControl.js +26 -22
  186. package/node/Forms/Field/FieldHint.js +4 -7
  187. package/node/Forms/Field/index.js +1 -1
  188. package/node/Forms/Input/Input.js +15 -22
  189. package/node/Forms/Input/index.js +1 -1
  190. package/node/Forms/InputGroup/InputGroup.js +14 -42
  191. package/node/Forms/InputGroup/index.js +1 -1
  192. package/node/Forms/Label/Label.js +6 -25
  193. package/node/Forms/Label/index.js +1 -1
  194. package/node/Forms/Password/Password.js +16 -30
  195. package/node/Forms/Password/index.js +1 -1
  196. package/node/Forms/Radio/Radio.js +21 -25
  197. package/node/Forms/Radio/index.js +1 -1
  198. package/node/Forms/Switch/Switch.js +15 -46
  199. package/node/Forms/Switch/index.js +1 -1
  200. package/node/Forms/Textarea/Textarea.js +11 -13
  201. package/node/Forms/Textarea/TextareaRich.js +16 -31
  202. package/node/Forms/Textarea/index.js +1 -1
  203. package/node/Forms/Toggle/Toggle.js +23 -72
  204. package/node/Forms/Toggle/index.js +1 -1
  205. package/node/Forms/Toggle/useToggle.js +33 -33
  206. package/node/Forms/antispam.js +14 -14
  207. package/node/Forms/helpers.js +8 -7
  208. package/node/Forms/index.js +1 -1
  209. package/node/Forms/styles.js +16 -48
  210. package/node/Gauge/Gauge.js +1 -1
  211. package/node/Grid/Grid.js +24 -51
  212. package/node/Grid/index.js +1 -1
  213. package/node/Hamburger/Hamburger.js +37 -50
  214. package/node/Hamburger/index.js +1 -1
  215. package/node/Header/index.js +1 -1
  216. package/node/Header/useHeader.js +16 -16
  217. package/node/Hidden/Hidden.js +10 -15
  218. package/node/Hidden/index.js +1 -1
  219. package/node/Img/index.js +1 -1
  220. package/node/Img/sc/bare.js +4 -3
  221. package/node/Link/Link.js +4 -3
  222. package/node/Link/LinkBlank.js +11 -21
  223. package/node/Link/index.js +1 -1
  224. package/node/Menu/Menu.js +4 -12
  225. package/node/Menu/index.js +1 -1
  226. package/node/MenuItem/MenuItem.js +4 -21
  227. package/node/MenuItem/index.js +1 -1
  228. package/node/Meta/Meta.js +4 -3
  229. package/node/Meta/index.js +1 -1
  230. package/node/NoJs/NoJs.js +3 -3
  231. package/node/NoJs/index.js +1 -1
  232. package/node/Pagination/PaginationNav.js +30 -53
  233. package/node/Pagination/PaginationResults.js +10 -10
  234. package/node/Pagination/index.js +1 -1
  235. package/node/Pill/Pill.js +7 -38
  236. package/node/Pill/index.js +1 -1
  237. package/node/Progress/ProgressCircular.js +11 -33
  238. package/node/Progress/ProgressLinear.js +11 -20
  239. package/node/Progress/ProgressOverlay.js +18 -35
  240. package/node/Progress/index.js +1 -1
  241. package/node/Rating/Rating.js +28 -49
  242. package/node/Rating/index.js +20 -16
  243. package/node/Select/components.js +11 -18
  244. package/node/Sidebar/Sidebar.js +21 -47
  245. package/node/Sidebar/index.js +1 -1
  246. package/node/Spacing/Spacing.js +16 -17
  247. package/node/Spacing/index.js +1 -1
  248. package/node/Sticky/StickyCss.js +5 -3
  249. package/node/Sticky/index.js +1 -1
  250. package/node/Tabs/TabsMui.js +16 -14
  251. package/node/Tabs/index.js +1 -1
  252. package/node/Tabs/tw/bare.js +9 -8
  253. package/node/Tabs/tw/material.js +11 -7
  254. package/node/Tabs/useTabs.js +19 -19
  255. package/node/Typography/CopyPasteVisible.js +4 -7
  256. package/node/Typography/Native.js +14 -48
  257. package/node/Typography/ReadMore.js +30 -57
  258. package/node/Typography/TextLoop.js +22 -25
  259. package/node/Typography/TypeStairs.js +22 -18
  260. package/node/Typography/index.js +1 -1
  261. package/node/css/index.js +1 -1
  262. package/node/helpers/classed.js +22 -19
  263. package/node/helpers/extend-component.js +7 -7
  264. package/node/helpers/index.js +1 -1
  265. package/node/hooks/index.js +1 -1
  266. package/node/hooks/useAsyncFn.js +20 -13
  267. package/node/hooks/useDateLocale.js +23 -37
  268. package/node/hooks/useEffectOnce.js +2 -2
  269. package/node/hooks/useFirstMountState.js +2 -2
  270. package/node/hooks/useFocus.js +4 -4
  271. package/node/hooks/useId.js +4 -3
  272. package/node/hooks/useIsomorphicLayoutEffect.js +2 -2
  273. package/node/hooks/useMount.js +3 -3
  274. package/node/hooks/useMountedState.js +5 -5
  275. package/node/hooks/usePrevious.js +3 -3
  276. package/node/hooks/useScrollPosition.js +23 -18
  277. package/node/hooks/useScrollTo.js +9 -7
  278. package/node/hooks/useTraceUpdate.js +5 -4
  279. package/node/hooks/useUpdateEffect.js +5 -5
  280. package/node/hooks/useWindowSize.js +4 -4
  281. package/node/index.js +1 -1
  282. package/node/m/MotionProvider.js +6 -4
  283. package/node/m/index.js +1 -1
  284. package/node/m/lite.js +1 -1
  285. package/node/m/max.js +1 -1
  286. package/node/sc/index.js +1 -1
  287. package/node/scm/index.js +1 -1
  288. package/node/shared/index.js +1 -1
  289. package/node/styles/Body.js +5 -10
  290. package/node/styles/Global.js +5 -37
  291. package/node/styles/index.js +1 -1
  292. package/node/styles/media.js +42 -38
  293. package/node/styles/spacing.js +15 -16
  294. package/node/styles/styled.js +7 -21
  295. package/node/styles/theme--vanilla.js +21 -19
  296. package/node/styles/theme.js +9 -9
  297. package/node/tw/index.js +1 -1
  298. package/node/twm/index.js +1 -1
  299. package/package.json +3 -2
  300. package/styles/Body.js +4 -8
  301. package/styles/Global.js +4 -36
  302. package/styles/media.js +41 -36
  303. package/styles/spacing.js +15 -16
  304. package/styles/styled.js +7 -21
  305. package/styles/theme--vanilla.js +20 -18
  306. package/styles/theme.js +11 -11
@@ -1,77 +1,109 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCalendarsEventsFromGoogle = void 0;
4
- const tslib_1 = require("tslib");
5
- const utils_1 = require("@koine/utils");
6
- const differenceInDays_1 = tslib_1.__importDefault(require("date-fns/differenceInDays"));
7
- const subDays_1 = tslib_1.__importDefault(require("date-fns/subDays"));
8
- const utils_2 = require("./utils");
9
- const baseURL = "https://www.googleapis.com/calendar/v3/calendars/";
10
- async function getCalendarsEventsFromGoogle({ calendars, ...options }) {
11
- const allEvents = {};
12
- await Promise.all(calendars.map(async (calendar) => {
13
- const events = await getCalendarEventsFromGoogle({
14
- calendar,
15
- ...options,
4
+ var tslib_1 = require("tslib");
5
+ var utils_1 = require("@koine/utils");
6
+ var differenceInDays_1 = tslib_1.__importDefault(require("date-fns/differenceInDays"));
7
+ var subDays_1 = tslib_1.__importDefault(require("date-fns/subDays"));
8
+ var utils_2 = require("./utils");
9
+ var baseURL = "https://www.googleapis.com/calendar/v3/calendars/";
10
+ function getCalendarsEventsFromGoogle(_a) {
11
+ var calendars = _a.calendars, options = tslib_1.__rest(_a, ["calendars"]);
12
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
13
+ var allEvents;
14
+ var _this = this;
15
+ return tslib_1.__generator(this, function (_b) {
16
+ switch (_b.label) {
17
+ case 0:
18
+ allEvents = {};
19
+ return [4 /*yield*/, Promise.all(calendars.map(function (calendar) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
20
+ var events;
21
+ return tslib_1.__generator(this, function (_a) {
22
+ switch (_a.label) {
23
+ case 0: return [4 /*yield*/, getCalendarEventsFromGoogle(tslib_1.__assign({ calendar: calendar }, options))];
24
+ case 1:
25
+ events = _a.sent();
26
+ (0, utils_2.addCalendarEvents)(events, allEvents);
27
+ return [2 /*return*/];
28
+ }
29
+ });
30
+ }); }))];
31
+ case 1:
32
+ _b.sent();
33
+ return [2 /*return*/, allEvents];
34
+ }
16
35
  });
17
- (0, utils_2.addCalendarEvents)(events, allEvents);
18
- }));
19
- return allEvents;
36
+ });
20
37
  }
21
38
  exports.getCalendarsEventsFromGoogle = getCalendarsEventsFromGoogle;
22
- async function getCalendarEventsFromGoogle({ apiKey, calendar, timeZone = "", start, end, }) {
23
- const events = {};
24
- const params = new URLSearchParams({
25
- calendarId: calendar.id,
26
- timeZone,
27
- singleEvents: "true",
28
- maxAttendees: "1",
29
- maxResults: "9999",
30
- sanitizeHtml: "true",
31
- timeMin: start.toISOString(),
32
- timeMax: end.toISOString(),
33
- key: apiKey || process.env["GOOGLE_CALENDAR_API_KEY"] || "",
34
- }).toString();
35
- const url = baseURL + calendar.id + "/events?" + params;
36
- try {
37
- const response = await fetch(url, { method: "GET" });
38
- const data = (await response.json());
39
- calendar.name = calendar.name || data.summary;
40
- data.items.forEach((googleEvent) => {
41
- const event = transformCalendarEventFromGoogle(googleEvent, calendar);
42
- events[event.uid] = event;
39
+ function getCalendarEventsFromGoogle(_a) {
40
+ var apiKey = _a.apiKey, calendar = _a.calendar, _b = _a.timeZone, timeZone = _b === void 0 ? "" : _b, start = _a.start, end = _a.end;
41
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
42
+ var events, params, url, response, data, e_1;
43
+ return tslib_1.__generator(this, function (_c) {
44
+ switch (_c.label) {
45
+ case 0:
46
+ events = {};
47
+ params = new URLSearchParams({
48
+ calendarId: calendar.id,
49
+ timeZone: timeZone,
50
+ singleEvents: "true",
51
+ maxAttendees: "1",
52
+ maxResults: "9999",
53
+ sanitizeHtml: "true",
54
+ timeMin: start.toISOString(),
55
+ timeMax: end.toISOString(),
56
+ key: apiKey || process.env["GOOGLE_CALENDAR_API_KEY"] || "",
57
+ }).toString();
58
+ url = baseURL + calendar.id + "/events?" + params;
59
+ _c.label = 1;
60
+ case 1:
61
+ _c.trys.push([1, 4, , 5]);
62
+ return [4 /*yield*/, fetch(url, { method: "GET" })];
63
+ case 2:
64
+ response = _c.sent();
65
+ return [4 /*yield*/, response.json()];
66
+ case 3:
67
+ data = (_c.sent());
68
+ calendar.name = calendar.name || data.summary;
69
+ data.items.forEach(function (googleEvent) {
70
+ var event = transformCalendarEventFromGoogle(googleEvent, calendar);
71
+ events[event.uid] = event;
72
+ });
73
+ return [3 /*break*/, 5];
74
+ case 4:
75
+ e_1 = _c.sent();
76
+ return [3 /*break*/, 5];
77
+ case 5: return [2 /*return*/, events];
78
+ }
43
79
  });
44
- }
45
- catch (e) {
46
- // if (onError) onError(e);
47
- }
48
- return events;
80
+ });
49
81
  }
50
82
  function transformCalendarEventFromGoogle(event, calendar) {
51
- const created = new Date(event.created);
52
- const link = event.htmlLink;
53
- const title = event.summary;
54
- const status = event.status;
55
- const start = new Date(event.start.date || event.start.dateTime);
56
- let end = new Date(event.end.date || event.end.dateTime);
57
- const color = calendar.color;
58
- const allDay = (0, utils_1.isUndefined)(event.end.dateTime) && (0, utils_1.isString)(event.end.date);
59
- const location = event.location || "";
60
- const description = event.description || ""; // FIXME: he.decode(event.description || '');
61
- const uid = created.getTime() + "" + start.getTime();
83
+ var created = new Date(event.created);
84
+ var link = event.htmlLink;
85
+ var title = event.summary;
86
+ var status = event.status;
87
+ var start = new Date(event.start.date || event.start.dateTime);
88
+ var end = new Date(event.end.date || event.end.dateTime);
89
+ var color = calendar.color;
90
+ var allDay = (0, utils_1.isUndefined)(event.end.dateTime) && (0, utils_1.isString)(event.end.date);
91
+ var location = event.location || "";
92
+ var description = event.description || ""; // FIXME: he.decode(event.description || '');
93
+ var uid = created.getTime() + "" + start.getTime();
62
94
  // multi-days all day events has as end date the date after to what we actually
63
95
  // mean, hence we subtract one day. @see https://support.google.com/calendar/thread/10074544/google-calendar-all-day-events-are-showing-up-as-a-24-hr-event-across-time-zones?hl=en
64
96
  if (allDay && end > start) {
65
97
  end = (0, subDays_1.default)(end, 1);
66
98
  end.setHours(23, 59, 59);
67
99
  }
68
- const days = getDays();
69
- const daysMap = (0, utils_1.arrayToLookup)(days);
70
- const multi = days.length > 1;
100
+ var days = getDays();
101
+ var daysMap = (0, utils_1.arrayToLookup)(days);
102
+ var multi = days.length > 1;
71
103
  function getDays() {
72
- const from = new Date(start);
73
- const to = new Date(end);
74
- const days = [(0, utils_2.getEventTimestamp)(from)];
104
+ var from = new Date(start);
105
+ var to = new Date(end);
106
+ var days = [(0, utils_2.getEventTimestamp)(from)];
75
107
  while ((0, differenceInDays_1.default)(to, from)) {
76
108
  // console.log(title, differenceInDays(to, from))
77
109
  from.setDate(from.getDate() + 1);
@@ -80,20 +112,20 @@ function transformCalendarEventFromGoogle(event, calendar) {
80
112
  return days;
81
113
  }
82
114
  return {
83
- calendar,
84
- created,
85
- link,
86
- title,
87
- status,
88
- start,
89
- end,
90
- days,
91
- daysMap,
92
- multi,
93
- color,
94
- allDay,
95
- location,
96
- description,
97
- uid,
115
+ calendar: calendar,
116
+ created: created,
117
+ link: link,
118
+ title: title,
119
+ status: status,
120
+ start: start,
121
+ end: end,
122
+ days: days,
123
+ daysMap: daysMap,
124
+ multi: multi,
125
+ color: color,
126
+ allDay: allDay,
127
+ location: location,
128
+ description: description,
129
+ uid: uid,
98
130
  };
99
131
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
3
+ var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./CalendarDaygridCell"), exports);
5
5
  tslib_1.__exportStar(require("./CalendarDaygridNav"), exports);
6
6
  tslib_1.__exportStar(require("./CalendarDaygridTable"), exports);
@@ -1,48 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCalendar = void 0;
4
- const react_1 = require("react");
5
- const calendar_api_google_1 = require("./calendar-api-google");
6
- const utils_1 = require("./utils");
7
- function useCalendar({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView = "month", timeZone = "", onError, }) {
8
- const [view, setView] = (0, react_1.useState)(initialView);
9
- const start = initialStart || (0, utils_1.getStartDate)(new Date(), view);
10
- const end = initialEnd || (0, utils_1.getEndDate)(start, view);
11
- const [range, setRange] = (0, react_1.useState)([start, end]);
12
- const [todayInView, setTodayInView] = (0, react_1.useState)((0, utils_1.isTodayInView)(start, end));
13
- const [events, setEvents] = (0, react_1.useState)(initialEvents || {});
14
- const [eventHovered, setEventHovered] = (0, react_1.useState)(null);
15
- const [eventClicked, setEventClicked] = (0, react_1.useState)(null);
16
- const [calendarsMap, updateCalendars] = (0, react_1.useReducer)((state, action) => {
17
- const { type } = action;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = require("react");
6
+ var calendar_api_google_1 = require("./calendar-api-google");
7
+ var utils_1 = require("./utils");
8
+ function useCalendar(_a) {
9
+ var _this = this;
10
+ var locale = _a.locale, apiKey = _a.apiKey, calendars = _a.calendars, initialEvents = _a.events, initialStart = _a.start, initialEnd = _a.end, _b = _a.view, initialView = _b === void 0 ? "month" : _b, _c = _a.timeZone, timeZone = _c === void 0 ? "" : _c, onError = _a.onError;
11
+ var _d = (0, react_1.useState)(initialView), view = _d[0], setView = _d[1];
12
+ var start = initialStart || (0, utils_1.getStartDate)(new Date(), view);
13
+ var end = initialEnd || (0, utils_1.getEndDate)(start, view);
14
+ var _e = (0, react_1.useState)([start, end]), range = _e[0], setRange = _e[1];
15
+ var _f = (0, react_1.useState)((0, utils_1.isTodayInView)(start, end)), todayInView = _f[0], setTodayInView = _f[1];
16
+ var _g = (0, react_1.useState)(initialEvents || {}), events = _g[0], setEvents = _g[1];
17
+ var _h = (0, react_1.useState)(null), eventHovered = _h[0], setEventHovered = _h[1];
18
+ var _j = (0, react_1.useState)(null), eventClicked = _j[0], setEventClicked = _j[1];
19
+ var _k = (0, react_1.useReducer)(function (state, action) {
20
+ var _a;
21
+ var type = action.type;
18
22
  switch (type) {
19
23
  case "events": {
20
- const events = action.payload;
21
- return Object.entries(state).reduce((map, [id, calendar]) => {
22
- map[id] = {
23
- ...calendar,
24
- events: events[id] || 0,
25
- };
24
+ var events_1 = action.payload;
25
+ return Object.entries(state).reduce(function (map, _a) {
26
+ var id = _a[0], calendar = _a[1];
27
+ map[id] = tslib_1.__assign(tslib_1.__assign({}, calendar), { events: events_1[id] || 0 });
26
28
  return map;
27
29
  }, {});
28
30
  }
29
31
  case "visibility": {
30
- const visible = action.payload;
31
- if (typeof visible === "string") {
32
- return {
33
- ...state,
34
- [visible]: {
35
- ...state[visible],
36
- on: !state[visible].on,
37
- },
38
- };
32
+ var visible_1 = action.payload;
33
+ if (typeof visible_1 === "string") {
34
+ return tslib_1.__assign(tslib_1.__assign({}, state), (_a = {}, _a[visible_1] = tslib_1.__assign(tslib_1.__assign({}, state[visible_1]), { on: !state[visible_1].on }), _a));
39
35
  }
40
36
  else {
41
- return Object.entries(state).reduce((map, [id, calendar]) => {
42
- map[id] = {
43
- ...calendar,
44
- on: visible.indexOf(id) > -1,
45
- };
37
+ return Object.entries(state).reduce(function (map, _a) {
38
+ var id = _a[0], calendar = _a[1];
39
+ map[id] = tslib_1.__assign(tslib_1.__assign({}, calendar), { on: visible_1.indexOf(id) > -1 });
46
40
  return map;
47
41
  }, {});
48
42
  }
@@ -52,48 +46,53 @@ function useCalendar({ locale, apiKey, calendars, events: initialEvents, start:
52
46
  }
53
47
  },
54
48
  // initial state
55
- calendars.reduce((map, calendar) => {
56
- map[calendar.id] = {
57
- ...calendar,
58
- name: calendar.name || "",
59
- on: true,
60
- events: 0,
61
- };
49
+ calendars.reduce(function (map, calendar) {
50
+ map[calendar.id] = tslib_1.__assign(tslib_1.__assign({}, calendar), { name: calendar.name || "", on: true, events: 0 });
62
51
  return map;
63
- }, {}));
64
- const toggleCalendarVisibility = (0, react_1.useCallback)((idOrIds) => {
52
+ }, {})), calendarsMap = _k[0], updateCalendars = _k[1];
53
+ var toggleCalendarVisibility = (0, react_1.useCallback)(function (idOrIds) {
65
54
  updateCalendars({ type: "visibility", payload: idOrIds });
66
55
  }, [updateCalendars]);
67
- const updateCalendarsBasedOnEvents = (0, react_1.useCallback)((events) => {
68
- const payload = {};
69
- for (const uid in events) {
70
- const { id } = events[uid].calendar;
56
+ var updateCalendarsBasedOnEvents = (0, react_1.useCallback)(function (events) {
57
+ var payload = {};
58
+ for (var uid in events) {
59
+ var id = events[uid].calendar.id;
71
60
  payload[id] = payload[id] || 0;
72
61
  payload[id]++;
73
62
  }
74
- updateCalendars({ type: "events", payload });
63
+ updateCalendars({ type: "events", payload: payload });
75
64
  }, []);
76
- const loadCalendars = (0, react_1.useCallback)(async (calendars, start, end) => {
77
- try {
78
- const newEvents = await (0, calendar_api_google_1.getCalendarsEventsFromGoogle)({
79
- apiKey,
80
- calendars,
81
- timeZone,
82
- start,
83
- end,
84
- });
85
- // setEvents(mergeCalendarEvents(events, newEvents));
86
- setEvents(newEvents);
87
- }
88
- catch (e) {
89
- if (onError)
90
- onError(e);
91
- }
92
- }, [setEvents, apiKey, timeZone, onError]);
93
- const handleToday = (0, react_1.useCallback)(() => {
94
- const [start, end] = range;
95
- const newStart = (0, utils_1.getStartDate)(new Date(), view);
96
- const newEnd = (0, utils_1.getEndDate)(newStart, view);
65
+ var loadCalendars = (0, react_1.useCallback)(function (calendars, start, end) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
66
+ var newEvents, e_1;
67
+ return tslib_1.__generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ _a.trys.push([0, 2, , 3]);
71
+ return [4 /*yield*/, (0, calendar_api_google_1.getCalendarsEventsFromGoogle)({
72
+ apiKey: apiKey,
73
+ calendars: calendars,
74
+ timeZone: timeZone,
75
+ start: start,
76
+ end: end,
77
+ })];
78
+ case 1:
79
+ newEvents = _a.sent();
80
+ // setEvents(mergeCalendarEvents(events, newEvents));
81
+ setEvents(newEvents);
82
+ return [3 /*break*/, 3];
83
+ case 2:
84
+ e_1 = _a.sent();
85
+ if (onError)
86
+ onError(e_1);
87
+ return [3 /*break*/, 3];
88
+ case 3: return [2 /*return*/];
89
+ }
90
+ });
91
+ }); }, [setEvents, apiKey, timeZone, onError]);
92
+ var handleToday = (0, react_1.useCallback)(function () {
93
+ var start = range[0], end = range[1];
94
+ var newStart = (0, utils_1.getStartDate)(new Date(), view);
95
+ var newEnd = (0, utils_1.getEndDate)(newStart, view);
97
96
  setRange([newStart, newEnd]);
98
97
  // reset event only if we are not on the current view already
99
98
  if (start.getTime() !== newStart.getTime() ||
@@ -102,46 +101,48 @@ function useCalendar({ locale, apiKey, calendars, events: initialEvents, start:
102
101
  setEventHovered(null);
103
102
  }
104
103
  }, [view, range]);
105
- const handlePrev = (0, react_1.useCallback)(() => {
106
- setRange(([start]) => {
107
- const newStart = (0, utils_1.getPrevDate)(start, view);
108
- const newEnd = (0, utils_1.getEndDate)(newStart, view);
104
+ var handlePrev = (0, react_1.useCallback)(function () {
105
+ setRange(function (_a) {
106
+ var start = _a[0];
107
+ var newStart = (0, utils_1.getPrevDate)(start, view);
108
+ var newEnd = (0, utils_1.getEndDate)(newStart, view);
109
109
  return [newStart, newEnd];
110
110
  });
111
111
  setEventClicked(null);
112
112
  setEventHovered(null);
113
113
  }, [view]);
114
- const handleNext = (0, react_1.useCallback)(() => {
115
- setRange(([start]) => {
116
- const newStart = (0, utils_1.getNextDate)(start, view);
117
- const newEnd = (0, utils_1.getEndDate)(newStart, view);
114
+ var handleNext = (0, react_1.useCallback)(function () {
115
+ setRange(function (_a) {
116
+ var start = _a[0];
117
+ var newStart = (0, utils_1.getNextDate)(start, view);
118
+ var newEnd = (0, utils_1.getEndDate)(newStart, view);
118
119
  return [newStart, newEnd];
119
120
  });
120
121
  setEventClicked(null);
121
122
  setEventHovered(null);
122
123
  }, [view]);
123
- const handleView = (0, react_1.useCallback)((newView) => {
124
- const newStart = (0, utils_1.getStartDate)(start, newView);
125
- const newEnd = (0, utils_1.getEndDate)(newStart, newView);
124
+ var handleView = (0, react_1.useCallback)(function (newView) {
125
+ var newStart = (0, utils_1.getStartDate)(start, newView);
126
+ var newEnd = (0, utils_1.getEndDate)(newStart, newView);
126
127
  setRange([newStart, newEnd]);
127
128
  setView(newView);
128
129
  setEventClicked(null);
129
130
  setEventHovered(null);
130
131
  }, [start]);
131
- (0, react_1.useEffect)(() => {
132
- const [start, end] = range;
132
+ (0, react_1.useEffect)(function () {
133
+ var start = range[0], end = range[1];
133
134
  loadCalendars(calendars, start, end);
134
135
  setTodayInView((0, utils_1.isTodayInView)(start, end));
135
136
  // eslint-disable-next-line react-hooks/exhaustive-deps
136
137
  }, [range]);
137
- (0, react_1.useEffect)(() => {
138
+ (0, react_1.useEffect)(function () {
138
139
  if (events) {
139
140
  updateCalendarsBasedOnEvents(events);
140
141
  }
141
142
  }, [events, updateCalendarsBasedOnEvents]);
142
143
  // when toggling a calendar we also remove the clicked event if that belongs
143
144
  // to a now hidden calendar
144
- (0, react_1.useEffect)(() => {
145
+ (0, react_1.useEffect)(function () {
145
146
  if (eventClicked) {
146
147
  if (!calendarsMap[eventClicked.calendar.id].on) {
147
148
  setEventClicked(null);
@@ -149,38 +150,38 @@ function useCalendar({ locale, apiKey, calendars, events: initialEvents, start:
149
150
  }
150
151
  }, [calendarsMap, eventClicked, setEventClicked]);
151
152
  return {
152
- view,
153
- eventClicked,
154
- setEventClicked,
155
- eventHovered,
156
- setEventHovered,
157
- getDaygridNavProps: () => ({
158
- locale,
159
- handlePrev,
160
- handleNext,
161
- handleToday,
162
- handleView,
163
- todayInView,
164
- range,
165
- view,
166
- }),
167
- getDaygridTableProps: () => ({
168
- locale,
169
- events,
170
- eventClicked,
171
- setEventClicked,
172
- eventHovered,
173
- setEventHovered,
174
- handlePrev,
175
- handleNext,
176
- calendarsMap,
177
- range,
178
- view,
179
- }),
180
- getLegendProps: () => ({
181
- calendarsMap,
182
- toggleCalendarVisibility,
183
- }),
153
+ view: view,
154
+ eventClicked: eventClicked,
155
+ setEventClicked: setEventClicked,
156
+ eventHovered: eventHovered,
157
+ setEventHovered: setEventHovered,
158
+ getDaygridNavProps: function () { return ({
159
+ locale: locale,
160
+ handlePrev: handlePrev,
161
+ handleNext: handleNext,
162
+ handleToday: handleToday,
163
+ handleView: handleView,
164
+ todayInView: todayInView,
165
+ range: range,
166
+ view: view,
167
+ }); },
168
+ getDaygridTableProps: function () { return ({
169
+ locale: locale,
170
+ events: events,
171
+ eventClicked: eventClicked,
172
+ setEventClicked: setEventClicked,
173
+ eventHovered: eventHovered,
174
+ setEventHovered: setEventHovered,
175
+ handlePrev: handlePrev,
176
+ handleNext: handleNext,
177
+ calendarsMap: calendarsMap,
178
+ range: range,
179
+ view: view,
180
+ }); },
181
+ getLegendProps: function () { return ({
182
+ calendarsMap: calendarsMap,
183
+ toggleCalendarVisibility: toggleCalendarVisibility,
184
+ }); },
184
185
  };
185
186
  }
186
187
  exports.useCalendar = useCalendar;