@koine/react 2.0.0-beta.7 → 2.0.0-beta.71

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 (667) hide show
  1. package/{Calendar → calendar}/CalendarDaygridCell.d.ts +2 -3
  2. package/{Calendar → calendar}/CalendarDaygridNav.d.ts +1 -1
  3. package/{Calendar → calendar}/CalendarDaygridTable.d.ts +2 -2
  4. package/{Calendar → calendar}/CalendarLegend.d.ts +1 -2
  5. package/calendar/calendar-api-google.d.ts +10 -0
  6. package/{Calendar → calendar}/types.d.ts +0 -19
  7. package/{Calendar → calendar}/useCalendar.d.ts +1 -16
  8. package/calendar/useDateLocale.d.ts +2 -0
  9. package/calendar/utils.d.ts +11 -0
  10. package/calendar.cjs.d.ts +1 -0
  11. package/calendar.cjs.default.js +1 -0
  12. package/calendar.cjs.js +62 -0
  13. package/calendar.cjs.mjs +2 -0
  14. package/calendar.d.ts +7 -0
  15. package/calendar.esm.js +35 -0
  16. package/components/FaviconTags.d.ts +8 -0
  17. package/components/Meta.d.ts +4 -0
  18. package/components/NoJs.d.ts +2 -0
  19. package/forms/antispam.d.ts +27 -0
  20. package/forms.cjs.d.ts +1 -0
  21. package/forms.cjs.default.js +1 -0
  22. package/forms.cjs.js +11 -0
  23. package/forms.cjs.mjs +2 -0
  24. package/forms.d.ts +1 -0
  25. package/forms.esm.js +6 -0
  26. package/hooks/index.d.ts +0 -1
  27. package/hooks/useAsyncFn.d.ts +4 -6
  28. package/hooks/useFirstMountState.d.ts +1 -5
  29. package/hooks/useFixedOffset.d.ts +1 -12
  30. package/hooks/useFocus.d.ts +1 -6
  31. package/hooks/useInterval.d.ts +1 -7
  32. package/hooks/useIsomorphicLayoutEffect.d.ts +2 -6
  33. package/hooks/useKeyUp.d.ts +1 -2
  34. package/hooks/useMeasure.d.ts +2 -7
  35. package/hooks/useMountedState.d.ts +1 -5
  36. package/hooks/useNavigateAway.d.ts +1 -31
  37. package/hooks/usePrevious.d.ts +1 -5
  38. package/hooks/usePreviousRef.d.ts +1 -2
  39. package/hooks/useReveal.d.ts +12 -0
  40. package/hooks/useScrollPosition.d.ts +2 -10
  41. package/hooks/useScrollThreshold.d.ts +1 -2
  42. package/hooks/useScrollTo.d.ts +1 -2
  43. package/hooks/useSmoothScroll.d.ts +1 -8
  44. package/hooks/useSpinDelay.d.ts +1 -14
  45. package/hooks/useTraceUpdate.d.ts +1 -5
  46. package/hooks/useUpdateEffect.d.ts +1 -5
  47. package/hooks/useWindowSize.d.ts +2 -12
  48. package/index.cjs.d.ts +1 -0
  49. package/index.cjs.default.js +1 -0
  50. package/index.cjs.js +77 -0
  51. package/index.cjs.mjs +2 -0
  52. package/index.d.ts +3 -1
  53. package/index.esm.js +51 -0
  54. package/package.json +30 -38
  55. package/types.d.ts +0 -8
  56. package/utils/Polymorphic.d.ts +26 -0
  57. package/utils/classed.d.ts +8 -0
  58. package/utils/createUseMediaQueryWidth.d.ts +6 -0
  59. package/{helpers/extend-component.d.ts → utils/extendComponent.d.ts} +2 -14
  60. package/utils/index.d.ts +5 -0
  61. package/utils/mergeRefs.d.ts +1 -0
  62. package/Alert/Alert.d.ts +0 -5
  63. package/Alert/Alert.js +0 -33
  64. package/Alert/Alert.mjs +0 -22
  65. package/Alert/Alert.stories.js +0 -39
  66. package/Alert/Alert.stories.mjs +0 -18
  67. package/Alert/index.d.ts +0 -1
  68. package/Alert/index.js +0 -6
  69. package/Alert/index.mjs +0 -1
  70. package/Animations/Reveal.d.ts +0 -4
  71. package/Animations/Reveal.js +0 -53
  72. package/Animations/Reveal.mjs +0 -43
  73. package/Animations/Underline.d.ts +0 -1
  74. package/Animations/Underline.js +0 -26
  75. package/Animations/Underline.mjs +0 -15
  76. package/Animations/index.d.ts +0 -3
  77. package/Animations/index.js +0 -8
  78. package/Animations/index.mjs +0 -3
  79. package/Animations/useReveal.d.ts +0 -34
  80. package/Animations/useReveal.js +0 -83
  81. package/Animations/useReveal.mjs +0 -73
  82. package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
  83. package/Autocomplete/AutocompleteDownshift.js +0 -167
  84. package/Autocomplete/AutocompleteDownshift.mjs +0 -157
  85. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
  86. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -362
  87. package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
  88. package/Autocomplete/AutocompleteMui.d.ts +0 -47
  89. package/Autocomplete/AutocompleteMui.js +0 -183
  90. package/Autocomplete/AutocompleteMui.mjs +0 -219
  91. package/Autocomplete/AutocompleteReach.d.ts +0 -1
  92. package/Autocomplete/AutocompleteReach.js +0 -121
  93. package/Autocomplete/AutocompleteReach.mjs +0 -111
  94. package/Autocomplete/components.d.ts +0 -17
  95. package/Autocomplete/components.js +0 -132
  96. package/Autocomplete/components.mjs +0 -87
  97. package/Autocomplete/helpers.d.ts +0 -3
  98. package/Autocomplete/helpers.js +0 -34
  99. package/Autocomplete/helpers.mjs +0 -35
  100. package/Autocomplete/index.d.ts +0 -2
  101. package/Autocomplete/index.js +0 -15
  102. package/Autocomplete/index.mjs +0 -4
  103. package/Bg/BgColor.d.ts +0 -31
  104. package/Bg/BgColor.js +0 -64
  105. package/Bg/BgColor.mjs +0 -42
  106. package/Bg/BgPhoto.d.ts +0 -13
  107. package/Bg/BgPhoto.js +0 -82
  108. package/Bg/BgPhoto.mjs +0 -71
  109. package/Bg/BgSvg.d.ts +0 -7
  110. package/Bg/BgSvg.js +0 -31
  111. package/Bg/BgSvg.mjs +0 -22
  112. package/Bg/index.d.ts +0 -3
  113. package/Bg/index.js +0 -8
  114. package/Bg/index.mjs +0 -3
  115. package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  116. package/Breadcrumbs/Breadcrumbs.js +0 -103
  117. package/Breadcrumbs/Breadcrumbs.mjs +0 -91
  118. package/Breadcrumbs/index.d.ts +0 -1
  119. package/Breadcrumbs/index.js +0 -6
  120. package/Breadcrumbs/index.mjs +0 -1
  121. package/Buttons/Button.d.ts +0 -18
  122. package/Buttons/Button.js +0 -106
  123. package/Buttons/Button.mjs +0 -78
  124. package/Buttons/ButtonComposite.d.ts +0 -23
  125. package/Buttons/ButtonComposite.js +0 -116
  126. package/Buttons/ButtonComposite.mjs +0 -105
  127. package/Buttons/ButtonFab.d.ts +0 -5
  128. package/Buttons/ButtonFab.js +0 -27
  129. package/Buttons/ButtonFab.mjs +0 -8
  130. package/Buttons/ButtonLink.d.ts +0 -8
  131. package/Buttons/ButtonLink.js +0 -29
  132. package/Buttons/ButtonLink.mjs +0 -18
  133. package/Buttons/IconButton.d.ts +0 -9
  134. package/Buttons/IconButton.js +0 -41
  135. package/Buttons/IconButton.mjs +0 -19
  136. package/Buttons/index.d.ts +0 -5
  137. package/Buttons/index.js +0 -10
  138. package/Buttons/index.mjs +0 -5
  139. package/Calendar/CalendarDaygridCell.js +0 -105
  140. package/Calendar/CalendarDaygridCell.mjs +0 -95
  141. package/Calendar/CalendarDaygridNav.js +0 -63
  142. package/Calendar/CalendarDaygridNav.mjs +0 -52
  143. package/Calendar/CalendarDaygridTable.js +0 -126
  144. package/Calendar/CalendarDaygridTable.mjs +0 -115
  145. package/Calendar/CalendarLegend.js +0 -39
  146. package/Calendar/CalendarLegend.mjs +0 -29
  147. package/Calendar/calendar-api-google.d.ts +0 -18
  148. package/Calendar/calendar-api-google.js +0 -110
  149. package/Calendar/calendar-api-google.mjs +0 -99
  150. package/Calendar/index.d.ts +0 -6
  151. package/Calendar/index.js +0 -11
  152. package/Calendar/index.mjs +0 -6
  153. package/Calendar/types.js +0 -4
  154. package/Calendar/types.mjs +0 -1
  155. package/Calendar/useCalendar.js +0 -235
  156. package/Calendar/useCalendar.mjs +0 -225
  157. package/Calendar/utils.d.ts +0 -11
  158. package/Calendar/utils.js +0 -252
  159. package/Calendar/utils.mjs +0 -209
  160. package/Carousel/Carousel.d.ts +0 -1
  161. package/Carousel/Carousel.js +0 -387
  162. package/Carousel/Carousel.mjs +0 -377
  163. package/Carousel/CarouselCss.d.ts +0 -35
  164. package/Carousel/CarouselCss.js +0 -64
  165. package/Carousel/CarouselCss.mjs +0 -44
  166. package/Carousel/index.d.ts +0 -1
  167. package/Carousel/index.js +0 -6
  168. package/Carousel/index.mjs +0 -1
  169. package/Collapsable/Collapsable.d.ts +0 -1
  170. package/Collapsable/Collapsable.js +0 -11
  171. package/Collapsable/Collapsable.mjs +0 -1
  172. package/Collapsable/CollapsableReach.d.ts +0 -6
  173. package/Collapsable/CollapsableReach.js +0 -251
  174. package/Collapsable/CollapsableReach.mjs +0 -250
  175. package/Collapsable/index.d.ts +0 -1
  176. package/Collapsable/index.js +0 -7
  177. package/Collapsable/index.mjs +0 -1
  178. package/Debug/Debug.d.ts +0 -4
  179. package/Debug/Debug.js +0 -34
  180. package/Debug/Debug.mjs +0 -23
  181. package/Debug/index.d.ts +0 -1
  182. package/Debug/index.js +0 -6
  183. package/Debug/index.mjs +0 -1
  184. package/Details/Details.d.ts +0 -404
  185. package/Details/Details.js +0 -117
  186. package/Details/Details.mjs +0 -90
  187. package/Details/Details.stories.js +0 -39
  188. package/Details/Details.stories.mjs +0 -21
  189. package/Details/index.d.ts +0 -1
  190. package/Details/index.js +0 -6
  191. package/Details/index.mjs +0 -1
  192. package/Dialog/DialogMui.d.ts +0 -167
  193. package/Dialog/DialogMui.js +0 -143
  194. package/Dialog/DialogMui.mjs +0 -105
  195. package/Dialog/DialogMui.stories.js +0 -38
  196. package/Dialog/DialogMui.stories.mjs +0 -20
  197. package/Dialog/css/bare.d.ts +0 -172
  198. package/Dialog/css/bare.js +0 -55
  199. package/Dialog/css/bare.mjs +0 -19
  200. package/Dialog/css/index.stories.js +0 -93
  201. package/Dialog/css/index.stories.mjs +0 -75
  202. package/Dialog/index.d.ts +0 -2
  203. package/Dialog/index.js +0 -11
  204. package/Dialog/index.mjs +0 -1
  205. package/Dialog/m/bare.d.ts +0 -4
  206. package/Dialog/m/bare.js +0 -125
  207. package/Dialog/m/bare.mjs +0 -115
  208. package/Dialog/m/basic.d.ts +0 -4
  209. package/Dialog/m/basic.js +0 -50
  210. package/Dialog/m/basic.mjs +0 -31
  211. package/Dialog/m/index.d.ts +0 -3
  212. package/Dialog/m/index.js +0 -14
  213. package/Dialog/m/index.mjs +0 -4
  214. package/Dialog/sc/bare.d.ts +0 -71
  215. package/Dialog/sc/bare.js +0 -83
  216. package/Dialog/sc/bare.mjs +0 -54
  217. package/Dialog/sc/framer.d.ts +0 -25
  218. package/Dialog/sc/framer.js +0 -26
  219. package/Dialog/sc/framer.mjs +0 -16
  220. package/Dialog/sc/framerMaterial.d.ts +0 -24
  221. package/Dialog/sc/framerMaterial.js +0 -26
  222. package/Dialog/sc/framerMaterial.mjs +0 -16
  223. package/Dialog/sc/index.stories.js +0 -75
  224. package/Dialog/sc/index.stories.mjs +0 -48
  225. package/Dialog/sc/material.d.ts +0 -61
  226. package/Dialog/sc/material.js +0 -78
  227. package/Dialog/sc/material.mjs +0 -41
  228. package/Dialog/tw/bare.d.ts +0 -223
  229. package/Dialog/tw/bare.js +0 -55
  230. package/Dialog/tw/bare.mjs +0 -29
  231. package/Dialog/tw/elegant.d.ts +0 -271
  232. package/Dialog/tw/elegant.js +0 -54
  233. package/Dialog/tw/elegant.mjs +0 -18
  234. package/Dialog/tw/framer.d.ts +0 -109
  235. package/Dialog/tw/framer.js +0 -26
  236. package/Dialog/tw/framer.mjs +0 -16
  237. package/Dialog/tw/framerMaterial.d.ts +0 -164
  238. package/Dialog/tw/framerMaterial.js +0 -26
  239. package/Dialog/tw/framerMaterial.mjs +0 -16
  240. package/Dialog/tw/index.stories.js +0 -113
  241. package/Dialog/tw/index.stories.mjs +0 -83
  242. package/Dialog/tw/material.d.ts +0 -271
  243. package/Dialog/tw/material.js +0 -54
  244. package/Dialog/tw/material.mjs +0 -18
  245. package/Editor/Editor--tiptap.d.ts +0 -9
  246. package/Editor/Editor--tiptap.js +0 -72
  247. package/Editor/Editor--tiptap.mjs +0 -53
  248. package/Editor/components.d.ts +0 -5
  249. package/Editor/components.js +0 -59
  250. package/Editor/components.mjs +0 -28
  251. package/Editor/index.d.ts +0 -1
  252. package/Editor/index.js +0 -6
  253. package/Editor/index.mjs +0 -1
  254. package/FaviconTags.d.ts +0 -19
  255. package/FaviconTags.js +0 -73
  256. package/FaviconTags.mjs +0 -64
  257. package/Form/Form.d.ts +0 -138
  258. package/Form/Form.js +0 -130
  259. package/Form/Form.mjs +0 -95
  260. package/Form/index.d.ts +0 -1
  261. package/Form/index.js +0 -6
  262. package/Form/index.mjs +0 -1
  263. package/Form/sc/bare.d.ts +0 -58
  264. package/Form/sc/bare.js +0 -55
  265. package/Form/sc/bare.mjs +0 -29
  266. package/Forms/Checkbox/Checkbox.d.ts +0 -11
  267. package/Forms/Checkbox/Checkbox.js +0 -62
  268. package/Forms/Checkbox/Checkbox.mjs +0 -36
  269. package/Forms/Checkbox/index.d.ts +0 -1
  270. package/Forms/Checkbox/index.js +0 -6
  271. package/Forms/Checkbox/index.mjs +0 -1
  272. package/Forms/Feedback/Feedback.d.ts +0 -5
  273. package/Forms/Feedback/Feedback.js +0 -25
  274. package/Forms/Feedback/Feedback.mjs +0 -14
  275. package/Forms/Feedback/index.d.ts +0 -1
  276. package/Forms/Feedback/index.js +0 -6
  277. package/Forms/Feedback/index.mjs +0 -1
  278. package/Forms/Field/Field.d.ts +0 -36
  279. package/Forms/Field/Field.js +0 -75
  280. package/Forms/Field/Field.mjs +0 -50
  281. package/Forms/Field/FieldControl.d.ts +0 -26
  282. package/Forms/Field/FieldControl.js +0 -69
  283. package/Forms/Field/FieldControl.mjs +0 -67
  284. package/Forms/Field/FieldHint.d.ts +0 -1
  285. package/Forms/Field/FieldHint.js +0 -17
  286. package/Forms/Field/FieldHint.mjs +0 -6
  287. package/Forms/Field/index.d.ts +0 -2
  288. package/Forms/Field/index.js +0 -7
  289. package/Forms/Field/index.mjs +0 -2
  290. package/Forms/Input/Input.d.ts +0 -9
  291. package/Forms/Input/Input.js +0 -67
  292. package/Forms/Input/Input.mjs +0 -36
  293. package/Forms/Input/index.d.ts +0 -1
  294. package/Forms/Input/index.js +0 -6
  295. package/Forms/Input/index.mjs +0 -1
  296. package/Forms/InputGroup/InputGroup.d.ts +0 -13
  297. package/Forms/InputGroup/InputGroup.js +0 -85
  298. package/Forms/InputGroup/InputGroup.mjs +0 -57
  299. package/Forms/InputGroup/index.d.ts +0 -1
  300. package/Forms/InputGroup/index.js +0 -6
  301. package/Forms/InputGroup/index.mjs +0 -1
  302. package/Forms/Label/Label.d.ts +0 -3
  303. package/Forms/Label/Label.js +0 -46
  304. package/Forms/Label/Label.mjs +0 -24
  305. package/Forms/Label/index.d.ts +0 -1
  306. package/Forms/Label/index.js +0 -6
  307. package/Forms/Label/index.mjs +0 -1
  308. package/Forms/Password/Password.d.ts +0 -5
  309. package/Forms/Password/Password.js +0 -72
  310. package/Forms/Password/Password.mjs +0 -53
  311. package/Forms/Password/index.d.ts +0 -1
  312. package/Forms/Password/index.js +0 -6
  313. package/Forms/Password/index.mjs +0 -1
  314. package/Forms/Radio/Radio.d.ts +0 -12
  315. package/Forms/Radio/Radio.js +0 -68
  316. package/Forms/Radio/Radio.mjs +0 -57
  317. package/Forms/Radio/index.d.ts +0 -1
  318. package/Forms/Radio/index.js +0 -6
  319. package/Forms/Radio/index.mjs +0 -1
  320. package/Forms/Switch/Switch.d.ts +0 -9
  321. package/Forms/Switch/Switch.js +0 -80
  322. package/Forms/Switch/Switch.mjs +0 -60
  323. package/Forms/Switch/index.d.ts +0 -1
  324. package/Forms/Switch/index.js +0 -6
  325. package/Forms/Switch/index.mjs +0 -1
  326. package/Forms/Textarea/Textarea.d.ts +0 -5
  327. package/Forms/Textarea/Textarea.js +0 -45
  328. package/Forms/Textarea/Textarea.mjs +0 -26
  329. package/Forms/Textarea/TextareaRich.d.ts +0 -6
  330. package/Forms/Textarea/TextareaRich.js +0 -58
  331. package/Forms/Textarea/TextareaRich.mjs +0 -48
  332. package/Forms/Textarea/index.d.ts +0 -2
  333. package/Forms/Textarea/index.js +0 -7
  334. package/Forms/Textarea/index.mjs +0 -2
  335. package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
  336. package/Forms/Toggle/Toggle-tailwind.js +0 -99
  337. package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
  338. package/Forms/Toggle/Toggle.d.ts +0 -19
  339. package/Forms/Toggle/Toggle.js +0 -175
  340. package/Forms/Toggle/Toggle.mjs +0 -123
  341. package/Forms/Toggle/index.d.ts +0 -1
  342. package/Forms/Toggle/index.js +0 -6
  343. package/Forms/Toggle/index.mjs +0 -1
  344. package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
  345. package/Forms/Toggle/useToggle-tailwind.js +0 -202
  346. package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
  347. package/Forms/Toggle/useToggle.d.ts +0 -46
  348. package/Forms/Toggle/useToggle.js +0 -145
  349. package/Forms/Toggle/useToggle.mjs +0 -163
  350. package/Forms/antispam.d.ts +0 -47
  351. package/Forms/antispam.js +0 -59
  352. package/Forms/antispam.mjs +0 -58
  353. package/Forms/helpers.d.ts +0 -26
  354. package/Forms/helpers.js +0 -72
  355. package/Forms/helpers.mjs +0 -52
  356. package/Forms/index.d.ts +0 -15
  357. package/Forms/index.js +0 -19
  358. package/Forms/index.mjs +0 -16
  359. package/Forms/styles.d.ts +0 -15
  360. package/Forms/styles.js +0 -94
  361. package/Forms/styles.mjs +0 -61
  362. package/Gauge/Gauge.d.ts +0 -5
  363. package/Gauge/Gauge.js +0 -111
  364. package/Gauge/Gauge.mjs +0 -101
  365. package/Grid/Grid.d.ts +0 -41
  366. package/Grid/Grid.js +0 -106
  367. package/Grid/Grid.mjs +0 -75
  368. package/Grid/index.d.ts +0 -1
  369. package/Grid/index.js +0 -6
  370. package/Grid/index.mjs +0 -1
  371. package/Hamburger/Hamburger.d.ts +0 -6
  372. package/Hamburger/Hamburger.js +0 -90
  373. package/Hamburger/Hamburger.mjs +0 -79
  374. package/Hamburger/index.d.ts +0 -1
  375. package/Hamburger/index.js +0 -6
  376. package/Hamburger/index.mjs +0 -1
  377. package/Header/index.d.ts +0 -1
  378. package/Header/index.js +0 -6
  379. package/Header/index.mjs +0 -1
  380. package/Header/useHeader.d.ts +0 -24
  381. package/Header/useHeader.js +0 -54
  382. package/Header/useHeader.mjs +0 -36
  383. package/Hidden/Hidden.d.ts +0 -6
  384. package/Hidden/Hidden.js +0 -21
  385. package/Hidden/Hidden.mjs +0 -10
  386. package/Hidden/index.d.ts +0 -1
  387. package/Hidden/index.js +0 -6
  388. package/Hidden/index.mjs +0 -1
  389. package/Img/index.d.ts +0 -1
  390. package/Img/index.js +0 -6
  391. package/Img/index.mjs +0 -1
  392. package/Img/sc/bare.d.ts +0 -2
  393. package/Img/sc/bare.js +0 -43
  394. package/Img/sc/bare.mjs +0 -36
  395. package/Img/types.d.ts +0 -9
  396. package/Img/types.js +0 -6
  397. package/Img/types.mjs +0 -1
  398. package/Link/Link.d.ts +0 -3
  399. package/Link/Link.js +0 -13
  400. package/Link/Link.mjs +0 -2
  401. package/Link/LinkBlank.d.ts +0 -5
  402. package/Link/LinkBlank.js +0 -52
  403. package/Link/LinkBlank.mjs +0 -32
  404. package/Link/index.d.ts +0 -2
  405. package/Link/index.js +0 -7
  406. package/Link/index.mjs +0 -2
  407. package/Menu/Menu.d.ts +0 -1
  408. package/Menu/Menu.js +0 -22
  409. package/Menu/Menu.mjs +0 -11
  410. package/Menu/MenuMui.d.ts +0 -0
  411. package/Menu/MenuMui.js +0 -165
  412. package/Menu/MenuMui.mjs +0 -164
  413. package/Menu/index.d.ts +0 -1
  414. package/Menu/index.js +0 -6
  415. package/Menu/index.mjs +0 -1
  416. package/MenuItem/MenuItem.d.ts +0 -1
  417. package/MenuItem/MenuItem.js +0 -31
  418. package/MenuItem/MenuItem.mjs +0 -20
  419. package/MenuItem/MenuItemMui.d.ts +0 -0
  420. package/MenuItem/MenuItemMui.js +0 -32
  421. package/MenuItem/MenuItemMui.mjs +0 -31
  422. package/MenuItem/index.d.ts +0 -1
  423. package/MenuItem/index.js +0 -6
  424. package/MenuItem/index.mjs +0 -1
  425. package/MenuItem/useMenuItem.d.ts +0 -9
  426. package/MenuItem/useMenuItem.js +0 -96
  427. package/MenuItem/useMenuItem.mjs +0 -78
  428. package/Meta/Meta.d.ts +0 -15
  429. package/Meta/Meta.js +0 -26
  430. package/Meta/Meta.mjs +0 -8
  431. package/Meta/index.d.ts +0 -2
  432. package/Meta/index.js +0 -12
  433. package/Meta/index.mjs +0 -2
  434. package/NoJs/NoJs.d.ts +0 -3
  435. package/NoJs/NoJs.js +0 -28
  436. package/NoJs/NoJs.mjs +0 -10
  437. package/NoJs/index.d.ts +0 -2
  438. package/NoJs/index.js +0 -12
  439. package/NoJs/index.mjs +0 -2
  440. package/Pagination/PaginationNav.d.ts +0 -22
  441. package/Pagination/PaginationNav.js +0 -126
  442. package/Pagination/PaginationNav.mjs +0 -122
  443. package/Pagination/PaginationResults.d.ts +0 -3
  444. package/Pagination/PaginationResults.js +0 -45
  445. package/Pagination/PaginationResults.mjs +0 -34
  446. package/Pagination/index.d.ts +0 -2
  447. package/Pagination/index.js +0 -7
  448. package/Pagination/index.mjs +0 -2
  449. package/Pill/Pill.d.ts +0 -5
  450. package/Pill/Pill.js +0 -62
  451. package/Pill/Pill.mjs +0 -37
  452. package/Pill/index.d.ts +0 -1
  453. package/Pill/index.js +0 -6
  454. package/Pill/index.mjs +0 -1
  455. package/Progress/ProgressCircular.d.ts +0 -19
  456. package/Progress/ProgressCircular.js +0 -62
  457. package/Progress/ProgressCircular.mjs +0 -53
  458. package/Progress/ProgressLinear.d.ts +0 -22
  459. package/Progress/ProgressLinear.js +0 -53
  460. package/Progress/ProgressLinear.mjs +0 -44
  461. package/Progress/ProgressOverlay.d.ts +0 -4
  462. package/Progress/ProgressOverlay.js +0 -75
  463. package/Progress/ProgressOverlay.mjs +0 -64
  464. package/Progress/index.d.ts +0 -3
  465. package/Progress/index.js +0 -8
  466. package/Progress/index.mjs +0 -3
  467. package/Rating/Rating.d.ts +0 -35
  468. package/Rating/Rating.js +0 -188
  469. package/Rating/Rating.mjs +0 -154
  470. package/Rating/index.d.ts +0 -11
  471. package/Rating/index.js +0 -85
  472. package/Rating/index.mjs +0 -62
  473. package/Select/SelectDownshift.d.ts +0 -5
  474. package/Select/SelectDownshift.js +0 -47
  475. package/Select/SelectDownshift.mjs +0 -37
  476. package/Select/components.d.ts +0 -6
  477. package/Select/components.js +0 -44
  478. package/Select/components.mjs +0 -25
  479. package/Select/index.d.ts +0 -2
  480. package/Select/index.js +0 -13
  481. package/Select/index.mjs +0 -2
  482. package/Sidebar/Sidebar.d.ts +0 -3
  483. package/Sidebar/Sidebar.js +0 -74
  484. package/Sidebar/Sidebar.mjs +0 -63
  485. package/Sidebar/index.d.ts +0 -1
  486. package/Sidebar/index.js +0 -6
  487. package/Sidebar/index.mjs +0 -1
  488. package/Spacing/Spacing.d.ts +0 -30
  489. package/Spacing/Spacing.js +0 -55
  490. package/Spacing/Spacing.mjs +0 -55
  491. package/Spacing/index.d.ts +0 -1
  492. package/Spacing/index.js +0 -6
  493. package/Spacing/index.mjs +0 -1
  494. package/Sticky/Sticky.d.ts +0 -2
  495. package/Sticky/Sticky.js +0 -228
  496. package/Sticky/Sticky.mjs +0 -218
  497. package/Sticky/StickyCss.d.ts +0 -5
  498. package/Sticky/StickyCss.js +0 -20
  499. package/Sticky/StickyCss.mjs +0 -10
  500. package/Sticky/index.d.ts +0 -1
  501. package/Sticky/index.js +0 -19
  502. package/Sticky/index.mjs +0 -1
  503. package/Tabs/TabsMui.d.ts +0 -85
  504. package/Tabs/TabsMui.js +0 -91
  505. package/Tabs/TabsMui.mjs +0 -61
  506. package/Tabs/TabsMui.stories.js +0 -38
  507. package/Tabs/TabsMui.stories.mjs +0 -20
  508. package/Tabs/index.d.ts +0 -1
  509. package/Tabs/index.js +0 -6
  510. package/Tabs/index.mjs +0 -1
  511. package/Tabs/sc/bare.d.ts +0 -5
  512. package/Tabs/sc/bare.js +0 -86
  513. package/Tabs/sc/bare.mjs +0 -85
  514. package/Tabs/sc/index.stories.js +0 -1
  515. package/Tabs/sc/index.stories.mjs +0 -0
  516. package/Tabs/tw/bare.d.ts +0 -86
  517. package/Tabs/tw/bare.js +0 -45
  518. package/Tabs/tw/bare.mjs +0 -15
  519. package/Tabs/tw/index.stories.js +0 -46
  520. package/Tabs/tw/index.stories.mjs +0 -25
  521. package/Tabs/tw/material.d.ts +0 -119
  522. package/Tabs/tw/material.js +0 -44
  523. package/Tabs/tw/material.mjs +0 -14
  524. package/Tabs/useTabs.d.ts +0 -43
  525. package/Tabs/useTabs.js +0 -66
  526. package/Tabs/useTabs.mjs +0 -46
  527. package/Typography/CopyPasteVisible.d.ts +0 -1
  528. package/Typography/CopyPasteVisible.js +0 -17
  529. package/Typography/CopyPasteVisible.mjs +0 -6
  530. package/Typography/Native.d.ts +0 -10
  531. package/Typography/Native.js +0 -90
  532. package/Typography/Native.mjs +0 -47
  533. package/Typography/ReadMore.d.ts +0 -12
  534. package/Typography/ReadMore.js +0 -125
  535. package/Typography/ReadMore.mjs +0 -114
  536. package/Typography/TextLoop.d.ts +0 -16
  537. package/Typography/TextLoop.js +0 -108
  538. package/Typography/TextLoop.mjs +0 -90
  539. package/Typography/TypeStairs.d.ts +0 -6
  540. package/Typography/TypeStairs.js +0 -71
  541. package/Typography/TypeStairs.mjs +0 -61
  542. package/Typography/index.d.ts +0 -5
  543. package/Typography/index.js +0 -10
  544. package/Typography/index.mjs +0 -5
  545. package/css/index.d.ts +0 -2
  546. package/css/index.js +0 -33
  547. package/css/index.mjs +0 -30
  548. package/helpers/classed.d.ts +0 -27
  549. package/helpers/classed.js +0 -66
  550. package/helpers/classed.mjs +0 -65
  551. package/helpers/classed.stories.js +0 -140
  552. package/helpers/classed.stories.mjs +0 -121
  553. package/helpers/createUseMediaQueryWidth.d.ts +0 -12
  554. package/helpers/createUseMediaQueryWidth.js +0 -193
  555. package/helpers/createUseMediaQueryWidth.mjs +0 -178
  556. package/helpers/extend-component.js +0 -32
  557. package/helpers/extend-component.mjs +0 -13
  558. package/helpers/index.d.ts +0 -4
  559. package/helpers/index.js +0 -9
  560. package/helpers/index.mjs +0 -4
  561. package/helpers/mergeRefs.d.ts +0 -3
  562. package/helpers/mergeRefs.js +0 -30
  563. package/helpers/mergeRefs.mjs +0 -12
  564. package/hooks/index.js +0 -92
  565. package/hooks/index.mjs +0 -21
  566. package/hooks/types.d.ts +0 -8
  567. package/hooks/types.js +0 -6
  568. package/hooks/types.mjs +0 -3
  569. package/hooks/useAsyncFn.js +0 -56
  570. package/hooks/useAsyncFn.mjs +0 -39
  571. package/hooks/useDateLocale.d.ts +0 -8
  572. package/hooks/useDateLocale.js +0 -51
  573. package/hooks/useDateLocale.mjs +0 -37
  574. package/hooks/useFirstMountState.js +0 -28
  575. package/hooks/useFirstMountState.mjs +0 -12
  576. package/hooks/useFixedOffset.js +0 -67
  577. package/hooks/useFixedOffset.mjs +0 -56
  578. package/hooks/useFocus.js +0 -30
  579. package/hooks/useFocus.mjs +0 -14
  580. package/hooks/useInterval.js +0 -44
  581. package/hooks/useInterval.mjs +0 -29
  582. package/hooks/useIsomorphicLayoutEffect.js +0 -23
  583. package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
  584. package/hooks/useKeyUp.js +0 -40
  585. package/hooks/useKeyUp.mjs +0 -21
  586. package/hooks/useMeasure.js +0 -189
  587. package/hooks/useMeasure.mjs +0 -174
  588. package/hooks/useMountedState.js +0 -31
  589. package/hooks/useMountedState.mjs +0 -15
  590. package/hooks/useNavigateAway.js +0 -69
  591. package/hooks/useNavigateAway.mjs +0 -69
  592. package/hooks/usePrevious.js +0 -33
  593. package/hooks/usePrevious.mjs +0 -17
  594. package/hooks/usePreviousRef.js +0 -27
  595. package/hooks/usePreviousRef.mjs +0 -9
  596. package/hooks/useScrollPosition.js +0 -83
  597. package/hooks/useScrollPosition.mjs +0 -70
  598. package/hooks/useScrollThreshold.js +0 -52
  599. package/hooks/useScrollThreshold.mjs +0 -33
  600. package/hooks/useScrollTo.js +0 -39
  601. package/hooks/useScrollTo.mjs +0 -20
  602. package/hooks/useSmoothScroll.js +0 -49
  603. package/hooks/useSmoothScroll.mjs +0 -35
  604. package/hooks/useSpinDelay.js +0 -59
  605. package/hooks/useSpinDelay.mjs +0 -52
  606. package/hooks/useTraceUpdate.js +0 -39
  607. package/hooks/useTraceUpdate.mjs +0 -23
  608. package/hooks/useUpdateEffect.js +0 -30
  609. package/hooks/useUpdateEffect.mjs +0 -14
  610. package/hooks/useWindowSize.js +0 -43
  611. package/hooks/useWindowSize.mjs +0 -32
  612. package/index.js +0 -10
  613. package/index.mjs +0 -4
  614. package/m/MotionProvider.d.ts +0 -38
  615. package/m/MotionProvider.js +0 -27
  616. package/m/MotionProvider.mjs +0 -40
  617. package/m/index.d.ts +0 -6
  618. package/m/index.js +0 -10
  619. package/m/index.mjs +0 -5
  620. package/m/lite.d.ts +0 -2
  621. package/m/lite.js +0 -12
  622. package/m/lite.mjs +0 -2
  623. package/m/max.d.ts +0 -2
  624. package/m/max.js +0 -12
  625. package/m/max.mjs +0 -2
  626. package/sc/index.d.ts +0 -30
  627. package/sc/index.js +0 -49
  628. package/sc/index.mjs +0 -31
  629. package/scm/index.d.ts +0 -29
  630. package/scm/index.js +0 -40
  631. package/scm/index.mjs +0 -31
  632. package/shared/index.d.ts +0 -8
  633. package/shared/index.js +0 -13
  634. package/shared/index.mjs +0 -43
  635. package/styles/Body.d.ts +0 -10
  636. package/styles/Body.js +0 -28
  637. package/styles/Body.mjs +0 -16
  638. package/styles/Global.d.ts +0 -15
  639. package/styles/Global.js +0 -55
  640. package/styles/Global.mjs +0 -49
  641. package/styles/index.d.ts +0 -7
  642. package/styles/index.js +0 -142
  643. package/styles/index.mjs +0 -7
  644. package/styles/media.d.ts +0 -67
  645. package/styles/media.js +0 -139
  646. package/styles/media.mjs +0 -151
  647. package/styles/spacing.d.ts +0 -13
  648. package/styles/spacing.js +0 -70
  649. package/styles/spacing.mjs +0 -46
  650. package/styles/styled.d.ts +0 -12
  651. package/styles/styled.js +0 -58
  652. package/styles/styled.mjs +0 -26
  653. package/styles/theme--vanilla.d.ts +0 -17
  654. package/styles/theme--vanilla.js +0 -82
  655. package/styles/theme--vanilla.mjs +0 -65
  656. package/styles/theme.d.ts +0 -82
  657. package/styles/theme.js +0 -49
  658. package/styles/theme.mjs +0 -38
  659. package/tw/index.d.ts +0 -2
  660. package/tw/index.js +0 -33
  661. package/tw/index.mjs +0 -30
  662. package/twm/index.d.ts +0 -2
  663. package/twm/index.js +0 -33
  664. package/twm/index.mjs +0 -30
  665. package/types.js +0 -4
  666. package/types.mjs +0 -1
  667. package/typings.d.ts +0 -99
