cronofy-elements 1.48.1 → 1.49.1

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 (349) hide show
  1. package/dist/.gitkeep +0 -0
  2. package/dist/CronofyElements.js +2 -0
  3. package/{build/CronofyElements.v1.48.1.js.LICENSE.txt → dist/CronofyElements.js.LICENSE.txt} +0 -0
  4. package/package.json +10 -7
  5. package/.babelrc +0 -20
  6. package/.eslintrc.yaml +0 -43
  7. package/.prettierignore +0 -4
  8. package/.prettierrc +0 -7
  9. package/Makefile +0 -92
  10. package/brainstorm.md +0 -76
  11. package/build/CronofyElements.v1.48.1.js +0 -2
  12. package/build/npm/CronofyElements.js +0 -2
  13. package/compat.config.js +0 -25
  14. package/demo/agenda.ejs +0 -71
  15. package/demo/availability-viewer.ejs +0 -322
  16. package/demo/calendar-sync.ejs +0 -149
  17. package/demo/crossbrowser.ejs +0 -228
  18. package/demo/date-time-picker.ejs +0 -213
  19. package/demo/demo-styles.css +0 -134
  20. package/demo/index.ejs +0 -249
  21. package/demo/integration.ejs +0 -482
  22. package/demo/load-elements.ejs +0 -12
  23. package/demo/nav.ejs +0 -14
  24. package/demo/rules.ejs +0 -121
  25. package/demo/server.js +0 -425
  26. package/demo/slot-picker.ejs +0 -197
  27. package/git.README.md +0 -71
  28. package/notes.style.md +0 -197
  29. package/postcss.config.js +0 -3
  30. package/script/i18n-export +0 -11
  31. package/script/i18n-helpers/split_write.rb +0 -25
  32. package/script/i18n-import +0 -22
  33. package/script/i18n-reference-update +0 -241
  34. package/src/js/components/Agenda/Agenda.js +0 -243
  35. package/src/js/components/Agenda/AllDayEventsList.js +0 -37
  36. package/src/js/components/Agenda/Calendar.js +0 -100
  37. package/src/js/components/Agenda/CalendarHeader.js +0 -187
  38. package/src/js/components/Agenda/Event.js +0 -34
  39. package/src/js/components/Agenda/EventAllDay.js +0 -76
  40. package/src/js/components/Agenda/EventAttendees.js +0 -30
  41. package/src/js/components/Agenda/EventDetail.js +0 -111
  42. package/src/js/components/Agenda/EventMessages.js +0 -24
  43. package/src/js/components/Agenda/EventMeta.js +0 -48
  44. package/src/js/components/Agenda/EventTime.js +0 -34
  45. package/src/js/components/Agenda/EventWrapper.js +0 -271
  46. package/src/js/components/Agenda/Location.js +0 -29
  47. package/src/js/components/Agenda/Message.js +0 -22
  48. package/src/js/components/Agenda/TimedEventsList.js +0 -29
  49. package/src/js/components/AvailabilityRules/AddButton.js +0 -60
  50. package/src/js/components/AvailabilityRules/AvailabilityRules.js +0 -45
  51. package/src/js/components/AvailabilityRules/Calendar.js +0 -31
  52. package/src/js/components/AvailabilityRules/CalendarListItem.js +0 -53
  53. package/src/js/components/AvailabilityRules/CalendarProfiles.js +0 -67
  54. package/src/js/components/AvailabilityRules/CalendarSelector.js +0 -104
  55. package/src/js/components/AvailabilityRules/Calendars.js +0 -145
  56. package/src/js/components/AvailabilityRules/Checkmark.js +0 -51
  57. package/src/js/components/AvailabilityRules/DayLabels.js +0 -91
  58. package/src/js/components/AvailabilityRules/Footer.js +0 -109
  59. package/src/js/components/AvailabilityRules/Legend.js +0 -57
  60. package/src/js/components/AvailabilityRules/Loading.js +0 -53
  61. package/src/js/components/AvailabilityRules/RemoveButton.js +0 -57
  62. package/src/js/components/AvailabilityRules/Slot.js +0 -195
  63. package/src/js/components/AvailabilityRules/SlotDisplay.js +0 -27
  64. package/src/js/components/AvailabilityRules/Slots.js +0 -81
  65. package/src/js/components/AvailabilityRules/SlotsDisplay.js +0 -68
  66. package/src/js/components/AvailabilityRules/TimeExpander.js +0 -119
  67. package/src/js/components/AvailabilityRules/TimeLabels.js +0 -89
  68. package/src/js/components/AvailabilityRules/TimeZoneDisplay.js +0 -41
  69. package/src/js/components/AvailabilityRules/ToggleIcon.js +0 -41
  70. package/src/js/components/AvailabilityRules/Tooltip.js +0 -63
  71. package/src/js/components/AvailabilityRules/UnknownCalendar.js +0 -33
  72. package/src/js/components/AvailabilityRules/Week.js +0 -115
  73. package/src/js/components/AvailabilityRules/WeekGrid.js +0 -80
  74. package/src/js/components/AvailabilityRules/Wrapper.js +0 -414
  75. package/src/js/components/AvailabilityRules/contexts/drag-context.js +0 -15
  76. package/src/js/components/AvailabilityRules/scss/_base.buttons.scss +0 -58
  77. package/src/js/components/AvailabilityRules/scss/_base.theme.scss +0 -4
  78. package/src/js/components/AvailabilityRules/scss/_components.timezoneselector.scss +0 -74
  79. package/src/js/components/AvailabilityRules/scss/_generic.reset.scss +0 -13
  80. package/src/js/components/AvailabilityRules/scss/_settings.colours.scss +0 -12
  81. package/src/js/components/AvailabilityRules/scss/availabilityrules.scss +0 -5
  82. package/src/js/components/AvailabilityRules/utils/tz-utils.js +0 -44
  83. package/src/js/components/AvailabilityViewer/AvailabilityViewer.js +0 -524
  84. package/src/js/components/AvailabilityViewer/ColumnHeader.js +0 -35
  85. package/src/js/components/AvailabilityViewer/DayColumn.js +0 -36
  86. package/src/js/components/AvailabilityViewer/DayColumnDisplay.js +0 -33
  87. package/src/js/components/AvailabilityViewer/DayColumnWrapper.js +0 -29
  88. package/src/js/components/AvailabilityViewer/DayLabels.js +0 -41
  89. package/src/js/components/AvailabilityViewer/EmptyColumn.js +0 -29
  90. package/src/js/components/AvailabilityViewer/Footer.js +0 -36
  91. package/src/js/components/AvailabilityViewer/GridFreeSelect.js +0 -33
  92. package/src/js/components/AvailabilityViewer/HoverSlot.js +0 -35
  93. package/src/js/components/AvailabilityViewer/HoverTooltip.js +0 -34
  94. package/src/js/components/AvailabilityViewer/LabelColumn.js +0 -53
  95. package/src/js/components/AvailabilityViewer/LabelItem.js +0 -73
  96. package/src/js/components/AvailabilityViewer/Legend.js +0 -79
  97. package/src/js/components/AvailabilityViewer/Loading.js +0 -57
  98. package/src/js/components/AvailabilityViewer/MonthLabels.js +0 -43
  99. package/src/js/components/AvailabilityViewer/Navigation.js +0 -138
  100. package/src/js/components/AvailabilityViewer/Overlay.js +0 -60
  101. package/src/js/components/AvailabilityViewer/Preloading.js +0 -66
  102. package/src/js/components/AvailabilityViewer/SelectedSlot.js +0 -106
  103. package/src/js/components/AvailabilityViewer/SelectedSlots.js +0 -72
  104. package/src/js/components/AvailabilityViewer/SelectionMask.js +0 -44
  105. package/src/js/components/AvailabilityViewer/Slot.js +0 -237
  106. package/src/js/components/AvailabilityViewer/SlotFreeSelect.js +0 -115
  107. package/src/js/components/AvailabilityViewer/Slots.js +0 -57
  108. package/src/js/components/AvailabilityViewer/TimeExpander.js +0 -93
  109. package/src/js/components/AvailabilityViewer/TimeLines.js +0 -74
  110. package/src/js/components/AvailabilityViewer/TimeSelector.js +0 -243
  111. package/src/js/components/AvailabilityViewer/TimeSelectorTrigger.js +0 -42
  112. package/src/js/components/AvailabilityViewer/TimeZoneDisplay.js +0 -28
  113. package/src/js/components/AvailabilityViewer/ToggleIcon.js +0 -41
  114. package/src/js/components/AvailabilityViewer/Tooltip.js +0 -65
  115. package/src/js/components/AvailabilityViewer/Week.js +0 -255
  116. package/src/js/components/AvailabilityViewer/WeekWrapper.js +0 -132
  117. package/src/js/components/AvailabilityViewer/contexts/page-context.js +0 -17
  118. package/src/js/components/AvailabilityViewer/contexts/page-reducer.js +0 -28
  119. package/src/js/components/AvailabilityViewer/contexts/selection-context.js +0 -25
  120. package/src/js/components/AvailabilityViewer/contexts/selection-reducer.js +0 -18
  121. package/src/js/components/CalendarSync/Active.js +0 -57
  122. package/src/js/components/CalendarSync/AddToggle.js +0 -72
  123. package/src/js/components/CalendarSync/CalendarSync.js +0 -215
  124. package/src/js/components/CalendarSync/EditToggle.js +0 -71
  125. package/src/js/components/CalendarSync/Footer.js +0 -31
  126. package/src/js/components/CalendarSync/Inactive.js +0 -66
  127. package/src/js/components/CalendarSync/Loading.js +0 -52
  128. package/src/js/components/CalendarSync/Pending.js +0 -74
  129. package/src/js/components/CalendarSync/ProfileStatus.js +0 -33
  130. package/src/js/components/CalendarSync/Profiles.js +0 -109
  131. package/src/js/components/CalendarSync/ProviderLogo.js +0 -28
  132. package/src/js/components/CalendarSync/Providers.js +0 -80
  133. package/src/js/components/CalendarSync/RemoveLink.js +0 -96
  134. package/src/js/components/CalendarSync/SelectProvider.js +0 -25
  135. package/src/js/components/CalendarSync/contexts/status-reducer.js +0 -74
  136. package/src/js/components/DateTimePicker/Calendar.js +0 -127
  137. package/src/js/components/DateTimePicker/CalendarHeader.js +0 -80
  138. package/src/js/components/DateTimePicker/Confirm.js +0 -106
  139. package/src/js/components/DateTimePicker/DateTimePicker.js +0 -131
  140. package/src/js/components/DateTimePicker/DayButton.js +0 -38
  141. package/src/js/components/DateTimePicker/DayHeadings.js +0 -33
  142. package/src/js/components/DateTimePicker/Details.js +0 -33
  143. package/src/js/components/DateTimePicker/Error.js +0 -39
  144. package/src/js/components/DateTimePicker/Loading.js +0 -20
  145. package/src/js/components/DateTimePicker/LoadingCalendar.js +0 -21
  146. package/src/js/components/DateTimePicker/NoSlotsFound.js +0 -16
  147. package/src/js/components/DateTimePicker/SequencedSlotButton.js +0 -97
  148. package/src/js/components/DateTimePicker/SlotButton.js +0 -55
  149. package/src/js/components/DateTimePicker/SlotsList.js +0 -45
  150. package/src/js/components/DateTimePicker/Wrapper.js +0 -281
  151. package/src/js/components/DateTimePicker/contexts/status-context.js +0 -19
  152. package/src/js/components/DateTimePicker/contexts/status-reducer.js +0 -276
  153. package/src/js/components/DateTimePicker/contexts/theme-context.js +0 -33
  154. package/src/js/components/DateTimePicker/helpers/theming.js +0 -49
  155. package/src/js/components/DateTimePicker/scss/_base.buttons.scss +0 -58
  156. package/src/js/components/DateTimePicker/scss/_base.layout.scss +0 -28
  157. package/src/js/components/DateTimePicker/scss/_base.theme.scss +0 -17
  158. package/src/js/components/DateTimePicker/scss/_components.calendargrid.scss +0 -78
  159. package/src/js/components/DateTimePicker/scss/_components.calendarheader.scss +0 -71
  160. package/src/js/components/DateTimePicker/scss/_components.confirm.scss +0 -40
  161. package/src/js/components/DateTimePicker/scss/_components.details.scss +0 -20
  162. package/src/js/components/DateTimePicker/scss/_components.error.scss +0 -34
  163. package/src/js/components/DateTimePicker/scss/_components.loading.scss +0 -36
  164. package/src/js/components/DateTimePicker/scss/_components.slotslist.scss +0 -43
  165. package/src/js/components/DateTimePicker/scss/_components.timezoneselector.scss +0 -73
  166. package/src/js/components/DateTimePicker/scss/_generic.reset.scss +0 -18
  167. package/src/js/components/DateTimePicker/scss/_settings.colours.scss +0 -17
  168. package/src/js/components/DateTimePicker/scss/datetimepicker.scss +0 -5
  169. package/src/js/components/DateTimePicker/utils/calendar-keyboard.js +0 -109
  170. package/src/js/components/DateTimePicker/utils/calendar.js +0 -125
  171. package/src/js/components/DateTimePicker/utils/slots.js +0 -288
  172. package/src/js/components/SlotPicker/Confirm.js +0 -160
  173. package/src/js/components/SlotPicker/Days.js +0 -58
  174. package/src/js/components/SlotPicker/Slot.js +0 -72
  175. package/src/js/components/SlotPicker/SlotPicker.js +0 -292
  176. package/src/js/components/SlotPicker/Slots.js +0 -66
  177. package/src/js/components/SlotPicker/TimeSlots.js +0 -91
  178. package/src/js/components/generic/Button.js +0 -26
  179. package/src/js/components/generic/Container.js +0 -33
  180. package/src/js/components/generic/Error.js +0 -77
  181. package/src/js/components/generic/Loading.js +0 -51
  182. package/src/js/components/generic/LoadingSpinner.js +0 -30
  183. package/src/js/components/generic/ShadowScrollbars.js +0 -70
  184. package/src/js/components/generic/TimeZoneSelector.js +0 -158
  185. package/src/js/components/generic/TransitionSlide.js +0 -72
  186. package/src/js/contexts/i18n-context.js +0 -25
  187. package/src/js/contexts/log-context.js +0 -18
  188. package/src/js/contexts/tz-context.js +0 -18
  189. package/src/js/env.example.js +0 -8
  190. package/src/js/helpers/colors.js +0 -33
  191. package/src/js/helpers/comparators.AvailabilityViewer.js +0 -27
  192. package/src/js/helpers/connections.js +0 -370
  193. package/src/js/helpers/events.js +0 -166
  194. package/src/js/helpers/functional.js +0 -4
  195. package/src/js/helpers/generator.js +0 -107
  196. package/src/js/helpers/i18n.js +0 -153
  197. package/src/js/helpers/init.Agenda.js +0 -55
  198. package/src/js/helpers/init.AvailabilityRules.js +0 -195
  199. package/src/js/helpers/init.AvailabilityViewer.js +0 -215
  200. package/src/js/helpers/init.CalendarSync.js +0 -83
  201. package/src/js/helpers/init.DateTimePicker.js +0 -219
  202. package/src/js/helpers/init.SlotPicker.js +0 -89
  203. package/src/js/helpers/init.js +0 -308
  204. package/src/js/helpers/logging.js +0 -78
  205. package/src/js/helpers/mocks.js +0 -871
  206. package/src/js/helpers/slots.js +0 -340
  207. package/src/js/helpers/slots.rules.js +0 -220
  208. package/src/js/helpers/theming.js +0 -93
  209. package/src/js/helpers/translations.js +0 -42
  210. package/src/js/helpers/tz-list.js +0 -136
  211. package/src/js/helpers/utils.AvailabilityRules.js +0 -110
  212. package/src/js/helpers/utils.AvailabilityViewer.js +0 -789
  213. package/src/js/helpers/utils.CalendarSync.js +0 -199
  214. package/src/js/helpers/utils.js +0 -76
  215. package/src/js/hooks/useWindowSize.js +0 -20
  216. package/src/js/main.js +0 -133
  217. package/src/js/next.js +0 -37
  218. package/src/js/styles/_settings.utils.scss +0 -82
  219. package/src/js/styles/colors.js +0 -13
  220. package/src/js/styles/global.js +0 -49
  221. package/src/js/styles/utils.js +0 -81
  222. package/src/js/translations/de/agenda.json +0 -12
  223. package/src/js/translations/de/availability_rules.json +0 -18
  224. package/src/js/translations/de/availability_viewer.json +0 -14
  225. package/src/js/translations/de/calendar_sync.json +0 -14
  226. package/src/js/translations/de/core.json +0 -15
  227. package/src/js/translations/de/date_time_picker.json +0 -14
  228. package/src/js/translations/de/slot_picker.json +0 -9
  229. package/src/js/translations/de/time_zones.json +0 -135
  230. package/src/js/translations/en/agenda.json +0 -12
  231. package/src/js/translations/en/availability_rules.json +0 -18
  232. package/src/js/translations/en/availability_viewer.json +0 -14
  233. package/src/js/translations/en/calendar_sync.json +0 -14
  234. package/src/js/translations/en/core.json +0 -23
  235. package/src/js/translations/en/date_time_picker.json +0 -15
  236. package/src/js/translations/en/slot_picker.json +0 -9
  237. package/src/js/translations/en/time_zones.json +0 -17
  238. package/src/js/translations/es/agenda.json +0 -12
  239. package/src/js/translations/es/availability_rules.json +0 -18
  240. package/src/js/translations/es/availability_viewer.json +0 -14
  241. package/src/js/translations/es/calendar_sync.json +0 -14
  242. package/src/js/translations/es/core.json +0 -15
  243. package/src/js/translations/es/date_time_picker.json +0 -14
  244. package/src/js/translations/es/slot_picker.json +0 -9
  245. package/src/js/translations/es/time_zones.json +0 -203
  246. package/src/js/translations/fr/agenda.json +0 -12
  247. package/src/js/translations/fr/availability_rules.json +0 -18
  248. package/src/js/translations/fr/availability_viewer.json +0 -14
  249. package/src/js/translations/fr/calendar_sync.json +0 -14
  250. package/src/js/translations/fr/core.json +0 -15
  251. package/src/js/translations/fr/date_time_picker.json +0 -14
  252. package/src/js/translations/fr/slot_picker.json +0 -9
  253. package/src/js/translations/fr/time_zones.json +0 -161
  254. package/src/js/translations/fr-CA/agenda.json +0 -12
  255. package/src/js/translations/fr-CA/availability_rules.json +0 -18
  256. package/src/js/translations/fr-CA/availability_viewer.json +0 -14
  257. package/src/js/translations/fr-CA/calendar_sync.json +0 -14
  258. package/src/js/translations/fr-CA/core.json +0 -23
  259. package/src/js/translations/fr-CA/date_time_picker.json +0 -14
  260. package/src/js/translations/fr-CA/slot_picker.json +0 -9
  261. package/src/js/translations/fr-CA/time_zones.json +0 -163
  262. package/src/js/translations/it/agenda.json +0 -12
  263. package/src/js/translations/it/availability_rules.json +0 -18
  264. package/src/js/translations/it/availability_viewer.json +0 -14
  265. package/src/js/translations/it/calendar_sync.json +0 -14
  266. package/src/js/translations/it/core.json +0 -15
  267. package/src/js/translations/it/date_time_picker.json +0 -14
  268. package/src/js/translations/it/slot_picker.json +0 -9
  269. package/src/js/translations/it/time_zones.json +0 -126
  270. package/src/js/translations/ja/agenda.json +0 -12
  271. package/src/js/translations/ja/availability_rules.json +0 -18
  272. package/src/js/translations/ja/availability_viewer.json +0 -14
  273. package/src/js/translations/ja/calendar_sync.json +0 -14
  274. package/src/js/translations/ja/core.json +0 -15
  275. package/src/js/translations/ja/date_formats.json +0 -5
  276. package/src/js/translations/ja/date_time_picker.json +0 -14
  277. package/src/js/translations/ja/slot_picker.json +0 -9
  278. package/src/js/translations/ja/time_zones.json +0 -435
  279. package/src/js/translations/nl/agenda.json +0 -12
  280. package/src/js/translations/nl/availability_rules.json +0 -18
  281. package/src/js/translations/nl/availability_viewer.json +0 -14
  282. package/src/js/translations/nl/calendar_sync.json +0 -14
  283. package/src/js/translations/nl/core.json +0 -15
  284. package/src/js/translations/nl/date_time_picker.json +0 -14
  285. package/src/js/translations/nl/slot_picker.json +0 -9
  286. package/src/js/translations/nl/time_zones.json +0 -118
  287. package/src/js/translations/ru/agenda.json +0 -12
  288. package/src/js/translations/ru/availability_rules.json +0 -18
  289. package/src/js/translations/ru/availability_viewer.json +0 -14
  290. package/src/js/translations/ru/calendar_sync.json +0 -14
  291. package/src/js/translations/ru/core.json +0 -15
  292. package/src/js/translations/ru/date_time_picker.json +0 -14
  293. package/src/js/translations/ru/slot_picker.json +0 -9
  294. package/src/js/translations/ru/time_zones.json +0 -435
  295. package/src/js/translations/sv/agenda.json +0 -12
  296. package/src/js/translations/sv/availability_rules.json +0 -18
  297. package/src/js/translations/sv/availability_viewer.json +0 -14
  298. package/src/js/translations/sv/calendar_sync.json +0 -14
  299. package/src/js/translations/sv/core.json +0 -15
  300. package/src/js/translations/sv/date_time_picker.json +0 -14
  301. package/src/js/translations/sv/slot_picker.json +0 -9
  302. package/src/js/translations/sv/time_zones.json +0 -136
  303. package/tests/AvailabilityRules/AvailabilityRules.test.js +0 -39
  304. package/tests/AvailabilityRules/__snapshots__/AvailabilityRules.test.js.snap +0 -1045
  305. package/tests/AvailabilityViewer/Navigation.test.js +0 -130
  306. package/tests/AvailabilityViewer/contexts/page-reducer.test.js +0 -87
  307. package/tests/AvailabilityViewer/reducer.test.js +0 -73
  308. package/tests/CalendarSync/Active.test.js +0 -25
  309. package/tests/CalendarSync/AddToggle.test.js +0 -57
  310. package/tests/CalendarSync/EditToggle.test.js +0 -57
  311. package/tests/CalendarSync/Inactive.test.js +0 -26
  312. package/tests/CalendarSync/Pending.test.js +0 -25
  313. package/tests/CalendarSync/ProviderLogo.test.js +0 -95
  314. package/tests/CalendarSync/__snapshots__/Active.test.js.snap +0 -61
  315. package/tests/CalendarSync/__snapshots__/Inactive.test.js.snap +0 -78
  316. package/tests/CalendarSync/__snapshots__/Pending.test.js.snap +0 -90
  317. package/tests/CalendarSync/__snapshots__/ProviderLogo.test.js.snap +0 -267
  318. package/tests/CalendarSync/init.CalendarSync.test.js +0 -302
  319. package/tests/CalendarSync/mocks/theme.js +0 -14
  320. package/tests/CalendarSync/status-reducer.test.js +0 -435
  321. package/tests/DateTimePicker/SequencedSlotButton.test.js +0 -157
  322. package/tests/DateTimePicker/SlotButton.test.js +0 -118
  323. package/tests/DateTimePicker/contexts/status-reducer.test.js +0 -1036
  324. package/tests/DateTimePicker/dummy-data.js +0 -883
  325. package/tests/DateTimePicker/utils.test.js +0 -515
  326. package/tests/colors.test.js +0 -70
  327. package/tests/components/TimezoneSelector.test.js +0 -124
  328. package/tests/components/main.test.js +0 -203
  329. package/tests/components/rtl-utils.js +0 -32
  330. package/tests/connections.test.js +0 -684
  331. package/tests/events.test.js +0 -472
  332. package/tests/generator.test.js +0 -74
  333. package/tests/i18n.test.js +0 -255
  334. package/tests/init.Agenda.test.js +0 -122
  335. package/tests/init.AvailabilityRules.test.js +0 -279
  336. package/tests/init.AvailabilityViewer.test.js +0 -740
  337. package/tests/init.SlotPicker.test.js +0 -166
  338. package/tests/init.test.js +0 -231
  339. package/tests/logging.test.js +0 -235
  340. package/tests/mocks/i18n.js +0 -3
  341. package/tests/mocks/theme.js +0 -3
  342. package/tests/setupJest.js +0 -8
  343. package/tests/slots.rules.test.js +0 -195
  344. package/tests/slots.test.js +0 -278
  345. package/tests/utils.AvailabilityRules.test.js +0 -221
  346. package/tests/utils.AvailabilityViewer.test.js +0 -1800
  347. package/tests/utils.CalendarSync.test.js +0 -277
  348. package/tests/utils.test.js +0 -119
  349. package/webpack.config.js +0 -114
