@koine/react 1.0.10 → 1.0.13

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 (445) hide show
  1. package/Alert/Alert.d.ts +5 -0
  2. package/Alert/Alert.js +10 -0
  3. package/Alert/index.d.ts +1 -0
  4. package/Alert/index.js +1 -0
  5. package/Alert/package.json +6 -0
  6. package/Animations/Reveal.d.ts +4 -0
  7. package/Animations/Reveal.js +17 -0
  8. package/Animations/Underline.d.ts +1 -0
  9. package/Animations/Underline.js +5 -0
  10. package/Animations/index.d.ts +3 -0
  11. package/Animations/index.js +3 -0
  12. package/Animations/package.json +6 -0
  13. package/Animations/useReveal.d.ts +33 -0
  14. package/Animations/useReveal.js +71 -0
  15. package/Autocomplete/AutocompleteDownshift.d.ts +1 -0
  16. package/Autocomplete/AutocompleteDownshift.js +158 -0
  17. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +1 -0
  18. package/Autocomplete/AutocompleteDownshiftMultiselect.js +353 -0
  19. package/Autocomplete/AutocompleteMui.d.ts +47 -0
  20. package/Autocomplete/AutocompleteMui.js +182 -0
  21. package/Autocomplete/AutocompleteReach.d.ts +1 -0
  22. package/Autocomplete/AutocompleteReach.js +112 -0
  23. package/Autocomplete/components.d.ts +21 -0
  24. package/Autocomplete/components.js +34 -0
  25. package/Autocomplete/helpers.d.ts +3 -0
  26. package/Autocomplete/helpers.js +28 -0
  27. package/Autocomplete/index.d.ts +2 -0
  28. package/Autocomplete/index.js +3 -0
  29. package/Autocomplete/package.json +6 -0
  30. package/Bg/BgColor.d.ts +36 -0
  31. package/Bg/BgColor.js +21 -0
  32. package/Bg/BgPhoto.d.ts +13 -0
  33. package/Bg/BgPhoto.js +16 -0
  34. package/Bg/BgSvg.d.ts +7 -0
  35. package/Bg/BgSvg.js +12 -0
  36. package/Bg/index.d.ts +3 -0
  37. package/Bg/index.js +3 -0
  38. package/Bg/package.json +6 -0
  39. package/Breadcrumbs/Breadcrumbs.d.ts +13 -0
  40. package/Breadcrumbs/Breadcrumbs.js +27 -0
  41. package/Breadcrumbs/index.d.ts +1 -0
  42. package/Breadcrumbs/index.js +1 -0
  43. package/Breadcrumbs/package.json +6 -0
  44. package/Buttons/Button.d.ts +18 -0
  45. package/Buttons/Button.js +14 -0
  46. package/Buttons/ButtonComposite.d.ts +23 -0
  47. package/Buttons/ButtonComposite.js +28 -0
  48. package/Buttons/ButtonFab.d.ts +7 -0
  49. package/Buttons/ButtonFab.js +6 -0
  50. package/Buttons/ButtonLink.d.ts +8 -0
  51. package/Buttons/ButtonLink.js +11 -0
  52. package/Buttons/IconButton.d.ts +11 -0
  53. package/Buttons/IconButton.js +7 -0
  54. package/Buttons/index.d.ts +5 -0
  55. package/Buttons/index.js +5 -0
  56. package/Buttons/package.json +6 -0
  57. package/Calendar/CalendarDaygridCell.d.ts +36 -0
  58. package/Calendar/CalendarDaygridCell.js +57 -0
  59. package/Calendar/CalendarDaygridNav.d.ts +27 -0
  60. package/Calendar/CalendarDaygridNav.js +23 -0
  61. package/Calendar/CalendarDaygridTable.d.ts +25 -0
  62. package/Calendar/CalendarDaygridTable.js +57 -0
  63. package/Calendar/CalendarLegend.d.ts +19 -0
  64. package/Calendar/CalendarLegend.js +16 -0
  65. package/Calendar/calendar-api-google.d.ts +18 -0
  66. package/Calendar/calendar-api-google.js +127 -0
  67. package/Calendar/index.d.ts +6 -0
  68. package/Calendar/index.js +6 -0
  69. package/Calendar/package.json +6 -0
  70. package/Calendar/types.d.ts +81 -0
  71. package/Calendar/types.js +1 -0
  72. package/Calendar/useCalendar.d.ts +49 -0
  73. package/Calendar/useCalendar.js +183 -0
  74. package/Calendar/utils.d.ts +11 -0
  75. package/Calendar/utils.js +202 -0
  76. package/Carousel/Carousel.d.ts +1 -0
  77. package/Carousel/Carousel.js +378 -0
  78. package/Carousel/CarouselCss.d.ts +47 -0
  79. package/Carousel/CarouselCss.js +23 -0
  80. package/Carousel/index.d.ts +1 -0
  81. package/Carousel/index.js +1 -0
  82. package/Carousel/package.json +6 -0
  83. package/Collapsable/Collapsable.d.ts +1 -0
  84. package/Collapsable/Collapsable.js +1 -0
  85. package/Collapsable/CollapsableReach.d.ts +6 -0
  86. package/Collapsable/CollapsableReach.js +253 -0
  87. package/Collapsable/index.d.ts +1 -0
  88. package/Collapsable/index.js +2 -0
  89. package/Collapsable/package.json +6 -0
  90. package/Debug/Debug.d.ts +4 -0
  91. package/Debug/Debug.js +9 -0
  92. package/Debug/index.d.ts +1 -0
  93. package/Debug/index.js +1 -0
  94. package/Debug/package.json +6 -0
  95. package/Details/Details.d.ts +114 -0
  96. package/Details/Details.js +65 -0
  97. package/Details/index.d.ts +1 -0
  98. package/Details/index.js +1 -0
  99. package/Details/package.json +6 -0
  100. package/Dialog/DialogMui.d.ts +139 -0
  101. package/Dialog/DialogMui.js +80 -0
  102. package/Dialog/css/bare.d.ts +145 -0
  103. package/Dialog/css/bare.js +21 -0
  104. package/Dialog/index.d.ts +2 -0
  105. package/Dialog/index.js +1 -0
  106. package/Dialog/m/bare.d.ts +56 -0
  107. package/Dialog/m/bare.js +52 -0
  108. package/Dialog/m/basic.d.ts +4 -0
  109. package/Dialog/m/basic.js +31 -0
  110. package/Dialog/m/index.d.ts +2 -0
  111. package/Dialog/m/index.js +4 -0
  112. package/Dialog/m/package.json +6 -0
  113. package/Dialog/package.json +6 -0
  114. package/Dialog/sc/bare.d.ts +105 -0
  115. package/Dialog/sc/bare.js +43 -0
  116. package/Dialog/sc/framer.d.ts +80 -0
  117. package/Dialog/sc/framer.js +16 -0
  118. package/Dialog/sc/framerMaterial.d.ts +79 -0
  119. package/Dialog/sc/framerMaterial.js +16 -0
  120. package/Dialog/sc/material.d.ts +94 -0
  121. package/Dialog/sc/material.js +21 -0
  122. package/Dialog/tw/bare.d.ts +196 -0
  123. package/Dialog/tw/bare.js +42 -0
  124. package/Dialog/tw/elegant.d.ts +244 -0
  125. package/Dialog/tw/elegant.js +20 -0
  126. package/Dialog/tw/framer.d.ts +112 -0
  127. package/Dialog/tw/framer.js +16 -0
  128. package/Dialog/tw/framerMaterial.d.ts +167 -0
  129. package/Dialog/tw/framerMaterial.js +16 -0
  130. package/Dialog/tw/material.d.ts +244 -0
  131. package/Dialog/tw/material.js +20 -0
  132. package/Editor/Editor--tiptap.d.ts +9 -0
  133. package/Editor/Editor--tiptap.js +26 -0
  134. package/Editor/components.d.ts +7 -0
  135. package/Editor/components.js +10 -0
  136. package/Editor/index.d.ts +1 -0
  137. package/Editor/index.js +1 -0
  138. package/Editor/package.json +6 -0
  139. package/Favicon/FaviconTags.d.ts +18 -0
  140. package/Favicon/FaviconTags.js +15 -0
  141. package/Favicon/index.d.ts +1 -0
  142. package/Favicon/index.js +1 -0
  143. package/Favicon/package.json +6 -0
  144. package/Form/Form.d.ts +111 -0
  145. package/Form/Form.js +61 -0
  146. package/Form/index.d.ts +1 -0
  147. package/Form/index.js +1 -0
  148. package/Form/package.json +6 -0
  149. package/Form/sc/bare.d.ts +33 -0
  150. package/Form/sc/bare.js +20 -0
  151. package/Forms/Checkbox/Checkbox.d.ts +11 -0
  152. package/Forms/Checkbox/Checkbox.js +18 -0
  153. package/Forms/Checkbox/index.d.ts +1 -0
  154. package/Forms/Checkbox/index.js +1 -0
  155. package/Forms/Checkbox/package.json +6 -0
  156. package/Forms/Feedback/Feedback.d.ts +5 -0
  157. package/Forms/Feedback/Feedback.js +9 -0
  158. package/Forms/Feedback/index.d.ts +1 -0
  159. package/Forms/Feedback/index.js +1 -0
  160. package/Forms/Feedback/package.json +6 -0
  161. package/Forms/Field/Field.d.ts +15 -0
  162. package/Forms/Field/Field.js +48 -0
  163. package/Forms/Field/FieldControl.d.ts +26 -0
  164. package/Forms/Field/FieldControl.js +47 -0
  165. package/Forms/Field/FieldHint.d.ts +1 -0
  166. package/Forms/Field/FieldHint.js +4 -0
  167. package/Forms/Field/index.d.ts +2 -0
  168. package/Forms/Field/index.js +2 -0
  169. package/Forms/Field/package.json +6 -0
  170. package/Forms/Input/Input.d.ts +9 -0
  171. package/Forms/Input/Input.js +17 -0
  172. package/Forms/Input/index.d.ts +1 -0
  173. package/Forms/Input/index.js +1 -0
  174. package/Forms/Input/package.json +6 -0
  175. package/Forms/InputGroup/InputGroup.d.ts +13 -0
  176. package/Forms/InputGroup/InputGroup.js +15 -0
  177. package/Forms/InputGroup/index.d.ts +1 -0
  178. package/Forms/InputGroup/index.js +1 -0
  179. package/Forms/InputGroup/package.json +6 -0
  180. package/Forms/Label/Label.d.ts +3 -0
  181. package/Forms/Label/Label.js +6 -0
  182. package/Forms/Label/index.d.ts +1 -0
  183. package/Forms/Label/index.js +1 -0
  184. package/Forms/Label/package.json +6 -0
  185. package/Forms/Password/Password.d.ts +5 -0
  186. package/Forms/Password/Password.js +17 -0
  187. package/Forms/Password/index.d.ts +1 -0
  188. package/Forms/Password/index.js +1 -0
  189. package/Forms/Password/package.json +6 -0
  190. package/Forms/Radio/Radio.d.ts +12 -0
  191. package/Forms/Radio/Radio.js +25 -0
  192. package/Forms/Radio/index.d.ts +1 -0
  193. package/Forms/Radio/index.js +1 -0
  194. package/Forms/Radio/package.json +6 -0
  195. package/Forms/Switch/Switch.d.ts +9 -0
  196. package/Forms/Switch/Switch.js +20 -0
  197. package/Forms/Switch/index.d.ts +1 -0
  198. package/Forms/Switch/index.js +1 -0
  199. package/Forms/Switch/package.json +6 -0
  200. package/Forms/Textarea/Textarea.d.ts +5 -0
  201. package/Forms/Textarea/Textarea.js +12 -0
  202. package/Forms/Textarea/TextareaRich.d.ts +6 -0
  203. package/Forms/Textarea/TextareaRich.js +28 -0
  204. package/Forms/Textarea/index.d.ts +2 -0
  205. package/Forms/Textarea/index.js +2 -0
  206. package/Forms/Textarea/package.json +6 -0
  207. package/Forms/Toggle/Toggle.d.ts +19 -0
  208. package/Forms/Toggle/Toggle.js +32 -0
  209. package/Forms/Toggle/index.d.ts +1 -0
  210. package/Forms/Toggle/index.js +1 -0
  211. package/Forms/Toggle/package.json +6 -0
  212. package/Forms/Toggle/useToggle.d.ts +46 -0
  213. package/Forms/Toggle/useToggle.js +145 -0
  214. package/Forms/antispam.d.ts +24 -0
  215. package/Forms/antispam.js +56 -0
  216. package/Forms/helpers.d.ts +26 -0
  217. package/Forms/helpers.js +45 -0
  218. package/Forms/index.d.ts +15 -0
  219. package/Forms/index.js +16 -0
  220. package/Forms/package.json +6 -0
  221. package/Forms/styles.d.ts +19 -0
  222. package/Forms/styles.js +29 -0
  223. package/Gauge/Gauge.d.ts +5 -0
  224. package/Gauge/Gauge.js +102 -0
  225. package/Grid/Grid.d.ts +64 -0
  226. package/Grid/Grid.js +53 -0
  227. package/Grid/index.d.ts +1 -0
  228. package/Grid/index.js +1 -0
  229. package/Grid/package.json +6 -0
  230. package/Hamburger/Hamburger.d.ts +6 -0
  231. package/Hamburger/Hamburger.js +52 -0
  232. package/Hamburger/index.d.ts +1 -0
  233. package/Hamburger/index.js +1 -0
  234. package/Hamburger/package.json +6 -0
  235. package/Header/index.d.ts +1 -0
  236. package/Header/index.js +1 -0
  237. package/Header/package.json +6 -0
  238. package/Header/useHeader.d.ts +24 -0
  239. package/Header/useHeader.js +30 -0
  240. package/Hidden/Hidden.d.ts +6 -0
  241. package/Hidden/Hidden.js +10 -0
  242. package/Hidden/index.d.ts +1 -0
  243. package/Hidden/index.js +1 -0
  244. package/Hidden/package.json +6 -0
  245. package/Img/index.d.ts +1 -0
  246. package/Img/index.js +1 -0
  247. package/Img/package.json +6 -0
  248. package/Img/sc/bare.d.ts +2 -0
  249. package/Img/sc/bare.js +39 -0
  250. package/Img/types.d.ts +9 -0
  251. package/Img/types.js +1 -0
  252. package/Link/Link.d.ts +5 -0
  253. package/Link/Link.js +4 -0
  254. package/Link/LinkBlank.d.ts +8 -0
  255. package/Link/LinkBlank.js +17 -0
  256. package/Link/index.d.ts +2 -0
  257. package/Link/index.js +2 -0
  258. package/Link/package.json +6 -0
  259. package/Menu/Menu.d.ts +1 -0
  260. package/Menu/Menu.js +4 -0
  261. package/Menu/index.d.ts +1 -0
  262. package/Menu/index.js +1 -0
  263. package/Menu/package.json +6 -0
  264. package/MenuItem/MenuItem.d.ts +4 -0
  265. package/MenuItem/MenuItem.js +4 -0
  266. package/MenuItem/index.d.ts +1 -0
  267. package/MenuItem/index.js +1 -0
  268. package/MenuItem/package.json +6 -0
  269. package/Meta/Meta.d.ts +14 -0
  270. package/Meta/Meta.js +5 -0
  271. package/Meta/index.d.ts +1 -0
  272. package/Meta/index.js +1 -0
  273. package/Meta/package.json +6 -0
  274. package/NoJs/NoJs.d.ts +2 -0
  275. package/NoJs/NoJs.js +6 -0
  276. package/NoJs/index.d.ts +1 -0
  277. package/NoJs/index.js +1 -0
  278. package/NoJs/package.json +6 -0
  279. package/Pagination/PaginationNav.d.ts +22 -0
  280. package/Pagination/PaginationNav.js +61 -0
  281. package/Pagination/PaginationResults.d.ts +3 -0
  282. package/Pagination/PaginationResults.js +11 -0
  283. package/Pagination/index.d.ts +2 -0
  284. package/Pagination/index.js +2 -0
  285. package/Pagination/package.json +6 -0
  286. package/Pill/Pill.d.ts +5 -0
  287. package/Pill/Pill.js +7 -0
  288. package/Pill/index.d.ts +1 -0
  289. package/Pill/index.js +1 -0
  290. package/Pill/package.json +6 -0
  291. package/Progress/ProgressCircular.d.ts +19 -0
  292. package/Progress/ProgressCircular.js +15 -0
  293. package/Progress/ProgressLinear.d.ts +22 -0
  294. package/Progress/ProgressLinear.js +24 -0
  295. package/Progress/ProgressOverlay.d.ts +4 -0
  296. package/Progress/ProgressOverlay.js +24 -0
  297. package/Progress/index.d.ts +3 -0
  298. package/Progress/index.js +3 -0
  299. package/Progress/package.json +6 -0
  300. package/Rating/Rating.d.ts +35 -0
  301. package/Rating/Rating.js +71 -0
  302. package/Rating/index.d.ts +11 -0
  303. package/Rating/index.js +49 -0
  304. package/Rating/package.json +6 -0
  305. package/Select/SelectDownshift.d.ts +5 -0
  306. package/Select/SelectDownshift.js +38 -0
  307. package/Select/components.d.ts +6 -0
  308. package/Select/components.js +12 -0
  309. package/Select/index.d.ts +2 -0
  310. package/Select/index.js +3 -0
  311. package/Select/package.json +6 -0
  312. package/Sidebar/Sidebar.d.ts +3 -0
  313. package/Sidebar/Sidebar.js +23 -0
  314. package/Sidebar/index.d.ts +1 -0
  315. package/Sidebar/index.js +1 -0
  316. package/Sidebar/package.json +6 -0
  317. package/Spacing/Spacing.d.ts +30 -0
  318. package/Spacing/Spacing.js +45 -0
  319. package/Spacing/index.d.ts +1 -0
  320. package/Spacing/index.js +1 -0
  321. package/Spacing/package.json +6 -0
  322. package/Sticky/Sticky.d.ts +2 -0
  323. package/Sticky/Sticky.js +219 -0
  324. package/Sticky/StickyCss.d.ts +5 -0
  325. package/Sticky/StickyCss.js +6 -0
  326. package/Sticky/index.d.ts +1 -0
  327. package/Sticky/index.js +1 -0
  328. package/Sticky/package.json +6 -0
  329. package/Tabs/TabsMui.d.ts +244 -0
  330. package/Tabs/TabsMui.js +46 -0
  331. package/Tabs/index.d.ts +1 -0
  332. package/Tabs/index.js +1 -0
  333. package/Tabs/package.json +6 -0
  334. package/Tabs/sc/bare.d.ts +5 -0
  335. package/Tabs/sc/bare.js +87 -0
  336. package/Tabs/tw/bare.d.ts +248 -0
  337. package/Tabs/tw/bare.js +17 -0
  338. package/Tabs/tw/material.d.ts +472 -0
  339. package/Tabs/tw/material.js +18 -0
  340. package/Tabs/useTabs.d.ts +43 -0
  341. package/Tabs/useTabs.js +44 -0
  342. package/Typography/CopyPasteVisible.d.ts +1 -0
  343. package/Typography/CopyPasteVisible.js +4 -0
  344. package/Typography/Native.d.ts +10 -0
  345. package/Typography/Native.js +14 -0
  346. package/Typography/ReadMore.d.ts +12 -0
  347. package/Typography/ReadMore.js +43 -0
  348. package/Typography/TextLoop.d.ts +16 -0
  349. package/Typography/TextLoop.js +46 -0
  350. package/Typography/TypeStairs.d.ts +6 -0
  351. package/Typography/TypeStairs.js +50 -0
  352. package/Typography/index.d.ts +5 -0
  353. package/Typography/index.js +5 -0
  354. package/Typography/package.json +6 -0
  355. package/css/index.d.ts +2 -0
  356. package/css/index.js +31 -0
  357. package/css/package.json +6 -0
  358. package/helpers/classed.d.ts +22 -0
  359. package/helpers/classed.js +68 -0
  360. package/helpers/extend-component.d.ts +28 -0
  361. package/helpers/extend-component.js +12 -0
  362. package/helpers/index.d.ts +3 -0
  363. package/helpers/index.js +2 -0
  364. package/helpers/package.json +6 -0
  365. package/hooks/index.d.ts +14 -0
  366. package/hooks/index.js +15 -0
  367. package/hooks/package.json +6 -0
  368. package/hooks/types.d.ts +8 -0
  369. package/hooks/types.js +1 -0
  370. package/hooks/useAsyncFn.d.ts +26 -0
  371. package/hooks/useAsyncFn.js +36 -0
  372. package/hooks/useDateLocale.d.ts +7 -0
  373. package/hooks/useDateLocale.js +38 -0
  374. package/hooks/useEffectOnce.d.ts +5 -0
  375. package/hooks/useEffectOnce.js +8 -0
  376. package/hooks/useFirstMountState.d.ts +4 -0
  377. package/hooks/useFirstMountState.js +12 -0
  378. package/hooks/useFocus.d.ts +4 -0
  379. package/hooks/useFocus.js +11 -0
  380. package/hooks/useId.d.ts +4 -0
  381. package/hooks/useId.js +8 -0
  382. package/hooks/useIsomorphicLayoutEffect.d.ts +5 -0
  383. package/hooks/useIsomorphicLayoutEffect.js +8 -0
  384. package/hooks/useMount.d.ts +4 -0
  385. package/hooks/useMount.js +9 -0
  386. package/hooks/useMountedState.d.ts +4 -0
  387. package/hooks/useMountedState.js +15 -0
  388. package/hooks/usePrevious.d.ts +1 -0
  389. package/hooks/usePrevious.js +8 -0
  390. package/hooks/useScrollPosition.d.ts +15 -0
  391. package/hooks/useScrollPosition.js +80 -0
  392. package/hooks/useScrollTo.d.ts +1 -0
  393. package/hooks/useScrollTo.js +21 -0
  394. package/hooks/useTraceUpdate.d.ts +4 -0
  395. package/hooks/useTraceUpdate.js +21 -0
  396. package/hooks/useUpdateEffect.d.ts +5 -0
  397. package/hooks/useUpdateEffect.js +14 -0
  398. package/hooks/useWindowSize.d.ts +1 -0
  399. package/hooks/useWindowSize.js +13 -0
  400. package/index.d.ts +1 -0
  401. package/index.js +5 -0
  402. package/m/MotionProvider.d.ts +37 -0
  403. package/m/MotionProvider.js +39 -0
  404. package/m/index.d.ts +6 -0
  405. package/m/index.js +6 -0
  406. package/m/lite.d.ts +2 -0
  407. package/m/lite.js +2 -0
  408. package/m/max.d.ts +2 -0
  409. package/m/max.js +2 -0
  410. package/m/package.json +6 -0
  411. package/package.json +6 -9
  412. package/sc/index.d.ts +30 -0
  413. package/sc/index.js +31 -0
  414. package/sc/package.json +6 -0
  415. package/scm/index.d.ts +29 -0
  416. package/scm/index.js +31 -0
  417. package/scm/package.json +6 -0
  418. package/shared/index.d.ts +8 -0
  419. package/shared/index.js +8 -0
  420. package/shared/package.json +6 -0
  421. package/styles/Body.d.ts +10 -0
  422. package/styles/Body.js +13 -0
  423. package/styles/Global.d.ts +15 -0
  424. package/styles/Global.js +18 -0
  425. package/styles/index.d.ts +7 -0
  426. package/styles/index.js +7 -0
  427. package/styles/media.d.ts +67 -0
  428. package/styles/media.js +155 -0
  429. package/styles/package.json +6 -0
  430. package/styles/spacing.d.ts +13 -0
  431. package/styles/spacing.js +45 -0
  432. package/styles/styled.d.ts +12 -0
  433. package/styles/styled.js +13 -0
  434. package/styles/theme--vanilla.d.ts +18 -0
  435. package/styles/theme--vanilla.js +55 -0
  436. package/styles/theme.d.ts +82 -0
  437. package/styles/theme.js +41 -0
  438. package/tw/index.d.ts +2 -0
  439. package/tw/index.js +31 -0
  440. package/tw/package.json +6 -0
  441. package/twm/index.d.ts +2 -0
  442. package/twm/index.js +31 -0
  443. package/twm/package.json +6 -0
  444. package/types.d.ts +10 -0
  445. package/types.js +1 -0
