@koine/react 2.0.0-beta.9 → 2.0.0-beta.91

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 (827) 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.js +0 -33
  207. package/Alert/Alert.mjs +0 -22
  208. package/Alert/Alert.stories.js +0 -39
  209. package/Alert/Alert.stories.mjs +0 -18
  210. package/Alert/index.d.ts +0 -1
  211. package/Alert/index.js +0 -6
  212. package/Alert/index.mjs +0 -1
  213. package/Animations/Reveal.d.ts +0 -4
  214. package/Animations/Reveal.js +0 -53
  215. package/Animations/Reveal.mjs +0 -43
  216. package/Animations/Underline.d.ts +0 -1
  217. package/Animations/Underline.js +0 -26
  218. package/Animations/Underline.mjs +0 -15
  219. package/Animations/index.d.ts +0 -3
  220. package/Animations/index.js +0 -8
  221. package/Animations/index.mjs +0 -3
  222. package/Animations/useReveal.d.ts +0 -34
  223. package/Animations/useReveal.js +0 -83
  224. package/Animations/useReveal.mjs +0 -73
  225. package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
  226. package/Autocomplete/AutocompleteDownshift.js +0 -167
  227. package/Autocomplete/AutocompleteDownshift.mjs +0 -157
  228. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
  229. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -362
  230. package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
  231. package/Autocomplete/AutocompleteMui.d.ts +0 -47
  232. package/Autocomplete/AutocompleteMui.js +0 -183
  233. package/Autocomplete/AutocompleteMui.mjs +0 -219
  234. package/Autocomplete/AutocompleteReach.d.ts +0 -1
  235. package/Autocomplete/AutocompleteReach.js +0 -121
  236. package/Autocomplete/AutocompleteReach.mjs +0 -111
  237. package/Autocomplete/components.d.ts +0 -17
  238. package/Autocomplete/components.js +0 -132
  239. package/Autocomplete/components.mjs +0 -87
  240. package/Autocomplete/helpers.d.ts +0 -3
  241. package/Autocomplete/helpers.js +0 -34
  242. package/Autocomplete/helpers.mjs +0 -35
  243. package/Autocomplete/index.d.ts +0 -2
  244. package/Autocomplete/index.js +0 -15
  245. package/Autocomplete/index.mjs +0 -4
  246. package/Bg/BgColor.d.ts +0 -31
  247. package/Bg/BgColor.js +0 -64
  248. package/Bg/BgColor.mjs +0 -42
  249. package/Bg/BgPhoto.d.ts +0 -13
  250. package/Bg/BgPhoto.js +0 -82
  251. package/Bg/BgPhoto.mjs +0 -71
  252. package/Bg/BgSvg.d.ts +0 -7
  253. package/Bg/BgSvg.js +0 -31
  254. package/Bg/BgSvg.mjs +0 -22
  255. package/Bg/index.d.ts +0 -3
  256. package/Bg/index.js +0 -8
  257. package/Bg/index.mjs +0 -3
  258. package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  259. package/Breadcrumbs/Breadcrumbs.js +0 -103
  260. package/Breadcrumbs/Breadcrumbs.mjs +0 -91
  261. package/Breadcrumbs/index.d.ts +0 -1
  262. package/Breadcrumbs/index.js +0 -6
  263. package/Breadcrumbs/index.mjs +0 -1
  264. package/Buttons/Button.d.ts +0 -18
  265. package/Buttons/Button.js +0 -106
  266. package/Buttons/Button.mjs +0 -78
  267. package/Buttons/ButtonComposite.d.ts +0 -23
  268. package/Buttons/ButtonComposite.js +0 -116
  269. package/Buttons/ButtonComposite.mjs +0 -105
  270. package/Buttons/ButtonFab.d.ts +0 -5
  271. package/Buttons/ButtonFab.js +0 -27
  272. package/Buttons/ButtonFab.mjs +0 -8
  273. package/Buttons/ButtonLink.d.ts +0 -8
  274. package/Buttons/ButtonLink.js +0 -29
  275. package/Buttons/ButtonLink.mjs +0 -18
  276. package/Buttons/IconButton.d.ts +0 -9
  277. package/Buttons/IconButton.js +0 -41
  278. package/Buttons/IconButton.mjs +0 -19
  279. package/Buttons/index.d.ts +0 -5
  280. package/Buttons/index.js +0 -10
  281. package/Buttons/index.mjs +0 -5
  282. package/Calendar/CalendarDaygridCell.js +0 -105
  283. package/Calendar/CalendarDaygridCell.mjs +0 -95
  284. package/Calendar/CalendarDaygridNav.js +0 -63
  285. package/Calendar/CalendarDaygridNav.mjs +0 -52
  286. package/Calendar/CalendarDaygridTable.js +0 -126
  287. package/Calendar/CalendarDaygridTable.mjs +0 -115
  288. package/Calendar/CalendarLegend.js +0 -39
  289. package/Calendar/CalendarLegend.mjs +0 -29
  290. package/Calendar/calendar-api-google.d.ts +0 -18
  291. package/Calendar/calendar-api-google.js +0 -110
  292. package/Calendar/calendar-api-google.mjs +0 -99
  293. package/Calendar/index.d.ts +0 -6
  294. package/Calendar/index.js +0 -11
  295. package/Calendar/index.mjs +0 -6
  296. package/Calendar/types.js +0 -4
  297. package/Calendar/types.mjs +0 -1
  298. package/Calendar/useCalendar.js +0 -235
  299. package/Calendar/useCalendar.mjs +0 -225
  300. package/Calendar/utils.d.ts +0 -11
  301. package/Calendar/utils.js +0 -252
  302. package/Calendar/utils.mjs +0 -209
  303. package/Carousel/Carousel.d.ts +0 -1
  304. package/Carousel/Carousel.js +0 -387
  305. package/Carousel/Carousel.mjs +0 -377
  306. package/Carousel/CarouselCss.d.ts +0 -35
  307. package/Carousel/CarouselCss.js +0 -64
  308. package/Carousel/CarouselCss.mjs +0 -44
  309. package/Carousel/index.d.ts +0 -1
  310. package/Carousel/index.js +0 -6
  311. package/Carousel/index.mjs +0 -1
  312. package/Collapsable/Collapsable.d.ts +0 -1
  313. package/Collapsable/Collapsable.js +0 -11
  314. package/Collapsable/Collapsable.mjs +0 -1
  315. package/Collapsable/CollapsableReach.d.ts +0 -6
  316. package/Collapsable/CollapsableReach.js +0 -251
  317. package/Collapsable/CollapsableReach.mjs +0 -250
  318. package/Collapsable/index.d.ts +0 -1
  319. package/Collapsable/index.js +0 -7
  320. package/Collapsable/index.mjs +0 -1
  321. package/Debug/Debug.d.ts +0 -4
  322. package/Debug/Debug.js +0 -34
  323. package/Debug/Debug.mjs +0 -23
  324. package/Debug/index.d.ts +0 -1
  325. package/Debug/index.js +0 -6
  326. package/Debug/index.mjs +0 -1
  327. package/Details/Details.d.ts +0 -404
  328. package/Details/Details.js +0 -117
  329. package/Details/Details.mjs +0 -90
  330. package/Details/Details.stories.js +0 -39
  331. package/Details/Details.stories.mjs +0 -21
  332. package/Details/index.d.ts +0 -1
  333. package/Details/index.js +0 -6
  334. package/Details/index.mjs +0 -1
  335. package/Dialog/DialogMui.d.ts +0 -167
  336. package/Dialog/DialogMui.js +0 -143
  337. package/Dialog/DialogMui.mjs +0 -105
  338. package/Dialog/DialogMui.stories.js +0 -38
  339. package/Dialog/DialogMui.stories.mjs +0 -20
  340. package/Dialog/css/bare.d.ts +0 -172
  341. package/Dialog/css/bare.js +0 -55
  342. package/Dialog/css/bare.mjs +0 -19
  343. package/Dialog/css/index.stories.js +0 -93
  344. package/Dialog/css/index.stories.mjs +0 -75
  345. package/Dialog/index.d.ts +0 -2
  346. package/Dialog/index.js +0 -11
  347. package/Dialog/index.mjs +0 -1
  348. package/Dialog/m/bare.d.ts +0 -4
  349. package/Dialog/m/bare.js +0 -125
  350. package/Dialog/m/bare.mjs +0 -115
  351. package/Dialog/m/basic.d.ts +0 -4
  352. package/Dialog/m/basic.js +0 -50
  353. package/Dialog/m/basic.mjs +0 -31
  354. package/Dialog/m/index.d.ts +0 -3
  355. package/Dialog/m/index.js +0 -14
  356. package/Dialog/m/index.mjs +0 -4
  357. package/Dialog/sc/bare.d.ts +0 -71
  358. package/Dialog/sc/bare.js +0 -83
  359. package/Dialog/sc/bare.mjs +0 -54
  360. package/Dialog/sc/framer.d.ts +0 -25
  361. package/Dialog/sc/framer.js +0 -26
  362. package/Dialog/sc/framer.mjs +0 -16
  363. package/Dialog/sc/framerMaterial.d.ts +0 -24
  364. package/Dialog/sc/framerMaterial.js +0 -26
  365. package/Dialog/sc/framerMaterial.mjs +0 -16
  366. package/Dialog/sc/index.stories.js +0 -75
  367. package/Dialog/sc/index.stories.mjs +0 -48
  368. package/Dialog/sc/material.d.ts +0 -61
  369. package/Dialog/sc/material.js +0 -78
  370. package/Dialog/sc/material.mjs +0 -41
  371. package/Dialog/tw/bare.d.ts +0 -223
  372. package/Dialog/tw/bare.js +0 -55
  373. package/Dialog/tw/bare.mjs +0 -29
  374. package/Dialog/tw/elegant.d.ts +0 -271
  375. package/Dialog/tw/elegant.js +0 -54
  376. package/Dialog/tw/elegant.mjs +0 -18
  377. package/Dialog/tw/framer.d.ts +0 -109
  378. package/Dialog/tw/framer.js +0 -26
  379. package/Dialog/tw/framer.mjs +0 -16
  380. package/Dialog/tw/framerMaterial.d.ts +0 -164
  381. package/Dialog/tw/framerMaterial.js +0 -26
  382. package/Dialog/tw/framerMaterial.mjs +0 -16
  383. package/Dialog/tw/index.stories.js +0 -113
  384. package/Dialog/tw/index.stories.mjs +0 -83
  385. package/Dialog/tw/material.d.ts +0 -271
  386. package/Dialog/tw/material.js +0 -54
  387. package/Dialog/tw/material.mjs +0 -18
  388. package/Editor/Editor--tiptap.d.ts +0 -9
  389. package/Editor/Editor--tiptap.js +0 -72
  390. package/Editor/Editor--tiptap.mjs +0 -53
  391. package/Editor/components.d.ts +0 -5
  392. package/Editor/components.js +0 -59
  393. package/Editor/components.mjs +0 -28
  394. package/Editor/index.d.ts +0 -1
  395. package/Editor/index.js +0 -6
  396. package/Editor/index.mjs +0 -1
  397. package/FaviconTags.js +0 -73
  398. package/FaviconTags.mjs +0 -64
  399. package/Form/Form.d.ts +0 -138
  400. package/Form/Form.js +0 -130
  401. package/Form/Form.mjs +0 -95
  402. package/Form/index.d.ts +0 -1
  403. package/Form/index.js +0 -6
  404. package/Form/index.mjs +0 -1
  405. package/Form/sc/bare.d.ts +0 -58
  406. package/Form/sc/bare.js +0 -55
  407. package/Form/sc/bare.mjs +0 -29
  408. package/Forms/Checkbox/Checkbox.d.ts +0 -11
  409. package/Forms/Checkbox/Checkbox.js +0 -62
  410. package/Forms/Checkbox/Checkbox.mjs +0 -36
  411. package/Forms/Checkbox/index.d.ts +0 -1
  412. package/Forms/Checkbox/index.js +0 -6
  413. package/Forms/Checkbox/index.mjs +0 -1
  414. package/Forms/Feedback/Feedback.d.ts +0 -5
  415. package/Forms/Feedback/Feedback.js +0 -25
  416. package/Forms/Feedback/Feedback.mjs +0 -14
  417. package/Forms/Feedback/index.d.ts +0 -1
  418. package/Forms/Feedback/index.js +0 -6
  419. package/Forms/Feedback/index.mjs +0 -1
  420. package/Forms/Field/Field.d.ts +0 -36
  421. package/Forms/Field/Field.js +0 -75
  422. package/Forms/Field/Field.mjs +0 -50
  423. package/Forms/Field/FieldControl.d.ts +0 -26
  424. package/Forms/Field/FieldControl.js +0 -69
  425. package/Forms/Field/FieldControl.mjs +0 -67
  426. package/Forms/Field/FieldHint.d.ts +0 -1
  427. package/Forms/Field/FieldHint.js +0 -17
  428. package/Forms/Field/FieldHint.mjs +0 -6
  429. package/Forms/Field/index.d.ts +0 -2
  430. package/Forms/Field/index.js +0 -7
  431. package/Forms/Field/index.mjs +0 -2
  432. package/Forms/Input/Input.d.ts +0 -9
  433. package/Forms/Input/Input.js +0 -67
  434. package/Forms/Input/Input.mjs +0 -36
  435. package/Forms/Input/index.d.ts +0 -1
  436. package/Forms/Input/index.js +0 -6
  437. package/Forms/Input/index.mjs +0 -1
  438. package/Forms/InputGroup/InputGroup.d.ts +0 -13
  439. package/Forms/InputGroup/InputGroup.js +0 -85
  440. package/Forms/InputGroup/InputGroup.mjs +0 -57
  441. package/Forms/InputGroup/index.d.ts +0 -1
  442. package/Forms/InputGroup/index.js +0 -6
  443. package/Forms/InputGroup/index.mjs +0 -1
  444. package/Forms/Label/Label.d.ts +0 -3
  445. package/Forms/Label/Label.js +0 -46
  446. package/Forms/Label/Label.mjs +0 -24
  447. package/Forms/Label/index.d.ts +0 -1
  448. package/Forms/Label/index.js +0 -6
  449. package/Forms/Label/index.mjs +0 -1
  450. package/Forms/Password/Password.d.ts +0 -5
  451. package/Forms/Password/Password.js +0 -72
  452. package/Forms/Password/Password.mjs +0 -53
  453. package/Forms/Password/index.d.ts +0 -1
  454. package/Forms/Password/index.js +0 -6
  455. package/Forms/Password/index.mjs +0 -1
  456. package/Forms/Radio/Radio.d.ts +0 -12
  457. package/Forms/Radio/Radio.js +0 -68
  458. package/Forms/Radio/Radio.mjs +0 -57
  459. package/Forms/Radio/index.d.ts +0 -1
  460. package/Forms/Radio/index.js +0 -6
  461. package/Forms/Radio/index.mjs +0 -1
  462. package/Forms/Switch/Switch.d.ts +0 -9
  463. package/Forms/Switch/Switch.js +0 -80
  464. package/Forms/Switch/Switch.mjs +0 -60
  465. package/Forms/Switch/index.d.ts +0 -1
  466. package/Forms/Switch/index.js +0 -6
  467. package/Forms/Switch/index.mjs +0 -1
  468. package/Forms/Textarea/Textarea.d.ts +0 -5
  469. package/Forms/Textarea/Textarea.js +0 -45
  470. package/Forms/Textarea/Textarea.mjs +0 -26
  471. package/Forms/Textarea/TextareaRich.d.ts +0 -6
  472. package/Forms/Textarea/TextareaRich.js +0 -58
  473. package/Forms/Textarea/TextareaRich.mjs +0 -48
  474. package/Forms/Textarea/index.d.ts +0 -2
  475. package/Forms/Textarea/index.js +0 -7
  476. package/Forms/Textarea/index.mjs +0 -2
  477. package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
  478. package/Forms/Toggle/Toggle-tailwind.js +0 -99
  479. package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
  480. package/Forms/Toggle/Toggle.d.ts +0 -19
  481. package/Forms/Toggle/Toggle.js +0 -175
  482. package/Forms/Toggle/Toggle.mjs +0 -123
  483. package/Forms/Toggle/index.d.ts +0 -1
  484. package/Forms/Toggle/index.js +0 -6
  485. package/Forms/Toggle/index.mjs +0 -1
  486. package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
  487. package/Forms/Toggle/useToggle-tailwind.js +0 -202
  488. package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
  489. package/Forms/Toggle/useToggle.d.ts +0 -46
  490. package/Forms/Toggle/useToggle.js +0 -145
  491. package/Forms/Toggle/useToggle.mjs +0 -163
  492. package/Forms/antispam.d.ts +0 -47
  493. package/Forms/antispam.js +0 -59
  494. package/Forms/antispam.mjs +0 -58
  495. package/Forms/helpers.d.ts +0 -26
  496. package/Forms/helpers.js +0 -72
  497. package/Forms/helpers.mjs +0 -52
  498. package/Forms/index.d.ts +0 -15
  499. package/Forms/index.js +0 -19
  500. package/Forms/index.mjs +0 -16
  501. package/Forms/styles.d.ts +0 -15
  502. package/Forms/styles.js +0 -94
  503. package/Forms/styles.mjs +0 -61
  504. package/Gauge/Gauge.d.ts +0 -5
  505. package/Gauge/Gauge.js +0 -111
  506. package/Gauge/Gauge.mjs +0 -101
  507. package/Grid/Grid.d.ts +0 -41
  508. package/Grid/Grid.js +0 -106
  509. package/Grid/Grid.mjs +0 -75
  510. package/Grid/index.d.ts +0 -1
  511. package/Grid/index.js +0 -6
  512. package/Grid/index.mjs +0 -1
  513. package/Hamburger/Hamburger.d.ts +0 -6
  514. package/Hamburger/Hamburger.js +0 -90
  515. package/Hamburger/Hamburger.mjs +0 -79
  516. package/Hamburger/index.d.ts +0 -1
  517. package/Hamburger/index.js +0 -6
  518. package/Hamburger/index.mjs +0 -1
  519. package/Header/index.d.ts +0 -1
  520. package/Header/index.js +0 -6
  521. package/Header/index.mjs +0 -1
  522. package/Header/useHeader.d.ts +0 -24
  523. package/Header/useHeader.js +0 -54
  524. package/Header/useHeader.mjs +0 -36
  525. package/Hidden/Hidden.d.ts +0 -6
  526. package/Hidden/Hidden.js +0 -21
  527. package/Hidden/Hidden.mjs +0 -10
  528. package/Hidden/index.d.ts +0 -1
  529. package/Hidden/index.js +0 -6
  530. package/Hidden/index.mjs +0 -1
  531. package/Img/index.js +0 -6
  532. package/Img/index.mjs +0 -1
  533. package/Img/sc/bare.d.ts +0 -2
  534. package/Img/sc/bare.js +0 -43
  535. package/Img/sc/bare.mjs +0 -36
  536. package/Img/types.d.ts +0 -9
  537. package/Img/types.js +0 -6
  538. package/Img/types.mjs +0 -1
  539. package/Link/Link.d.ts +0 -3
  540. package/Link/Link.js +0 -13
  541. package/Link/Link.mjs +0 -2
  542. package/Link/LinkBlank.d.ts +0 -5
  543. package/Link/LinkBlank.js +0 -52
  544. package/Link/LinkBlank.mjs +0 -32
  545. package/Link/index.d.ts +0 -2
  546. package/Link/index.js +0 -7
  547. package/Link/index.mjs +0 -2
  548. package/Menu/Menu.d.ts +0 -1
  549. package/Menu/Menu.js +0 -22
  550. package/Menu/Menu.mjs +0 -11
  551. package/Menu/MenuMui.d.ts +0 -0
  552. package/Menu/MenuMui.js +0 -165
  553. package/Menu/MenuMui.mjs +0 -164
  554. package/Menu/index.d.ts +0 -1
  555. package/Menu/index.js +0 -6
  556. package/Menu/index.mjs +0 -1
  557. package/MenuItem/MenuItem.d.ts +0 -1
  558. package/MenuItem/MenuItem.js +0 -31
  559. package/MenuItem/MenuItem.mjs +0 -20
  560. package/MenuItem/MenuItemMui.d.ts +0 -0
  561. package/MenuItem/MenuItemMui.js +0 -32
  562. package/MenuItem/MenuItemMui.mjs +0 -31
  563. package/MenuItem/index.d.ts +0 -1
  564. package/MenuItem/index.js +0 -6
  565. package/MenuItem/index.mjs +0 -1
  566. package/MenuItem/useMenuItem.d.ts +0 -9
  567. package/MenuItem/useMenuItem.js +0 -96
  568. package/MenuItem/useMenuItem.mjs +0 -78
  569. package/Meta/Meta.d.ts +0 -15
  570. package/Meta/Meta.js +0 -26
  571. package/Meta/Meta.mjs +0 -8
  572. package/Meta/index.d.ts +0 -2
  573. package/Meta/index.js +0 -12
  574. package/Meta/index.mjs +0 -2
  575. package/NoJs/NoJs.d.ts +0 -3
  576. package/NoJs/NoJs.js +0 -28
  577. package/NoJs/NoJs.mjs +0 -10
  578. package/NoJs/index.d.ts +0 -2
  579. package/NoJs/index.js +0 -12
  580. package/NoJs/index.mjs +0 -2
  581. package/Pagination/PaginationNav.d.ts +0 -22
  582. package/Pagination/PaginationNav.js +0 -126
  583. package/Pagination/PaginationNav.mjs +0 -122
  584. package/Pagination/PaginationResults.d.ts +0 -3
  585. package/Pagination/PaginationResults.js +0 -45
  586. package/Pagination/PaginationResults.mjs +0 -34
  587. package/Pagination/index.d.ts +0 -2
  588. package/Pagination/index.js +0 -7
  589. package/Pagination/index.mjs +0 -2
  590. package/Pill/Pill.d.ts +0 -5
  591. package/Pill/Pill.js +0 -62
  592. package/Pill/Pill.mjs +0 -37
  593. package/Pill/index.d.ts +0 -1
  594. package/Pill/index.js +0 -6
  595. package/Pill/index.mjs +0 -1
  596. package/Progress/ProgressCircular.d.ts +0 -19
  597. package/Progress/ProgressCircular.js +0 -62
  598. package/Progress/ProgressCircular.mjs +0 -53
  599. package/Progress/ProgressLinear.d.ts +0 -22
  600. package/Progress/ProgressLinear.js +0 -53
  601. package/Progress/ProgressLinear.mjs +0 -44
  602. package/Progress/ProgressOverlay.d.ts +0 -4
  603. package/Progress/ProgressOverlay.js +0 -75
  604. package/Progress/ProgressOverlay.mjs +0 -64
  605. package/Progress/index.d.ts +0 -3
  606. package/Progress/index.js +0 -8
  607. package/Progress/index.mjs +0 -3
  608. package/Rating/Rating.d.ts +0 -35
  609. package/Rating/Rating.js +0 -188
  610. package/Rating/Rating.mjs +0 -154
  611. package/Rating/index.d.ts +0 -11
  612. package/Rating/index.js +0 -85
  613. package/Rating/index.mjs +0 -62
  614. package/Select/SelectDownshift.d.ts +0 -5
  615. package/Select/SelectDownshift.js +0 -47
  616. package/Select/SelectDownshift.mjs +0 -37
  617. package/Select/components.d.ts +0 -6
  618. package/Select/components.js +0 -44
  619. package/Select/components.mjs +0 -25
  620. package/Select/index.d.ts +0 -2
  621. package/Select/index.js +0 -13
  622. package/Select/index.mjs +0 -2
  623. package/Sidebar/Sidebar.d.ts +0 -3
  624. package/Sidebar/Sidebar.js +0 -74
  625. package/Sidebar/Sidebar.mjs +0 -63
  626. package/Sidebar/index.d.ts +0 -1
  627. package/Sidebar/index.js +0 -6
  628. package/Sidebar/index.mjs +0 -1
  629. package/Spacing/Spacing.d.ts +0 -30
  630. package/Spacing/Spacing.js +0 -55
  631. package/Spacing/Spacing.mjs +0 -55
  632. package/Spacing/index.d.ts +0 -1
  633. package/Spacing/index.js +0 -6
  634. package/Spacing/index.mjs +0 -1
  635. package/Sticky/Sticky.d.ts +0 -2
  636. package/Sticky/Sticky.js +0 -228
  637. package/Sticky/Sticky.mjs +0 -218
  638. package/Sticky/StickyCss.d.ts +0 -5
  639. package/Sticky/StickyCss.js +0 -20
  640. package/Sticky/StickyCss.mjs +0 -10
  641. package/Sticky/index.d.ts +0 -1
  642. package/Sticky/index.js +0 -19
  643. package/Sticky/index.mjs +0 -1
  644. package/Tabs/TabsMui.d.ts +0 -85
  645. package/Tabs/TabsMui.js +0 -91
  646. package/Tabs/TabsMui.mjs +0 -61
  647. package/Tabs/TabsMui.stories.js +0 -38
  648. package/Tabs/TabsMui.stories.mjs +0 -20
  649. package/Tabs/index.d.ts +0 -1
  650. package/Tabs/index.js +0 -6
  651. package/Tabs/index.mjs +0 -1
  652. package/Tabs/sc/bare.d.ts +0 -5
  653. package/Tabs/sc/bare.js +0 -86
  654. package/Tabs/sc/bare.mjs +0 -85
  655. package/Tabs/sc/index.stories.js +0 -1
  656. package/Tabs/sc/index.stories.mjs +0 -0
  657. package/Tabs/tw/bare.d.ts +0 -86
  658. package/Tabs/tw/bare.js +0 -45
  659. package/Tabs/tw/bare.mjs +0 -15
  660. package/Tabs/tw/index.stories.js +0 -46
  661. package/Tabs/tw/index.stories.mjs +0 -25
  662. package/Tabs/tw/material.d.ts +0 -119
  663. package/Tabs/tw/material.js +0 -44
  664. package/Tabs/tw/material.mjs +0 -14
  665. package/Tabs/useTabs.d.ts +0 -43
  666. package/Tabs/useTabs.js +0 -66
  667. package/Tabs/useTabs.mjs +0 -46
  668. package/Typography/CopyPasteVisible.d.ts +0 -1
  669. package/Typography/CopyPasteVisible.js +0 -17
  670. package/Typography/CopyPasteVisible.mjs +0 -6
  671. package/Typography/Native.d.ts +0 -10
  672. package/Typography/Native.js +0 -90
  673. package/Typography/Native.mjs +0 -47
  674. package/Typography/ReadMore.d.ts +0 -12
  675. package/Typography/ReadMore.js +0 -125
  676. package/Typography/ReadMore.mjs +0 -114
  677. package/Typography/TextLoop.d.ts +0 -16
  678. package/Typography/TextLoop.js +0 -108
  679. package/Typography/TextLoop.mjs +0 -90
  680. package/Typography/TypeStairs.d.ts +0 -6
  681. package/Typography/TypeStairs.js +0 -71
  682. package/Typography/TypeStairs.mjs +0 -61
  683. package/Typography/index.d.ts +0 -5
  684. package/Typography/index.js +0 -10
  685. package/Typography/index.mjs +0 -5
  686. package/css/index.d.ts +0 -2
  687. package/css/index.js +0 -33
  688. package/css/index.mjs +0 -30
  689. package/helpers/classed.d.ts +0 -27
  690. package/helpers/classed.js +0 -66
  691. package/helpers/classed.mjs +0 -65
  692. package/helpers/classed.stories.js +0 -140
  693. package/helpers/classed.stories.mjs +0 -121
  694. package/helpers/createUseMediaQueryWidth.d.ts +0 -12
  695. package/helpers/createUseMediaQueryWidth.js +0 -193
  696. package/helpers/createUseMediaQueryWidth.mjs +0 -178
  697. package/helpers/extend-component.js +0 -32
  698. package/helpers/extend-component.mjs +0 -13
  699. package/helpers/index.d.ts +0 -4
  700. package/helpers/index.js +0 -9
  701. package/helpers/index.mjs +0 -4
  702. package/helpers/mergeRefs.d.ts +0 -3
  703. package/helpers/mergeRefs.js +0 -30
  704. package/helpers/mergeRefs.mjs +0 -12
  705. package/hooks/index.d.ts +0 -20
  706. package/hooks/index.js +0 -92
  707. package/hooks/index.mjs +0 -21
  708. package/hooks/types.d.ts +0 -8
  709. package/hooks/types.js +0 -6
  710. package/hooks/types.mjs +0 -3
  711. package/hooks/useAsyncFn.js +0 -56
  712. package/hooks/useAsyncFn.mjs +0 -39
  713. package/hooks/useDateLocale.d.ts +0 -8
  714. package/hooks/useDateLocale.js +0 -51
  715. package/hooks/useDateLocale.mjs +0 -37
  716. package/hooks/useFirstMountState.d.ts +0 -5
  717. package/hooks/useFirstMountState.js +0 -28
  718. package/hooks/useFirstMountState.mjs +0 -12
  719. package/hooks/useFixedOffset.d.ts +0 -12
  720. package/hooks/useFixedOffset.js +0 -67
  721. package/hooks/useFixedOffset.mjs +0 -56
  722. package/hooks/useFocus.d.ts +0 -6
  723. package/hooks/useFocus.js +0 -30
  724. package/hooks/useFocus.mjs +0 -14
  725. package/hooks/useInterval.d.ts +0 -7
  726. package/hooks/useInterval.js +0 -44
  727. package/hooks/useInterval.mjs +0 -29
  728. package/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
  729. package/hooks/useIsomorphicLayoutEffect.js +0 -23
  730. package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
  731. package/hooks/useKeyUp.d.ts +0 -2
  732. package/hooks/useKeyUp.js +0 -40
  733. package/hooks/useKeyUp.mjs +0 -21
  734. package/hooks/useMeasure.js +0 -189
  735. package/hooks/useMeasure.mjs +0 -174
  736. package/hooks/useMountedState.d.ts +0 -5
  737. package/hooks/useMountedState.js +0 -31
  738. package/hooks/useMountedState.mjs +0 -15
  739. package/hooks/useNavigateAway.d.ts +0 -32
  740. package/hooks/useNavigateAway.js +0 -69
  741. package/hooks/useNavigateAway.mjs +0 -69
  742. package/hooks/usePrevious.d.ts +0 -5
  743. package/hooks/usePrevious.js +0 -33
  744. package/hooks/usePrevious.mjs +0 -17
  745. package/hooks/usePreviousRef.d.ts +0 -2
  746. package/hooks/usePreviousRef.js +0 -27
  747. package/hooks/usePreviousRef.mjs +0 -9
  748. package/hooks/useScrollPosition.d.ts +0 -15
  749. package/hooks/useScrollPosition.js +0 -83
  750. package/hooks/useScrollPosition.mjs +0 -70
  751. package/hooks/useScrollThreshold.d.ts +0 -2
  752. package/hooks/useScrollThreshold.js +0 -52
  753. package/hooks/useScrollThreshold.mjs +0 -33
  754. package/hooks/useScrollTo.d.ts +0 -2
  755. package/hooks/useScrollTo.js +0 -39
  756. package/hooks/useScrollTo.mjs +0 -20
  757. package/hooks/useSmoothScroll.d.ts +0 -8
  758. package/hooks/useSmoothScroll.js +0 -49
  759. package/hooks/useSmoothScroll.mjs +0 -35
  760. package/hooks/useSpinDelay.d.ts +0 -14
  761. package/hooks/useSpinDelay.js +0 -59
  762. package/hooks/useSpinDelay.mjs +0 -52
  763. package/hooks/useTraceUpdate.d.ts +0 -5
  764. package/hooks/useTraceUpdate.js +0 -39
  765. package/hooks/useTraceUpdate.mjs +0 -23
  766. package/hooks/useUpdateEffect.d.ts +0 -6
  767. package/hooks/useUpdateEffect.js +0 -30
  768. package/hooks/useUpdateEffect.mjs +0 -14
  769. package/hooks/useWindowSize.d.ts +0 -12
  770. package/hooks/useWindowSize.js +0 -43
  771. package/hooks/useWindowSize.mjs +0 -32
  772. package/index.js +0 -10
  773. package/index.mjs +0 -4
  774. package/m/MotionProvider.d.ts +0 -38
  775. package/m/MotionProvider.js +0 -27
  776. package/m/MotionProvider.mjs +0 -40
  777. package/m/index.d.ts +0 -6
  778. package/m/index.js +0 -10
  779. package/m/index.mjs +0 -5
  780. package/m/lite.d.ts +0 -2
  781. package/m/lite.js +0 -12
  782. package/m/lite.mjs +0 -2
  783. package/m/max.d.ts +0 -2
  784. package/m/max.js +0 -12
  785. package/m/max.mjs +0 -2
  786. package/sc/index.d.ts +0 -30
  787. package/sc/index.js +0 -49
  788. package/sc/index.mjs +0 -31
  789. package/scm/index.d.ts +0 -29
  790. package/scm/index.js +0 -40
  791. package/scm/index.mjs +0 -31
  792. package/shared/index.d.ts +0 -8
  793. package/shared/index.js +0 -13
  794. package/shared/index.mjs +0 -43
  795. package/styles/Body.d.ts +0 -10
  796. package/styles/Body.js +0 -28
  797. package/styles/Body.mjs +0 -16
  798. package/styles/Global.d.ts +0 -15
  799. package/styles/Global.js +0 -55
  800. package/styles/Global.mjs +0 -49
  801. package/styles/index.d.ts +0 -7
  802. package/styles/index.js +0 -142
  803. package/styles/index.mjs +0 -7
  804. package/styles/media.d.ts +0 -67
  805. package/styles/media.js +0 -139
  806. package/styles/media.mjs +0 -151
  807. package/styles/spacing.d.ts +0 -13
  808. package/styles/spacing.js +0 -70
  809. package/styles/spacing.mjs +0 -46
  810. package/styles/styled.d.ts +0 -12
  811. package/styles/styled.js +0 -58
  812. package/styles/styled.mjs +0 -26
  813. package/styles/theme--vanilla.d.ts +0 -17
  814. package/styles/theme--vanilla.js +0 -82
  815. package/styles/theme--vanilla.mjs +0 -65
  816. package/styles/theme.d.ts +0 -82
  817. package/styles/theme.js +0 -49
  818. package/styles/theme.mjs +0 -38
  819. package/tw/index.d.ts +0 -2
  820. package/tw/index.js +0 -33
  821. package/tw/index.mjs +0 -30
  822. package/twm/index.d.ts +0 -2
  823. package/twm/index.js +0 -33
  824. package/twm/index.mjs +0 -30
  825. package/types.js +0 -4
  826. package/types.mjs +0 -1
  827. package/typings.d.ts +0 -99
