@koine/react 2.0.0-beta.19 → 2.0.0-beta.191

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 (621) hide show
  1. package/FaviconTags.cjs.d.ts +2 -0
  2. package/FaviconTags.cjs.default.js +1 -0
  3. package/FaviconTags.cjs.js +10 -0
  4. package/FaviconTags.cjs.mjs +2 -0
  5. package/FaviconTags.d.ts +11 -1
  6. package/FaviconTags.esm.d.ts +2 -0
  7. package/FaviconTags.esm.js +5 -0
  8. package/Meta.cjs.d.ts +2 -0
  9. package/Meta.cjs.default.js +1 -0
  10. package/Meta.cjs.js +10 -0
  11. package/Meta.cjs.mjs +2 -0
  12. package/Meta.d.ts +11 -1
  13. package/Meta.esm.d.ts +2 -0
  14. package/Meta.esm.js +5 -0
  15. package/NoJs.cjs.d.ts +2 -0
  16. package/NoJs.cjs.default.js +1 -0
  17. package/NoJs.cjs.js +10 -0
  18. package/NoJs.cjs.mjs +2 -0
  19. package/NoJs.d.ts +2 -2
  20. package/NoJs.esm.d.ts +2 -0
  21. package/NoJs.esm.js +5 -0
  22. package/Polymorphic.cjs.d.ts +1 -0
  23. package/Polymorphic.cjs.default.js +1 -0
  24. package/Polymorphic.cjs.js +2 -0
  25. package/Polymorphic.cjs.mjs +2 -0
  26. package/Polymorphic.d.ts +39 -0
  27. package/Polymorphic.esm.d.ts +1 -0
  28. package/Polymorphic.esm.js +1 -0
  29. package/README.md +1 -0
  30. package/calendar/CalendarDaygridCell.cjs.js +9 -0
  31. package/{Calendar → calendar}/CalendarDaygridCell.d.ts +4 -4
  32. package/calendar/CalendarDaygridCell.esm.js +7 -0
  33. package/calendar/CalendarDaygridNav.cjs.js +9 -0
  34. package/{Calendar → calendar}/CalendarDaygridNav.d.ts +3 -3
  35. package/calendar/CalendarDaygridNav.esm.js +7 -0
  36. package/calendar/CalendarDaygridTable.cjs.js +13 -0
  37. package/{Calendar → calendar}/CalendarDaygridTable.d.ts +4 -4
  38. package/calendar/CalendarDaygridTable.esm.js +11 -0
  39. package/calendar/CalendarLegend.cjs.js +7 -0
  40. package/{Calendar → calendar}/CalendarLegend.d.ts +3 -3
  41. package/calendar/CalendarLegend.esm.js +5 -0
  42. package/calendar/calendar-api-google.cjs.js +10 -0
  43. package/calendar/calendar-api-google.d.ts +18 -0
  44. package/calendar/calendar-api-google.esm.js +8 -0
  45. package/{Calendar → calendar}/types.d.ts +19 -0
  46. package/calendar/useCalendar.cjs.js +9 -0
  47. package/{Calendar → calendar}/useCalendar.d.ts +19 -5
  48. package/calendar/useCalendar.esm.js +7 -0
  49. package/calendar/useDateLocale.cjs.js +7 -0
  50. package/calendar/useDateLocale.d.ts +8 -0
  51. package/calendar/useDateLocale.esm.js +5 -0
  52. package/calendar/utils.cjs.js +23 -0
  53. package/calendar/utils.d.ts +11 -0
  54. package/calendar/utils.esm.js +13 -0
  55. package/calendar.cjs.d.ts +1 -0
  56. package/calendar.cjs.default.js +1 -0
  57. package/calendar.cjs.js +17 -0
  58. package/calendar.cjs.mjs +2 -0
  59. package/calendar.d.ts +7 -0
  60. package/calendar.esm.d.ts +1 -0
  61. package/calendar.esm.js +6 -0
  62. package/classed.cjs.d.ts +2 -0
  63. package/classed.cjs.default.js +1 -0
  64. package/classed.cjs.js +10 -0
  65. package/classed.cjs.mjs +2 -0
  66. package/classed.d.ts +20 -1
  67. package/classed.esm.d.ts +2 -0
  68. package/classed.esm.js +5 -0
  69. package/createUseMediaQueryWidth.cjs.d.ts +2 -0
  70. package/createUseMediaQueryWidth.cjs.default.js +1 -0
  71. package/createUseMediaQueryWidth.cjs.js +12 -0
  72. package/createUseMediaQueryWidth.cjs.mjs +2 -0
  73. package/createUseMediaQueryWidth.d.ts +7 -1
  74. package/createUseMediaQueryWidth.esm.d.ts +2 -0
  75. package/createUseMediaQueryWidth.esm.js +7 -0
  76. package/extendComponent.cjs.d.ts +2 -0
  77. package/extendComponent.cjs.default.js +1 -0
  78. package/extendComponent.cjs.js +10 -0
  79. package/extendComponent.cjs.mjs +2 -0
  80. package/extendComponent.d.ts +12 -2
  81. package/extendComponent.esm.d.ts +2 -0
  82. package/extendComponent.esm.js +5 -0
  83. package/forms/antispam.cjs.js +9 -0
  84. package/forms/antispam.d.ts +47 -0
  85. package/forms/antispam.esm.js +6 -0
  86. package/forms.cjs.d.ts +1 -0
  87. package/forms.cjs.default.js +1 -0
  88. package/forms.cjs.js +8 -0
  89. package/forms.cjs.mjs +2 -0
  90. package/forms.d.ts +1 -0
  91. package/forms.esm.d.ts +1 -0
  92. package/forms.esm.js +1 -0
  93. package/index.cjs.d.ts +1 -0
  94. package/index.cjs.default.js +1 -0
  95. package/index.cjs.js +57 -0
  96. package/index.cjs.mjs +2 -0
  97. package/index.d.ts +28 -25
  98. package/index.esm.d.ts +1 -0
  99. package/index.esm.js +26 -0
  100. package/mergeRefs.cjs.d.ts +2 -0
  101. package/mergeRefs.cjs.default.js +1 -0
  102. package/mergeRefs.cjs.js +8 -0
  103. package/mergeRefs.cjs.mjs +2 -0
  104. package/mergeRefs.d.ts +1 -2
  105. package/mergeRefs.esm.d.ts +2 -0
  106. package/mergeRefs.esm.js +3 -0
  107. package/package.json +147 -579
  108. package/types.cjs.d.ts +1 -0
  109. package/types.cjs.default.js +1 -0
  110. package/types.cjs.js +2 -0
  111. package/types.cjs.mjs +2 -0
  112. package/types.d.ts +0 -9
  113. package/types.esm.d.ts +1 -0
  114. package/types.esm.js +1 -0
  115. package/useAsyncFn.cjs.d.ts +2 -0
  116. package/useAsyncFn.cjs.default.js +1 -0
  117. package/useAsyncFn.cjs.js +11 -0
  118. package/useAsyncFn.cjs.mjs +2 -0
  119. package/useAsyncFn.d.ts +6 -2
  120. package/useAsyncFn.esm.d.ts +2 -0
  121. package/useAsyncFn.esm.js +6 -0
  122. package/useFirstMountState.cjs.d.ts +2 -0
  123. package/useFirstMountState.cjs.default.js +1 -0
  124. package/useFirstMountState.cjs.js +10 -0
  125. package/useFirstMountState.cjs.mjs +2 -0
  126. package/useFirstMountState.d.ts +4 -1
  127. package/useFirstMountState.esm.d.ts +2 -0
  128. package/useFirstMountState.esm.js +5 -0
  129. package/useFixedOffset.cjs.d.ts +2 -0
  130. package/useFixedOffset.cjs.default.js +1 -0
  131. package/useFixedOffset.cjs.js +13 -0
  132. package/useFixedOffset.cjs.mjs +2 -0
  133. package/useFixedOffset.d.ts +10 -2
  134. package/useFixedOffset.esm.d.ts +2 -0
  135. package/useFixedOffset.esm.js +8 -0
  136. package/useFocus.cjs.d.ts +2 -0
  137. package/useFocus.cjs.default.js +1 -0
  138. package/useFocus.cjs.js +10 -0
  139. package/useFocus.cjs.mjs +2 -0
  140. package/useFocus.d.ts +4 -2
  141. package/useFocus.esm.d.ts +2 -0
  142. package/useFocus.esm.js +5 -0
  143. package/useInterval.cjs.d.ts +2 -0
  144. package/useInterval.cjs.default.js +1 -0
  145. package/useInterval.cjs.js +11 -0
  146. package/useInterval.cjs.mjs +2 -0
  147. package/useInterval.d.ts +6 -1
  148. package/useInterval.esm.d.ts +2 -0
  149. package/useInterval.esm.js +6 -0
  150. package/useIsomorphicLayoutEffect.cjs.d.ts +2 -0
  151. package/useIsomorphicLayoutEffect.cjs.default.js +1 -0
  152. package/useIsomorphicLayoutEffect.cjs.js +11 -0
  153. package/useIsomorphicLayoutEffect.cjs.mjs +2 -0
  154. package/useIsomorphicLayoutEffect.d.ts +4 -1
  155. package/useIsomorphicLayoutEffect.esm.d.ts +2 -0
  156. package/useIsomorphicLayoutEffect.esm.js +6 -0
  157. package/useKeyUp.cjs.d.ts +2 -0
  158. package/useKeyUp.cjs.default.js +1 -0
  159. package/useKeyUp.cjs.js +11 -0
  160. package/useKeyUp.cjs.mjs +2 -0
  161. package/useKeyUp.d.ts +1 -1
  162. package/useKeyUp.esm.d.ts +2 -0
  163. package/useKeyUp.esm.js +6 -0
  164. package/useMeasure.cjs.d.ts +2 -0
  165. package/useMeasure.cjs.default.js +1 -0
  166. package/useMeasure.cjs.js +12 -0
  167. package/useMeasure.cjs.mjs +2 -0
  168. package/useMeasure.d.ts +6 -1
  169. package/useMeasure.esm.d.ts +2 -0
  170. package/useMeasure.esm.js +7 -0
  171. package/useMountedState.cjs.d.ts +2 -0
  172. package/useMountedState.cjs.default.js +1 -0
  173. package/useMountedState.cjs.js +10 -0
  174. package/useMountedState.cjs.mjs +2 -0
  175. package/useMountedState.d.ts +4 -1
  176. package/useMountedState.esm.d.ts +2 -0
  177. package/useMountedState.esm.js +5 -0
  178. package/useNavigateAway.cjs.d.ts +2 -0
  179. package/useNavigateAway.cjs.default.js +1 -0
  180. package/useNavigateAway.cjs.js +11 -0
  181. package/useNavigateAway.cjs.mjs +2 -0
  182. package/useNavigateAway.d.ts +30 -1
  183. package/useNavigateAway.esm.d.ts +2 -0
  184. package/useNavigateAway.esm.js +6 -0
  185. package/usePrevious.cjs.d.ts +2 -0
  186. package/usePrevious.cjs.default.js +1 -0
  187. package/usePrevious.cjs.js +10 -0
  188. package/usePrevious.cjs.mjs +2 -0
  189. package/usePrevious.d.ts +4 -1
  190. package/usePrevious.esm.d.ts +2 -0
  191. package/usePrevious.esm.js +5 -0
  192. package/usePreviousRef.cjs.d.ts +2 -0
  193. package/usePreviousRef.cjs.default.js +1 -0
  194. package/usePreviousRef.cjs.js +10 -0
  195. package/usePreviousRef.cjs.mjs +2 -0
  196. package/usePreviousRef.d.ts +1 -1
  197. package/usePreviousRef.esm.d.ts +2 -0
  198. package/usePreviousRef.esm.js +5 -0
  199. package/useReveal.d.ts +34 -0
  200. package/useScrollPosition.cjs.d.ts +2 -0
  201. package/useScrollPosition.cjs.default.js +1 -0
  202. package/useScrollPosition.cjs.js +13 -0
  203. package/useScrollPosition.cjs.mjs +2 -0
  204. package/useScrollPosition.d.ts +8 -2
  205. package/useScrollPosition.esm.d.ts +2 -0
  206. package/useScrollPosition.esm.js +8 -0
  207. package/useScrollThreshold.cjs.d.ts +2 -0
  208. package/useScrollThreshold.cjs.default.js +1 -0
  209. package/useScrollThreshold.cjs.js +12 -0
  210. package/useScrollThreshold.cjs.mjs +2 -0
  211. package/useScrollThreshold.d.ts +1 -1
  212. package/useScrollThreshold.esm.d.ts +2 -0
  213. package/useScrollThreshold.esm.js +7 -0
  214. package/useScrollTo.cjs.d.ts +2 -0
  215. package/useScrollTo.cjs.default.js +1 -0
  216. package/useScrollTo.cjs.js +10 -0
  217. package/useScrollTo.cjs.mjs +2 -0
  218. package/useScrollTo.d.ts +1 -1
  219. package/useScrollTo.esm.d.ts +2 -0
  220. package/useScrollTo.esm.js +5 -0
  221. package/useSmoothScroll.cjs.d.ts +2 -0
  222. package/useSmoothScroll.cjs.default.js +1 -0
  223. package/useSmoothScroll.cjs.js +13 -0
  224. package/useSmoothScroll.cjs.mjs +2 -0
  225. package/useSmoothScroll.d.ts +7 -1
  226. package/useSmoothScroll.esm.d.ts +2 -0
  227. package/useSmoothScroll.esm.js +8 -0
  228. package/useSpinDelay.cjs.d.ts +2 -0
  229. package/useSpinDelay.cjs.default.js +1 -0
  230. package/useSpinDelay.cjs.js +10 -0
  231. package/useSpinDelay.cjs.mjs +2 -0
  232. package/useSpinDelay.d.ts +13 -1
  233. package/useSpinDelay.esm.d.ts +2 -0
  234. package/useSpinDelay.esm.js +5 -0
  235. package/useTraceUpdate.cjs.d.ts +2 -0
  236. package/useTraceUpdate.cjs.default.js +1 -0
  237. package/useTraceUpdate.cjs.js +10 -0
  238. package/useTraceUpdate.cjs.mjs +2 -0
  239. package/useTraceUpdate.d.ts +4 -1
  240. package/useTraceUpdate.esm.d.ts +2 -0
  241. package/useTraceUpdate.esm.js +5 -0
  242. package/useUpdateEffect.cjs.d.ts +2 -0
  243. package/useUpdateEffect.cjs.default.js +1 -0
  244. package/useUpdateEffect.cjs.js +11 -0
  245. package/useUpdateEffect.cjs.mjs +2 -0
  246. package/useUpdateEffect.d.ts +4 -1
  247. package/useUpdateEffect.esm.d.ts +2 -0
  248. package/useUpdateEffect.esm.js +6 -0
  249. package/useWindowSize.cjs.d.ts +2 -0
  250. package/useWindowSize.cjs.default.js +1 -0
  251. package/useWindowSize.cjs.js +11 -0
  252. package/useWindowSize.cjs.mjs +2 -0
  253. package/useWindowSize.d.ts +11 -2
  254. package/useWindowSize.esm.d.ts +2 -0
  255. package/useWindowSize.esm.js +6 -0
  256. package/Alert/Alert.d.ts +0 -5
  257. package/Alert/Alert.js +0 -10
  258. package/Alert/index.d.ts +0 -1
  259. package/Alert/index.js +0 -1
  260. package/Animations/Reveal.d.ts +0 -3
  261. package/Animations/Reveal.js +0 -16
  262. package/Animations/Underline.d.ts +0 -1
  263. package/Animations/Underline.js +0 -5
  264. package/Animations/index.d.ts +0 -3
  265. package/Animations/index.js +0 -3
  266. package/Animations/useReveal.d.ts +0 -13
  267. package/Animations/useReveal.js +0 -43
  268. package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
  269. package/Autocomplete/AutocompleteDownshift.js +0 -1
  270. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
  271. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -1
  272. package/Autocomplete/AutocompleteMui.d.ts +0 -22
  273. package/Autocomplete/AutocompleteMui.js +0 -93
  274. package/Autocomplete/AutocompleteReach.d.ts +0 -1
  275. package/Autocomplete/AutocompleteReach.js +0 -1
  276. package/Autocomplete/components.d.ts +0 -12
  277. package/Autocomplete/components.js +0 -26
  278. package/Autocomplete/helpers.d.ts +0 -3
  279. package/Autocomplete/helpers.js +0 -16
  280. package/Autocomplete/index.d.ts +0 -2
  281. package/Autocomplete/index.js +0 -1
  282. package/Bg/BgColor.d.ts +0 -12
  283. package/Bg/BgColor.js +0 -16
  284. package/Bg/BgPhoto.d.ts +0 -8
  285. package/Bg/BgPhoto.js +0 -16
  286. package/Bg/BgSvg.d.ts +0 -4
  287. package/Bg/BgSvg.js +0 -9
  288. package/Bg/index.d.ts +0 -3
  289. package/Bg/index.js +0 -3
  290. package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  291. package/Breadcrumbs/Breadcrumbs.js +0 -27
  292. package/Breadcrumbs/index.d.ts +0 -1
  293. package/Breadcrumbs/index.js +0 -1
  294. package/Buttons/Button.d.ts +0 -14
  295. package/Buttons/Button.js +0 -10
  296. package/Buttons/ButtonComposite.d.ts +0 -22
  297. package/Buttons/ButtonComposite.js +0 -28
  298. package/Buttons/ButtonFab.d.ts +0 -4
  299. package/Buttons/ButtonFab.js +0 -6
  300. package/Buttons/ButtonLink.d.ts +0 -8
  301. package/Buttons/ButtonLink.js +0 -11
  302. package/Buttons/IconButton.d.ts +0 -8
  303. package/Buttons/IconButton.js +0 -7
  304. package/Buttons/index.d.ts +0 -5
  305. package/Buttons/index.js +0 -5
  306. package/Calendar/CalendarDaygridCell.js +0 -46
  307. package/Calendar/CalendarDaygridNav.js +0 -24
  308. package/Calendar/CalendarDaygridTable.js +0 -45
  309. package/Calendar/CalendarLegend.js +0 -9
  310. package/Calendar/calendar-api-google.d.ts +0 -10
  311. package/Calendar/calendar-api-google.js +0 -124
  312. package/Calendar/index.d.ts +0 -6
  313. package/Calendar/index.js +0 -6
  314. package/Calendar/types.js +0 -1
  315. package/Calendar/useCalendar.js +0 -176
  316. package/Calendar/utils.d.ts +0 -11
  317. package/Calendar/utils.js +0 -185
  318. package/Carousel/Carousel.d.ts +0 -1
  319. package/Carousel/Carousel.js +0 -1
  320. package/Carousel/CarouselCss.d.ts +0 -13
  321. package/Carousel/CarouselCss.js +0 -19
  322. package/Carousel/index.d.ts +0 -1
  323. package/Carousel/index.js +0 -1
  324. package/Collapsable/Collapsable.d.ts +0 -1
  325. package/Collapsable/Collapsable.js +0 -1
  326. package/Collapsable/CollapsableReach.d.ts +0 -0
  327. package/Collapsable/CollapsableReach.js +0 -1
  328. package/Collapsable/index.d.ts +0 -1
  329. package/Collapsable/index.js +0 -1
  330. package/Debug/Debug.d.ts +0 -4
  331. package/Debug/Debug.js +0 -9
  332. package/Debug/index.d.ts +0 -1
  333. package/Debug/index.js +0 -1
  334. package/Details/Details.d.ts +0 -398
  335. package/Details/Details.js +0 -52
  336. package/Details/index.d.ts +0 -1
  337. package/Details/index.js +0 -1
  338. package/Dialog/DialogMui.d.ts +0 -165
  339. package/Dialog/DialogMui.js +0 -39
  340. package/Dialog/css/bare.d.ts +0 -171
  341. package/Dialog/css/bare.js +0 -21
  342. package/Dialog/index.d.ts +0 -2
  343. package/Dialog/index.js +0 -1
  344. package/Dialog/m/bare.d.ts +0 -4
  345. package/Dialog/m/bare.js +0 -3
  346. package/Dialog/m/basic.d.ts +0 -4
  347. package/Dialog/m/basic.js +0 -28
  348. package/Dialog/m/index.d.ts +0 -2
  349. package/Dialog/m/index.js +0 -4
  350. package/Dialog/sc/bare.d.ts +0 -61
  351. package/Dialog/sc/bare.js +0 -31
  352. package/Dialog/sc/framer.d.ts +0 -24
  353. package/Dialog/sc/framer.js +0 -16
  354. package/Dialog/sc/framerMaterial.d.ts +0 -24
  355. package/Dialog/sc/framerMaterial.js +0 -16
  356. package/Dialog/sc/material.d.ts +0 -60
  357. package/Dialog/sc/material.js +0 -21
  358. package/Dialog/tw/bare.d.ts +0 -208
  359. package/Dialog/tw/bare.js +0 -29
  360. package/Dialog/tw/elegant.d.ts +0 -270
  361. package/Dialog/tw/elegant.js +0 -21
  362. package/Dialog/tw/framer.d.ts +0 -108
  363. package/Dialog/tw/framer.js +0 -16
  364. package/Dialog/tw/framerMaterial.d.ts +0 -164
  365. package/Dialog/tw/framerMaterial.js +0 -16
  366. package/Dialog/tw/material.d.ts +0 -270
  367. package/Dialog/tw/material.js +0 -21
  368. package/Editor/Editor--tiptap.d.ts +0 -9
  369. package/Editor/Editor--tiptap.js +0 -26
  370. package/Editor/components.d.ts +0 -5
  371. package/Editor/components.js +0 -10
  372. package/Editor/index.d.ts +0 -1
  373. package/Editor/index.js +0 -1
  374. package/FaviconTags.js +0 -6
  375. package/Form/Form.d.ts +0 -125
  376. package/Form/Form.js +0 -60
  377. package/Form/index.d.ts +0 -1
  378. package/Form/index.js +0 -1
  379. package/Form/sc/bare.d.ts +0 -57
  380. package/Form/sc/bare.js +0 -20
  381. package/Forms/Checkbox/Checkbox.d.ts +0 -7
  382. package/Forms/Checkbox/Checkbox.js +0 -15
  383. package/Forms/Checkbox/index.d.ts +0 -1
  384. package/Forms/Checkbox/index.js +0 -1
  385. package/Forms/Feedback/Feedback.d.ts +0 -5
  386. package/Forms/Feedback/Feedback.js +0 -9
  387. package/Forms/Feedback/index.d.ts +0 -1
  388. package/Forms/Feedback/index.js +0 -1
  389. package/Forms/Field/Field.d.ts +0 -18
  390. package/Forms/Field/Field.js +0 -25
  391. package/Forms/Field/FieldControl.d.ts +0 -14
  392. package/Forms/Field/FieldControl.js +0 -35
  393. package/Forms/Field/FieldHint.d.ts +0 -1
  394. package/Forms/Field/FieldHint.js +0 -4
  395. package/Forms/Field/index.d.ts +0 -2
  396. package/Forms/Field/index.js +0 -2
  397. package/Forms/Input/Input.d.ts +0 -8
  398. package/Forms/Input/Input.js +0 -16
  399. package/Forms/Input/index.d.ts +0 -1
  400. package/Forms/Input/index.js +0 -1
  401. package/Forms/InputGroup/InputGroup.d.ts +0 -12
  402. package/Forms/InputGroup/InputGroup.js +0 -15
  403. package/Forms/InputGroup/index.d.ts +0 -1
  404. package/Forms/InputGroup/index.js +0 -1
  405. package/Forms/Label/Label.d.ts +0 -3
  406. package/Forms/Label/Label.js +0 -6
  407. package/Forms/Label/index.d.ts +0 -1
  408. package/Forms/Label/index.js +0 -1
  409. package/Forms/Password/Password.d.ts +0 -4
  410. package/Forms/Password/Password.js +0 -17
  411. package/Forms/Password/index.d.ts +0 -1
  412. package/Forms/Password/index.js +0 -1
  413. package/Forms/Radio/Radio.d.ts +0 -11
  414. package/Forms/Radio/Radio.js +0 -25
  415. package/Forms/Radio/index.d.ts +0 -1
  416. package/Forms/Radio/index.js +0 -1
  417. package/Forms/Switch/Switch.d.ts +0 -5
  418. package/Forms/Switch/Switch.js +0 -17
  419. package/Forms/Switch/index.d.ts +0 -1
  420. package/Forms/Switch/index.js +0 -1
  421. package/Forms/Textarea/Textarea.d.ts +0 -4
  422. package/Forms/Textarea/Textarea.js +0 -12
  423. package/Forms/Textarea/TextareaRich.d.ts +0 -5
  424. package/Forms/Textarea/TextareaRich.js +0 -26
  425. package/Forms/Textarea/index.d.ts +0 -2
  426. package/Forms/Textarea/index.js +0 -2
  427. package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
  428. package/Forms/Toggle/Toggle-tailwind.js +0 -1
  429. package/Forms/Toggle/Toggle.d.ts +0 -18
  430. package/Forms/Toggle/Toggle.js +0 -25
  431. package/Forms/Toggle/index.d.ts +0 -1
  432. package/Forms/Toggle/index.js +0 -1
  433. package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
  434. package/Forms/Toggle/useToggle-tailwind.js +0 -1
  435. package/Forms/Toggle/useToggle.d.ts +0 -16
  436. package/Forms/Toggle/useToggle.js +0 -85
  437. package/Forms/antispam.d.ts +0 -27
  438. package/Forms/antispam.js +0 -29
  439. package/Forms/helpers.d.ts +0 -18
  440. package/Forms/helpers.js +0 -35
  441. package/Forms/index.d.ts +0 -15
  442. package/Forms/index.js +0 -15
  443. package/Forms/styles.d.ts +0 -9
  444. package/Forms/styles.js +0 -19
  445. package/Gauge/Gauge.d.ts +0 -4
  446. package/Gauge/Gauge.js +0 -1
  447. package/Grid/Grid.d.ts +0 -32
  448. package/Grid/Grid.js +0 -52
  449. package/Grid/index.d.ts +0 -1
  450. package/Grid/index.js +0 -1
  451. package/Hamburger/Hamburger.d.ts +0 -5
  452. package/Hamburger/Hamburger.js +0 -47
  453. package/Hamburger/index.d.ts +0 -1
  454. package/Hamburger/index.js +0 -1
  455. package/Header/index.d.ts +0 -1
  456. package/Header/index.js +0 -1
  457. package/Header/useHeader.d.ts +0 -20
  458. package/Header/useHeader.js +0 -32
  459. package/Hidden/Hidden.d.ts +0 -6
  460. package/Hidden/Hidden.js +0 -10
  461. package/Hidden/index.d.ts +0 -1
  462. package/Hidden/index.js +0 -1
  463. package/Img/index.d.ts +0 -1
  464. package/Img/index.js +0 -1
  465. package/Img/sc/bare.d.ts +0 -2
  466. package/Img/sc/bare.js +0 -4
  467. package/Img/types.d.ts +0 -9
  468. package/Img/types.js +0 -1
  469. package/Link/Link.d.ts +0 -3
  470. package/Link/Link.js +0 -4
  471. package/Link/LinkBlank.d.ts +0 -5
  472. package/Link/LinkBlank.js +0 -15
  473. package/Link/index.d.ts +0 -2
  474. package/Link/index.js +0 -2
  475. package/Menu/Menu.d.ts +0 -1
  476. package/Menu/Menu.js +0 -4
  477. package/Menu/MenuMui.d.ts +0 -0
  478. package/Menu/MenuMui.js +0 -1
  479. package/Menu/index.d.ts +0 -1
  480. package/Menu/index.js +0 -1
  481. package/MenuItem/MenuItem.d.ts +0 -1
  482. package/MenuItem/MenuItem.js +0 -4
  483. package/MenuItem/MenuItemMui.d.ts +0 -0
  484. package/MenuItem/MenuItemMui.js +0 -1
  485. package/MenuItem/index.d.ts +0 -1
  486. package/MenuItem/index.js +0 -1
  487. package/MenuItem/useMenuItem.d.ts +0 -9
  488. package/MenuItem/useMenuItem.js +0 -42
  489. package/Meta.js +0 -6
  490. package/NoJs.js +0 -7
  491. package/Pagination/PaginationNav.d.ts +0 -14
  492. package/Pagination/PaginationNav.js +0 -48
  493. package/Pagination/PaginationResults.d.ts +0 -3
  494. package/Pagination/PaginationResults.js +0 -11
  495. package/Pagination/index.d.ts +0 -2
  496. package/Pagination/index.js +0 -2
  497. package/Pill/Pill.d.ts +0 -5
  498. package/Pill/Pill.js +0 -7
  499. package/Pill/index.d.ts +0 -1
  500. package/Pill/index.js +0 -1
  501. package/Progress/ProgressCircular.d.ts +0 -13
  502. package/Progress/ProgressCircular.js +0 -12
  503. package/Progress/ProgressLinear.d.ts +0 -15
  504. package/Progress/ProgressLinear.js +0 -21
  505. package/Progress/ProgressOverlay.d.ts +0 -4
  506. package/Progress/ProgressOverlay.js +0 -23
  507. package/Progress/index.d.ts +0 -3
  508. package/Progress/index.js +0 -3
  509. package/Rating/Rating.d.ts +0 -27
  510. package/Rating/Rating.js +0 -43
  511. package/Rating/index.d.ts +0 -8
  512. package/Rating/index.js +0 -45
  513. package/Select/SelectDownshift.d.ts +0 -5
  514. package/Select/SelectDownshift.js +0 -1
  515. package/Select/components.d.ts +0 -6
  516. package/Select/components.js +0 -12
  517. package/Select/index.d.ts +0 -2
  518. package/Select/index.js +0 -1
  519. package/Sidebar/Sidebar.d.ts +0 -3
  520. package/Sidebar/Sidebar.js +0 -23
  521. package/Sidebar/index.d.ts +0 -1
  522. package/Sidebar/index.js +0 -1
  523. package/Spacing/Spacing.d.ts +0 -17
  524. package/Spacing/Spacing.js +0 -32
  525. package/Spacing/index.d.ts +0 -1
  526. package/Spacing/index.js +0 -1
  527. package/Sticky/Sticky.d.ts +0 -2
  528. package/Sticky/Sticky.js +0 -1
  529. package/Sticky/StickyCss.d.ts +0 -5
  530. package/Sticky/StickyCss.js +0 -6
  531. package/Sticky/index.d.ts +0 -1
  532. package/Sticky/index.js +0 -1
  533. package/Tabs/TabsMui.d.ts +0 -84
  534. package/Tabs/TabsMui.js +0 -30
  535. package/Tabs/index.d.ts +0 -1
  536. package/Tabs/index.js +0 -1
  537. package/Tabs/sc/bare.d.ts +0 -0
  538. package/Tabs/sc/bare.js +0 -1
  539. package/Tabs/tw/bare.d.ts +0 -85
  540. package/Tabs/tw/bare.js +0 -17
  541. package/Tabs/tw/material.d.ts +0 -118
  542. package/Tabs/tw/material.js +0 -19
  543. package/Tabs/useTabs.d.ts +0 -21
  544. package/Tabs/useTabs.js +0 -44
  545. package/Typography/CopyPasteVisible.d.ts +0 -1
  546. package/Typography/CopyPasteVisible.js +0 -4
  547. package/Typography/Native.d.ts +0 -10
  548. package/Typography/Native.js +0 -14
  549. package/Typography/ReadMore.d.ts +0 -10
  550. package/Typography/ReadMore.js +0 -42
  551. package/Typography/TextLoop.d.ts +0 -16
  552. package/Typography/TextLoop.js +0 -45
  553. package/Typography/TypeStairs.d.ts +0 -6
  554. package/Typography/TypeStairs.js +0 -42
  555. package/Typography/index.d.ts +0 -5
  556. package/Typography/index.js +0 -5
  557. package/classed.js +0 -43
  558. package/createUseMediaQueryWidth.js +0 -39
  559. package/css/index.d.ts +0 -1
  560. package/css/index.js +0 -1
  561. package/extendComponent.js +0 -9
  562. package/index.js +0 -24
  563. package/m/MotionProvider.d.ts +0 -6
  564. package/m/MotionProvider.js +0 -7
  565. package/m/index.d.ts +0 -1
  566. package/m/index.js +0 -1
  567. package/m/lite.d.ts +0 -2
  568. package/m/lite.js +0 -2
  569. package/m/max.d.ts +0 -2
  570. package/m/max.js +0 -2
  571. package/mergeRefs.js +0 -13
  572. package/sc/index.d.ts +0 -29
  573. package/sc/index.js +0 -29
  574. package/scm/index.d.ts +0 -28
  575. package/scm/index.js +0 -28
  576. package/shared/index.d.ts +0 -7
  577. package/shared/index.js +0 -7
  578. package/styles/Body.d.ts +0 -2
  579. package/styles/Body.js +0 -5
  580. package/styles/Global.d.ts +0 -2
  581. package/styles/Global.js +0 -5
  582. package/styles/index.d.ts +0 -7
  583. package/styles/index.js +0 -7
  584. package/styles/media.d.ts +0 -18
  585. package/styles/media.js +0 -75
  586. package/styles/spacing.d.ts +0 -12
  587. package/styles/spacing.js +0 -45
  588. package/styles/styled.d.ts +0 -8
  589. package/styles/styled.js +0 -9
  590. package/styles/theme--vanilla.d.ts +0 -17
  591. package/styles/theme--vanilla.js +0 -47
  592. package/styles/theme.d.ts +0 -53
  593. package/styles/theme.js +0 -30
  594. package/tw/index.d.ts +0 -1
  595. package/tw/index.js +0 -1
  596. package/twm/index.d.ts +0 -1
  597. package/twm/index.js +0 -1
  598. package/types.js +0 -1
  599. package/typings.d.ts +0 -99
  600. package/useAsyncFn.js +0 -33
  601. package/useDateLocale.d.ts +0 -2
  602. package/useDateLocale.js +0 -28
  603. package/useFirstMountState.js +0 -10
  604. package/useFixedOffset.js +0 -42
  605. package/useFocus.js +0 -9
  606. package/useInterval.js +0 -22
  607. package/useIsomorphicLayoutEffect.js +0 -6
  608. package/useKeyUp.js +0 -18
  609. package/useMeasure.js +0 -130
  610. package/useMountedState.js +0 -13
  611. package/useNavigateAway.js +0 -25
  612. package/usePrevious.js +0 -10
  613. package/usePreviousRef.js +0 -9
  614. package/useScrollPosition.js +0 -61
  615. package/useScrollThreshold.js +0 -27
  616. package/useScrollTo.js +0 -23
  617. package/useSmoothScroll.js +0 -32
  618. package/useSpinDelay.js +0 -39
  619. package/useTraceUpdate.js +0 -19
  620. package/useUpdateEffect.js +0 -11
  621. package/useWindowSize.js +0 -20
