@koine/react 2.0.0-beta.11 → 2.0.0-beta.111

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 (612) hide show
  1. package/FaviconTags.cjs.d.ts +2 -0
  2. package/FaviconTags.cjs.default.js +1 -0
  3. package/FaviconTags.cjs.js +19 -0
  4. package/FaviconTags.cjs.mjs +2 -0
  5. package/FaviconTags.d.ts +1 -11
  6. package/FaviconTags.esm.js +14 -0
  7. package/Meta.cjs.d.ts +2 -0
  8. package/Meta.cjs.default.js +1 -0
  9. package/Meta.cjs.js +19 -0
  10. package/Meta.cjs.mjs +2 -0
  11. package/Meta.d.ts +5 -0
  12. package/Meta.esm.js +14 -0
  13. package/NoJs.cjs.d.ts +2 -0
  14. package/NoJs.cjs.default.js +1 -0
  15. package/NoJs.cjs.js +10 -0
  16. package/NoJs.cjs.mjs +2 -0
  17. package/NoJs.d.ts +3 -0
  18. package/NoJs.esm.js +5 -0
  19. package/Polymorphic.cjs.d.ts +1 -0
  20. package/Polymorphic.cjs.default.js +1 -0
  21. package/Polymorphic.cjs.js +2 -0
  22. package/Polymorphic.cjs.mjs +2 -0
  23. package/Polymorphic.d.ts +26 -0
  24. package/Polymorphic.esm.js +1 -0
  25. package/{Calendar → calendar}/CalendarDaygridCell.d.ts +2 -3
  26. package/{Calendar → calendar}/CalendarDaygridNav.d.ts +1 -1
  27. package/{Calendar → calendar}/CalendarDaygridTable.d.ts +2 -2
  28. package/{Calendar → calendar}/CalendarLegend.d.ts +1 -2
  29. package/calendar/calendar-api-google.d.ts +10 -0
  30. package/{Calendar → calendar}/types.d.ts +0 -19
  31. package/{Calendar → calendar}/useCalendar.d.ts +1 -16
  32. package/calendar/useDateLocale.d.ts +2 -0
  33. package/calendar/utils.d.ts +11 -0
  34. package/calendar.cjs.d.ts +1 -0
  35. package/calendar.cjs.default.js +1 -0
  36. package/calendar.cjs.js +151 -0
  37. package/calendar.cjs.mjs +2 -0
  38. package/calendar.d.ts +7 -0
  39. package/calendar.esm.js +124 -0
  40. package/classed.cjs.d.ts +2 -0
  41. package/classed.cjs.default.js +1 -0
  42. package/classed.cjs.js +51 -0
  43. package/classed.cjs.mjs +2 -0
  44. package/classed.d.ts +8 -0
  45. package/classed.esm.js +46 -0
  46. package/createUseMediaQueryWidth.cjs.d.ts +2 -0
  47. package/createUseMediaQueryWidth.cjs.default.js +1 -0
  48. package/createUseMediaQueryWidth.cjs.js +26 -0
  49. package/createUseMediaQueryWidth.cjs.mjs +2 -0
  50. package/createUseMediaQueryWidth.d.ts +6 -0
  51. package/createUseMediaQueryWidth.esm.js +21 -0
  52. package/extendComponent.cjs.d.ts +2 -0
  53. package/extendComponent.cjs.default.js +1 -0
  54. package/extendComponent.cjs.js +14 -0
  55. package/extendComponent.cjs.mjs +2 -0
  56. package/{helpers/extend-component.d.ts → extendComponent.d.ts} +1 -13
  57. package/extendComponent.esm.js +9 -0
  58. package/forms/antispam.d.ts +27 -0
  59. package/forms.cjs.d.ts +1 -0
  60. package/forms.cjs.default.js +1 -0
  61. package/forms.cjs.js +37 -0
  62. package/forms.cjs.mjs +2 -0
  63. package/forms.d.ts +1 -0
  64. package/forms.esm.js +32 -0
  65. package/index.cjs.d.ts +1 -0
  66. package/index.cjs.default.js +1 -0
  67. package/index.cjs.js +63 -0
  68. package/index.cjs.mjs +2 -0
  69. package/index.d.ts +28 -1
  70. package/index.esm.js +30 -0
  71. package/mergeRefs.cjs.d.ts +2 -0
  72. package/mergeRefs.cjs.default.js +1 -0
  73. package/mergeRefs.cjs.js +8 -0
  74. package/mergeRefs.cjs.mjs +2 -0
  75. package/mergeRefs.d.ts +2 -0
  76. package/mergeRefs.esm.js +3 -0
  77. package/package.json +169 -47
  78. package/{Img/index.d.ts → types.cjs.d.ts} +0 -0
  79. package/types.cjs.default.js +1 -0
  80. package/types.cjs.js +2 -0
  81. package/types.cjs.mjs +2 -0
  82. package/types.d.ts +0 -8
  83. package/types.esm.js +1 -0
  84. package/useAsyncFn.cjs.d.ts +2 -0
  85. package/useAsyncFn.cjs.default.js +1 -0
  86. package/useAsyncFn.cjs.js +14 -0
  87. package/useAsyncFn.cjs.mjs +2 -0
  88. package/{hooks/useAsyncFn.d.ts → useAsyncFn.d.ts} +3 -5
  89. package/useAsyncFn.esm.js +9 -0
  90. package/useFirstMountState.cjs.d.ts +2 -0
  91. package/useFirstMountState.cjs.default.js +1 -0
  92. package/useFirstMountState.cjs.js +12 -0
  93. package/useFirstMountState.cjs.mjs +2 -0
  94. package/useFirstMountState.d.ts +2 -0
  95. package/useFirstMountState.esm.js +7 -0
  96. package/useFixedOffset.cjs.d.ts +2 -0
  97. package/useFixedOffset.cjs.default.js +1 -0
  98. package/useFixedOffset.cjs.js +24 -0
  99. package/useFixedOffset.cjs.mjs +2 -0
  100. package/useFixedOffset.d.ts +2 -0
  101. package/useFixedOffset.esm.js +19 -0
  102. package/useFocus.cjs.d.ts +2 -0
  103. package/useFocus.cjs.default.js +1 -0
  104. package/useFocus.cjs.js +12 -0
  105. package/useFocus.cjs.mjs +2 -0
  106. package/useFocus.d.ts +2 -0
  107. package/useFocus.esm.js +7 -0
  108. package/useInterval.cjs.d.ts +2 -0
  109. package/useInterval.cjs.default.js +1 -0
  110. package/useInterval.cjs.js +16 -0
  111. package/useInterval.cjs.mjs +2 -0
  112. package/useInterval.d.ts +2 -0
  113. package/useInterval.esm.js +11 -0
  114. package/useIsomorphicLayoutEffect.cjs.d.ts +2 -0
  115. package/useIsomorphicLayoutEffect.cjs.default.js +1 -0
  116. package/useIsomorphicLayoutEffect.cjs.js +13 -0
  117. package/useIsomorphicLayoutEffect.cjs.mjs +2 -0
  118. package/useIsomorphicLayoutEffect.d.ts +3 -0
  119. package/useIsomorphicLayoutEffect.esm.js +8 -0
  120. package/useKeyUp.cjs.d.ts +2 -0
  121. package/useKeyUp.cjs.default.js +1 -0
  122. package/useKeyUp.cjs.js +16 -0
  123. package/useKeyUp.cjs.mjs +2 -0
  124. package/useKeyUp.d.ts +2 -0
  125. package/useKeyUp.esm.js +11 -0
  126. package/useMeasure.cjs.d.ts +2 -0
  127. package/useMeasure.cjs.default.js +1 -0
  128. package/useMeasure.cjs.js +44 -0
  129. package/useMeasure.cjs.mjs +2 -0
  130. package/{hooks/useMeasure.d.ts → useMeasure.d.ts} +1 -6
  131. package/useMeasure.esm.js +39 -0
  132. package/useMountedState.cjs.d.ts +2 -0
  133. package/useMountedState.cjs.default.js +1 -0
  134. package/useMountedState.cjs.js +12 -0
  135. package/useMountedState.cjs.mjs +2 -0
  136. package/useMountedState.d.ts +2 -0
  137. package/useMountedState.esm.js +7 -0
  138. package/useNavigateAway.cjs.d.ts +2 -0
  139. package/useNavigateAway.cjs.default.js +1 -0
  140. package/useNavigateAway.cjs.js +57 -0
  141. package/useNavigateAway.cjs.mjs +2 -0
  142. package/useNavigateAway.d.ts +3 -0
  143. package/useNavigateAway.esm.js +52 -0
  144. package/usePrevious.cjs.d.ts +2 -0
  145. package/usePrevious.cjs.default.js +1 -0
  146. package/usePrevious.cjs.js +10 -0
  147. package/usePrevious.cjs.mjs +2 -0
  148. package/usePrevious.d.ts +2 -0
  149. package/usePrevious.esm.js +5 -0
  150. package/usePreviousRef.cjs.d.ts +2 -0
  151. package/usePreviousRef.cjs.default.js +1 -0
  152. package/usePreviousRef.cjs.js +10 -0
  153. package/usePreviousRef.cjs.mjs +2 -0
  154. package/usePreviousRef.d.ts +2 -0
  155. package/usePreviousRef.esm.js +5 -0
  156. package/useReveal.d.ts +13 -0
  157. package/useScrollPosition.cjs.d.ts +2 -0
  158. package/useScrollPosition.cjs.default.js +1 -0
  159. package/useScrollPosition.cjs.js +19 -0
  160. package/useScrollPosition.cjs.mjs +2 -0
  161. package/useScrollPosition.d.ts +7 -0
  162. package/useScrollPosition.esm.js +14 -0
  163. package/useScrollThreshold.cjs.d.ts +2 -0
  164. package/useScrollThreshold.cjs.default.js +1 -0
  165. package/useScrollThreshold.cjs.js +15 -0
  166. package/useScrollThreshold.cjs.mjs +2 -0
  167. package/useScrollThreshold.d.ts +2 -0
  168. package/useScrollThreshold.esm.js +10 -0
  169. package/useScrollTo.cjs.d.ts +2 -0
  170. package/useScrollTo.cjs.default.js +1 -0
  171. package/useScrollTo.cjs.js +12 -0
  172. package/useScrollTo.cjs.mjs +2 -0
  173. package/useScrollTo.d.ts +2 -0
  174. package/useScrollTo.esm.js +7 -0
  175. package/useSmoothScroll.cjs.d.ts +2 -0
  176. package/useSmoothScroll.cjs.default.js +1 -0
  177. package/useSmoothScroll.cjs.js +19 -0
  178. package/useSmoothScroll.cjs.mjs +2 -0
  179. package/useSmoothScroll.d.ts +2 -0
  180. package/useSmoothScroll.esm.js +14 -0
  181. package/useSpinDelay.cjs.d.ts +2 -0
  182. package/useSpinDelay.cjs.default.js +1 -0
  183. package/useSpinDelay.cjs.js +21 -0
  184. package/useSpinDelay.cjs.mjs +2 -0
  185. package/useSpinDelay.d.ts +2 -0
  186. package/useSpinDelay.esm.js +16 -0
  187. package/useTraceUpdate.cjs.d.ts +2 -0
  188. package/useTraceUpdate.cjs.default.js +1 -0
  189. package/useTraceUpdate.cjs.js +13 -0
  190. package/useTraceUpdate.cjs.mjs +2 -0
  191. package/useTraceUpdate.d.ts +2 -0
  192. package/useTraceUpdate.esm.js +8 -0
  193. package/useUpdateEffect.cjs.d.ts +2 -0
  194. package/useUpdateEffect.cjs.default.js +1 -0
  195. package/useUpdateEffect.cjs.js +14 -0
  196. package/useUpdateEffect.cjs.mjs +2 -0
  197. package/useUpdateEffect.d.ts +3 -0
  198. package/useUpdateEffect.esm.js +9 -0
  199. package/useWindowSize.cjs.d.ts +2 -0
  200. package/useWindowSize.cjs.default.js +1 -0
  201. package/useWindowSize.cjs.js +19 -0
  202. package/useWindowSize.cjs.mjs +2 -0
  203. package/useWindowSize.d.ts +3 -0
  204. package/useWindowSize.esm.js +14 -0
  205. package/Alert/Alert.d.ts +0 -5
  206. package/Alert/Alert.mjs +0 -22
  207. package/Alert/Alert.stories.mjs +0 -18
  208. package/Alert/index.d.ts +0 -1
  209. package/Alert/index.mjs +0 -1
  210. package/Animations/Reveal.d.ts +0 -4
  211. package/Animations/Reveal.mjs +0 -43
  212. package/Animations/Underline.d.ts +0 -1
  213. package/Animations/Underline.mjs +0 -15
  214. package/Animations/index.d.ts +0 -3
  215. package/Animations/index.mjs +0 -3
  216. package/Animations/useReveal.d.ts +0 -34
  217. package/Animations/useReveal.mjs +0 -73
  218. package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
  219. package/Autocomplete/AutocompleteDownshift.mjs +0 -157
  220. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
  221. package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
  222. package/Autocomplete/AutocompleteMui.d.ts +0 -47
  223. package/Autocomplete/AutocompleteMui.mjs +0 -219
  224. package/Autocomplete/AutocompleteReach.d.ts +0 -1
  225. package/Autocomplete/AutocompleteReach.mjs +0 -111
  226. package/Autocomplete/components.d.ts +0 -17
  227. package/Autocomplete/components.mjs +0 -87
  228. package/Autocomplete/helpers.d.ts +0 -3
  229. package/Autocomplete/helpers.mjs +0 -35
  230. package/Autocomplete/index.d.ts +0 -2
  231. package/Autocomplete/index.mjs +0 -4
  232. package/Bg/BgColor.d.ts +0 -31
  233. package/Bg/BgColor.mjs +0 -42
  234. package/Bg/BgPhoto.d.ts +0 -13
  235. package/Bg/BgPhoto.mjs +0 -71
  236. package/Bg/BgSvg.d.ts +0 -7
  237. package/Bg/BgSvg.mjs +0 -22
  238. package/Bg/index.d.ts +0 -3
  239. package/Bg/index.mjs +0 -3
  240. package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  241. package/Breadcrumbs/Breadcrumbs.mjs +0 -91
  242. package/Breadcrumbs/index.d.ts +0 -1
  243. package/Breadcrumbs/index.mjs +0 -1
  244. package/Buttons/Button.d.ts +0 -18
  245. package/Buttons/Button.mjs +0 -78
  246. package/Buttons/ButtonComposite.d.ts +0 -23
  247. package/Buttons/ButtonComposite.mjs +0 -105
  248. package/Buttons/ButtonFab.d.ts +0 -5
  249. package/Buttons/ButtonFab.mjs +0 -8
  250. package/Buttons/ButtonLink.d.ts +0 -8
  251. package/Buttons/ButtonLink.mjs +0 -18
  252. package/Buttons/IconButton.d.ts +0 -9
  253. package/Buttons/IconButton.mjs +0 -19
  254. package/Buttons/index.d.ts +0 -5
  255. package/Buttons/index.mjs +0 -5
  256. package/Calendar/CalendarDaygridCell.mjs +0 -95
  257. package/Calendar/CalendarDaygridNav.mjs +0 -52
  258. package/Calendar/CalendarDaygridTable.mjs +0 -115
  259. package/Calendar/CalendarLegend.mjs +0 -29
  260. package/Calendar/calendar-api-google.d.ts +0 -18
  261. package/Calendar/calendar-api-google.mjs +0 -99
  262. package/Calendar/index.d.ts +0 -6
  263. package/Calendar/index.mjs +0 -6
  264. package/Calendar/types.mjs +0 -1
  265. package/Calendar/useCalendar.mjs +0 -225
  266. package/Calendar/utils.d.ts +0 -11
  267. package/Calendar/utils.mjs +0 -209
  268. package/Carousel/Carousel.d.ts +0 -1
  269. package/Carousel/Carousel.mjs +0 -377
  270. package/Carousel/CarouselCss.d.ts +0 -35
  271. package/Carousel/CarouselCss.mjs +0 -44
  272. package/Carousel/index.d.ts +0 -1
  273. package/Carousel/index.mjs +0 -1
  274. package/Collapsable/Collapsable.d.ts +0 -1
  275. package/Collapsable/Collapsable.mjs +0 -1
  276. package/Collapsable/CollapsableReach.d.ts +0 -6
  277. package/Collapsable/CollapsableReach.mjs +0 -250
  278. package/Collapsable/index.d.ts +0 -1
  279. package/Collapsable/index.mjs +0 -1
  280. package/Debug/Debug.d.ts +0 -4
  281. package/Debug/Debug.mjs +0 -23
  282. package/Debug/index.d.ts +0 -1
  283. package/Debug/index.mjs +0 -1
  284. package/Details/Details.d.ts +0 -404
  285. package/Details/Details.mjs +0 -90
  286. package/Details/Details.stories.mjs +0 -21
  287. package/Details/index.d.ts +0 -1
  288. package/Details/index.mjs +0 -1
  289. package/Dialog/DialogMui.d.ts +0 -167
  290. package/Dialog/DialogMui.mjs +0 -105
  291. package/Dialog/DialogMui.stories.mjs +0 -20
  292. package/Dialog/css/bare.d.ts +0 -172
  293. package/Dialog/css/bare.mjs +0 -19
  294. package/Dialog/css/index.stories.mjs +0 -75
  295. package/Dialog/index.d.ts +0 -2
  296. package/Dialog/index.mjs +0 -1
  297. package/Dialog/m/bare.d.ts +0 -4
  298. package/Dialog/m/bare.mjs +0 -115
  299. package/Dialog/m/basic.d.ts +0 -4
  300. package/Dialog/m/basic.mjs +0 -31
  301. package/Dialog/m/index.d.ts +0 -3
  302. package/Dialog/m/index.mjs +0 -4
  303. package/Dialog/sc/bare.d.ts +0 -71
  304. package/Dialog/sc/bare.mjs +0 -54
  305. package/Dialog/sc/framer.d.ts +0 -25
  306. package/Dialog/sc/framer.mjs +0 -16
  307. package/Dialog/sc/framerMaterial.d.ts +0 -24
  308. package/Dialog/sc/framerMaterial.mjs +0 -16
  309. package/Dialog/sc/index.stories.mjs +0 -48
  310. package/Dialog/sc/material.d.ts +0 -61
  311. package/Dialog/sc/material.mjs +0 -41
  312. package/Dialog/tw/bare.d.ts +0 -223
  313. package/Dialog/tw/bare.mjs +0 -29
  314. package/Dialog/tw/elegant.d.ts +0 -271
  315. package/Dialog/tw/elegant.mjs +0 -18
  316. package/Dialog/tw/framer.d.ts +0 -109
  317. package/Dialog/tw/framer.mjs +0 -16
  318. package/Dialog/tw/framerMaterial.d.ts +0 -164
  319. package/Dialog/tw/framerMaterial.mjs +0 -16
  320. package/Dialog/tw/index.stories.mjs +0 -83
  321. package/Dialog/tw/material.d.ts +0 -271
  322. package/Dialog/tw/material.mjs +0 -18
  323. package/Editor/Editor--tiptap.d.ts +0 -9
  324. package/Editor/Editor--tiptap.mjs +0 -53
  325. package/Editor/components.d.ts +0 -5
  326. package/Editor/components.mjs +0 -28
  327. package/Editor/index.d.ts +0 -1
  328. package/Editor/index.mjs +0 -1
  329. package/FaviconTags.mjs +0 -64
  330. package/Form/Form.d.ts +0 -138
  331. package/Form/Form.mjs +0 -95
  332. package/Form/index.d.ts +0 -1
  333. package/Form/index.mjs +0 -1
  334. package/Form/sc/bare.d.ts +0 -58
  335. package/Form/sc/bare.mjs +0 -29
  336. package/Forms/Checkbox/Checkbox.d.ts +0 -11
  337. package/Forms/Checkbox/Checkbox.mjs +0 -36
  338. package/Forms/Checkbox/index.d.ts +0 -1
  339. package/Forms/Checkbox/index.mjs +0 -1
  340. package/Forms/Feedback/Feedback.d.ts +0 -5
  341. package/Forms/Feedback/Feedback.mjs +0 -14
  342. package/Forms/Feedback/index.d.ts +0 -1
  343. package/Forms/Feedback/index.mjs +0 -1
  344. package/Forms/Field/Field.d.ts +0 -36
  345. package/Forms/Field/Field.mjs +0 -50
  346. package/Forms/Field/FieldControl.d.ts +0 -26
  347. package/Forms/Field/FieldControl.mjs +0 -67
  348. package/Forms/Field/FieldHint.d.ts +0 -1
  349. package/Forms/Field/FieldHint.mjs +0 -6
  350. package/Forms/Field/index.d.ts +0 -2
  351. package/Forms/Field/index.mjs +0 -2
  352. package/Forms/Input/Input.d.ts +0 -9
  353. package/Forms/Input/Input.mjs +0 -36
  354. package/Forms/Input/index.d.ts +0 -1
  355. package/Forms/Input/index.mjs +0 -1
  356. package/Forms/InputGroup/InputGroup.d.ts +0 -13
  357. package/Forms/InputGroup/InputGroup.mjs +0 -57
  358. package/Forms/InputGroup/index.d.ts +0 -1
  359. package/Forms/InputGroup/index.mjs +0 -1
  360. package/Forms/Label/Label.d.ts +0 -3
  361. package/Forms/Label/Label.mjs +0 -24
  362. package/Forms/Label/index.d.ts +0 -1
  363. package/Forms/Label/index.mjs +0 -1
  364. package/Forms/Password/Password.d.ts +0 -5
  365. package/Forms/Password/Password.mjs +0 -53
  366. package/Forms/Password/index.d.ts +0 -1
  367. package/Forms/Password/index.mjs +0 -1
  368. package/Forms/Radio/Radio.d.ts +0 -12
  369. package/Forms/Radio/Radio.mjs +0 -57
  370. package/Forms/Radio/index.d.ts +0 -1
  371. package/Forms/Radio/index.mjs +0 -1
  372. package/Forms/Switch/Switch.d.ts +0 -9
  373. package/Forms/Switch/Switch.mjs +0 -60
  374. package/Forms/Switch/index.d.ts +0 -1
  375. package/Forms/Switch/index.mjs +0 -1
  376. package/Forms/Textarea/Textarea.d.ts +0 -5
  377. package/Forms/Textarea/Textarea.mjs +0 -26
  378. package/Forms/Textarea/TextareaRich.d.ts +0 -6
  379. package/Forms/Textarea/TextareaRich.mjs +0 -48
  380. package/Forms/Textarea/index.d.ts +0 -2
  381. package/Forms/Textarea/index.mjs +0 -2
  382. package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
  383. package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
  384. package/Forms/Toggle/Toggle.d.ts +0 -19
  385. package/Forms/Toggle/Toggle.mjs +0 -123
  386. package/Forms/Toggle/index.d.ts +0 -1
  387. package/Forms/Toggle/index.mjs +0 -1
  388. package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
  389. package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
  390. package/Forms/Toggle/useToggle.d.ts +0 -46
  391. package/Forms/Toggle/useToggle.mjs +0 -163
  392. package/Forms/antispam.d.ts +0 -47
  393. package/Forms/antispam.mjs +0 -58
  394. package/Forms/helpers.d.ts +0 -26
  395. package/Forms/helpers.mjs +0 -52
  396. package/Forms/index.d.ts +0 -15
  397. package/Forms/index.mjs +0 -16
  398. package/Forms/styles.d.ts +0 -15
  399. package/Forms/styles.mjs +0 -61
  400. package/Gauge/Gauge.d.ts +0 -5
  401. package/Gauge/Gauge.mjs +0 -101
  402. package/Grid/Grid.d.ts +0 -41
  403. package/Grid/Grid.mjs +0 -75
  404. package/Grid/index.d.ts +0 -1
  405. package/Grid/index.mjs +0 -1
  406. package/Hamburger/Hamburger.d.ts +0 -6
  407. package/Hamburger/Hamburger.mjs +0 -79
  408. package/Hamburger/index.d.ts +0 -1
  409. package/Hamburger/index.mjs +0 -1
  410. package/Header/index.d.ts +0 -1
  411. package/Header/index.mjs +0 -1
  412. package/Header/useHeader.d.ts +0 -24
  413. package/Header/useHeader.mjs +0 -36
  414. package/Hidden/Hidden.d.ts +0 -6
  415. package/Hidden/Hidden.mjs +0 -10
  416. package/Hidden/index.d.ts +0 -1
  417. package/Hidden/index.mjs +0 -1
  418. package/Img/index.mjs +0 -1
  419. package/Img/sc/bare.d.ts +0 -2
  420. package/Img/sc/bare.mjs +0 -36
  421. package/Img/types.d.ts +0 -9
  422. package/Img/types.mjs +0 -1
  423. package/Link/Link.d.ts +0 -3
  424. package/Link/Link.mjs +0 -2
  425. package/Link/LinkBlank.d.ts +0 -5
  426. package/Link/LinkBlank.mjs +0 -32
  427. package/Link/index.d.ts +0 -2
  428. package/Link/index.mjs +0 -2
  429. package/Menu/Menu.d.ts +0 -1
  430. package/Menu/Menu.mjs +0 -11
  431. package/Menu/MenuMui.d.ts +0 -0
  432. package/Menu/MenuMui.mjs +0 -164
  433. package/Menu/index.d.ts +0 -1
  434. package/Menu/index.mjs +0 -1
  435. package/MenuItem/MenuItem.d.ts +0 -1
  436. package/MenuItem/MenuItem.mjs +0 -20
  437. package/MenuItem/MenuItemMui.d.ts +0 -0
  438. package/MenuItem/MenuItemMui.mjs +0 -31
  439. package/MenuItem/index.d.ts +0 -1
  440. package/MenuItem/index.mjs +0 -1
  441. package/MenuItem/useMenuItem.d.ts +0 -9
  442. package/MenuItem/useMenuItem.mjs +0 -78
  443. package/Meta/Meta.d.ts +0 -15
  444. package/Meta/Meta.mjs +0 -8
  445. package/Meta/index.d.ts +0 -2
  446. package/Meta/index.mjs +0 -2
  447. package/NoJs/NoJs.d.ts +0 -3
  448. package/NoJs/NoJs.mjs +0 -10
  449. package/NoJs/index.d.ts +0 -2
  450. package/NoJs/index.mjs +0 -2
  451. package/Pagination/PaginationNav.d.ts +0 -22
  452. package/Pagination/PaginationNav.mjs +0 -122
  453. package/Pagination/PaginationResults.d.ts +0 -3
  454. package/Pagination/PaginationResults.mjs +0 -34
  455. package/Pagination/index.d.ts +0 -2
  456. package/Pagination/index.mjs +0 -2
  457. package/Pill/Pill.d.ts +0 -5
  458. package/Pill/Pill.mjs +0 -37
  459. package/Pill/index.d.ts +0 -1
  460. package/Pill/index.mjs +0 -1
  461. package/Progress/ProgressCircular.d.ts +0 -19
  462. package/Progress/ProgressCircular.mjs +0 -53
  463. package/Progress/ProgressLinear.d.ts +0 -22
  464. package/Progress/ProgressLinear.mjs +0 -44
  465. package/Progress/ProgressOverlay.d.ts +0 -4
  466. package/Progress/ProgressOverlay.mjs +0 -64
  467. package/Progress/index.d.ts +0 -3
  468. package/Progress/index.mjs +0 -3
  469. package/Rating/Rating.d.ts +0 -35
  470. package/Rating/Rating.mjs +0 -154
  471. package/Rating/index.d.ts +0 -11
  472. package/Rating/index.mjs +0 -62
  473. package/Select/SelectDownshift.d.ts +0 -5
  474. package/Select/SelectDownshift.mjs +0 -37
  475. package/Select/components.d.ts +0 -6
  476. package/Select/components.mjs +0 -25
  477. package/Select/index.d.ts +0 -2
  478. package/Select/index.mjs +0 -2
  479. package/Sidebar/Sidebar.d.ts +0 -3
  480. package/Sidebar/Sidebar.mjs +0 -63
  481. package/Sidebar/index.d.ts +0 -1
  482. package/Sidebar/index.mjs +0 -1
  483. package/Spacing/Spacing.d.ts +0 -30
  484. package/Spacing/Spacing.mjs +0 -55
  485. package/Spacing/index.d.ts +0 -1
  486. package/Spacing/index.mjs +0 -1
  487. package/Sticky/Sticky.d.ts +0 -2
  488. package/Sticky/Sticky.mjs +0 -218
  489. package/Sticky/StickyCss.d.ts +0 -5
  490. package/Sticky/StickyCss.mjs +0 -10
  491. package/Sticky/index.d.ts +0 -1
  492. package/Sticky/index.mjs +0 -1
  493. package/Tabs/TabsMui.d.ts +0 -85
  494. package/Tabs/TabsMui.mjs +0 -61
  495. package/Tabs/TabsMui.stories.mjs +0 -20
  496. package/Tabs/index.d.ts +0 -1
  497. package/Tabs/index.mjs +0 -1
  498. package/Tabs/sc/bare.d.ts +0 -5
  499. package/Tabs/sc/bare.mjs +0 -85
  500. package/Tabs/sc/index.stories.mjs +0 -0
  501. package/Tabs/tw/bare.d.ts +0 -86
  502. package/Tabs/tw/bare.mjs +0 -15
  503. package/Tabs/tw/index.stories.mjs +0 -25
  504. package/Tabs/tw/material.d.ts +0 -119
  505. package/Tabs/tw/material.mjs +0 -14
  506. package/Tabs/useTabs.d.ts +0 -43
  507. package/Tabs/useTabs.mjs +0 -46
  508. package/Typography/CopyPasteVisible.d.ts +0 -1
  509. package/Typography/CopyPasteVisible.mjs +0 -6
  510. package/Typography/Native.d.ts +0 -10
  511. package/Typography/Native.mjs +0 -47
  512. package/Typography/ReadMore.d.ts +0 -12
  513. package/Typography/ReadMore.mjs +0 -114
  514. package/Typography/TextLoop.d.ts +0 -16
  515. package/Typography/TextLoop.mjs +0 -90
  516. package/Typography/TypeStairs.d.ts +0 -6
  517. package/Typography/TypeStairs.mjs +0 -61
  518. package/Typography/index.d.ts +0 -5
  519. package/Typography/index.mjs +0 -5
  520. package/css/index.d.ts +0 -2
  521. package/css/index.mjs +0 -30
  522. package/helpers/classed.d.ts +0 -27
  523. package/helpers/classed.mjs +0 -65
  524. package/helpers/classed.stories.mjs +0 -121
  525. package/helpers/createUseMediaQueryWidth.d.ts +0 -12
  526. package/helpers/createUseMediaQueryWidth.mjs +0 -178
  527. package/helpers/extend-component.mjs +0 -13
  528. package/helpers/index.d.ts +0 -4
  529. package/helpers/index.mjs +0 -4
  530. package/helpers/mergeRefs.d.ts +0 -3
  531. package/helpers/mergeRefs.mjs +0 -12
  532. package/hooks/index.d.ts +0 -20
  533. package/hooks/index.mjs +0 -21
  534. package/hooks/types.d.ts +0 -8
  535. package/hooks/types.mjs +0 -3
  536. package/hooks/useAsyncFn.mjs +0 -39
  537. package/hooks/useDateLocale.d.ts +0 -8
  538. package/hooks/useDateLocale.mjs +0 -37
  539. package/hooks/useFirstMountState.d.ts +0 -5
  540. package/hooks/useFirstMountState.mjs +0 -12
  541. package/hooks/useFixedOffset.d.ts +0 -12
  542. package/hooks/useFixedOffset.mjs +0 -56
  543. package/hooks/useFocus.d.ts +0 -6
  544. package/hooks/useFocus.mjs +0 -14
  545. package/hooks/useInterval.d.ts +0 -7
  546. package/hooks/useInterval.mjs +0 -29
  547. package/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
  548. package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
  549. package/hooks/useKeyUp.d.ts +0 -2
  550. package/hooks/useKeyUp.mjs +0 -21
  551. package/hooks/useMeasure.mjs +0 -174
  552. package/hooks/useMountedState.d.ts +0 -5
  553. package/hooks/useMountedState.mjs +0 -15
  554. package/hooks/useNavigateAway.d.ts +0 -32
  555. package/hooks/useNavigateAway.mjs +0 -69
  556. package/hooks/usePrevious.d.ts +0 -5
  557. package/hooks/usePrevious.mjs +0 -17
  558. package/hooks/usePreviousRef.d.ts +0 -2
  559. package/hooks/usePreviousRef.mjs +0 -9
  560. package/hooks/useScrollPosition.d.ts +0 -15
  561. package/hooks/useScrollPosition.mjs +0 -70
  562. package/hooks/useScrollThreshold.d.ts +0 -2
  563. package/hooks/useScrollThreshold.mjs +0 -33
  564. package/hooks/useScrollTo.d.ts +0 -2
  565. package/hooks/useScrollTo.mjs +0 -20
  566. package/hooks/useSmoothScroll.d.ts +0 -8
  567. package/hooks/useSmoothScroll.mjs +0 -35
  568. package/hooks/useSpinDelay.d.ts +0 -14
  569. package/hooks/useSpinDelay.mjs +0 -52
  570. package/hooks/useTraceUpdate.d.ts +0 -5
  571. package/hooks/useTraceUpdate.mjs +0 -23
  572. package/hooks/useUpdateEffect.d.ts +0 -6
  573. package/hooks/useUpdateEffect.mjs +0 -14
  574. package/hooks/useWindowSize.d.ts +0 -12
  575. package/hooks/useWindowSize.mjs +0 -32
  576. package/index.mjs +0 -4
  577. package/m/MotionProvider.d.ts +0 -38
  578. package/m/MotionProvider.mjs +0 -40
  579. package/m/index.d.ts +0 -6
  580. package/m/index.mjs +0 -5
  581. package/m/lite.d.ts +0 -2
  582. package/m/lite.mjs +0 -2
  583. package/m/max.d.ts +0 -2
  584. package/m/max.mjs +0 -2
  585. package/sc/index.d.ts +0 -30
  586. package/sc/index.mjs +0 -31
  587. package/scm/index.d.ts +0 -29
  588. package/scm/index.mjs +0 -31
  589. package/shared/index.d.ts +0 -8
  590. package/shared/index.mjs +0 -43
  591. package/styles/Body.d.ts +0 -10
  592. package/styles/Body.mjs +0 -16
  593. package/styles/Global.d.ts +0 -15
  594. package/styles/Global.mjs +0 -49
  595. package/styles/index.d.ts +0 -7
  596. package/styles/index.mjs +0 -7
  597. package/styles/media.d.ts +0 -67
  598. package/styles/media.mjs +0 -151
  599. package/styles/spacing.d.ts +0 -13
  600. package/styles/spacing.mjs +0 -46
  601. package/styles/styled.d.ts +0 -12
  602. package/styles/styled.mjs +0 -26
  603. package/styles/theme--vanilla.d.ts +0 -17
  604. package/styles/theme--vanilla.mjs +0 -65
  605. package/styles/theme.d.ts +0 -82
  606. package/styles/theme.mjs +0 -38
  607. package/tw/index.d.ts +0 -2
  608. package/tw/index.mjs +0 -30
  609. package/twm/index.d.ts +0 -2
  610. package/twm/index.mjs +0 -30
  611. package/types.mjs +0 -1
  612. package/typings.d.ts +0 -99