@@ -0,0 +1,124 @@
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(// sort events first multi, then all day then by start then by created date
20
+ 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:[]};// check that we have events in this day
21
+ 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
22
+ // vertically positioned use that index
23
+ if(// only for multi days events:
24
+ s.multi&&(// filter out the days outside of the current week view to avoid
25
+ // making a multi-days event chip wider than the week row or shorter
26
+ // than it should be (when event spans across weeks)
27
+ m=s.days.filter(e=>e>=g&&e<=h).length,// flag the first day of multi-days events, consider that an event
28
+ // might start in a day earlier (hence outside) of the current
29
+ // week/month view, so we always check for Mondays (dayNumber === 0)
30
+ (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`
31
+ for(let e=0;e<t.length;e++)if(1!==t[e]){i=e;break}// now mark the slot as busy
32
+ t[i]=1,// store the slot vertical position consistently for multi-days events
33
+ a&&(p[s.uid]=i),// push the event, they will be sorted later
34
+ 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
35
+ 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
36
+ v.events.sort((e,t)=>e.top-t.top);}i.days.push(v);}f.push(i);}return f};
37
+
38
+ /**
39
+ * TODO: include in this lib utilities like in https://github.com/react-icons/react-icons/blob/master/packages/react-icons/src/iconBase.tsx
40
+ *
41
+ * this is the `MdAdd` icon from `react-icons`
42
+ */let d=l=>/*#__PURE__*/jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[/*#__PURE__*/jsx("path",{d:"M0 0h24v24H0z"}),/*#__PURE__*/jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),/**
43
+ * Style for button within a event cell
44
+ *
45
+ * Here we might differentiate week/month view where the first does not get
46
+ * ellipsed btn texts, with `Start` as block element and underneath the `Title`
47
+ * on multiple lines, but that would mean that we loose the ability to interweave
48
+ * single-day events among the spaces left by wider multi-days events.
49
+ */o$1={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,// eventHovered,
50
+ 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 /*#__PURE__*/jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return /*#__PURE__*/jsxs(y,{onClick:()=>M(!0),children:[/*#__PURE__*/jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return /*#__PURE__*/jsx(Fragment,{children:/*#__PURE__*/jsx($,{$placeholder:!0,children:/*#__PURE__*/jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:/*#__PURE__*/jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,// to cover the following event days
51
+ position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||// @ts-expect-error nevermind
52
+ (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__*/jsx(Fragment,{children:/*#__PURE__*/jsx($,{style:f,...k,children:/*#__PURE__*/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__*/jsx(w,{children:t.title}):/*#__PURE__*/jsxs(Fragment$1,{children:[/*#__PURE__*/jsx(g,{children:getDisplayTime(t.start)}),/*#__PURE__*/jsx(w,{children:t.title})]})})})},t.key)})})};/* {i === events.length - 1 && isExpanded ? (
53
+ <CellOverflow onClick={() => expand(false)}>
54
+ <IconCollapse />
55
+ Show less
56
+ </CellOverflow>
57
+ ) : null} */
58
+
59
+ /**
60
+ * Dynamically import the date-fns correct locale
61
+ *
62
+ * Inspired by:
63
+ * @see https://robertmarshall.dev/blog/dynamically-import-datefns-locale-mui-datepicker-localization/
64
+ */let useDateLocale=(a,l="en")=>{let[r,n]=useState(),[o,c]=useState(l);return(// const [ready, setReady] = useState(false);
65
+ // If the user changes the locale listen to the change and import the locale that is now required.
66
+ useEffect(()=>{let e=async()=>{// This webpack option stops all of the date-fns files being imported and chunked.
67
+ // NB: this makes unnecessary numerous webpack chunks in applications
68
+ // that do not even use this hook, so we comment out the webpack dynamic
69
+ // import and its magic comment
70
+ // const localeToSet = await import(
71
+ // /FIXME: * webpackMode: "lazy", webpackChunkName: "df-[index]", webpackExclude: /_lib/ */
72
+ // `date-fns/locale/${locale}/index.js`,
73
+ // );
74
+ let e=await import('date-fns/locale/en-US');c(a||o),n(e.enUS);};// setReady(true);
75
+ // If the locale has not yet been loaded.
76
+ a!==o&&e();},[a,o]),r)};
77
+
78
+ 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)}`),/*#__PURE__*/jsxs(m,{children:[/*#__PURE__*/jsxs(b,{children:[/*#__PURE__*/jsx(k,{onClick:i}),/*#__PURE__*/jsx(u,{onClick:M}),/*#__PURE__*/jsx(h,{onClick:d,disabled:r}),/*#__PURE__*/jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),/*#__PURE__*/jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),/*#__PURE__*/jsx(s,{range:a,formatted:x})]})};
79
+
80
+ 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
81
+ {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([]),// const [days, setDays] = useState(dayLabels || [...Array(7).keys()]);
82
+ 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(// @ts-expect-error nevermind
83
+ e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),/*#__PURE__*/jsxs(C,{...N,children:[/*#__PURE__*/jsx(D,{children:/*#__PURE__*/jsx("tr",{children:A.map(t=>/*#__PURE__*/jsx(S,{scope:"column",children:t},t))})}),/*#__PURE__*/jsx(k,{children:E.map((r,a)=>/*#__PURE__*/jsx(z,{...r.props,children:r.days.map(r=>/*#__PURE__*/jsxs(L,{...r.props,children:[/*#__PURE__*/jsx(O,{...r.props,children:r.label}),r.events.length>0&&/*#__PURE__*/jsx(CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
84
+
85
+ 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) => {
86
+ // const { name: nameA } = a[1];
87
+ // const { name: nameB } = b[1];
88
+ // if (nameA < nameB) return -1;
89
+ // else if (nameA > nameB) return 1;
90
+ // else return 0;
91
+ // });
92
+ /*#__PURE__*/jsx(Fragment$1,{children:Object.entries(a).map(([r,a])=>/*#__PURE__*/jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[/*#__PURE__*/jsx(i,{children:a.on?"⬤":"⭘"}),/*#__PURE__*/jsx(l,{children:a.name}),/*#__PURE__*/jsx(t,{children:a.events})]},"CalendarLegend."+r))});
93
+
94
+ /** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY *//** Start gethering events from date *//** End gethering events at date *//**
95
+ * The default is the time zone of the calendar
96
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
97
+ *//** 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=/**
98
+ * Google event as it comes from Google's API
99
+ *//**
100
+ * Google calendar as it comes from Google's API
101
+ *//**
102
+ * Google event's date as it comes from Google's API
103
+ *//** 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=isUndefined(i.end.dateTime)&&isString(i.end.date),p=i.location||"",D=i.description||"",// FIXME: he.decode(event.description || '');
104
+ h=m.getTime()+""+u.getTime();// multi-days all day events has as end date the date after to what we actually
105
+ // 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
106
+ 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);)// console.log(title, differenceInDays(to, from))
107
+ 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){}// if (onError) onError(e);
108
+ return c}
109
+
110
+ /** 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 *//**
111
+ * The calendar view
112
+ * @default "month"
113
+ *//**
114
+ * The default is the time zone of the calendar
115
+ * @see https://developers.google.com/calendar/api/v3/reference/events/list
116
+ */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}},// initial state
117
+ 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});// setEvents(mergeCalendarEvents(events, newEvents));
118
+ 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]),// reset event only if we are not on the current view already
119
+ (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));},// eslint-disable-next-line react-hooks/exhaustive-deps
120
+ [O]),useEffect(()=>{C&&F(C);},[C,F]),// when toggling a calendar we also remove the clicked event if that belongs
121
+ // to a now hidden calendar
122
+ 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})}};
123
+
124
+ export { CalendarDaygridCell, KoineCalendarDaygridNav, KoineCalendarDaygridTable, KoineCalendarLegend, useCalendar, useDateLocale };
@@ -0,0 +1,2 @@
1
+ export * from "./classed";
2
+ export { default } from "./classed";
@@ -0,0 +1 @@
1
+ exports._default = require('./classed.cjs.js').default;
package/classed.cjs.js ADDED
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ // React.ComponentProps<typeof Component>
8
+ // ? @see https://react-typescript-cheatsheet.netlify.app/docs/advanced/patterns_by_usecase/#props-extracting-prop-types-of-a-component
9
+ // type ClassedComponent<Props = {}> =
10
+ // | React.ElementType<Props>
11
+ // | OverridableComponent<any>
12
+ // | React.Component<Props>
13
+ // | React.FunctionComponent<Props>
14
+ // | React.ReactElement<Props>
15
+ // | React.ReactHTMLElement<any>
16
+ // | string // | JSX.IntrinsicElements
17
+ // | ((props: Props) => JSX.Element);
18
+ /**
19
+ * This utility allows to extend a component a là `styled-components` but for
20
+ * a className based styling solution like Tailwind,
21
+ *
22
+ * It also plays nicely with tailwind intellisense:
23
+ * - https://github.com/tailwindlabs/tailwindcss-intellisense#tailwindcssclassattributes
24
+ *
25
+ * For references about tagged functions:
26
+ * - https://javascript.plainenglish.io/how-css-in-js-libraries-work-da4145b1b6c7
27
+ * - https://makersden.io/blog/reverse-engineering-styled-components
28
+ * - https://typesafe.blog/article/the-logic-behind-javascript-tag-functions
29
+ * - https://flaming.codes/posts/typescript-and-javascript-tagged-template-strings
30
+ *
31
+ * Similar projects:
32
+ * - https://reactjsexample.com/style-radix-ui-components-with-tailwindcss/
33
+ *
34
+ * Discussions and Q/A:
35
+ * - https://stackoverflow.com/q/73055695/1938970
36
+ */let classed=r=>{// @ts-expect-error nevermind for now...
37
+ let s=r.type||r;return function(r,...a){// FIXME: not sure if this is needed
38
+ // WrappedComponent.displayName = type.toString();
39
+ return /*#__PURE__*/react.forwardRef(// Props
40
+ function(e,n){let o=a.map((t,s)=>{let a="";return "function"==typeof t?a=t(e):void 0!==t&&(a=t.toString()),r[s]+a}).join(""),l="string"==typeof s,i=l?{}:e;if(l)for(let t in e)// like styled-components `transient` props
41
+ t.startsWith("$")||// FIXME: for react 18 we need: @ts-expect-error
42
+ (i[t]=e[t]);// get the tagged function string outcome
43
+ let c=o||r[0];return(// add the custom classes from props
44
+ c=// check if we need to clean it or not from the optional structure `< class="..."`
45
+ (c.match(/class="([^"]*)/)?.[1]||c)+(e?.className?" "+e?.className:""),/*#__PURE__*/react.createElement(s,{// ...props,
46
+ ...i,// only add ot props if it is not an empty string
47
+ className:c||void 0,// add ref to props
48
+ ref:n}))})}};// as unknown as React.ReactElement<typeof props>;
49
+
50
+ exports.classed = classed;
51
+ exports["default"] = classed;
@@ -0,0 +1,2 @@
1
+ export * from './classed.cjs.js';
2
+ export { _default as default } from './classed.cjs.default.js';
package/classed.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ type ClassedAugmentedProps<Props> = Props & {
3
+ className?: string;
4
+ ref?: React.Ref<any>;
5
+ };
6
+ type ClassedFinalProps<Props, Component> = Component extends React.ReactHTML ? React.HTMLProps<Component> & ClassedAugmentedProps<Props> : ClassedAugmentedProps<Props>;
7
+ export declare let classed: <Props, Component extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = any>(component: Component) => (strings: TemplateStringsArray, ...args: ((props: Props) => string)[] | string[]) => React.ForwardRefExoticComponent<React.PropsWithoutRef<ClassedFinalProps<Props, Component>> & React.RefAttributes<Component>>;
8
+ export default classed;
package/classed.esm.js ADDED
@@ -0,0 +1,46 @@
1
+ import { forwardRef, createElement } from 'react';
2
+
3
+ // React.ComponentProps<typeof Component>
4
+ // ? @see https://react-typescript-cheatsheet.netlify.app/docs/advanced/patterns_by_usecase/#props-extracting-prop-types-of-a-component
5
+ // type ClassedComponent<Props = {}> =
6
+ // | React.ElementType<Props>
7
+ // | OverridableComponent<any>
8
+ // | React.Component<Props>
9
+ // | React.FunctionComponent<Props>
10
+ // | React.ReactElement<Props>
11
+ // | React.ReactHTMLElement<any>
12
+ // | string // | JSX.IntrinsicElements
13
+ // | ((props: Props) => JSX.Element);
14
+ /**
15
+ * This utility allows to extend a component a là `styled-components` but for
16
+ * a className based styling solution like Tailwind,
17
+ *
18
+ * It also plays nicely with tailwind intellisense:
19
+ * - https://github.com/tailwindlabs/tailwindcss-intellisense#tailwindcssclassattributes
20
+ *
21
+ * For references about tagged functions:
22
+ * - https://javascript.plainenglish.io/how-css-in-js-libraries-work-da4145b1b6c7
23
+ * - https://makersden.io/blog/reverse-engineering-styled-components
24
+ * - https://typesafe.blog/article/the-logic-behind-javascript-tag-functions
25
+ * - https://flaming.codes/posts/typescript-and-javascript-tagged-template-strings
26
+ *
27
+ * Similar projects:
28
+ * - https://reactjsexample.com/style-radix-ui-components-with-tailwindcss/
29
+ *
30
+ * Discussions and Q/A:
31
+ * - https://stackoverflow.com/q/73055695/1938970
32
+ */let classed=r=>{// @ts-expect-error nevermind for now...
33
+ let s=r.type||r;return function(r,...a){// FIXME: not sure if this is needed
34
+ // WrappedComponent.displayName = type.toString();
35
+ return /*#__PURE__*/forwardRef(// Props
36
+ function(e,n){let o=a.map((t,s)=>{let a="";return "function"==typeof t?a=t(e):void 0!==t&&(a=t.toString()),r[s]+a}).join(""),l="string"==typeof s,i=l?{}:e;if(l)for(let t in e)// like styled-components `transient` props
37
+ t.startsWith("$")||// FIXME: for react 18 we need: @ts-expect-error
38
+ (i[t]=e[t]);// get the tagged function string outcome
39
+ let c=o||r[0];return(// add the custom classes from props
40
+ c=// check if we need to clean it or not from the optional structure `< class="..."`
41
+ (c.match(/class="([^"]*)/)?.[1]||c)+(e?.className?" "+e?.className:""),/*#__PURE__*/createElement(s,{// ...props,
42
+ ...i,// only add ot props if it is not an empty string
43
+ className:c||void 0,// add ref to props
44
+ ref:n}))})}};// as unknown as React.ReactElement<typeof props>;
45
+
46
+ export { classed, classed as default };
@@ -0,0 +1,2 @@
1
+ export * from "./createUseMediaQueryWidth";
2
+ export { default } from "./createUseMediaQueryWidth";
@@ -0,0 +1 @@
1
+ exports._default = require('./createUseMediaQueryWidth.cjs.js').default;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var utils = require('@koine/utils');
7
+ var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.cjs.js');
8
+
9
+ /**
10
+ * Use `null` instead of `false` as default value, @see https://observablehq.com/@werehamster/avoiding-hydration-mismatch-when-using-react-hooks
11
+ *
12
+ * @param customBreakpoints
13
+ * @returns
14
+ */let createUseMediaQueryWidth=n=>{let a=utils.getMediaQueryWidthResolvers(n);return function(t,n){let[o,s]=t.substring(1).split("-");utils.isUndefined(s)&&(s=o),utils.isUndefined(o)&&(o="min");// with the hook creator approach these breakpoint types cannot be deduced
15
+ // const [br1, br2] = ruleBreakpoint.split("-") as Split<
16
+ // typeof ruleBreakpoint,
17
+ // "-"
18
+ // >;
19
+ let[d,m]=s.split("_"),u=a[o](d,m),[c,l]=react.useState(utils.isUndefined(n)?null:n);return useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(()=>{let e=window.matchMedia(u),t=e=>{l(e.matches);};return(// Safari < 14 can't use addEventListener on a MediaQueryList
20
+ // https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList#Browser_compatibility
21
+ (l(e.matches),e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t);}):(// Update the state whenever the media query match state changes
22
+ e.addListener(t),// Clean up on unmount and if the query changes
23
+ ()=>{e.removeListener(t);}))},[u]),c}};//// without creator it would be:
24
+
25
+ exports.createUseMediaQueryWidth = createUseMediaQueryWidth;
26
+ exports["default"] = createUseMediaQueryWidth;
@@ -0,0 +1,2 @@
1
+ export * from './createUseMediaQueryWidth.cjs.js';
2
+ export { _default as default } from './createUseMediaQueryWidth.cjs.default.js';
@@ -0,0 +1,6 @@
1
+ import { type GetMediaQueryWidthResolversBreakpoints } from "@koine/utils";
2
+ type _MediaQuerWidthDefExplicit<TBreakpoint extends string> = `min-${TBreakpoint}` | `max-${TBreakpoint}` | `up-${TBreakpoint}` | `down-${TBreakpoint}` | `between-${TBreakpoint}_${TBreakpoint}` | `only-${TBreakpoint}`;
3
+ export type MediaQuerWidthDef<TBreakpoint extends string> = `${TBreakpoint}` | _MediaQuerWidthDefExplicit<TBreakpoint>;
4
+ export type MediaQueryWidth<TBreakpoint extends string> = `@${MediaQuerWidthDef<TBreakpoint>}`;
5
+ export declare let createUseMediaQueryWidth: <TBreakpointsConfig extends GetMediaQueryWidthResolversBreakpoints>(customBreakpoints: TBreakpointsConfig) => <TBreakpoints extends Extract<keyof TBreakpointsConfig, string>>(media: MediaQueryWidth<TBreakpoints>, serverValue?: null | boolean) => boolean | null;
6
+ export default createUseMediaQueryWidth;
@@ -0,0 +1,21 @@
1
+ import { useState } from 'react';
2
+ import { getMediaQueryWidthResolvers, isUndefined } from '@koine/utils';
3
+ import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.esm.js';
4
+
5
+ /**
6
+ * Use `null` instead of `false` as default value, @see https://observablehq.com/@werehamster/avoiding-hydration-mismatch-when-using-react-hooks
7
+ *
8
+ * @param customBreakpoints
9
+ * @returns
10
+ */let createUseMediaQueryWidth=n=>{let a=getMediaQueryWidthResolvers(n);return function(t,n){let[o,s]=t.substring(1).split("-");isUndefined(s)&&(s=o),isUndefined(o)&&(o="min");// with the hook creator approach these breakpoint types cannot be deduced
11
+ // const [br1, br2] = ruleBreakpoint.split("-") as Split<
12
+ // typeof ruleBreakpoint,
13
+ // "-"
14
+ // >;
15
+ let[d,m]=s.split("_"),u=a[o](d,m),[c,l]=useState(isUndefined(n)?null:n);return useIsomorphicLayoutEffect(()=>{let e=window.matchMedia(u),t=e=>{l(e.matches);};return(// Safari < 14 can't use addEventListener on a MediaQueryList
16
+ // https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList#Browser_compatibility
17
+ (l(e.matches),e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t);}):(// Update the state whenever the media query match state changes
18
+ e.addListener(t),// Clean up on unmount and if the query changes
19
+ ()=>{e.removeListener(t);}))},[u]),c}};//// without creator it would be:
20
+
21
+ export { createUseMediaQueryWidth, createUseMediaQueryWidth as default };
@@ -0,0 +1,2 @@
1
+ export * from "./extendComponent";
2
+ export { default } from "./extendComponent";
@@ -0,0 +1 @@
1
+ exports._default = require('./extendComponent.cjs.js').default;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ let extendComponent=(t,o)=>// const NewComponent = forwardRef<React.ComponentProps<Component>, Component>(
8
+ // (props, ref) => createElement(component, { ...props, ref })
9
+ // );
10
+ Object.assign(// FIXME: check if we need to forwardRef or not
11
+ o=>react.createElement(t,o),{...o,defaultProps:o});
12
+
13
+ exports["default"] = extendComponent;
14
+ exports.extendComponent = extendComponent;
@@ -0,0 +1,2 @@
1
+ export * from './extendComponent.cjs.js';
2
+ export { _default as default } from './extendComponent.cjs.default.js';
@@ -1,6 +1,5 @@
1
- import React from "react";
2
1
  export type ExtendableComponent<Props = any> = React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