@@ -0,0 +1,183 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { useCallback, useEffect, useReducer, useState } from "react";
3
+ import { getCalendarsEventsFromGoogle } from "./calendar-api-google";
4
+ import { getStartDate, getEndDate, getPrevDate, getNextDate, isTodayInView, } from "./utils";
5
+ export function useCalendar(_a) {
6
+ var _this = this;
7
+ 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;
8
+ var _d = useState(initialView), view = _d[0], setView = _d[1];
9
+ var start = initialStart || getStartDate(new Date(), view);
10
+ var end = initialEnd || getEndDate(start, view);
11
+ var _e = useState([start, end]), range = _e[0], setRange = _e[1];
12
+ var _f = useState(isTodayInView(start, end)), todayInView = _f[0], setTodayInView = _f[1];
13
+ var _g = useState(initialEvents || {}), events = _g[0], setEvents = _g[1];
14
+ var _h = useState(null), eventHovered = _h[0], setEventHovered = _h[1];
15
+ var _j = useState(null), eventClicked = _j[0], setEventClicked = _j[1];
16
+ var _k = useReducer(function (state, action) {
17
+ var _a;
18
+ var type = action.type;
19
+ switch (type) {
20
+ case "events": {
21
+ var events_1 = action.payload;
22
+ return Object.entries(state).reduce(function (map, _a) {
23
+ var id = _a[0], calendar = _a[1];
24
+ map[id] = __assign(__assign({}, calendar), { events: events_1[id] || 0 });
25
+ return map;
26
+ }, {});
27
+ }
28
+ case "visibility": {
29
+ var visible_1 = action.payload;
30
+ if (typeof visible_1 === "string") {
31
+ return __assign(__assign({}, state), (_a = {}, _a[visible_1] = __assign(__assign({}, state[visible_1]), { on: !state[visible_1].on }), _a));
32
+ }
33
+ else {
34
+ return Object.entries(state).reduce(function (map, _a) {
35
+ var id = _a[0], calendar = _a[1];
36
+ map[id] = __assign(__assign({}, calendar), { on: visible_1.indexOf(id) > -1 });
37
+ return map;
38
+ }, {});
39
+ }
40
+ }
41
+ default:
42
+ return state;
43
+ }
44
+ },
45
+ // initial state
46
+ calendars.reduce(function (map, calendar) {
47
+ map[calendar.id] = __assign(__assign({}, calendar), { name: calendar.name || "", on: true, events: 0 });
48
+ return map;
49
+ }, {})), calendarsMap = _k[0], updateCalendars = _k[1];
50
+ var toggleCalendarVisibility = useCallback(function (idOrIds) {
51
+ updateCalendars({ type: "visibility", payload: idOrIds });
52
+ }, [updateCalendars]);
53
+ var updateCalendarsBasedOnEvents = useCallback(function (events) {
54
+ var payload = {};
55
+ for (var uid in events) {
56
+ var id = events[uid].calendar.id;
57
+ payload[id] = payload[id] || 0;
58
+ payload[id]++;
59
+ }
60
+ updateCalendars({ type: "events", payload: payload });
61
+ }, []);
62
+ var loadCalendars = useCallback(function (calendars, start, end) { return __awaiter(_this, void 0, void 0, function () {
63
+ var newEvents, e_1;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0:
67
+ _a.trys.push([0, 2, , 3]);
68
+ return [4 /*yield*/, getCalendarsEventsFromGoogle({
69
+ apiKey: apiKey,
70
+ calendars: calendars,
71
+ timeZone: timeZone,
72
+ start: start,
73
+ end: end,
74
+ })];
75
+ case 1:
76
+ newEvents = _a.sent();
77
+ // setEvents(mergeCalendarEvents(events, newEvents));
78
+ setEvents(newEvents);
79
+ return [3 /*break*/, 3];
80
+ case 2:
81
+ e_1 = _a.sent();
82
+ if (onError)
83
+ onError(e_1);
84
+ return [3 /*break*/, 3];
85
+ case 3: return [2 /*return*/];
86
+ }
87
+ });
88
+ }); }, [setEvents, apiKey, timeZone, onError]);
89
+ var handleToday = useCallback(function () {
90
+ var start = range[0], end = range[1];
91
+ var newStart = getStartDate(new Date(), view);
92
+ var newEnd = getEndDate(newStart, view);
93
+ setRange([newStart, newEnd]);
94
+ // reset event only if we are not on the current view already
95
+ if (start.getTime() !== newStart.getTime() ||
96
+ end.getTime() !== newEnd.getTime()) {
97
+ setEventClicked(null);
98
+ setEventHovered(null);
99
+ }
100
+ }, [view, range]);
101
+ var handlePrev = useCallback(function () {
102
+ setRange(function (_a) {
103
+ var start = _a[0];
104
+ var newStart = getPrevDate(start, view);
105
+ var newEnd = getEndDate(newStart, view);
106
+ return [newStart, newEnd];
107
+ });
108
+ setEventClicked(null);
109
+ setEventHovered(null);
110
+ }, [view]);
111
+ var handleNext = useCallback(function () {
112
+ setRange(function (_a) {
113
+ var start = _a[0];
114
+ var newStart = getNextDate(start, view);
115
+ var newEnd = getEndDate(newStart, view);
116
+ return [newStart, newEnd];
117
+ });
118
+ setEventClicked(null);
119
+ setEventHovered(null);
120
+ }, [view]);
121
+ var handleView = useCallback(function (newView) {
122
+ var newStart = getStartDate(start, newView);
123
+ var newEnd = getEndDate(newStart, newView);
124
+ setRange([newStart, newEnd]);
125
+ setView(newView);
126
+ setEventClicked(null);
127
+ setEventHovered(null);
128
+ }, [start]);
129
+ useEffect(function () {
130
+ var start = range[0], end = range[1];
131
+ loadCalendars(calendars, start, end);
132
+ setTodayInView(isTodayInView(start, end));
133
+ // eslint-disable-next-line react-hooks/exhaustive-deps
134
+ }, [range]);
135
+ useEffect(function () {
136
+ if (events) {
137
+ updateCalendarsBasedOnEvents(events);
138
+ }
139
+ }, [events, updateCalendarsBasedOnEvents]);
140
+ // when toggling a calendar we also remove the clicked event if that belongs
141
+ // to a now hidden calendar
142
+ useEffect(function () {
143
+ if (eventClicked) {
144
+ if (!calendarsMap[eventClicked.calendar.id].on) {
145
+ setEventClicked(null);
146
+ }
147
+ }
148
+ }, [calendarsMap, eventClicked, setEventClicked]);
149
+ return {
150
+ view: view,
151
+ eventClicked: eventClicked,
152
+ setEventClicked: setEventClicked,
153
+ eventHovered: eventHovered,
154
+ setEventHovered: setEventHovered,
155
+ getDaygridNavProps: function () { return ({
156
+ locale: locale,
157
+ handlePrev: handlePrev,
158
+ handleNext: handleNext,
159
+ handleToday: handleToday,
160
+ handleView: handleView,
161
+ todayInView: todayInView,
162
+ range: range,
163
+ view: view,
164
+ }); },
165
+ getDaygridTableProps: function () { return ({
166
+ locale: locale,
167
+ events: events,
168
+ eventClicked: eventClicked,
169
+ setEventClicked: setEventClicked,
170
+ eventHovered: eventHovered,
171
+ setEventHovered: setEventHovered,
172
+ handlePrev: handlePrev,
173
+ handleNext: handleNext,
174
+ calendarsMap: calendarsMap,
175
+ range: range,
176
+ view: view,
177
+ }); },
178
+ getLegendProps: function () { return ({
179
+ calendarsMap: calendarsMap,
180
+ toggleCalendarVisibility: toggleCalendarVisibility,
181
+ }); },
182
+ };
183
+ }
@@ -0,0 +1,11 @@
1
+ import type { CalendarEventsMap, CalendarView, CalendarViewWeeks } from "./types";
2
+ export declare function getEventTimestamp(dateLike: number | Date | string): number;
3
+ export declare function getDisplayTime(date: Date): string;
4
+ export declare function getStartDate(date: Date, view: CalendarView): Date;
5
+ export declare function getEndDate(start: Date, view: CalendarView): Date;
6
+ export declare function getPrevDate(date: Date, view: CalendarView): Date;
7
+ export declare function getNextDate(date: Date, view: CalendarView): Date;
8
+ export declare function isTodayInView(start: Date, end: Date): boolean;
9
+ export declare function mergeCalendarEvents(first: CalendarEventsMap, second: CalendarEventsMap): CalendarEventsMap;
10
+ export declare function addCalendarEvents(toAdd: CalendarEventsMap, toExtend: CalendarEventsMap): CalendarEventsMap;
11
+ export declare function processEventsInView(eventsMap: CalendarEventsMap, calendarView: CalendarView, month: number, weeks: Date[]): CalendarViewWeeks;
@@ -0,0 +1,202 @@
1
+ import { __assign } from "tslib";
2
+ import isWithinInterval from "date-fns/isWithinInterval";
3
+ import endOfMonth from "date-fns/endOfMonth";
4
+ import startOfWeek from "date-fns/startOfWeek";
5
+ import endOfWeek from "date-fns/endOfWeek";
6
+ import subMonths from "date-fns/subMonths";
7
+ import addMonths from "date-fns/addMonths";
8
+ import subWeeks from "date-fns/subWeeks";
9
+ import addWeeks from "date-fns/addWeeks";
10
+ import addDays from "date-fns/addDays";
11
+ export function getEventTimestamp(dateLike) {
12
+ var date = new Date(dateLike);
13
+ date.setHours(0, 0, 0, 0);
14
+ return date.valueOf() / 1000;
15
+ }
16
+ export function getDisplayTime(date) {
17
+ return (date.getHours() +
18
+ ":" +
19
+ "0".repeat(2 - date.getMinutes().toString().length) +
20
+ date.getMinutes());
21
+ }
22
+ export function getStartDate(date, view) {
23
+ date.setHours(0, 0, 0);
24
+ if (view === "month") {
25
+ date.setDate(1);
26
+ }
27
+ else if (view === "week") {
28
+ date = startOfWeek(date, { weekStartsOn: 1 });
29
+ }
30
+ return date;
31
+ }
32
+ export function getEndDate(start, view) {
33
+ var end = start;
34
+ if (view === "month") {
35
+ end = endOfMonth(start);
36
+ }
37
+ else if (view === "week") {
38
+ end = endOfWeek(start, { weekStartsOn: 1 });
39
+ }
40
+ end.setHours(23, 59, 59);
41
+ return end;
42
+ }
43
+ export function getPrevDate(date, view) {
44
+ if (view === "month") {
45
+ return subMonths(date, 1);
46
+ }
47
+ return subWeeks(date, 1);
48
+ }
49
+ export function getNextDate(date, view) {
50
+ if (view === "month") {
51
+ return addMonths(date, 1);
52
+ }
53
+ return addWeeks(date, 1);
54
+ }
55
+ export function isTodayInView(start, end) {
56
+ return isWithinInterval(new Date(), { start: start, end: end });
57
+ }
58
+ export function mergeCalendarEvents(first, second) {
59
+ var all = {};
60
+ addCalendarEvents(first, all);
61
+ addCalendarEvents(second, all);
62
+ return all;
63
+ }
64
+ export function addCalendarEvents(toAdd, toExtend) {
65
+ for (var id in toAdd) {
66
+ var event_1 = toAdd[id];
67
+ toExtend[id] = event_1;
68
+ }
69
+ return toExtend;
70
+ }
71
+ function getEventsByTimestamp(events) {
72
+ var output = {};
73
+ var _loop_1 = function (uid) {
74
+ var event_2 = events[uid];
75
+ event_2.days.forEach(function (timestamp) {
76
+ output[timestamp] = (output[timestamp] || {});
77
+ output[timestamp][uid] = event_2;
78
+ });
79
+ };
80
+ for (var uid in events) {
81
+ _loop_1(uid);
82
+ }
83
+ return output;
84
+ }
85
+ function getSortedEvents(events) {
86
+ var output = [];
87
+ for (var uid in events) {
88
+ output.push(events[uid]);
89
+ }
90
+ // sort events first multi, then all day then by start then by created date
91
+ output.sort(function (a, b) {
92
+ var multi = Number(b.multi) - Number(a.multi);
93
+ var allDay = Number(b.allDay) - Number(a.allDay);
94
+ var start = a.start.getTime() - b.start.getTime();
95
+ var created = a.created.getTime() - b.created.getTime();
96
+ return multi || allDay || start || created;
97
+ });
98
+ return output;
99
+ }
100
+ var FREE_SLOT = 0;
101
+ var BUSY_SLOT = 1;
102
+ export function processEventsInView(eventsMap, calendarView, month, weeks) {
103
+ var eventsByTimestamp = getEventsByTimestamp(eventsMap);
104
+ var eventsList = getSortedEvents(eventsMap);
105
+ var todayDate = new Date();
106
+ var todayTimestamp = getEventTimestamp(todayDate);
107
+ var startedAtTopMap = {};
108
+ var viewWeeks = [];
109
+ var _loop_2 = function (weekIdx) {
110
+ var viewWeek = {
111
+ props: { key: "week.".concat(weekIdx) },
112
+ days: [],
113
+ };
114
+ var weekStartDate = weeks[weekIdx];
115
+ var weekStartDay = weekStartDate.getDate();
116
+ var weekStartTimestamp = getEventTimestamp(new Date(weekStartDate));
117
+ var weekEndTimestamp = getEventTimestamp(addDays(new Date(weekStartDate), 6));
118
+ for (var dayNumber = 0; dayNumber < 7; dayNumber++) {
119
+ var dayDate = new Date(new Date(weekStartDate).setDate(weekStartDay + dayNumber));
120
+ var dayTimestamp = getEventTimestamp(dayDate);
121
+ var $isToday = todayTimestamp === dayTimestamp;
122
+ var $isOutOfRange = calendarView === "month" && dayDate.getMonth() !== month;
123
+ var contextualProps = {
124
+ $isToday: $isToday,
125
+ $isOutOfRange: $isOutOfRange,
126
+ };
127
+ var viewDay = {
128
+ props: __assign({ key: "day.".concat(dayTimestamp) }, contextualProps),
129
+ timestamp: dayTimestamp + "",
130
+ label: dayDate.getDate() + "",
131
+ events: [],
132
+ };
133
+ // check that we have events in this day
134
+ if (eventsByTimestamp === null || eventsByTimestamp === void 0 ? void 0 : eventsByTimestamp[dayTimestamp]) {
135
+ var verticalSlots = Object.keys(eventsByTimestamp[dayTimestamp]).map(function () { return FREE_SLOT; });
136
+ for (var eventIdx = 0; eventIdx < eventsList.length; eventIdx++) {
137
+ var event_3 = eventsList[eventIdx];
138
+ var width = 1;
139
+ var top_1 = 0;
140
+ var firstOfMulti = void 0;
141
+ if (!event_3.daysMap[dayTimestamp]) {
142
+ continue;
143
+ }
144
+ // only for multi days events:
145
+ if (event_3.multi) {
146
+ // filter out the days outside of the current week view to avoid
147
+ // making a multi-days event chip wider than the week row or shorter
148
+ // than it should be (when event spans across weeks)
149
+ width = event_3.days.filter(function (t) { return t >= weekStartTimestamp && t <= weekEndTimestamp; }).length;
150
+ // flag the first day of multi-days events, consider that an event
151
+ // might start in a day earlier (hence outside) of the current
152
+ // week/month view, so we always check for Mondays (dayNumber === 0)
153
+ if (event_3.days.indexOf(dayTimestamp) === 0 || dayNumber === 0) {
154
+ firstOfMulti = true;
155
+ }
156
+ }
157
+ // if we already have the information on when the event has been
158
+ // vertically positioned use that index
159
+ if (startedAtTopMap[event_3.uid]) {
160
+ top_1 = startedAtTopMap[event_3.uid];
161
+ }
162
+ else {
163
+ // now look for a free slot and use its index as `top`
164
+ for (var verticalIdx = 0; verticalIdx < verticalSlots.length; verticalIdx++) {
165
+ var freeOrBusy = verticalSlots[verticalIdx];
166
+ if (freeOrBusy !== BUSY_SLOT) {
167
+ top_1 = verticalIdx;
168
+ break;
169
+ }
170
+ }
171
+ }
172
+ // now mark the slot as busy
173
+ verticalSlots[top_1] = BUSY_SLOT;
174
+ // store the slot vertical position consistently for multi-days events
175
+ if (firstOfMulti) {
176
+ startedAtTopMap[event_3.uid] = top_1;
177
+ }
178
+ // push the event, they will be sorted later
179
+ viewDay.events.push(__assign(__assign(__assign({ key: "event.".concat(dayTimestamp, "-").concat(top_1) }, contextualProps), event_3), { isPast: todayDate > event_3.end, firstOfMulti: firstOfMulti, top: top_1, width: width }));
180
+ }
181
+ // fill the empty slots with events' placeholders
182
+ for (var i = 0; i < verticalSlots.length; i++) {
183
+ if (verticalSlots[i] !== BUSY_SLOT) {
184
+ viewDay.events.push({
185
+ key: "event.".concat(dayTimestamp, "-").concat(i, "}"),
186
+ placeholder: true,
187
+ top: i,
188
+ });
189
+ }
190
+ }
191
+ // sort events and events placeholders by top position
192
+ viewDay.events.sort(function (a, b) { return a.top - b.top; });
193
+ }
194
+ viewWeek.days.push(viewDay);
195
+ }
196
+ viewWeeks.push(viewWeek);
197
+ };
198
+ for (var weekIdx = 0; weekIdx < weeks.length; weekIdx++) {
199
+ _loop_2(weekIdx);
200
+ }
201
+ return viewWeeks;
202
+ }
@@ -0,0 +1 @@
1
+ export declare const KoineCarousel: null;