@@ -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,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ /**
8
+ * Favicon tags.
9
+ *
10
+ * This component is meant to be wrapped in a `<head>` manager component.
11
+ *
12
+ * These tags have been produced by [realfavicongenerator.net](https://realfavicongenerator.net/)
13
+ * on _**16 Feb 2022**_.
14
+ *
15
+ * @see https://realfavicongenerator.net/
16
+ */let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>/*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[/*#__PURE__*/jsxRuntime.jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),/*#__PURE__*/jsxRuntime.jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),/*#__PURE__*/jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),/*#__PURE__*/jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),/*#__PURE__*/jsxRuntime.jsx("link",{rel:"manifest",href:"/site.webmanifest"}),/*#__PURE__*/jsxRuntime.jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),/*#__PURE__*/jsxRuntime.jsx("meta",{name:"apple-mobile-web-app-title",content:a}),/*#__PURE__*/jsxRuntime.jsx("meta",{name:"application-name",content:a}),/*#__PURE__*/jsxRuntime.jsx("meta",{name:"msapplication-TileColor",content:c||t}),/*#__PURE__*/jsxRuntime.jsx("meta",{name:"theme-color",content:l||t})]});
17
+
18
+ exports.FaviconTags = FaviconTags;
19
+ 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,15 +5,5 @@ export type FaviconTagsProps = {
5
5
  tileColor?: string;
6
6
  themeColor?: string;
7
7
  };
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 const FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare let FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
19
9
  export default FaviconTags;