package/compat.config.js DELETED
@@ -1,25 +0,0 @@
1
- const path = require("path");
2
- const baseConfig = require("./webpack.config.js");
3
- const { GitRevisionPlugin } = require("git-revision-webpack-plugin");
4
- const gitRevisionPlugin = new GitRevisionPlugin();
5
-
6
- module.exports = (env, argv) => ({
7
- ...baseConfig(env, argv),
8
- entry: [
9
- "core-js/stable",
10
- "regenerator-runtime/runtime",
11
- "whatwg-fetch",
12
- "./src/js/main.js"
13
- ],
14
- output: {
15
- path: path.resolve(__dirname, "build"),
16
- filename:
17
- argv.mode === "development"
18
- ? `CronofyElements.dev.ie.js`
19
- : `CronofyElements.${gitRevisionPlugin.version()}.ie.js`,
20
- library: "CronofyElements",
21
- libraryTarget: "umd",
22
- umdNamedDefine: true
23
- },
24
- target: ["web", "es5"]
25
- });
package/demo/agenda.ejs DELETED
@@ -1,71 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Embedding demo: integration checks</title>
8
- <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
9
- <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
10
- <link href="/demo/demo-styles.css" rel="stylesheet">
11
- <%- include('load-elements.ejs', { mode: 'dev'}) %>
12
- </head>
13
-
14
- <body class="trouble">
15
- <% var slug = 'agenda'; %>
16
- <%- include nav.ejs %>
17
-
18
- <h1>Agenda View</h1>
19
- <div id="cronofy-error-message"></div>
20
- <h2>default</h2>
21
- <div id="cronofy-agenda-view"></div>
22
- <h2>custom colours</h2>
23
- <div id="cronofy-agenda-view-two"></div>
24
-
25
- <script>
26
- if ("<%= agenda_token %>" === "invalid") {
27
- const errorMessageWrapper = document.querySelector('#cronofy-error-message');
28
- errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
29
- }
30
-
31
- const locale = "<%= locale %>";
32
-
33
- CronofyElements.Agenda({
34
- element_token: "<%= agenda_token %>",
35
- target_id: 'cronofy-agenda-view',
36
- api_domain:"<%= api_domain %>",
37
- demo: true,
38
- // locale: 'keys',
39
- // translations: {
40
- // en: {
41
- // agenda: {
42
- // today: 'Override today'
43
- // }
44
- // }
45
- // },
46
- styles: {
47
- prefix:"AG1"
48
- },
49
- callback: cb => console.log('AG1 callback', cb),
50
- locale: locale
51
- });
52
-
53
- CronofyElements.Agenda({
54
- element_token: "<%= agenda_token %>",
55
- target_id: 'cronofy-agenda-view-two',
56
- api_domain:"<%= api_domain %>",
57
- styles: {
58
- colors:{ calendars: ['#0074d9','#ffdc00'] },
59
- prefix:"AG2"
60
- },
61
- config: {
62
- mode: "free_busy_managed"
63
- },
64
- locale: locale
65
- });
66
-
67
- console.log('done.');
68
- </script>
69
-
70
- </body>
71
- </html>
@@ -1,322 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Embedding demo: availability viewer</title>
8
- <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
9
- <link href="/demo/demo-styles.css" rel="stylesheet">
10
-
11
- <%- include('load-elements.ejs', { mode: 'dev'}) %>
12
- </head>
13
-
14
-
15
- <body class="trouble">
16
- <% var slug = 'availability-viewer'; %>
17
- <%- include nav.ejs %>
18
-
19
- <h1>Availability Viewer</h1>
20
- <div id="cronofy-error-message"></div>
21
- <div id="cronofy-availability-viewer"></div>
22
- <button id="cronofy-availability-query">New Query</button>
23
- <button id="cronofy-availability-refresh">Refresh</button>
24
- <button id="cronofy-availability-prev-page">Prev Page</button>
25
- <button id="cronofy-availability-next-page">Next Page</button>
26
- <button id="cronofy-availability-mode">activate free select</button>
27
- <button id="cronofy-custom-styles">activate custom styles</button>
28
- <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Recusandae, doloribus eaque? Animi, velit culpa nostrum omnis vitae rem placeat ut mollitia autem porro! Qui molestiae porro rerum similique, aliquid deleniti!</p>
29
- <div id="cronofy-availability-viewer-two"></div>
30
- <hr>
31
- <div id="cronofy-availability-viewer-three"></div>
32
- <div class="wrapper">
33
- <div class="column">
34
- <h2>Consectetur adipisicing elit</h2>
35
- <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. <a href="/">Voluptate sed ex totam odit</a> quae hic voluptatibus, quisquam dicta animi laborum velit laboriosam, placeat suscipit tenetur voluptates! Illo tempora minus animi.</p>
36
- <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quidem consequuntur repudiandae nesciunt, totam dicta earum deleniti magnam eveniet eligendi sunt adipisci veniam esse aliquid aperiam corporis optio fuga tempora sit!</p>
37
- </div>
38
- <div class="column">
39
- <h2>Est deserunt non quis do quis nostrud ad exercitation proident incididunt.</h2>
40
- <p>Excepturi dicta neque ut, a expedita quaerat, tempore dolor placeat quibusdam cumque ipsam cum officia voluptate, ea fuga optio necessitatibus inventore tempora?</p>
41
- <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Natus nisi eveniet voluptas provident esse beatae minus at error dignissimos neque? Temporibus velit numquam aut labore porro neque ipsum, deleniti a?</p>
42
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
43
- </div>
44
- </div>
45
- <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Natus nisi eveniet voluptas provident esse beatae minus at error dignissimos neque? Temporibus velit numquam aut labore porro neque ipsum, deleniti a?</p>
46
- <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Debitis saepe maxime corporis nemo hic rerum porro in repudiandae? Libero eligendi impedit reiciendis exercitationem fuga ex eos aliquid itaque facere corrupti.</p>
47
- <hr>
48
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
49
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum commodi fuga laboriosam? Quas officiis doloremque iure modi, ipsam dolore ad illum saepe et voluptatum quis tempore ullam dolor, sequi nulla!</p>
50
- <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Eum sunt eligendi, error quos nulla dolorem alias corrupti iste fugiat deleniti nam unde, porro provident a voluptatem at voluptates, dolores sed!</p>
51
-
52
- <script>
53
- if ("<%= availability_token %>" === "invalid") {
54
- const errorMessageWrapper = document.querySelector('#cronofy-error-message');
55
- errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
56
- }
57
-
58
- const moment = CronofyElements.moment;
59
- const locale = "<%= locale %>";
60
-
61
- const display = {
62
- // 0 = don't show the element
63
- // 1 = show the element
64
- one: 1,
65
- two: 1,
66
- three: 1
67
- }
68
-
69
- const utcOffset = moment().utcOffset();
70
- const invertedOffset =
71
- Math.sign(utcOffset) === -1 ? Math.abs(utcOffset) : 0 - utcOffset;
72
- const offset = invertedOffset / 60;
73
-
74
- const today = moment()
75
- .add(1, "day")
76
- .seconds(0);
77
- const startDay = today
78
- .clone()
79
- .startOf('isoWeek')
80
- .subtract(1, "day")
81
- .add(7,"day");
82
-
83
- const simpleOffsetTime = function(days,time) {
84
- const timeString = `${moment().seconds(0).format("YYYY-MM-DD")}T${time}:00Z`;
85
- const output = moment(timeString)
86
- .add(days, "days")
87
- .add(offset, "hours");
88
- return output.utc().format();
89
- }
90
-
91
- const offsetTime = function(days, time) {
92
- const timeString = `${startDay.clone().format("YYYY-MM-DD")}T${time}:00Z`;
93
- const output = moment(timeString)
94
- .add(days, "days")
95
- .add(offset, "hours");
96
- return output.utc().format();
97
- };
98
-
99
- let availablePeriods = [
100
- { start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
101
- { start: offsetTime(2, "09:00"), end: offsetTime(2, "17:30") },
102
- { start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
103
- { start: offsetTime(4, "05:00"), end: offsetTime(4, "20:00") },
104
- { start: offsetTime(5, "05:00"), end: offsetTime(5, "17:30") },
105
- { start: offsetTime(8, "09:00"), end: offsetTime(8, "19:30") },
106
- { start: offsetTime(9, "09:00"), end: offsetTime(9, "17:30") },
107
- { start: offsetTime(10, "09:00"), end: offsetTime(10, "17:30") },
108
- { start: offsetTime(11, "09:00"), end: offsetTime(11, "17:30") },
109
- { start: offsetTime(12, "09:00"), end: offsetTime(12, "17:30") },
110
- { start: offsetTime(15, "08:00"), end: offsetTime(19, "19:30") }
111
- ];
112
-
113
- // Long query period
114
- // availablePeriods = [
115
- // { start: offsetTime(1, "09:00"), end: offsetTime(90, "17:30") }
116
- // ];
117
-
118
- // Query period with at least one missing week in the middle
119
- // availablePeriods = [
120
- // { start: offsetTime(1, "09:00"), end: offsetTime(7, "17:30") },
121
- // { start: offsetTime(25, "09:00"), end: offsetTime(50, "17:30") }
122
- // ];
123
-
124
- if (display.one) {
125
-
126
- const originalQuery = {
127
- element_token: "<%= availability_token %>",
128
- target_id: 'cronofy-availability-viewer',
129
- api_domain:"<%= api_domain %>",
130
- availability_query: {
131
- participants: [
132
- {
133
- required: "all",
134
- members: [
135
- { sub: "<%= sub %>" }
136
- // {
137
- // sub: "<%= sub %>",
138
- // managed_availability: "true",
139
- // availability_rule_ids: ["weekly_work_hours"],
140
- // // only_preferred_periods: false
141
- // }
142
- ]
143
- }
144
- ],
145
- required_duration: { minutes: 60 },
146
- query_periods: availablePeriods,
147
- },
148
- config: {
149
- start_time: "08:00",
150
- end_time: "18:00",
151
- interval: 30,
152
- mode: "default", // default | multi_select | no_confirm | free_select
153
- // week_start_day: "Monday"
154
- logs: "info",
155
- allow_expansion: true
156
- },
157
- styles: {
158
- prefix: "AV1"
159
- },
160
- // tzid: "Europe/London",
161
- locale: locale,
162
- callback: cb => console.log('callback',cb),
163
- };
164
-
165
- const Viewer = CronofyElements.AvailabilityViewer(originalQuery);
166
-
167
- const refresh = document.querySelector('#cronofy-availability-refresh');
168
- refresh.addEventListener('click', () => Viewer.refresh() , false);
169
-
170
- const nextPage = document.querySelector('#cronofy-availability-next-page');
171
- nextPage.addEventListener('click', () => Viewer.navigate.next() , false);
172
-
173
- const prevPage = document.querySelector('#cronofy-availability-prev-page');
174
- prevPage.addEventListener('click', () => Viewer.navigate.prev() , false);
175
-
176
- const newQuery = document.querySelector('#cronofy-availability-query');
177
- newQuery.addEventListener('click',loadNewQuery,false);
178
-
179
- function randomFromArray(array) {
180
- const randomIndex = Math.floor(Math.random()*array.length);
181
- return array[randomIndex]
182
- }
183
-
184
- function loadNewQuery() {
185
- const startOptions = [
186
- "05:00","05:30",
187
- "06:00","06:30",
188
- "07:00","07:30",
189
- "08:00","08:30",
190
- "09:00","09:30",
191
- "10:00","10:30",
192
- "11:00","11:30"
193
- ];
194
- const endOptions = [
195
- "15:00","15:30",
196
- "16:00","16:30",
197
- "17:00","17:30",
198
- "18:00","18:30",
199
- "19:00","19:30",
200
- "20:00","20:30",
201
- "21:00","21:30"
202
- ];
203
- const intervalOptions = [15,30,60];
204
- const newConfig = {
205
- start_time: randomFromArray(startOptions),
206
- end_time: randomFromArray(endOptions),
207
- interval: randomFromArray(intervalOptions)
208
- };
209
-
210
- console.log(newConfig);
211
- Viewer.update({
212
- config: newConfig
213
- });
214
- }
215
-
216
- const newMode = document.querySelector('#cronofy-availability-mode');
217
- newMode.addEventListener('click',loadNewMode,false);
218
- function loadNewMode() {
219
- const freeSelectActive = newMode.classList.contains("free-select-active")
220
- if (!freeSelectActive) {
221
- console.log("Activating \"free_select\" mode.");
222
- Viewer.update({config: { mode: "free_select" }});
223
- } else {
224
- console.log(`Reseting mode to "${originalQuery.config.mode}".`);
225
- Viewer.update({config: { mode: originalQuery.config.mode }});
226
- }
227
- newMode.classList.toggle("free-select-active")
228
- }
229
-
230
- const toggleStyles = document.querySelector('#cronofy-custom-styles');
231
- toggleStyles.addEventListener('click',loadCustomStyles,false);
232
- function loadCustomStyles() {
233
- const customStylesActive = toggleStyles.classList.contains("custom-styles-active")
234
- if (!customStylesActive) {
235
- console.log("Activating custom styles");
236
- Viewer.update({styles: { prefix: "AV1_custom" }});
237
- } else {
238
- console.log("Reseting custom styles");
239
- Viewer.update({styles: { prefix: "AV1" }});
240
- }
241
- toggleStyles.classList.toggle("custom-styles-active")
242
- }
243
- }
244
-
245
- if (display.two) {
246
- const ViewerTwo = CronofyElements.AvailabilityViewer({
247
- element_token: "<%= availability_token %>",
248
- target_id: 'cronofy-availability-viewer-two',
249
- api_domain:"<%= api_domain %>",
250
- availability_query: {
251
- participants: [
252
- {
253
- required: "all",
254
- members: [
255
- { sub: "<%= sub %>" }
256
- ]
257
- }
258
- ],
259
- required_duration: { minutes: 60 },
260
- query_periods: [
261
- { start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
262
- { start: offsetTime(2, "08:00"), end: offsetTime(2, "17:30") },
263
- { start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
264
- { start: offsetTime(4, "09:00"), end: offsetTime(4, "17:30") },
265
- { start: offsetTime(5, "09:00"), end: offsetTime(5, "17:30") }
266
- ],
267
- },
268
- config: {
269
- start_time:"09:00",
270
- end_time: "14:00",
271
- interval: 15,
272
- mode: "multi_select",
273
- max_selection_count: 4
274
- },
275
- styles: {
276
- prefix: "AV2"
277
- },
278
- callback: slot => console.log('AV2 callback',slot),
279
- demo: true,
280
- locale: locale
281
- });
282
- }
283
-
284
- if (display.three) {
285
- const ViewerThree = CronofyElements.AvailabilityViewer({
286
- element_token: "<%= availability_token %>",
287
- target_id: 'cronofy-availability-viewer-three',
288
- api_domain:"<%= api_domain %>",
289
- availability_query: {
290
- participants: [
291
- {
292
- required: "all",
293
- members: [
294
- { sub: "<%= sub %>" }
295
- ]
296
- }
297
- ],
298
- required_duration: { minutes: 60 },
299
- query_periods: [
300
- { start: offsetTime(1, "09:00"), end: offsetTime(1, "17:30") },
301
- { start: offsetTime(2, "08:00"), end: offsetTime(2, "17:30") },
302
- { start: offsetTime(3, "09:00"), end: offsetTime(3, "17:30") },
303
- { start: offsetTime(4, "09:00"), end: offsetTime(4, "17:30") },
304
- { start: offsetTime(5, "09:00"), end: offsetTime(5, "17:30") }
305
- ],
306
- },
307
- config: {
308
- start_time:"10:00",
309
- end_time: "13:00",
310
- interval: 60
311
- },
312
- callback: slot => console.log('AV3 callback',slot),
313
- demo: true,
314
- locale: locale
315
- });
316
- }
317
-
318
- console.log('done.');
319
- </script>
320
-
321
- </body>
322
- </html>
@@ -1,149 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Embedding demo: integration checks</title>
8
- <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
9
- <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
10
- <link href="/demo/demo-styles.css" rel="stylesheet">
11
- <%- include('load-elements.ejs', { mode: 'dev'}) %>
12
- </head>
13
-
14
- <body class="trouble">
15
- <% var slug = 'calendar-sync'; %>
16
- <%- include nav.ejs %>
17
-
18
- <h1>Calendar Sync</h1>
19
- <div id="cronofy-error-message"></div>
20
- <h2>default</h2>
21
- <div id="cronofy-calendar-sync"></div>
22
- <h2>demo</h2>
23
- <div id="cronofy-calendar-sync-two"></div>
24
- <h2>no token</h2>
25
- <div id="cronofy-calendar-sync-three"></div>
26
- <h2>single_profile</h2>
27
- <div id="cronofy-calendar-sync-four"></div>
28
-
29
- <script>
30
- if ("<%= cal_sync_token %>" === "invalid") {
31
- const errorMessageWrapper = document.querySelector('#cronofy-error-message');
32
- errorMessageWrapper.innerHTML = "<span class='error'>There was a problem generating the element token. Check that your <code>CLIENT_ID</code>, <code>CLIENT_SECRET</code>, and <code>SUB</code> environment variables are correct.</span>"
33
- }
34
-
35
- const locale = "<%= locale %>";
36
-
37
- const display = {
38
- // 0 = don't show the element
39
- // 1 = show the element
40
- one: 1,
41
- two: 1,
42
- three: 1,
43
- four: 1
44
- };
45
-
46
- if (display.one) {
47
- CronofyElements.CalendarSync({
48
- element_token: "<%= cal_sync_token %>",
49
- target_id: 'cronofy-calendar-sync',
50
- app_domain:"<%= app_domain %>",
51
- api_domain:"<%= api_domain %>",
52
- data_center: "us",
53
- // authorization_url: "http://localhost:8080/auth/cronofy",
54
- // authorization_url: "/auth/cronofy",
55
- authorization: {
56
- redirect_uri: "http://localhost:8080/",
57
- client_id: "<%= client_id %>",
58
- scope: "read_free_busy"
59
- },
60
- locale: locale,
61
- // locale: 'keys',
62
- // translations: {
63
- // en: {
64
- // core: {
65
- // back: 'Override back'
66
- // },
67
- // calendar_sync: {
68
- // calendar_accounts: 'Override calendar_accounts'
69
- // }
70
- // }
71
- // },
72
- tzid: "Etc/UTC",
73
- demo: false,
74
- callback: cb => {
75
- console.log("callback", cb);
76
- },
77
- // config: {
78
- // revoke_mode: "callback_only", // trigger_and_callback | callback_only
79
- // },
80
- });
81
- }
82
-
83
- if (display.two) {
84
- CronofyElements.CalendarSync({
85
- element_token: "<%= cal_sync_token %>",
86
- target_id: 'cronofy-calendar-sync-two',
87
- authorization: {
88
- redirect_uri: "http://localhost:8080/",
89
- client_id: "<%= client_id %>",
90
- scope: "read_only"
91
- },
92
- tzid: "Etc/UTC",
93
- demo: true,
94
- locale: locale,
95
- callback: cb => {
96
- console.log("callback", cb);
97
- },
98
- // config: {
99
- // revoke_mode: "callback_only",
100
- // },
101
- });
102
- }
103
-
104
- if (display.three) {
105
- CronofyElements.CalendarSync({
106
- target_id: 'cronofy-calendar-sync-three',
107
- authorization: {
108
- redirect_uri: "http://localhost:8080/",
109
- client_id: "<%= client_id %>",
110
- scope: "read_only"
111
- },
112
- locale: locale,
113
- tzid: "Etc/UTC",
114
- callback: cb => {
115
- console.log("callback", cb);
116
- }
117
- });
118
- }
119
-
120
- if (display.four) {
121
- CronofyElements.CalendarSync({
122
- element_token: "<%= cal_sync_token %>",
123
- target_id: 'cronofy-calendar-sync-four',
124
- app_domain:"<%= app_domain %>",
125
- api_domain:"<%= api_domain %>",
126
- data_center: "us",
127
- authorization: {
128
- redirect_uri: "http://localhost:8080/",
129
- client_id: "<%= client_id %>",
130
- scope: "read_only"
131
- },
132
- locale: locale,
133
- single_profile: true,
134
- tzid: "Etc/UTC",
135
- //demo: true,
136
- callback: cb => {
137
- console.log("callback", cb);
138
- },
139
- // config: {
140
- // revoke_mode: "callback_only",
141
- // },
142
- });
143
- }
144
-
145
- console.log('done.');
146
- </script>
147
-
148
- </body>
149
- </html>