@@ -0,0 +1,2 @@
1
+ export * from "./FaviconTags";
2
+ export { default } from "./FaviconTags";
@@ -0,0 +1 @@
1
+ exports._default = require('./FaviconTags.cjs.js').default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),jsxRuntime.jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),jsxRuntime.jsx("link",{rel:"manifest",href:"/site.webmanifest"}),jsxRuntime.jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),jsxRuntime.jsx("meta",{name:"apple-mobile-web-app-title",content:a}),jsxRuntime.jsx("meta",{name:"application-name",content:a}),jsxRuntime.jsx("meta",{name:"msapplication-TileColor",content:c||t}),jsxRuntime.jsx("meta",{name:"theme-color",content:l||t})]});
8
+
9
+ exports.FaviconTags = FaviconTags;
10
+ exports.default = FaviconTags;
@@ -0,0 +1,2 @@
1
+ export * from './FaviconTags.cjs.js';
2
+ export { _default as default } from './FaviconTags.cjs.default.js';
package/FaviconTags.d.ts CHANGED
@@ -5,5 +5,15 @@ export type FaviconTagsProps = {
5
5
  tileColor?: string;
6
6
  themeColor?: string;
7
7
  };
8
- export declare const FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
8
+ /**
9
+ * Favicon tags.
10
+ *
11
+ * This component is meant to be wrapped in a `<head>` manager component.
12
+ *
13
+ * These tags have been produced by [realfavicongenerator.net](https://realfavicongenerator.net/)
14
+ * on _**16 Feb 2022**_.
15
+ *
16
+ * @see https://realfavicongenerator.net/
17
+ */
18
+ export declare let FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
9
19
  export default FaviconTags;