@@ -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,62 @@
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 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:[]};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};
42
+
43
+ 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$1={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$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 jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx($,{style:f,...k,children: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?jsxRuntime.jsx(w,{children:t.title}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(g,{children:getDisplayTime(t.start)}),jsxRuntime.jsx(w,{children:t.title})]})})})},t.key)})})};
44
+
45
+ let useDateLocale=(a,l="en")=>{let[r,n]=react.useState(),[o,c]=react.useState(l);return react.useEffect(()=>{let e=async()=>{let e=await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('date-fns/locale/en-US')); });c(a||o),n(e.enUS);};a!==o&&e();},[a,o]),r};
46
+
47
+ 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)}`),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})]})};
48
+
49
+ 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(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(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,a)=>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,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
50
+
51
+ 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))});
52
+
53
+ 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=utils.isUndefined(i.end.dateTime)&&utils.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=[getEventTimestamp(t)];for(;differenceInDays.differenceInDays(a,t);)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){}return c}
54
+
55
+ 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}},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});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]),(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));},[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})}};
56
+
57
+ exports.CalendarDaygridCell = CalendarDaygridCell;
58
+ exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
59
+ exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
60
+ exports.KoineCalendarLegend = KoineCalendarLegend;
61
+ exports.useCalendar = useCalendar;
62
+ 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";
@@ -0,0 +1,35 @@
1
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
+ import { useState, Fragment, useEffect, useMemo, useReducer, useCallback } from 'react';
3
+ import { addDays } from 'date-fns/addDays';
4
+ import { addMonths } from 'date-fns/addMonths';
5
+ import { addWeeks } from 'date-fns/addWeeks';
6
+ import { endOfMonth } from 'date-fns/endOfMonth';
7
+ import { endOfWeek } from 'date-fns/endOfWeek';
8
+ import { isWithinInterval } from 'date-fns/isWithinInterval';
9
+ import { startOfWeek } from 'date-fns/startOfWeek';
10
+ import { subMonths } from 'date-fns/subMonths';
11
+ import { subWeeks } from 'date-fns/subWeeks';
12
+ import { format } from 'date-fns/format';
13
+ import { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval';
14
+ import { useSwipeable } from 'react-swipeable';
15
+ import { differenceInDays } from 'date-fns/differenceInDays';
16
+ import { subDays } from 'date-fns/subDays';
17
+ import { isUndefined, isString, arrayToLookup } from '@koine/utils';
18
+
19
+ 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(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth(e):"week"===t&&(r=endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths(e,1):subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths(e,1):addWeeks(e,1);let isTodayInView=(e,t)=>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 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(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};
20
+
21
+ 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$1={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$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 jsx(Fragment,{children:jsx($,{style:f,...k,children: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?jsx(w,{children:t.title}):jsxs(Fragment$1,{children:[jsx(g,{children:getDisplayTime(t.start)}),jsx(w,{children:t.title})]})})})},t.key)})})};
22
+
23
+ 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};
24
+
25
+ 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})]})};
26
+
27
+ 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,a)=>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})]}))}))})]})};
28
+
29
+ let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsx(Fragment$1,{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))});
30
+
31
+ 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}
32
+
33
+ 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})}};
34
+
35
+ export { CalendarDaygridCell, KoineCalendarDaygridNav, KoineCalendarDaygridTable, KoineCalendarLegend, useCalendar, useDateLocale };
@@ -0,0 +1,8 @@
1
+ export type FaviconTagsProps = {
2
+ name: string;
3
+ color?: string;
4
+ safariTabColor?: string;
5
+ tileColor?: string;
6
+ themeColor?: string;
7
+ };
8
+ export declare let FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export type MetaProps = {
2
+ zoom?: boolean;
3
+ };
4
+ export declare let Meta: ({ zoom }: MetaProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export type NoJsProps = Record<string, never>;
2
+ export declare let NoJs: (_props: NoJsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { type ObjectShape } from "@kuus/yup";
2
+ export declare let encodeForm: <T extends ObjectShape = {}>(validationRules: T) => {
3
+ encodedSchema: import("@kuus/yup").ObjectSchema<{
4
+ [x: string]: T[keyof T] extends import("@kuus/yup").ISchema<any, any, any, any> ? T[keyof T]["__outputType"] : T[keyof T] extends {
5
+ readonly key: string;
6
+ readonly isContext: boolean;
7
+ readonly isValue: boolean;
8
+ readonly isSibling: boolean;
9
+ readonly path: any;
10
+ readonly getter: (data: unknown) => unknown;
11
+ readonly map?: ((value: unknown) => infer T_1) | undefined;
12
+ readonly __isYupRef: boolean;
13
+ getValue(value: any, parent?: {} | undefined, context?: {} | undefined): infer T_1;
14
+ cast(value: any, options?: {
15
+ parent?: {} | undefined;
16
+ context?: {} | undefined;
17
+ } | undefined): infer T_1;
18
+ resolve(): any;
19
+ describe(): import("@kuus/yup").SchemaRefDescription;
20
+ toString(): string;
21
+ } ? T_1 : unknown;
22
+ }, import("@kuus/yup").AnyObject, {
23
+ [x: string]: T[keyof T] extends import("@kuus/yup").ISchema<any, import("@kuus/yup").AnyObject, any, any> ? T[keyof T]["__default"] : undefined;
24
+ }, "">;
25
+ encodedNames: Record<keyof T, string>;
26
+ };
27
+ export declare let decodeForm: <ReturnAs extends Record<string, unknown> = {}, FormData_1 extends Record<string, unknown> = {}>(formData: FormData_1) => ReturnAs;
package/forms.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./forms";
@@ -0,0 +1 @@
1
+ exports._default = require('./forms.cjs.js').default;
package/forms.cjs.js ADDED
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var yup = require('@kuus/yup');
6
+ var utils = require('@koine/utils');
7
+
8
+ let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=utils.encode(e);o[l]=t[e],i[e]=l;}return {encodedSchema:yup.object(o).required(),encodedNames:i}};let decodeForm=e=>{let r={};for(let i in e){let l=utils.decode(i);i.startsWith("_")?r[i.substring(1)]=e[i]:utils.isUndefined(e[i])||""!==e[l]||(r[l]=e[i]);}return r};
9
+
10
+ exports.decodeForm = decodeForm;
11
+ exports.encodeForm = encodeForm;
package/forms.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './forms.cjs.js';
2
+ export { _default as default } from './forms.cjs.default.js';
package/forms.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./forms/antispam";
package/forms.esm.js ADDED
@@ -0,0 +1,6 @@
1
+ import { object } from '@kuus/yup';
2
+ import { encode, decode, isUndefined } from '@koine/utils';
3
+
4
+ let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=encode(e);o[l]=t[e],i[e]=l;}return {encodedSchema:object(o).required(),encodedNames:i}};let decodeForm=e=>{let r={};for(let i in e){let l=decode(i);i.startsWith("_")?r[i.substring(1)]=e[i]:isUndefined(e[i])||""!==e[l]||(r[l]=e[i]);}return r};
5
+
6
+ export { decodeForm, encodeForm };
package/hooks/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { useAsyncFn, type UseAsyncFnReturn, type UseAsyncState, } from "./useAsyncFn";
2
- export { useDateLocale } from "./useDateLocale";
3
2
  export { useFirstMountState } from "./useFirstMountState";
4
3
  export { useFixedOffset } from "./useFixedOffset";
5
4
  export { useFocus } from "./useFocus";
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
- import type { FunctionReturningPromise, PromiseType } from "./types";
2
+ type PromiseType<P extends Promise<any>> = P extends Promise<infer T> ? T : never;
3
+ type FunctionReturningPromise = (...args: any[]) => Promise<any>;
3
4
  export type UseAsyncState<T> = {
4
5
  loading: boolean;
5
6
  error?: undefined;
@@ -19,8 +20,5 @@ export type UseAsyncState<T> = {
19
20
  };
20
21
  type StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = UseAsyncState<PromiseType<ReturnType<T>>>;
21
22
  export type UseAsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [StateFromFunctionReturningPromise<T>, T];
22
- /**
23
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useAsyncFn.ts)
24
- */
25
- export declare function useAsyncFn<T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>): UseAsyncFnReturn<T>;
26
- export default useAsyncFn;
23
+ export declare let useAsyncFn: <T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>) => UseAsyncFnReturn<T>;
24
+ export {};
@@ -1,5 +1 @@
1
- /**
2
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useFirstMountState.ts)
3
- */
4
- export declare function useFirstMountState(): boolean;
5
- export default useFirstMountState;
1
+ export declare let useFirstMountState: () => boolean;
@@ -1,12 +1 @@
1
- /// <reference types="react" />
2
- /**
3
- * # Use fixed offset
4
- *
5
- * Maybe use [ResizeObserver polyfill](https://github.com/juggle/resize-observer)
6
- *
7
- * @see https://web.dev/resize-observer/
8
- *
9
- * @param selector By default `[data-fixed]`: anyhting with the data attribute `data-fixed`
10
- */
11
- export declare function useFixedOffset(selector?: string): import("react").MutableRefObject<number>;
12
- export default useFixedOffset;
1
+ export declare let useFixedOffset: (selector?: string) => import("react").MutableRefObject<number>;
@@ -1,6 +1 @@
1
- /// <reference types="react" />
2
- /**
3
- * @see https://stackoverflow.com/a/54159564/1938970
4
- */
5
- export declare const useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
6
- export default useFocus;
1
+ export declare let useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
@@ -1,7 +1 @@
1
- /**
2
- * @borrows [dan abramov](https://overreacted.io/making-setinterval-declarative-with-react-hooks/)
3
- *
4
- * We just add `deps` array argument and typescript support
5
- */
6
- export declare function useInterval<T extends () => unknown>(callback: T, delay: number, deps?: unknown[]): void;
7
- export default useInterval;
1
+ export declare let useInterval: <T extends () => unknown>(callback: T, delay: number, deps?: unknown[]) => void;
@@ -1,6 +1,2 @@
1
- import { useEffect } from "react";
2
- /**
3
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useIsomorphicLayoutEffect.ts)
4
- */
5
- export declare const useIsomorphicLayoutEffect: typeof useEffect;
6
- export default useIsomorphicLayoutEffect;
1
+ import { useLayoutEffect } from "react";
2
+ export declare let useIsomorphicLayoutEffect: typeof useLayoutEffect;
@@ -1,2 +1 @@
1
- export declare function useKeyUp(callback: (event: KeyboardEvent) => void, deps?: unknown[]): void;
2
- export default useKeyUp;
1
+ export declare let useKeyUp: (callback: (event: KeyboardEvent) => void, deps?: unknown[]) => void;
@@ -18,10 +18,5 @@ export type UseMeasureReturn = [
18
18
  RectReadOnly,
19
19
  () => void
20
20
  ];
21
- /**
22
- * Use measure hook
23
- *
24
- * @borrows [pmndrs/react-use-measure](https://github.com/pmndrs/react-use-measure)
25
- */
26
- export declare function useMeasure(options?: UseMeasureOptions): UseMeasureReturn;
27
- export default useMeasure;
21
+ export declare let useMeasure: (options?: UseMeasureOptions) => UseMeasureReturn;
22
+ export {};
@@ -1,5 +1 @@
1
- /**
2
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useMountedState.ts)
3
- */
4
- export declare function useMountedState(): () => boolean;
5
- export default useMountedState;
1
+ export declare let useMountedState: () => (() => boolean);
@@ -1,32 +1,2 @@
1
- /**
2
- * @return A custom error message (most browser will ignore it), or just a
3
- * boolean to signal whether we want to prompt the user
4
- *
5
- * We might instead return an array with the above as first element and two
6
- * callbacks, but the callback technique is too cumbersome and unreliable
7
- * probably:
8
- * 2) A callback on confirmed leaving
9
- * 3) A callback on cancel, user stays on page
10
- */
11
1
  export type UseNavigateAwayHandler = (event: BeforeUnloadEvent) => string | boolean;
12
- /**
13
- * @resources
14
- *
15
- * About browser's specs see:
16
- * - https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event
17
- * - https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW5
18
- * - https://stackoverflow.com/questions/58009424/pagehide-event-on-google-chrome
19
- *
20
- * About react see:
21
- * - https://github.com/jacobbuck/react-beforeunload
22
- * - https://github.com/dioscarey/react-beforeunload-component
23
- *
24
- * About next.js see:
25
- * - https://github.com/vercel/next.js/issues/2476
26
- * - https://github.com/vercel/next.js/issues/2694
27
- *
28
- * For the callback technique see:
29
- * - https://stackoverflow.com/a/11835394/1938970
30
- */
31
- export declare const useNavigateAway: (handler: UseNavigateAwayHandler) => void;
32
- export default useNavigateAway;
2
+ export declare let useNavigateAway: (handler: UseNavigateAwayHandler) => void;
@@ -1,5 +1 @@
1
- /**
2
- * @borrows [samselikoff/animated-carousel](https://github.com/samselikoff/2022-06-02-animated-carousel/blob/main/pages/final.jsx)
3
- */
4
- export declare function usePrevious<T>(state: T, defaulValue: T): T;
5
- export default usePrevious;
1
+ export declare let usePrevious: <T extends unknown>(state: T, defaulValue: T) => T;
@@ -1,2 +1 @@
1
- export declare function usePreviousRef<T>(value: T): T | undefined;
2
- export default usePreviousRef;
1
+ export declare let usePreviousRef: <T extends unknown>(value: T) => T | undefined;
@@ -0,0 +1,12 @@
1
+ export type UseRevealOptions = {
2
+ direction?: "left" | "right";
3
+ offsetStartY?: number;
4
+ offsetEndY?: number;
5
+ offsetStartX?: number | "all";
6
+ };
7
+ export declare let useReveal: <T extends HTMLElement = HTMLDivElement>({ direction, offsetStartY, offsetEndY, offsetStartX, }: UseRevealOptions) => {
8
+ ref: import("react").RefObject<T>;
9
+ startY: number;
10
+ endY: number;
11
+ startX: number;
12
+ };
@@ -1,15 +1,7 @@
1
- /// <reference types="react" />
2
1
  type Position = {
3
2
  x: number;
4
3
  y: number;
5
4
  };
6
5
  type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
7
- /**
8
- * @borrows [@n8tb1t/use-scroll-position@2.0.3](https://github.com/n8tb1t/use-scroll-position) by `n8tb1t <n8tb1t@gmail.com>`
9
- *
10
- * We've just:
11
- * - reused internal helper functions
12
- * - compacted object arguments in functions as plain argument list to improve compression
13
- */
14
- export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
15
- export default useScrollPosition;
6
+ export declare let useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
7
+ export {};
@@ -1,2 +1 @@
1
- export declare const useScrollThreshold: (threshold?: number, callback?: ((isAbove: boolean, isBelow: boolean) => void) | undefined) => boolean;
2
- export default useScrollThreshold;
1
+ export declare let useScrollThreshold: (threshold?: number, callback?: ((isAbove: boolean, isBelow: boolean) => void) | undefined) => boolean;
@@ -1,2 +1 @@
1
- export declare function useScrollTo(id?: string, offset?: number): void;
2
- export default useScrollTo;
1
+ export declare let useScrollTo: (id?: string, offset?: number) => void;
@@ -1,8 +1 @@
1
- /**
2
- *
3
- * @param disregardAutomaticFixedOffset When the `to` scroll argument is a DOM
4
- * selector we will keep into account the _fixedOffset_ despite this option.
5
- * @returns
6
- */
7
- export declare function useSmoothScroll(disregardAutomaticFixedOffset?: boolean): (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
8
- export default useSmoothScroll;
1
+ export declare let useSmoothScroll: (disregardAutomaticFixedOffset?: boolean) => (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;