@@ -0,0 +1,14 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * Favicon tags.
5
+ *
6
+ * This component is meant to be wrapped in a `<head>` manager component.
7
+ *
8
+ * These tags have been produced by [realfavicongenerator.net](https://realfavicongenerator.net/)
9
+ * on _**16 Feb 2022**_.
10
+ *
11
+ * @see https://realfavicongenerator.net/
12
+ */let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>/*#__PURE__*/jsxs(Fragment,{children:[/*#__PURE__*/jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),/*#__PURE__*/jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),/*#__PURE__*/jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),/*#__PURE__*/jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),/*#__PURE__*/jsx("link",{rel:"manifest",href:"/site.webmanifest"}),/*#__PURE__*/jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),/*#__PURE__*/jsx("meta",{name:"apple-mobile-web-app-title",content:a}),/*#__PURE__*/jsx("meta",{name:"application-name",content:a}),/*#__PURE__*/jsx("meta",{name:"msapplication-TileColor",content:c||t}),/*#__PURE__*/jsx("meta",{name:"theme-color",content:l||t})]});
13
+
14
+ 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,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ /**
8
+ * Determines whether `user-scalable=0` is add to the `meta->viewport` content
9
+ *
10
+ * This is an opt in instead of the default browser behaviour as it helps prevent
11
+ * weird zooming on input fields on iPhone iOS devices.
12
+ * @see https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/
13
+ * @see https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/
14
+ *
15
+ * @default false
16
+ */let Meta=({zoom:t})=>/*#__PURE__*/jsxRuntime.jsx("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});
17
+
18
+ exports.Meta = Meta;
19
+ 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 ADDED
@@ -0,0 +1,5 @@
1
+ export type MetaProps = {
2
+ zoom?: boolean;
3
+ };
4
+ export declare let Meta: ({ zoom }: MetaProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default Meta;
package/Meta.esm.js ADDED
@@ -0,0 +1,14 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * Determines whether `user-scalable=0` is add to the `meta->viewport` content
5
+ *
6
+ * This is an opt in instead of the default browser behaviour as it helps prevent
7
+ * weird zooming on input fields on iPhone iOS devices.
8
+ * @see https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/
9
+ * @see https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/
10
+ *
11
+ * @default false
12
+ */let Meta=({zoom:t})=>/*#__PURE__*/jsx("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});
13
+
14
+ 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=>/*#__PURE__*/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 ADDED
@@ -0,0 +1,3 @@
1
+ export type NoJsProps = Record<string, never>;
2
+ export declare let NoJs: (_props: NoJsProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default NoJs;
package/NoJs.esm.js ADDED
@@ -0,0 +1,5 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ let NoJs=t=>/*#__PURE__*/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,26 @@
1
+ export declare namespace Polymorphic {
2
+ type Merge<P1 = Record<string, never>, P2 = Record<string, never>> = Omit<P1, keyof P2> & P2;
3
+ type ComponentTypes = React.ComponentClass<any> | React.FunctionComponent<any> | keyof JSX.IntrinsicElements;
4
+ 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;
5
+ type AsProp<TComponent extends React.ElementType> = {
6
+ as?: TComponent;
7
+ };
8
+ export type Ref<TComponent extends React.ElementType> = React.ComponentPropsWithRef<TComponent>["ref"];
9
+ export type Props<TComponent extends React.ElementType, Props = Record<string, never>> = Omit<InferProps<TComponent>, keyof Props> & AsProp<TComponent> & Props;
10
+ export type PropsWithRef<TComponent extends React.ElementType, TProps = Record<string, never>> = Props<TComponent, TProps> & {
11
+ ref?: Ref<TComponent>;
12
+ };
13
+ type ForwardRefExoticComponent<TComponent, OwnProps> = React.ForwardRefExoticComponent<Merge<TComponent extends React.ElementType ? React.ComponentPropsWithRef<TComponent> : never, OwnProps & {
14
+ as?: TComponent;
15
+ }>>;
16
+ export type ComponentForwarded<TComponent, TProps = Record<string, never>> = ForwardRefExoticComponent<TComponent, TProps> & {
17
+ <As = TComponent>(props: As extends "" ? {
18
+ as: keyof JSX.IntrinsicElements;
19
+ } : As extends React.ComponentType<infer P> ? Merge<P, TProps & {
20
+ as: As;
21
+ }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], TProps & {
22
+ as: As;
23
+ }> : never): React.ReactElement | null;
24
+ };
25
+ export {};
26
+ }
@@ -0,0 +1 @@
1
+
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import type { KoineComponent, KoineComponentProps } from "../types";
3
2
  import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types";
4
- import { UseCalendarReturn } from "./useCalendar";
3
+ import type { UseCalendarReturn } from "./useCalendar";
5
4
  export type KoineCalendarDaygridCellProps = {
6
5
  eventClicked?: UseCalendarReturn["eventClicked"];
7
6
  setEventClicked: UseCalendarReturn["setEventClicked"];
@@ -33,4 +32,4 @@ export type CalendarDaygridCellComponents = {
33
32
  CellEventStart?: KoineComponent;
34
33
  };
35
34
  export type CalendarDaygridCellProps = KoineComponentProps<KoineCalendarDaygridCellProps, CalendarDaygridCellComponents>;
36
- 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;
@@ -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;
@@ -1,5 +1,5 @@
1
1
  import type { KoineComponent, KoineComponentProps } from "../types";
2
- import { CalendarDaygridCellComponents, CalendarDaygridCellProps } from "./CalendarDaygridCell";
2
+ import { type CalendarDaygridCellComponents, type CalendarDaygridCellProps } from "./CalendarDaygridCell";
3
3
  import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types";
4
4
  export type CalendarDaygridTableBodyCellProps = CalendarViewDayProps;
5
5
  export type CalendarDaygridTableBodyCellDateProps = CalendarViewDayProps;
@@ -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;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { KoineComponent, KoineComponentProps } from "../types";
3
2
  import type { CalendarsMap } from "./types";
4
3
  export type KoineCalendarLegendProps = {
@@ -16,4 +15,4 @@ export type CalendarLegendProps = KoineComponentProps<KoineCalendarLegendProps,
16
15
  LegendItemLabel?: KoineComponent;
17
16
  LegendItemEvents?: KoineComponent;
18
17
  }>;
19
- 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,10 @@
1
+ import type { CalendarEventsMap, Calendars } from "./types";
2
+ type GetCalendarsEventsFromGoogleOptions = {
3
+ apiKey?: string;
4
+ start: Date;
5
+ end: Date;
6
+ timeZone?: string;
7
+ calendars: Calendars;
8
+ };
9
+ export declare let getCalendarsEventsFromGoogle: ({ calendars, ...options }: GetCalendarsEventsFromGoogleOptions) => Promise<CalendarEventsMap>;
10
+ export {};
@@ -1,10 +1,6 @@
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
- */
8
4
  name?: string;
9
5
  };
10
6
  export type Calendars = Calendar[];
@@ -16,17 +12,8 @@ export type CalendarRange = [Date, Date];
16
12
  export type CalendarView = "month" | "week";
17
13
  export type CalendarEvent = {
18
14
  calendar: Calendar;
19
- /**
20
- * List of day timestamps across which the event spans
21
- */
22
15
  days: number[];
23
- /**
24
- * Lookup object for day timestamps across which the event spans
25
- */
26
16
  daysMap: Record<number, 1>;
27
- /**
28
- * Flag for events that spans across multiple days
29
- */
30
17
  multi: boolean;
31
18
  allDay: boolean;
32
19
  link: string;
@@ -40,13 +27,7 @@ export type CalendarEvent = {
40
27
  description: string;
41
28
  uid: string;
42
29
  };
43
- /**
44
- * Calendar events mapped by day `timestamp` number
45
- */
46
30
  export type CalendarEventsByTimestamp = Record<number, CalendarEventsMap>;
47
- /**
48
- * Calendar events map by `uid`
49
- */
50
31
  export type CalendarEventsMap = Record<CalendarEvent["uid"], CalendarEvent>;
51
32
  export type CalendarViewWeeks = CalendarViewWeek[];
52
33
  export type CalendarViewWeek = {
@@ -1,30 +1,15 @@
1
- /// <reference types="react" />
2
1
  import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav";
3
2
  import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable";
4
3
  import type { KoineCalendarLegendProps } from "./CalendarLegend";
5
4
  import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types";
6
5
  export type UseCalendarProps = {
7
- /** The locale to format with `date-fns` */
8
6
  locale: string;
9
- /** Calendars infos to use */
10
7
  calendars: Calendars;
11
- /** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
12
8
  apiKey?: string;
13
- /** The key is the event `uid` */
14
9
  events?: CalendarEventsMap;
15
- /** It defaults to the first of the current month */
16
10
  start?: Date;
17
- /** It defaults to the last day of the current month */
18
11
  end?: Date;
19
- /**
20
- * The calendar view
21
- * @default "month"
22
- */
23
12
  view?: CalendarView;
24
- /**
25
- * The default is the time zone of the calendar
26
- * @see https://developers.google.com/calendar/api/v3/reference/events/list
27
- */
28
13
  timeZone?: string;
29
14
  onError?: (e: any) => void;
30
15
  };
@@ -38,7 +23,7 @@ export type CalendarsUpdateActionVisibility = {
38
23
  payload: string | string[];
39
24
  };
40
25
  export type CalendarsUpdateAction = CalendarsUpdateActionEvents | CalendarsUpdateActionVisibility;
41
- export declare function useCalendar({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps): {
26
+ export declare let useCalendar: ({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps) => {
42
27
  view: "month" | "week";
43
28
  eventClicked: CalendarEvent | null;
44
29
  setEventClicked: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
@@ -0,0 +1,2 @@
1
+ import type { Locale } from "date-fns";
2
+ export declare let useDateLocale: (locale?: string, defaultLocale?: string) => Locale | undefined;
@@ -0,0 +1,11 @@
1
+ import type { CalendarEventsMap, CalendarView, CalendarViewWeeks } from "./types";
2
+ export declare let getEventTimestamp: (dateLike: number | Date | string) => number;
3
+ export declare let getDisplayTime: (date: Date) => string;
4
+ export declare let getStartDate: (date: Date, view: CalendarView) => Date;
5
+ export declare let getEndDate: (start: Date, view: CalendarView) => Date;
6
+ export declare let getPrevDate: (date: Date, view: CalendarView) => Date;
7
+ export declare let getNextDate: (date: Date, view: CalendarView) => Date;
8
+ export declare let isTodayInView: (start: Date, end: Date) => boolean;
9
+ export declare let mergeCalendarEvents: (first: CalendarEventsMap, second: CalendarEventsMap) => CalendarEventsMap;
10
+ export declare let addCalendarEvents: (toAdd: CalendarEventsMap, toExtend: CalendarEventsMap) => CalendarEventsMap;
11
+ export declare let processEventsInView: (eventsMap: CalendarEventsMap, calendarView: CalendarView, month: number, weeks: Date[]) => CalendarViewWeeks;
@@ -0,0 +1 @@
1
+ export * from "./calendar";
@@ -0,0 +1 @@
1
+ exports._default = require('./calendar.cjs.js').default;
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var addDays = require('date-fns/addDays');
8
+ var addMonths = require('date-fns/addMonths');
9
+ var addWeeks = require('date-fns/addWeeks');
10
+ var endOfMonth = require('date-fns/endOfMonth');
11
+ var endOfWeek = require('date-fns/endOfWeek');
12
+ var isWithinInterval = require('date-fns/isWithinInterval');
13
+ var startOfWeek = require('date-fns/startOfWeek');
14
+ var subMonths = require('date-fns/subMonths');
15
+ var subWeeks = require('date-fns/subWeeks');
16
+ var format = require('date-fns/format');
17
+ var eachWeekOfInterval = require('date-fns/eachWeekOfInterval');
18
+ var reactSwipeable = require('react-swipeable');
19
+ var differenceInDays = require('date-fns/differenceInDays');
20
+ var subDays = require('date-fns/subDays');
21
+ var utils = require('@koine/utils');
22
+
23
+ function _interopNamespace(e) {
24
+ if (e && e.__esModule) return e;
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n["default"] = e;
38
+ return Object.freeze(n);
39
+ }
40
+
41
+ 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$1=e=>{let t=[];for(let r in e)t.push(e[r]);return(// sort events first multi, then all day then by start then by created date
42
+ 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$1(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:[]};// check that we have events in this day
43
+ 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 we already have the information on when the event has been
44
+ // vertically positioned use that index
45
+ if(// only for multi days events:
46
+ s.multi&&(// filter out the days outside of the current week view to avoid
47
+ // making a multi-days event chip wider than the week row or shorter
48
+ // than it should be (when event spans across weeks)
49
+ m=s.days.filter(e=>e>=g&&e<=h).length,// flag the first day of multi-days events, consider that an event
50
+ // might start in a day earlier (hence outside) of the current
51
+ // week/month view, so we always check for Mondays (dayNumber === 0)
52
+ (0===s.days.indexOf(n)||0===e)&&(a=!0)),p[s.uid])i=p[s.uid];else // now look for a free slot and use its index as `top`
53
+ for(let e=0;e<t.length;e++)if(1!==t[e]){i=e;break}// now mark the slot as busy
54
+ t[i]=1,// store the slot vertical position consistently for multi-days events
55
+ a&&(p[s.uid]=i),// push the event, they will be sorted later
56
+ v.events.push({key:`event.${n}-${i}`,...f,...s,isPast:l>s.end,firstOfMulti:a,top:i,width:m});}}// fill the empty slots with events' placeholders
57
+ for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:!0,top:e});// sort events and events placeholders by top position
58
+ v.events.sort((e,t)=>e.top-t.top);}i.days.push(v);}f.push(i);}return f};
59
+
60
+ /**
61
+ * TODO: include in this lib utilities like in https://github.com/react-icons/react-icons/blob/master/packages/react-icons/src/iconBase.tsx
62
+ *
63
+ * this is the `MdAdd` icon from `react-icons`
64
+ */let d=l=>/*#__PURE__*/jsxRuntime.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[/*#__PURE__*/jsxRuntime.jsx("path",{d:"M0 0h24v24H0z"}),/*#__PURE__*/jsxRuntime.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),/**
65
+ * Style for button within a event cell
66
+ *
67
+ * Here we might differentiate week/month view where the first does not get
68
+ * ellipsed btn texts, with `Start` as block element and underneath the `Title`
69
+ * on multiple lines, but that would mean that we loose the ability to interweave
70
+ * single-day events among the spaces left by wider multi-days events.
71
+ */o$1={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,// eventHovered,
72
+ 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 /*#__PURE__*/jsxRuntime.jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return /*#__PURE__*/jsxRuntime.jsxs(y,{onClick:()=>M(!0),children:[/*#__PURE__*/jsxRuntime.jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return /*#__PURE__*/jsxRuntime.jsx(react.Fragment,{children:/*#__PURE__*/jsxRuntime.jsx($,{$placeholder:!0,children:/*#__PURE__*/jsxRuntime.jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:/*#__PURE__*/jsxRuntime.jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,// to cover the following event days
73
+ position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||// @ts-expect-error nevermind
74
+ (o$1.display="none");let k={$view:c,$selected:a?.uid===t.uid,$past:t.isPast,$color:t.color,$isOutOfRange:t.$isOutOfRange,$isToday:t.$isToday};return /*#__PURE__*/jsxRuntime.jsx(react.Fragment,{children:/*#__PURE__*/jsxRuntime.jsx($,{style:f,...k,children:/*#__PURE__*/jsxRuntime.jsx(m,{role:"button",style:o$1,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?/*#__PURE__*/jsxRuntime.jsx(w,{children:t.title}):/*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[/*#__PURE__*/jsxRuntime.jsx(g,{children:getDisplayTime(t.start)}),/*#__PURE__*/jsxRuntime.jsx(w,{children:t.title})]})})})},t.key)})})};/* {i === events.length - 1 && isExpanded ? (
75
+ <CellOverflow onClick={() => expand(false)}>
76
+ <IconCollapse />
77
+ Show less
78
+ </CellOverflow>
79
+ ) : null} */
80
+
81
+ /**
82
+ * Dynamically import the date-fns correct locale
83
+ *
84
+ * Inspired by:
85
+ * @see https://robertmarshall.dev/blog/dynamically-import-datefns-locale-mui-datepicker-localization/
86
+ */let useDateLocale=(a,l="en")=>{let[r,n]=react.useState(),[o,c]=react.useState(l);return(// const [ready, setReady] = useState(false);
87
+ // If the user changes the locale listen to the change and import the locale that is now required.
88
+ react.useEffect(()=>{let e=async()=>{// This webpack option stops all of the date-fns files being imported and chunked.
89
+ // NB: this makes unnecessary numerous webpack chunks in applications
90
+ // that do not even use this hook, so we comment out the webpack dynamic
91
+ // import and its magic comment
92
+ // const localeToSet = await import(
93
+ // /FIXME: * webpackMode: "lazy", webpackChunkName: "df-[index]", webpackExclude: /_lib/ */
94
+ // `date-fns/locale/${locale}/index.js`,
95
+ // );
96
+ let e=await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('date-fns/locale/en-US')); });c(a||o),n(e.enUS);};// setReady(true);
97
+ // If the locale has not yet been loaded.
98
+ a!==o&&e();},[a,o]),r)};
99
+
100
+ 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.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)}`),/*#__PURE__*/jsxRuntime.jsxs(m,{children:[/*#__PURE__*/jsxRuntime.jsxs(b,{children:[/*#__PURE__*/jsxRuntime.jsx(k,{onClick:i}),/*#__PURE__*/jsxRuntime.jsx(u,{onClick:M}),/*#__PURE__*/jsxRuntime.jsx(h,{onClick:d,disabled:r}),/*#__PURE__*/jsxRuntime.jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),/*#__PURE__*/jsxRuntime.jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),/*#__PURE__*/jsxRuntime.jsx(s,{range:a,formatted:x})]})};
101
+
102
+ 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})=>// ...props
103
+ {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([]),// const [days, setDays] = useState(dayLabels || [...Array(7).keys()]);
104
+ G=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(processEventsInView(h,b,H,J));},[h,b,H,J]),react.useEffect(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(// @ts-expect-error nevermind
105
+ e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),/*#__PURE__*/jsxRuntime.jsxs(C,{...N,children:[/*#__PURE__*/jsxRuntime.jsx(D,{children:/*#__PURE__*/jsxRuntime.jsx("tr",{children:A.map(t=>/*#__PURE__*/jsxRuntime.jsx(S,{scope:"column",children:t},t))})}),/*#__PURE__*/jsxRuntime.jsx(k,{children:E.map((r,a)=>/*#__PURE__*/jsxRuntime.jsx(z,{...r.props,children:r.days.map(r=>/*#__PURE__*/jsxRuntime.jsxs(L,{...r.props,children:[/*#__PURE__*/jsxRuntime.jsx(O,{...r.props,children:r.label}),r.events.length>0&&/*#__PURE__*/jsxRuntime.jsx(CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
106
+
107
+ let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>// const sorted = Object.entries(calendarsMap).sort((a, b) => {
108
+ // const { name: nameA } = a[1];
109
+ // const { name: nameB } = b[1];
110
+ // if (nameA < nameB) return -1;
111
+ // else if (nameA > nameB) return 1;
112
+ // else return 0;
113
+ // });
114
+ /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(a).map(([r,a])=>/*#__PURE__*/jsxRuntime.jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[/*#__PURE__*/jsxRuntime.jsx(i,{children:a.on?"⬤":"⭘"}),/*#__PURE__*/jsxRuntime.jsx(l,{children:a.name}),/*#__PURE__*/jsxRuntime.jsx(t,{children:a.events})]},"CalendarLegend."+r))});
115
+
116
+ /** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY *//** Start gethering events from date *//** End gethering events at date *//**
117
+ * The default is the time zone of the calendar
118
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
119
+ *//** The calendars settings */let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{addCalendarEvents(await o({calendar:e,...t}),a);})),a};/** The calendar settings */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=/**
120
+ * Google event as it comes from Google's API
121
+ *//**
122
+ * Google calendar as it comes from Google's API
123
+ *//**
124
+ * Google event's date as it comes from Google's API
125
+ *//** When the event is "all day" we have `date` instead of `dateTime` */"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.isUndefined(i.end.dateTime)&&utils.isString(i.end.date),p=i.location||"",D=i.description||"",// FIXME: he.decode(event.description || '');
126
+ h=m.getTime()+""+u.getTime();// multi-days all day events has as end date the date after to what we actually
127
+ // mean, hence we subtract one day. @see https://support.google.com/calendar/thread/10074544/google-calendar-all-day-events-are-showing-up-as-a-24-hr-event-across-time-zones?hl=en
128
+ 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=[getEventTimestamp(t)];for(;differenceInDays.differenceInDays(a,t);)// console.log(title, differenceInDays(to, from))
129
+ t.setDate(t.getDate()+1),n.push(getEventTimestamp(t));return n}(),E=utils.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){}// if (onError) onError(e);
130
+ return c}
131
+
132
+ /** The locale to format with `date-fns` *//** Calendars infos to use *//** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY *//** The key is the event `uid` *//** It defaults to the first of the current month *//** It defaults to the last day of the current month *//**
133
+ * The calendar view
134
+ * @default "month"
135
+ *//**
136
+ * The default is the time zone of the calendar
137
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
138
+ */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||getStartDate(new Date,w),h=y||getEndDate(D,w),[O,P]=react.useState([D,h]),[j,x]=react.useState(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}},// initial state
139
+ 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 getCalendarsEventsFromGoogle({apiKey:c,calendars:e,timeZone:f,start:t,end:l});// setEvents(mergeCalendarEvents(events, newEvents));
140
+ L(n);}catch(e){b&&b(e);}},[L,c,f,b]),H=react.useCallback(()=>{let[e,t]=O,l=getStartDate(new Date,w),n=getEndDate(l,w);P([l,n]),// reset event only if we are not on the current view already
141
+ (e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null));},[w,O]),I=react.useCallback(()=>{P(([e])=>{let t=getPrevDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=react.useCallback(()=>{P(([e])=>{let t=getNextDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=react.useCallback(e=>{let t=getStartDate(D,e),l=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(isTodayInView(e,t));},// eslint-disable-next-line react-hooks/exhaustive-deps
142
+ [O]),react.useEffect(()=>{C&&F(C);},[C,F]),// when toggling a calendar we also remove the clicked event if that belongs
143
+ // to a now hidden calendar
144
+ 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})}};
145
+
146
+ exports.CalendarDaygridCell = CalendarDaygridCell;
147
+ exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
148
+ exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
149
+ exports.KoineCalendarLegend = KoineCalendarLegend;
150
+ exports.useCalendar = useCalendar;
151
+ exports.useDateLocale = useDateLocale;
@@ -0,0 +1,2 @@
1
+ export * from './calendar.cjs.js';
2
+ export { _default as default } from './calendar.cjs.default.js';
package/calendar.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from "./calendar/CalendarDaygridCell";
2
+ export * from "./calendar/CalendarDaygridNav";
3
+ export * from "./calendar/CalendarDaygridTable";
4
+ export * from "./calendar/CalendarLegend";
5
+ export * from "./calendar/useCalendar";
6
+ export * from "./calendar/useDateLocale";
7
+ export * from "./calendar/types";