@@ -0,0 +1,2 @@
1
+ export * from "./FaviconTags";
2
+ export { default } from "./FaviconTags";
@@ -0,0 +1,5 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+
3
+ let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>jsxs(Fragment,{children:[jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),jsx("link",{rel:"manifest",href:"/site.webmanifest"}),jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),jsx("meta",{name:"apple-mobile-web-app-title",content:a}),jsx("meta",{name:"application-name",content:a}),jsx("meta",{name:"msapplication-TileColor",content:c||t}),jsx("meta",{name:"theme-color",content:l||t})]});
4
+
5
+ export { FaviconTags, FaviconTags as default };
package/Meta.cjs.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./Meta";
2
+ export { default } from "./Meta";
@@ -0,0 +1 @@
1
+ exports._default = require('./Meta.cjs.js').default;
package/Meta.cjs.js ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ let Meta=({zoom:t})=>jsxRuntime.jsx("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});
8
+
9
+ exports.Meta = Meta;
10
+ exports.default = Meta;
package/Meta.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './Meta.cjs.js';
2
+ export { _default as default } from './Meta.cjs.default.js';
package/Meta.d.ts CHANGED
@@ -1,5 +1,15 @@
1
1
  export type MetaProps = {
2
+ /**
3
+ * Determines whether `user-scalable=0` is add to the `meta->viewport` content
4
+ *
5
+ * This is an opt in instead of the default browser behaviour as it helps prevent
6
+ * weird zooming on input fields on iPhone iOS devices.
7
+ * @see https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/
8
+ * @see https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/
9
+ *
10
+ * @default false
11
+ */
2
12
  zoom?: boolean;
3
13
  };
4
- export declare const Meta: ({ zoom }: MetaProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare let Meta: ({ zoom }: MetaProps) => import("react/jsx-runtime").JSX.Element;
5
15
  export default Meta;
package/Meta.esm.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./Meta";
2
+ export { default } from "./Meta";
package/Meta.esm.js ADDED
@@ -0,0 +1,5 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ let Meta=({zoom:t})=>jsx("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});
4
+
5
+ export { Meta, Meta as default };
package/NoJs.cjs.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./NoJs";
2
+ export { default } from "./NoJs";
@@ -0,0 +1 @@
1
+ exports._default = require('./NoJs.cjs.js').default;
package/NoJs.cjs.js ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ let NoJs=t=>jsxRuntime.jsx("script",{id:"no-js",dangerouslySetInnerHTML:{__html:'document.querySelector("html").className=document.querySelector("html").className.replace(/no-js/,"") + "js";'}});
8
+
9
+ exports.NoJs = NoJs;
10
+ exports.default = NoJs;
package/NoJs.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './NoJs.cjs.js';
2
+ export { _default as default } from './NoJs.cjs.default.js';
package/NoJs.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type NoJsProps = object;
2
- export declare const NoJs: (_props: NoJsProps) => import("react/jsx-runtime").JSX.Element;
1
+ export type NoJsProps = Record<string, never>;
2
+ export declare let NoJs: (_props: NoJsProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default NoJs;
package/NoJs.esm.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./NoJs";
2
+ export { default } from "./NoJs";
package/NoJs.esm.js ADDED
@@ -0,0 +1,5 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ let NoJs=t=>jsx("script",{id:"no-js",dangerouslySetInnerHTML:{__html:'document.querySelector("html").className=document.querySelector("html").className.replace(/no-js/,"") + "js";'}});
4
+
5
+ export { NoJs, NoJs as default };
@@ -0,0 +1 @@
1
+ export * from "./Polymorphic";
@@ -0,0 +1 @@
1
+ exports._default = require('./Polymorphic.cjs.js').default;
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,2 @@
1
+ export * from './Polymorphic.cjs.js';
2
+ export { _default as default } from './Polymorphic.cjs.default.js';
@@ -0,0 +1,39 @@
1
+ /**
2
+ * React Polymorphic components type utilities
3
+ *
4
+ * @resources
5
+ * - [Polymorphic types from Radix UI in Wanda System](https://github.com/wonderflow-bv/wanda/blob/main/packages/react-components/src/types/polymorphic/index.ts)
6
+ * - [TypeScript + React: Typing Generic forwardRefs](https://fettblog.eu/typescript-react-generic-forward-refs/)
7
+ * - [React with Typescript -- Generics while using React.forwardRef](https://stackoverflow.com/a/58473012/1938970)
8
+ * - [How to write a generic that extracts the prop types of the component that passed in](https://stackoverflow.com/a/57846897/1938970)
9
+ * - [React TS Generic component to pass generic props to children](https://stackoverflow.com/a/68442669/1938970)
10
+ * - [About custom ref prop](https://gist.github.com/gaearon/1a018a023347fe1c2476073330cc5509)
11
+ * - [forwardRef performance](https://github.com/facebook/react/issues/13456)
12
+ * - [React docs: Exposing DOM Refs to Parent Components](https://github.com/facebook/react/issues/13456)
13
+ */
14
+ export declare namespace Polymorphic {
15
+ type Merge<P1 = Record<string, never>, P2 = Record<string, never>> = Omit<P1, keyof P2> & P2;
16
+ type ComponentTypes = React.ComponentClass<any> | React.FunctionComponent<any> | keyof JSX.IntrinsicElements;
17
+ type InferProps<TComponent extends ComponentTypes> = TComponent extends React.ComponentClass<infer Props> ? Props : TComponent extends React.FunctionComponent<infer Props> ? Props : TComponent extends React.ForwardRefExoticComponent<infer Props> ? Props : TComponent extends keyof JSX.IntrinsicElements ? React.ComponentPropsWithoutRef<TComponent> : never;
18
+ type AsProp<TComponent extends React.ElementType> = {
19
+ as?: TComponent;
20
+ };
21
+ export type Ref<TComponent extends React.ElementType> = React.ComponentPropsWithRef<TComponent>["ref"];
22
+ export type Props<TComponent extends React.ElementType, Props = Record<string, never>> = Omit<InferProps<TComponent>, keyof Props> & AsProp<TComponent> & Props;
23
+ export type PropsWithRef<TComponent extends React.ElementType, TProps = Record<string, never>> = Props<TComponent, TProps> & {
24
+ ref?: Ref<TComponent>;
25
+ };
26
+ type ForwardRefExoticComponent<TComponent, OwnProps> = React.ForwardRefExoticComponent<Merge<TComponent extends React.ElementType ? React.ComponentPropsWithRef<TComponent> : never, OwnProps & {
27
+ as?: TComponent;
28
+ }>>;
29
+ export type ComponentForwarded<TComponent, TProps = Record<string, never>> = ForwardRefExoticComponent<TComponent, TProps> & {
30
+ <As = TComponent>(props: As extends "" ? {
31
+ as: keyof JSX.IntrinsicElements;
32
+ } : As extends React.ComponentType<infer P> ? Merge<P, TProps & {
33
+ as: As;
34
+ }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], TProps & {
35
+ as: As;
36
+ }> : never): React.ReactElement | null;
37
+ };
38
+ export {};
39
+ }
@@ -0,0 +1 @@
1
+ export * from "./Polymorphic";
@@ -0,0 +1 @@
1
+
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @koine/react
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var utils = require('./utils.cjs.js');
6
+
7
+ let d=l=>jsxRuntime.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[jsxRuntime.jsx("path",{d:"M0 0h24v24H0z"}),jsxRuntime.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),o={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,setEventHovered:h,view:c,maxEvents:u,events:p,calendarsMap:v,Cell:f="div",CellOverflow:y="div",CellEvent:$="div",CellEventBtn:m="div",CellEventTitle:w="span",CellEventStart:g="span"})=>{let[x,M]=react.useState(!1),O=p.filter(e=>!e.placeholder);return jsxRuntime.jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return jsxRuntime.jsxs(y,{onClick:()=>M(!0),children:[jsxRuntime.jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx($,{$placeholder:!0,children:jsxRuntime.jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:jsxRuntime.jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||(o.display="none");let k={$view:c,$selected:a?.uid===t.uid,$past:t.isPast,$color:t.color,$isOutOfRange:t.$isOutOfRange,$isToday:t.$isToday};return jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx($,{style:f,...k,children:jsxRuntime.jsx(m,{role:"button",style:o,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?jsxRuntime.jsx(w,{children:t.title}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(g,{children:utils.getDisplayTime(t.start)}),jsxRuntime.jsx(w,{children:t.title})]})})})},t.key)})})};
8
+
9
+ exports.CalendarDaygridCell = CalendarDaygridCell;
@@ -1,6 +1,6 @@
1
- import type { KoineComponent, KoineComponentProps } from "../types.js";
2
- import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types.js";
3
- import { UseCalendarReturn } from "./useCalendar.js";
1
+ import type { KoineComponent, KoineComponentProps } from "../types";
2
+ import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types";
3
+ import type { UseCalendarReturn } from "./useCalendar";
4
4
  export type KoineCalendarDaygridCellProps = {
5
5
  eventClicked?: UseCalendarReturn["eventClicked"];
6
6
  setEventClicked: UseCalendarReturn["setEventClicked"];
@@ -32,4 +32,4 @@ export type CalendarDaygridCellComponents = {
32
32
  CellEventStart?: KoineComponent;
33
33
  };
34
34
  export type CalendarDaygridCellProps = KoineComponentProps<KoineCalendarDaygridCellProps, CalendarDaygridCellComponents>;
35
- export declare const CalendarDaygridCell: ({ eventClicked, setEventClicked, setEventHovered, view, maxEvents, events, calendarsMap, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridCellProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare let CalendarDaygridCell: ({ eventClicked, setEventClicked, setEventHovered, view, maxEvents, events, calendarsMap, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
+ import { useState, Fragment } from 'react';
3
+ import { getDisplayTime } from './utils.esm.js';
4
+
5
+ let d=l=>jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[jsx("path",{d:"M0 0h24v24H0z"}),jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),o={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,setEventHovered:h,view:c,maxEvents:u,events:p,calendarsMap:v,Cell:f="div",CellOverflow:y="div",CellEvent:$="div",CellEventBtn:m="div",CellEventTitle:w="span",CellEventStart:g="span"})=>{let[x,M]=useState(!1),O=p.filter(e=>!e.placeholder);return jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return jsxs(y,{onClick:()=>M(!0),children:[jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return jsx(Fragment,{children:jsx($,{$placeholder:!0,children:jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||(o.display="none");let k={$view:c,$selected:a?.uid===t.uid,$past:t.isPast,$color:t.color,$isOutOfRange:t.$isOutOfRange,$isToday:t.$isToday};return jsx(Fragment,{children:jsx($,{style:f,...k,children:jsx(m,{role:"button",style:o,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?jsx(w,{children:t.title}):jsxs(Fragment$1,{children:[jsx(g,{children:getDisplayTime(t.start)}),jsx(w,{children:t.title})]})})})},t.key)})})};
6
+
7
+ export { CalendarDaygridCell };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var format = require('date-fns/format');
5
+ var useDateLocale = require('./useDateLocale.cjs.js');
6
+
7
+ let KoineCalendarDaygridNav=({range:a,view:l,todayInView:r,handlePrev:i,handleNext:M,handleToday:d,handleView:y,locale:c,NavRoot:m="nav",NavTitle:s="div",NavBtns:b="div",NavBtnPrev:k="button",NavBtnNext:u="button",NavBtnToday:h="button",NavBtnViewMonth:f="button",NavBtnViewWeek:g="button"})=>{let[C,p]=a,v={locale:useDateLocale.useDateLocale(c)},x="";return "month"===l&&(x=format.format(C,"MMMM yyyy",v)),"week"===l&&(x=C.getMonth()===p.getMonth()?format.format(C,"# MMMM yyyy",v).replace("#",`${C.getDate()}-${p.getDate()}`):`${format.format(C,"d MMMM",v)} - ${format.format(p,"d MMMM yyyy",v)}`),jsxRuntime.jsxs(m,{children:[jsxRuntime.jsxs(b,{children:[jsxRuntime.jsx(k,{onClick:i}),jsxRuntime.jsx(u,{onClick:M}),jsxRuntime.jsx(h,{onClick:d,disabled:r}),jsxRuntime.jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),jsxRuntime.jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),jsxRuntime.jsx(s,{range:a,formatted:x})]})};
8
+
9
+ exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
@@ -1,5 +1,5 @@
1
- import type { KoineComponent, KoineComponentProps } from "../types.js";
2
- import type { CalendarRange, CalendarView } from "./types.js";
1
+ import type { KoineComponent, KoineComponentProps } from "../types";
2
+ import type { CalendarRange, CalendarView } from "./types";
3
3
  export type KoineCalendarDaygridNavProps = {
4
4
  locale: string;
5
5
  range: CalendarRange;
@@ -24,4 +24,4 @@ export type CalendarDaygridNavProps = KoineComponentProps<KoineCalendarDaygridNa
24
24
  NavBtnViewMonth?: KoineComponent;
25
25
  NavBtnViewWeek?: KoineComponent;
26
26
  }>;
27
- export declare const KoineCalendarDaygridNav: ({ range, view, todayInView, handlePrev, handleNext, handleToday, handleView, locale: localeCode, NavRoot, NavTitle, NavBtns, NavBtnPrev, NavBtnNext, NavBtnToday, NavBtnViewMonth, NavBtnViewWeek, }: CalendarDaygridNavProps) => import("react/jsx-runtime").JSX.Element;
27
+ export declare let KoineCalendarDaygridNav: ({ range, view, todayInView, handlePrev, handleNext, handleToday, handleView, locale: localeCode, NavRoot, NavTitle, NavBtns, NavBtnPrev, NavBtnNext, NavBtnToday, NavBtnViewMonth, NavBtnViewWeek, }: CalendarDaygridNavProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { format } from 'date-fns/format';
3
+ import { useDateLocale } from './useDateLocale.esm.js';
4
+
5
+ let KoineCalendarDaygridNav=({range:a,view:l,todayInView:r,handlePrev:i,handleNext:M,handleToday:d,handleView:y,locale:c,NavRoot:m="nav",NavTitle:s="div",NavBtns:b="div",NavBtnPrev:k="button",NavBtnNext:u="button",NavBtnToday:h="button",NavBtnViewMonth:f="button",NavBtnViewWeek:g="button"})=>{let[C,p]=a,v={locale:useDateLocale(c)},x="";return "month"===l&&(x=format(C,"MMMM yyyy",v)),"week"===l&&(x=C.getMonth()===p.getMonth()?format(C,"# MMMM yyyy",v).replace("#",`${C.getDate()}-${p.getDate()}`):`${format(C,"d MMMM",v)} - ${format(p,"d MMMM yyyy",v)}`),jsxs(m,{children:[jsxs(b,{children:[jsx(k,{onClick:i}),jsx(u,{onClick:M}),jsx(h,{onClick:d,disabled:r}),jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),jsx(s,{range:a,formatted:x})]})};
6
+
7
+ export { KoineCalendarDaygridNav };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var eachWeekOfInterval = require('date-fns/eachWeekOfInterval');
5
+ var react = require('react');
6
+ var reactSwipeable = require('react-swipeable');
7
+ var CalendarDaygridCell = require('./CalendarDaygridCell.cjs.js');
8
+ var useDateLocale = require('./useDateLocale.cjs.js');
9
+ var utils = require('./utils.cjs.js');
10
+
11
+ let KoineCalendarDaygridTable=({locale:d,handlePrev:s,handleNext:c,events:h,dayLabels:f,view:b,range:u,eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,calendarsMap:x={},maxEvents:j=5,Table:C="table",TableHead:D="thead",TableHeadCell:S="th",TableBody:k="tbody",TableBodyRow:z="tr",TableBodyCell:L="td",TableBodyCellDate:O="div",Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W})=>{let q={Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W},[A,B]=react.useState(f||[0,1,2,3,4,5,6]),[E,F]=react.useState([]),G=useDateLocale.useDateLocale(d),{month:H,weeks:J}=react.useMemo(()=>(function(e){let[t,a]=e,i=eachWeekOfInterval.eachWeekOfInterval({start:t,end:a},{weekStartsOn:1});return {month:t.getMonth(),weeks:i}})(u),[u]),N=reactSwipeable.useSwipeable({onSwipedLeft:c,onSwipedRight:s});return react.useEffect(()=>{F(utils.processEventsInView(h,b,H,J));},[h,b,H,J]),react.useEffect(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),jsxRuntime.jsxs(C,{...N,children:[jsxRuntime.jsx(D,{children:jsxRuntime.jsx("tr",{children:A.map(t=>jsxRuntime.jsx(S,{scope:"column",children:t},t))})}),jsxRuntime.jsx(k,{children:E.map(r=>jsxRuntime.jsx(z,{...r.props,children:r.days.map(r=>jsxRuntime.jsxs(L,{...r.props,children:[jsxRuntime.jsx(O,{...r.props,children:r.label}),r.events.length>0&&jsxRuntime.jsx(CalendarDaygridCell.CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
12
+
13
+ exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
@@ -1,6 +1,6 @@
1
- import type { KoineComponent, KoineComponentProps } from "../types.js";
2
- import { CalendarDaygridCellComponents, CalendarDaygridCellProps } from "./CalendarDaygridCell.js";
3
- import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types.js";
1
+ import type { KoineComponent, KoineComponentProps } from "../types";
2
+ import { type CalendarDaygridCellComponents, type CalendarDaygridCellProps } from "./CalendarDaygridCell";
3
+ import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types";
4
4
  export type CalendarDaygridTableBodyCellProps = CalendarViewDayProps;
5
5
  export type CalendarDaygridTableBodyCellDateProps = CalendarViewDayProps;
6
6
  export type KoineCalendarDaygridTableProps = {
@@ -22,4 +22,4 @@ export type CalendarDaygridTableProps = KoineComponentProps<KoineCalendarDaygrid
22
22
  TableBodyCellDate?: KoineComponent<CalendarDaygridTableBodyCellDateProps>;
23
23
  TableBodyRow?: KoineComponent;
24
24
  } & CalendarDaygridCellComponents>;
25
- export declare const KoineCalendarDaygridTable: ({ locale: localeCode, handlePrev, handleNext, events, dayLabels, view, range, eventClicked, setEventClicked, eventHovered, setEventHovered, calendarsMap, maxEvents, Table, TableHead, TableHeadCell, TableBody, TableBodyRow, TableBodyCell, TableBodyCellDate, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridTableProps) => import("react/jsx-runtime").JSX.Element;
25
+ export declare let KoineCalendarDaygridTable: ({ locale: localeCode, handlePrev, handleNext, events, dayLabels, view, range, eventClicked, setEventClicked, eventHovered, setEventHovered, calendarsMap, maxEvents, Table, TableHead, TableHeadCell, TableBody, TableBodyRow, TableBodyCell, TableBodyCellDate, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridTableProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval';
3
+ import { useState, useMemo, useEffect } from 'react';
4
+ import { useSwipeable } from 'react-swipeable';
5
+ import { CalendarDaygridCell } from './CalendarDaygridCell.esm.js';
6
+ import { useDateLocale } from './useDateLocale.esm.js';
7
+ import { processEventsInView } from './utils.esm.js';
8
+
9
+ let KoineCalendarDaygridTable=({locale:d,handlePrev:s,handleNext:c,events:h,dayLabels:f,view:b,range:u,eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,calendarsMap:x={},maxEvents:j=5,Table:C="table",TableHead:D="thead",TableHeadCell:S="th",TableBody:k="tbody",TableBodyRow:z="tr",TableBodyCell:L="td",TableBodyCellDate:O="div",Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W})=>{let q={Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W},[A,B]=useState(f||[0,1,2,3,4,5,6]),[E,F]=useState([]),G=useDateLocale(d),{month:H,weeks:J}=useMemo(()=>(function(e){let[t,a]=e,i=eachWeekOfInterval({start:t,end:a},{weekStartsOn:1});return {month:t.getMonth(),weeks:i}})(u),[u]),N=useSwipeable({onSwipedLeft:c,onSwipedRight:s});return useEffect(()=>{F(processEventsInView(h,b,H,J));},[h,b,H,J]),useEffect(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),jsxs(C,{...N,children:[jsx(D,{children:jsx("tr",{children:A.map(t=>jsx(S,{scope:"column",children:t},t))})}),jsx(k,{children:E.map(r=>jsx(z,{...r.props,children:r.days.map(r=>jsxs(L,{...r.props,children:[jsx(O,{...r.props,children:r.label}),r.events.length>0&&jsx(CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
10
+
11
+ export { KoineCalendarDaygridTable };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(a).map(([r,a])=>jsxRuntime.jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[jsxRuntime.jsx(i,{children:a.on?"⬤":"⭘"}),jsxRuntime.jsx(l,{children:a.name}),jsxRuntime.jsx(t,{children:a.events})]},"CalendarLegend."+r))});
6
+
7
+ exports.KoineCalendarLegend = KoineCalendarLegend;
@@ -1,5 +1,5 @@
1
- import type { KoineComponent, KoineComponentProps } from "../types.js";
2
- import type { CalendarsMap } from "./types.js";
1
+ import type { KoineComponent, KoineComponentProps } from "../types";
2
+ import type { CalendarsMap } from "./types";
3
3
  export type KoineCalendarLegendProps = {
4
4
  toggleCalendarVisibility: (id: string) => void;
5
5
  calendarsMap: CalendarsMap;
@@ -15,4 +15,4 @@ export type CalendarLegendProps = KoineComponentProps<KoineCalendarLegendProps,
15
15
  LegendItemLabel?: KoineComponent;
16
16
  LegendItemEvents?: KoineComponent;
17
17
  }>;
18
- export declare const KoineCalendarLegend: ({ calendarsMap, toggleCalendarVisibility, LegendItem, LegendItemStatus, LegendItemLabel, LegendItemEvents, }: CalendarLegendProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare let KoineCalendarLegend: ({ calendarsMap, toggleCalendarVisibility, LegendItem, LegendItemStatus, LegendItemLabel, LegendItemEvents, }: CalendarLegendProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+
3
+ let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsx(Fragment,{children:Object.entries(a).map(([r,a])=>jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[jsx(i,{children:a.on?"⬤":"⭘"}),jsx(l,{children:a.name}),jsx(t,{children:a.events})]},"CalendarLegend."+r))});
4
+
5
+ export { KoineCalendarLegend };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var differenceInDays = require('date-fns/differenceInDays');
4
+ var subDays = require('date-fns/subDays');
5
+ var utils$1 = require('@koine/utils');
6
+ var utils = require('./utils.cjs.js');
7
+
8
+ let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{utils.addCalendarEvents(await o({calendar:e,...t}),a);})),a};async function o({apiKey:i,calendar:o,timeZone:m="",start:d,end:l}){let c={},u=new URLSearchParams({calendarId:o.id,timeZone:m,singleEvents:"true",maxAttendees:"1",maxResults:"9999",sanitizeHtml:"true",timeMin:d.toISOString(),timeMax:l.toISOString(),key:i||process.env.GOOGLE_CALENDAR_API_KEY||""}).toString(),f="https://www.googleapis.com/calendar/v3/calendars/"+o.id+"/events?"+u;try{let i=await fetch(f,{method:"GET"}),m=await i.json();o.name=o.name||m.summary,m.items.forEach(i=>{let m=function(i,o){let m=new Date(i.created),d=i.htmlLink,l=i.summary,c=i.status,u=new Date(i.start.date||i.start.dateTime),f=new Date(i.end.date||i.end.dateTime),w=o.color,g=utils$1.isUndefined(i.end.dateTime)&&utils$1.isString(i.end.date),p=i.location||"",D=i.description||"",h=m.getTime()+""+u.getTime();g&&f>u&&(f=subDays.subDays(f,1)).setHours(23,59,59);let y=function(){let t=new Date(u),a=new Date(f),n=[utils.getEventTimestamp(t)];for(;differenceInDays.differenceInDays(a,t);)t.setDate(t.getDate()+1),n.push(utils.getEventTimestamp(t));return n}(),E=utils$1.arrayToLookup(y),S=y.length>1;return {calendar:o,created:m,link:d,title:l,status:c,start:u,end:f,days:y,daysMap:E,multi:S,color:w,allDay:g,location:p,description:D,uid:h}}(i,o);c[m.uid]=m;});}catch(e){}return c}
9
+
10
+ exports.getCalendarsEventsFromGoogle = getCalendarsEventsFromGoogle;
@@ -0,0 +1,18 @@
1
+ import type { CalendarEventsMap, Calendars } from "./types";
2
+ type GetCalendarsEventsFromGoogleOptions = {
3
+ /** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
4
+ apiKey?: string;
5
+ /** Start gethering events from date */
6
+ start: Date;
7
+ /** End gethering events at date */
8
+ end: Date;
9
+ /**
10
+ * The default is the time zone of the calendar
11
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
12
+ */
13
+ timeZone?: string;
14
+ /** The calendars settings */
15
+ calendars: Calendars;
16
+ };
17
+ export declare let getCalendarsEventsFromGoogle: ({ calendars, ...options }: GetCalendarsEventsFromGoogleOptions) => Promise<CalendarEventsMap>;
18
+ export {};
@@ -0,0 +1,8 @@
1
+ import { differenceInDays } from 'date-fns/differenceInDays';
2
+ import { subDays } from 'date-fns/subDays';
3
+ import { isUndefined, isString, arrayToLookup } from '@koine/utils';
4
+ import { addCalendarEvents, getEventTimestamp } from './utils.esm.js';
5
+
6
+ let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{addCalendarEvents(await o({calendar:e,...t}),a);})),a};async function o({apiKey:i,calendar:o,timeZone:m="",start:d,end:l}){let c={},u=new URLSearchParams({calendarId:o.id,timeZone:m,singleEvents:"true",maxAttendees:"1",maxResults:"9999",sanitizeHtml:"true",timeMin:d.toISOString(),timeMax:l.toISOString(),key:i||process.env.GOOGLE_CALENDAR_API_KEY||""}).toString(),f="https://www.googleapis.com/calendar/v3/calendars/"+o.id+"/events?"+u;try{let i=await fetch(f,{method:"GET"}),m=await i.json();o.name=o.name||m.summary,m.items.forEach(i=>{let m=function(i,o){let m=new Date(i.created),d=i.htmlLink,l=i.summary,c=i.status,u=new Date(i.start.date||i.start.dateTime),f=new Date(i.end.date||i.end.dateTime),w=o.color,g=isUndefined(i.end.dateTime)&&isString(i.end.date),p=i.location||"",D=i.description||"",h=m.getTime()+""+u.getTime();g&&f>u&&(f=subDays(f,1)).setHours(23,59,59);let y=function(){let t=new Date(u),a=new Date(f),n=[getEventTimestamp(t)];for(;differenceInDays(a,t);)t.setDate(t.getDate()+1),n.push(getEventTimestamp(t));return n}(),E=arrayToLookup(y),S=y.length>1;return {calendar:o,created:m,link:d,title:l,status:c,start:u,end:f,days:y,daysMap:E,multi:S,color:w,allDay:g,location:p,description:D,uid:h}}(i,o);c[m.uid]=m;});}catch(e){}return c}
7
+
8
+ export { getCalendarsEventsFromGoogle };
@@ -1,6 +1,10 @@
1
1
  export type Calendar = {
2
2
  id: string;
3
3
  color: string;
4
+ /**
5
+ * If not defined the name is gathered from the remote calendar response,
6
+ * for google calendars that comes from the `summary` value.
7
+ */
4
8
  name?: string;
5
9
  };
6
10
  export type Calendars = Calendar[];
@@ -12,8 +16,17 @@ export type CalendarRange = [Date, Date];
12
16
  export type CalendarView = "month" | "week";
13
17
  export type CalendarEvent = {
14
18
  calendar: Calendar;
19
+ /**
20
+ * List of day timestamps across which the event spans
21
+ */
15
22
  days: number[];
23
+ /**
24
+ * Lookup object for day timestamps across which the event spans
25
+ */
16
26
  daysMap: Record<number, 1>;
27
+ /**
28
+ * Flag for events that spans across multiple days
29
+ */
17
30
  multi: boolean;
18
31
  allDay: boolean;
19
32
  link: string;
@@ -27,7 +40,13 @@ export type CalendarEvent = {
27
40
  description: string;
28
41
  uid: string;
29
42
  };
43
+ /**
44
+ * Calendar events mapped by day `timestamp` number
45
+ */
30
46
  export type CalendarEventsByTimestamp = Record<number, CalendarEventsMap>;
47
+ /**
48
+ * Calendar events map by `uid`
49
+ */
31
50
  export type CalendarEventsMap = Record<CalendarEvent["uid"], CalendarEvent>;
32
51
  export type CalendarViewWeeks = CalendarViewWeek[];
33
52
  export type CalendarViewWeek = {
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var calendarApiGoogle = require('./calendar-api-google.cjs.js');
5
+ var utils = require('./utils.cjs.js');
6
+
7
+ let useCalendar=({locale:d,apiKey:c,calendars:p,events:g,start:m,end:y,view:v="month",timeZone:f="",onError:b})=>{let[w,T]=react.useState(v),D=m||utils.getStartDate(new Date,w),h=y||utils.getEndDate(D,w),[O,P]=react.useState([D,h]),[j,x]=react.useState(utils.isTodayInView(D,h)),[C,L]=react.useState(g||{}),[N,k]=react.useState(null),[q,z]=react.useState(null),[A,B]=react.useReducer((e,t)=>{let{type:l}=t;switch(l){case"events":{let l=t.payload;return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,events:l[t]||0},e),{})}case"visibility":{let l=t.payload;if("string"==typeof l)return {...e,[l]:{...e[l],on:!e[l].on}};return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,on:l.indexOf(t)>-1},e),{})}default:return e}},p.reduce((e,t)=>(e[t.id]={...t,name:t.name||"",on:!0,events:0},e),{})),E=react.useCallback(e=>{B({type:"visibility",payload:e});},[B]),F=react.useCallback(e=>{let t={};for(let l in e){let{id:n}=e[l].calendar;t[n]=t[n]||0,t[n]++;}B({type:"events",payload:t});},[]),G=react.useCallback(async(e,t,l)=>{try{let n=await calendarApiGoogle.getCalendarsEventsFromGoogle({apiKey:c,calendars:e,timeZone:f,start:t,end:l});L(n);}catch(e){b&&b(e);}},[L,c,f,b]),H=react.useCallback(()=>{let[e,t]=O,l=utils.getStartDate(new Date,w),n=utils.getEndDate(l,w);P([l,n]),(e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null));},[w,O]),I=react.useCallback(()=>{P(([e])=>{let t=utils.getPrevDate(e,w),l=utils.getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=react.useCallback(()=>{P(([e])=>{let t=utils.getNextDate(e,w),l=utils.getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=react.useCallback(e=>{let t=utils.getStartDate(D,e),l=utils.getEndDate(t,e);P([t,l]),T(e),z(null),k(null);},[D]);return react.useEffect(()=>{let[e,t]=O;G(p,e,t),x(utils.isTodayInView(e,t));},[O]),react.useEffect(()=>{C&&F(C);},[C,F]),react.useEffect(()=>{q&&!A[q.calendar.id].on&&z(null);},[A,q,z]),{view:w,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,getDaygridNavProps:()=>({locale:d,handlePrev:I,handleNext:J,handleToday:H,handleView:K,todayInView:j,range:O,view:w}),getDaygridTableProps:()=>({locale:d,events:C,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,handlePrev:I,handleNext:J,calendarsMap:A,range:O,view:w}),getLegendProps:()=>({calendarsMap:A,toggleCalendarVisibility:E})}};
8
+
9
+ exports.useCalendar = useCalendar;
@@ -1,15 +1,29 @@
1
- import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav.js";
2
- import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable.js";
3
- import type { KoineCalendarLegendProps } from "./CalendarLegend.js";
4
- import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types.js";
1
+ import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav";
2
+ import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable";
3
+ import type { KoineCalendarLegendProps } from "./CalendarLegend";
4
+ import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types";
5
5
  export type UseCalendarProps = {
6
+ /** The locale to format with `date-fns` */
6
7
  locale: string;
8
+ /** Calendars infos to use */
7
9
  calendars: Calendars;
10
+ /** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
8
11
  apiKey?: string;
12
+ /** The key is the event `uid` */
9
13
  events?: CalendarEventsMap;
14
+ /** It defaults to the first of the current month */
10
15
  start?: Date;
16
+ /** It defaults to the last day of the current month */
11
17
  end?: Date;
18
+ /**
19
+ * The calendar view
20
+ * @default "month"
21
+ */
12
22
  view?: CalendarView;
23
+ /**
24
+ * The default is the time zone of the calendar
25
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
26
+ */
13
27
  timeZone?: string;
14
28
  onError?: (e: any) => void;
15
29
  };
@@ -23,7 +37,7 @@ export type CalendarsUpdateActionVisibility = {
23
37
  payload: string | string[];
24
38
  };
25
39
  export type CalendarsUpdateAction = CalendarsUpdateActionEvents | CalendarsUpdateActionVisibility;
26
- export declare function useCalendar({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps): {
40
+ export declare let useCalendar: ({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps) => {
27
41
  view: "month" | "week";
28
42
  eventClicked: CalendarEvent | null;
29
43
  setEventClicked: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
@@ -0,0 +1,7 @@
1
+ import { useState, useReducer, useCallback, useEffect } from 'react';
2
+ import { getCalendarsEventsFromGoogle } from './calendar-api-google.esm.js';
3
+ import { getStartDate, getEndDate, isTodayInView, getPrevDate, getNextDate } from './utils.esm.js';
4
+
5
+ let useCalendar=({locale:d,apiKey:c,calendars:p,events:g,start:m,end:y,view:v="month",timeZone:f="",onError:b})=>{let[w,T]=useState(v),D=m||getStartDate(new Date,w),h=y||getEndDate(D,w),[O,P]=useState([D,h]),[j,x]=useState(isTodayInView(D,h)),[C,L]=useState(g||{}),[N,k]=useState(null),[q,z]=useState(null),[A,B]=useReducer((e,t)=>{let{type:l}=t;switch(l){case"events":{let l=t.payload;return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,events:l[t]||0},e),{})}case"visibility":{let l=t.payload;if("string"==typeof l)return {...e,[l]:{...e[l],on:!e[l].on}};return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,on:l.indexOf(t)>-1},e),{})}default:return e}},p.reduce((e,t)=>(e[t.id]={...t,name:t.name||"",on:!0,events:0},e),{})),E=useCallback(e=>{B({type:"visibility",payload:e});},[B]),F=useCallback(e=>{let t={};for(let l in e){let{id:n}=e[l].calendar;t[n]=t[n]||0,t[n]++;}B({type:"events",payload:t});},[]),G=useCallback(async(e,t,l)=>{try{let n=await getCalendarsEventsFromGoogle({apiKey:c,calendars:e,timeZone:f,start:t,end:l});L(n);}catch(e){b&&b(e);}},[L,c,f,b]),H=useCallback(()=>{let[e,t]=O,l=getStartDate(new Date,w),n=getEndDate(l,w);P([l,n]),(e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null));},[w,O]),I=useCallback(()=>{P(([e])=>{let t=getPrevDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=useCallback(()=>{P(([e])=>{let t=getNextDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=useCallback(e=>{let t=getStartDate(D,e),l=getEndDate(t,e);P([t,l]),T(e),z(null),k(null);},[D]);return useEffect(()=>{let[e,t]=O;G(p,e,t),x(isTodayInView(e,t));},[O]),useEffect(()=>{C&&F(C);},[C,F]),useEffect(()=>{q&&!A[q.calendar.id].on&&z(null);},[A,q,z]),{view:w,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,getDaygridNavProps:()=>({locale:d,handlePrev:I,handleNext:J,handleToday:H,handleView:K,todayInView:j,range:O,view:w}),getDaygridTableProps:()=>({locale:d,events:C,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,handlePrev:I,handleNext:J,calendarsMap:A,range:O,view:w}),getLegendProps:()=>({calendarsMap:A,toggleCalendarVisibility:E})}};
6
+
7
+ export { useCalendar };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ let useDateLocale=(a,l="en")=>{let[r,n]=react.useState(),[o,c]=react.useState(l);return react.useEffect(()=>{let e=async()=>{let e=await import('date-fns/locale/en-US');c(a||o),n(e.enUS);};a!==o&&e();},[a,o]),r};
6
+
7
+ exports.useDateLocale = useDateLocale;
@@ -0,0 +1,8 @@
1
+ import type { Locale } from "date-fns";
2
+ /**
3
+ * Dynamically import the date-fns correct locale
4
+ *
5
+ * Inspired by:
6
+ * @see https://robertmarshall.dev/blog/dynamically-import-datefns-locale-mui-datepicker-localization/
7
+ */
8
+ export declare let useDateLocale: (locale?: string, defaultLocale?: string) => Locale | undefined;
@@ -0,0 +1,5 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ let useDateLocale=(a,l="en")=>{let[r,n]=useState(),[o,c]=useState(l);return useEffect(()=>{let e=async()=>{let e=await import('date-fns/locale/en-US');c(a||o),n(e.enUS);};a!==o&&e();},[a,o]),r};
4
+
5
+ export { useDateLocale };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var addDays = require('date-fns/addDays');
4
+ var addMonths = require('date-fns/addMonths');
5
+ var addWeeks = require('date-fns/addWeeks');
6
+ var endOfMonth = require('date-fns/endOfMonth');
7
+ var endOfWeek = require('date-fns/endOfWeek');
8
+ var isWithinInterval = require('date-fns/isWithinInterval');
9
+ var startOfWeek = require('date-fns/startOfWeek');
10
+ var subMonths = require('date-fns/subMonths');
11
+ var subWeeks = require('date-fns/subWeeks');
12
+
13
+ let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=startOfWeek.startOfWeek(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth.endOfMonth(e):"week"===t&&(r=endOfWeek.endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths.subMonths(e,1):subWeeks.subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths.addMonths(e,1):addWeeks.addWeeks(e,1);let isTodayInView=(e,t)=>isWithinInterval.isWithinInterval(new Date,{start:e,end:t});let addCalendarEvents=(e,t)=>{for(let r in e){let a=e[r];t[r]=a;}return t};let i=e=>{let t={};for(let r in e){let a=e[r];a.days.forEach(e=>{t[e]=t[e]||{},t[e][r]=a;});}return t},d=e=>{let t=[];for(let r in e)t.push(e[r]);return t.sort((e,t)=>{let r=Number(t.multi)-Number(e.multi),a=Number(t.allDay)-Number(e.allDay),n=e.start.getTime()-t.start.getTime(),s=e.created.getTime()-t.created.getTime();return r||a||n||s}),t};let processEventsInView=(t,r,a,n)=>{let s=i(t),o=d(t),l=new Date,m=getEventTimestamp(l),p={},f=[];for(let t=0;t<n.length;t++){let i={props:{key:`week.${t}`},days:[]},d=n[t],u=d.getDate(),g=getEventTimestamp(new Date(d)),h=getEventTimestamp(addDays.addDays(new Date(d),6));for(let e=0;e<7;e++){let t=new Date(new Date(d).setDate(u+e)),n=getEventTimestamp(t),f={$isToday:m===n,$isOutOfRange:"month"===r&&t.getMonth()!==a},v={props:{key:`day.${n}`,...f},timestamp:n+"",label:t.getDate()+"",events:[]};if(s?.[n]){let t=Object.keys(s[n]).map(()=>0);for(let r=0;r<o.length;r++){let a;let s=o[r],m=1,i=0;if(s.daysMap[n]){if(s.multi&&(m=s.days.filter(e=>e>=g&&e<=h).length,(0===s.days.indexOf(n)||0===e)&&(a=!0)),p[s.uid])i=p[s.uid];else for(let e=0;e<t.length;e++)if(1!==t[e]){i=e;break}t[i]=1,a&&(p[s.uid]=i),v.events.push({key:`event.${n}-${i}`,...f,...s,isPast:l>s.end,firstOfMulti:a,top:i,width:m});}}for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:!0,top:e});v.events.sort((e,t)=>e.top-t.top);}i.days.push(v);}f.push(i);}return f};
14
+
15
+ exports.addCalendarEvents = addCalendarEvents;
16
+ exports.getDisplayTime = getDisplayTime;
17
+ exports.getEndDate = getEndDate;
18
+ exports.getEventTimestamp = getEventTimestamp;
19
+ exports.getNextDate = getNextDate;
20
+ exports.getPrevDate = getPrevDate;
21
+ exports.getStartDate = getStartDate;
22
+ exports.isTodayInView = isTodayInView;
23
+ exports.processEventsInView = processEventsInView;