3
- export declare const extendComponent: <Component extends ExtendableComponent<any>, DefaultProps extends {}>(component: Component, defaultProps: DefaultProps) => ((props: React.ComponentProps<Component>) => React.FunctionComponentElement<any>) & DefaultProps & {
2
+ export declare let extendComponent: <Component extends ExtendableComponent<any>, DefaultProps extends {}>(component: Component, defaultProps: DefaultProps) => ((props: React.ComponentProps<Component>) => import("react").FunctionComponentElement<any>) & DefaultProps & {
4
3
  defaultProps: DefaultProps;
5
4
  };
6
5
  export interface OverridableComponents {
@@ -10,17 +9,6 @@ export interface OverridableComponents {
10
9
  motionable?: boolean;
11
10
  };
12
11
  }
13
- /**
14
- * Type to define a component that has overridable components.
15
- *
16
- * Each of them can define its:
17
- * - `type`: either as a native HTMLElement (the props for that element will be
18
- * automatically inferred) or as a custom React component
19
- * - `props`: any additional custom props
20
- * - `motionable`: if that component has a possible implementation with `framer-motion`,
21
- * in that case we remove some HTMLAttributes props which collides with
22
- * `MotionProps` from framer.
23
- */
24
12
  export type WithComponents<Props, Components extends OverridableComponents> = Props & {
25
13
  [Name in keyof Components]: NonNullable<Components[Name]["type"] extends keyof JSX.IntrinsicElements ? React.ElementType<Components[Name]["motionable"] extends true ? Omit<React.ComponentPropsWithoutRef<Components[Name]["type"]>, HtmlAttributesCollidingWithMotionProps> & Components[Name]["props"] : React.ComponentPropsWithoutRef<Components[Name]["type"]> & Components[Name]["props"]> : Components[Name]["type"]>;
26
14
  };
@@ -0,0 +1,9 @@
1
+ import { createElement } from 'react';
2
+
3
+ let extendComponent=(t,o)=>// const NewComponent = forwardRef<React.ComponentProps<Component>, Component>(
4
+ // (props, ref) => createElement(component, { ...props, ref })
5
+ // );
6
+ Object.assign(// FIXME: check if we need to forwardRef or not
7
+ o=>createElement(t,o),{...o,defaultProps:o});
8
+
9
+ export { extendComponent as default, extendComponent };
@@ -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 extends Record<string, unknown> = {}>(formData: FormData) => 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,37 @@
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
+ /**
9
+ * Encode form
10
+ *
11
+ * Takes a record of yup validations and outputs a `yup` schema with encoded
12
+ * names (antispam technique) and a record of the encoded/decoded input `name`s.
13
+ *
14
+ * We skip the names prefixed wth an underscore which are considered programmatic
15
+ * form data not created by user input.
16
+ *
17
+ * FIXME: types https://github.com/jquense/yup/issues/1700
18
+ */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:// we need `.required()` to correctly infer the type @see
19
+ // https://github.com/jquense/yup/issues/946
20
+ yup.object(o).required(),encodedNames:i}};/**
21
+ * Decode form data
22
+ *
23
+ * This function is meant to be used inside an api endpoint to gather an encoded
24
+ * form submit data and transform it to the decoded desired json data.
25
+ *
26
+ * Here too we skip encoding/decoding process for names prefixed wth an underscore
27
+ * which are considered programmatic form data not created by user input.
28
+ */let decodeForm=e=>{let r={};for(let i in e){let l=utils.decode(i);// always add underscore prefixed names as they are treated as internal
29
+ // private inputs outside of the honeypot system, normalise them here removing
30
+ // the underscore prefix
31
+ i.startsWith("_")?// @ts-expect-error nevermind
32
+ r[i.substring(1)]=e[i]:utils.isUndefined(e[i])||""!==e[l]||// @ts-expect-error nevermind
33
+ (r[l]=e[i]);}// console.log(formData, decoded, json);
34
+ return r};
35
+
36
+ exports.decodeForm = decodeForm;
37
+ 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,32 @@
1
+ import { object } from '@kuus/yup';
2
+ import { encode, decode, isUndefined } from '@koine/utils';
3
+
4
+ /**
5
+ * Encode form
6
+ *
7
+ * Takes a record of yup validations and outputs a `yup` schema with encoded
8
+ * names (antispam technique) and a record of the encoded/decoded input `name`s.
9
+ *
10
+ * We skip the names prefixed wth an underscore which are considered programmatic
11
+ * form data not created by user input.
12
+ *
13
+ * FIXME: types https://github.com/jquense/yup/issues/1700
14
+ */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:// we need `.required()` to correctly infer the type @see
15
+ // https://github.com/jquense/yup/issues/946
16
+ object(o).required(),encodedNames:i}};/**
17
+ * Decode form data
18
+ *
19
+ * This function is meant to be used inside an api endpoint to gather an encoded
20
+ * form submit data and transform it to the decoded desired json data.
21
+ *
22
+ * Here too we skip encoding/decoding process for names prefixed wth an underscore
23
+ * which are considered programmatic form data not created by user input.
24
+ */let decodeForm=e=>{let r={};for(let i in e){let l=decode(i);// always add underscore prefixed names as they are treated as internal
25
+ // private inputs outside of the honeypot system, normalise them here removing
26
+ // the underscore prefix
27
+ i.startsWith("_")?// @ts-expect-error nevermind
28
+ r[i.substring(1)]=e[i]:isUndefined(e[i])||""!==e[l]||// @ts-expect-error nevermind
29
+ (r[l]=e[i]);}// console.log(formData, decoded, json);
30
+ return r};
31
+
32
+ export { decodeForm, encodeForm };
package/index.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./index";
@@ -0,0 +1 @@
1
+ exports._default = require('./index.cjs.js').default;
package/index.cjs.js ADDED
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var classed = require('./classed.cjs.js');
6
+ var createUseMediaQueryWidth = require('./createUseMediaQueryWidth.cjs.js');
7
+ var extendComponent = require('./extendComponent.cjs.js');
8
+ var FaviconTags = require('./FaviconTags.cjs.js');
9
+ var mergeRefs = require('./mergeRefs.cjs.js');
10
+ var Meta = require('./Meta.cjs.js');
11
+ var NoJs = require('./NoJs.cjs.js');
12
+ var useAsyncFn = require('./useAsyncFn.cjs.js');
13
+ var useFirstMountState = require('./useFirstMountState.cjs.js');
14
+ var useFixedOffset = require('./useFixedOffset.cjs.js');
15
+ var useFocus = require('./useFocus.cjs.js');
16
+ var useInterval = require('./useInterval.cjs.js');
17
+ var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.cjs.js');
18
+ var useKeyUp = require('./useKeyUp.cjs.js');
19
+ var useMeasure = require('./useMeasure.cjs.js');
20
+ var useMountedState = require('./useMountedState.cjs.js');
21
+ var useNavigateAway = require('./useNavigateAway.cjs.js');
22
+ var usePrevious = require('./usePrevious.cjs.js');
23
+ var usePreviousRef = require('./usePreviousRef.cjs.js');
24
+ var useScrollPosition = require('./useScrollPosition.cjs.js');
25
+ var useScrollThreshold = require('./useScrollThreshold.cjs.js');
26
+ var useSmoothScroll = require('./useSmoothScroll.cjs.js');
27
+ var useSpinDelay = require('./useSpinDelay.cjs.js');
28
+ var useTraceUpdate = require('./useTraceUpdate.cjs.js');
29
+ var useUpdateEffect = require('./useUpdateEffect.cjs.js');
30
+ var useWindowSize = require('./useWindowSize.cjs.js');
31
+ require('react');
32
+ require('@koine/utils');
33
+ require('react/jsx-runtime');
34
+ require('@koine/dom');
35
+
36
+
37
+
38
+ exports.classed = classed.classed;
39
+ exports.createUseMediaQueryWidth = createUseMediaQueryWidth.createUseMediaQueryWidth;
40
+ exports.extendComponent = extendComponent.extendComponent;
41
+ exports.FaviconTags = FaviconTags.FaviconTags;
42
+ exports.mergeRefs = mergeRefs.mergeRefs;
43
+ exports.Meta = Meta.Meta;
44
+ exports.NoJs = NoJs.NoJs;
45
+ exports.useAsyncFn = useAsyncFn.useAsyncFn;
46
+ exports.useFirstMountState = useFirstMountState.useFirstMountState;
47
+ exports.useFixedOffset = useFixedOffset.useFixedOffset;
48
+ exports.useFocus = useFocus.useFocus;
49
+ exports.useInterval = useInterval.useInterval;
50
+ exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect.useIsomorphicLayoutEffect;
51
+ exports.useKeyUp = useKeyUp.useKeyUp;
52
+ exports.useMeasure = useMeasure.useMeasure;
53
+ exports.useMountedState = useMountedState.useMountedState;
54
+ exports.useNavigateAway = useNavigateAway.useNavigateAway;
55
+ exports.usePrevious = usePrevious.usePrevious;
56
+ exports.usePreviousRef = usePreviousRef.usePreviousRef;
57
+ exports.useScrollPosition = useScrollPosition.useScrollPosition;
58
+ exports.useScrollThreshold = useScrollThreshold.useScrollThreshold;
59
+ exports.useSmoothScroll = useSmoothScroll.useSmoothScroll;
60
+ exports.useSpinDelay = useSpinDelay.useSpinDelay;
61
+ exports.useTraceUpdate = useTraceUpdate.useTraceUpdate;
62
+ exports.useUpdateEffect = useUpdateEffect.useUpdateEffect;
63
+ exports.useWindowSize = useWindowSize.useWindowSize;
package/index.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './index.cjs.js';
2
+ export { _default as default } from './index.cjs.default.js';
package/index.d.ts CHANGED
@@ -1 +1,28 @@
1
- export * from "./shared";
1
+ export { classed } from "./classed";
2
+ export { createUseMediaQueryWidth, type MediaQuerWidthDef, type MediaQueryWidth, } from "./createUseMediaQueryWidth";
3
+ export { type ExtendableComponent, type OverridableComponents, type WithComponents, extendComponent, } from "./extendComponent";
4
+ export { FaviconTags, type FaviconTagsProps } from "./FaviconTags";
5
+ export { mergeRefs } from "./mergeRefs";
6
+ export { Meta, type MetaProps } from "./Meta";
7
+ export { NoJs, type NoJsProps } from "./NoJs";
8
+ export type { Polymorphic } from "./Polymorphic";
9
+ export { useAsyncFn, type UseAsyncFnReturn, type UseAsyncState, } from "./useAsyncFn";
10
+ export { useFirstMountState } from "./useFirstMountState";
11
+ export { useFixedOffset } from "./useFixedOffset";
12
+ export { useFocus } from "./useFocus";
13
+ export { useInterval } from "./useInterval";
14
+ export { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";
15
+ export { useKeyUp } from "./useKeyUp";
16
+ export { useMeasure, type UseMeasureOptions, type UseMeasureReturn, } from "./useMeasure";
17
+ export { useMountedState } from "./useMountedState";
18
+ export { useNavigateAway, type UseNavigateAwayHandler, } from "./useNavigateAway";
19
+ export { usePrevious } from "./usePrevious";
20
+ export { usePreviousRef } from "./usePreviousRef";
21
+ export { useScrollPosition } from "./useScrollPosition";
22
+ export { useScrollThreshold } from "./useScrollThreshold";
23
+ export { useSmoothScroll } from "./useSmoothScroll";
24
+ export { useSpinDelay } from "./useSpinDelay";
25
+ export { useTraceUpdate } from "./useTraceUpdate";
26
+ export { useUpdateEffect } from "./useUpdateEffect";
27
+ export { useWindowSize } from "./useWindowSize";
28
+ export type { KoineComponentProps, KoineComponent } from "./types";