@koine/react 1.0.8 → 1.0.11

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 (650) hide show
  1. package/Alert/Alert.d.ts +5 -5
  2. package/Alert/Alert.js +2 -4
  3. package/Alert/index.d.ts +1 -1
  4. package/Alert/index.js +0 -0
  5. package/Alert/package.json +6 -0
  6. package/Animations/Reveal.d.ts +4 -4
  7. package/Animations/Reveal.js +2 -4
  8. package/Animations/Underline.d.ts +1 -1
  9. package/Animations/Underline.js +0 -0
  10. package/Animations/index.d.ts +3 -3
  11. package/Animations/index.js +0 -0
  12. package/Animations/package.json +6 -0
  13. package/Animations/useReveal.d.ts +33 -34
  14. package/Animations/useReveal.js +0 -0
  15. package/Autocomplete/AutocompleteDownshift.d.ts +1 -1
  16. package/Autocomplete/AutocompleteDownshift.js +0 -0
  17. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +1 -1
  18. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -0
  19. package/Autocomplete/AutocompleteMui.d.ts +47 -47
  20. package/Autocomplete/AutocompleteMui.js +19 -14
  21. package/Autocomplete/AutocompleteReach.d.ts +1 -1
  22. package/Autocomplete/AutocompleteReach.js +0 -0
  23. package/Autocomplete/components.d.ts +21 -21
  24. package/Autocomplete/components.js +0 -0
  25. package/Autocomplete/helpers.d.ts +3 -3
  26. package/Autocomplete/helpers.js +0 -0
  27. package/Autocomplete/index.d.ts +2 -2
  28. package/Autocomplete/index.js +0 -0
  29. package/Autocomplete/package.json +6 -0
  30. package/Bg/BgColor.d.ts +36 -36
  31. package/Bg/BgColor.js +5 -7
  32. package/Bg/BgPhoto.d.ts +13 -14
  33. package/Bg/BgPhoto.js +1 -1
  34. package/Bg/BgSvg.d.ts +7 -8
  35. package/Bg/BgSvg.js +1 -1
  36. package/Bg/index.d.ts +3 -3
  37. package/Bg/index.js +0 -0
  38. package/Bg/package.json +6 -0
  39. package/Breadcrumbs/Breadcrumbs.d.ts +13 -14
  40. package/Breadcrumbs/Breadcrumbs.js +3 -6
  41. package/Breadcrumbs/index.d.ts +1 -1
  42. package/Breadcrumbs/index.js +0 -0
  43. package/Breadcrumbs/package.json +6 -0
  44. package/Buttons/Button.d.ts +18 -18
  45. package/Buttons/Button.js +0 -0
  46. package/Buttons/ButtonComposite.d.ts +23 -23
  47. package/Buttons/ButtonComposite.js +4 -8
  48. package/Buttons/ButtonFab.d.ts +7 -7
  49. package/Buttons/ButtonFab.js +0 -0
  50. package/Buttons/ButtonLink.d.ts +8 -9
  51. package/Buttons/ButtonLink.js +2 -8
  52. package/Buttons/IconButton.d.ts +11 -11
  53. package/Buttons/IconButton.js +0 -0
  54. package/Buttons/index.d.ts +5 -5
  55. package/Buttons/index.js +0 -0
  56. package/Buttons/package.json +6 -0
  57. package/Calendar/CalendarDaygridCell.d.ts +36 -36
  58. package/Calendar/CalendarDaygridCell.js +5 -6
  59. package/Calendar/CalendarDaygridNav.d.ts +27 -28
  60. package/Calendar/CalendarDaygridNav.js +1 -2
  61. package/Calendar/CalendarDaygridTable.d.ts +25 -26
  62. package/Calendar/CalendarDaygridTable.js +20 -14
  63. package/Calendar/CalendarLegend.d.ts +19 -19
  64. package/Calendar/CalendarLegend.js +2 -3
  65. package/Calendar/calendar-api-google.d.ts +18 -18
  66. package/Calendar/calendar-api-google.js +37 -40
  67. package/Calendar/index.d.ts +6 -6
  68. package/Calendar/index.js +0 -0
  69. package/Calendar/package.json +6 -0
  70. package/Calendar/types.d.ts +81 -81
  71. package/Calendar/types.js +0 -0
  72. package/Calendar/useCalendar.d.ts +49 -50
  73. package/Calendar/useCalendar.js +24 -8
  74. package/Calendar/utils.d.ts +11 -11
  75. package/Calendar/utils.js +10 -4
  76. package/Carousel/Carousel.d.ts +1 -1
  77. package/Carousel/Carousel.js +0 -0
  78. package/Carousel/CarouselCss.d.ts +47 -47
  79. package/Carousel/CarouselCss.js +5 -7
  80. package/Carousel/index.d.ts +1 -1
  81. package/Carousel/index.js +0 -0
  82. package/Carousel/package.json +6 -0
  83. package/Collapsable/Collapsable.d.ts +1 -60
  84. package/Collapsable/Collapsable.js +1 -132
  85. package/Collapsable/CollapsableReach.d.ts +6 -0
  86. package/Collapsable/CollapsableReach.js +253 -0
  87. package/Collapsable/index.d.ts +1 -1
  88. package/Collapsable/index.js +1 -0
  89. package/Collapsable/package.json +6 -0
  90. package/Debug/Debug.d.ts +4 -5
  91. package/Debug/Debug.js +0 -0
  92. package/Debug/index.d.ts +1 -1
  93. package/Debug/index.js +0 -0
  94. package/Debug/package.json +6 -0
  95. package/Details/Details.d.ts +114 -0
  96. package/Details/Details.js +62 -0
  97. package/Details/index.d.ts +1 -0
  98. package/Details/index.js +1 -0
  99. package/Details/package.json +6 -0
  100. package/Dialog/DialogMui.d.ts +139 -0
  101. package/Dialog/DialogMui.js +78 -0
  102. package/Dialog/css/bare.d.ts +145 -0
  103. package/Dialog/css/bare.js +19 -0
  104. package/Dialog/index.d.ts +2 -1
  105. package/Dialog/index.js +1 -1
  106. package/Dialog/m/bare.d.ts +56 -0
  107. package/Dialog/m/bare.js +48 -0
  108. package/Dialog/m/basic.d.ts +4 -0
  109. package/Dialog/m/basic.js +31 -0
  110. package/Dialog/m/index.d.ts +2 -0
  111. package/Dialog/m/index.js +4 -0
  112. package/Dialog/m/package.json +6 -0
  113. package/Dialog/package.json +6 -0
  114. package/Dialog/sc/bare.d.ts +105 -0
  115. package/Dialog/sc/bare.js +61 -0
  116. package/Dialog/sc/framer.d.ts +80 -0
  117. package/Dialog/sc/framer.js +16 -0
  118. package/Dialog/sc/framerMaterial.d.ts +79 -0
  119. package/Dialog/sc/framerMaterial.js +16 -0
  120. package/Dialog/sc/material.d.ts +94 -0
  121. package/Dialog/sc/material.js +41 -0
  122. package/Dialog/tw/bare.d.ts +196 -0
  123. package/Dialog/tw/bare.js +36 -0
  124. package/Dialog/tw/elegant.d.ts +244 -0
  125. package/Dialog/tw/elegant.js +18 -0
  126. package/Dialog/tw/framer.d.ts +112 -0
  127. package/Dialog/tw/framer.js +16 -0
  128. package/Dialog/tw/framerMaterial.d.ts +167 -0
  129. package/Dialog/tw/framerMaterial.js +16 -0
  130. package/Dialog/tw/material.d.ts +244 -0
  131. package/Dialog/tw/material.js +18 -0
  132. package/Editor/Editor--tiptap.d.ts +9 -10
  133. package/Editor/Editor--tiptap.js +9 -7
  134. package/Editor/components.d.ts +7 -7
  135. package/Editor/components.js +0 -0
  136. package/Editor/index.d.ts +1 -1
  137. package/Editor/index.js +0 -0
  138. package/Editor/package.json +6 -0
  139. package/Favicon/FaviconTags.d.ts +18 -19
  140. package/Favicon/FaviconTags.js +0 -0
  141. package/Favicon/index.d.ts +1 -1
  142. package/Favicon/index.js +0 -0
  143. package/Favicon/package.json +6 -0
  144. package/Form/Form.d.ts +111 -0
  145. package/Form/Form.js +59 -0
  146. package/{Forms/Form/index.js → Form/index.d.ts} +0 -0
  147. package/{Forms/Form/index.d.ts → Form/index.js} +1 -1
  148. package/Form/package.json +6 -0
  149. package/Form/sc/bare.d.ts +33 -0
  150. package/Form/sc/bare.js +29 -0
  151. package/Forms/Checkbox/Checkbox.d.ts +11 -11
  152. package/Forms/Checkbox/Checkbox.js +1 -1
  153. package/Forms/Checkbox/index.d.ts +1 -1
  154. package/Forms/Checkbox/index.js +0 -0
  155. package/Forms/Checkbox/package.json +6 -0
  156. package/Forms/Feedback/Feedback.d.ts +5 -5
  157. package/Forms/Feedback/Feedback.js +1 -1
  158. package/Forms/Feedback/index.d.ts +1 -1
  159. package/Forms/Feedback/index.js +0 -0
  160. package/Forms/Feedback/package.json +6 -0
  161. package/Forms/Field/Field.d.ts +15 -16
  162. package/Forms/Field/Field.js +2 -4
  163. package/Forms/Field/FieldControl.d.ts +26 -26
  164. package/Forms/Field/FieldControl.js +2 -4
  165. package/Forms/Field/FieldHint.d.ts +1 -1
  166. package/Forms/Field/FieldHint.js +0 -0
  167. package/Forms/Field/index.d.ts +2 -2
  168. package/Forms/Field/index.js +0 -0
  169. package/Forms/Field/package.json +6 -0
  170. package/Forms/Input/Input.d.ts +9 -9
  171. package/Forms/Input/Input.js +2 -4
  172. package/Forms/Input/index.d.ts +1 -1
  173. package/Forms/Input/index.js +0 -0
  174. package/Forms/Input/package.json +6 -0
  175. package/Forms/InputGroup/InputGroup.d.ts +13 -13
  176. package/Forms/InputGroup/InputGroup.js +2 -2
  177. package/Forms/InputGroup/index.d.ts +1 -1
  178. package/Forms/InputGroup/index.js +0 -0
  179. package/Forms/InputGroup/package.json +6 -0
  180. package/Forms/Label/Label.d.ts +3 -3
  181. package/Forms/Label/Label.js +0 -0
  182. package/Forms/Label/index.d.ts +1 -1
  183. package/Forms/Label/index.js +0 -0
  184. package/Forms/Label/package.json +6 -0
  185. package/Forms/Password/Password.d.ts +5 -5
  186. package/Forms/Password/Password.js +2 -4
  187. package/Forms/Password/index.d.ts +1 -1
  188. package/Forms/Password/index.js +0 -0
  189. package/Forms/Password/package.json +6 -0
  190. package/Forms/Radio/Radio.d.ts +12 -12
  191. package/Forms/Radio/Radio.js +4 -7
  192. package/Forms/Radio/index.d.ts +1 -1
  193. package/Forms/Radio/index.js +0 -0
  194. package/Forms/Radio/package.json +6 -0
  195. package/Forms/Switch/Switch.d.ts +9 -9
  196. package/Forms/Switch/Switch.js +1 -1
  197. package/Forms/Switch/index.d.ts +1 -1
  198. package/Forms/Switch/index.js +0 -0
  199. package/Forms/Switch/package.json +6 -0
  200. package/Forms/Textarea/Textarea.d.ts +5 -5
  201. package/Forms/Textarea/Textarea.js +2 -4
  202. package/Forms/Textarea/TextareaRich.d.ts +6 -6
  203. package/Forms/Textarea/TextareaRich.js +3 -5
  204. package/Forms/Textarea/index.d.ts +2 -2
  205. package/Forms/Textarea/index.js +0 -0
  206. package/Forms/Textarea/package.json +6 -0
  207. package/Forms/Toggle/Toggle.d.ts +19 -26
  208. package/Forms/Toggle/Toggle.js +5 -4
  209. package/Forms/Toggle/index.d.ts +1 -1
  210. package/Forms/Toggle/index.js +0 -0
  211. package/Forms/Toggle/package.json +6 -0
  212. package/Forms/Toggle/useToggle.d.ts +46 -46
  213. package/Forms/Toggle/useToggle.js +9 -7
  214. package/Forms/antispam.d.ts +24 -24
  215. package/Forms/antispam.js +0 -0
  216. package/Forms/helpers.d.ts +26 -26
  217. package/Forms/helpers.js +1 -1
  218. package/Forms/index.d.ts +15 -16
  219. package/Forms/index.js +0 -1
  220. package/Forms/package.json +6 -0
  221. package/Forms/styles.d.ts +19 -20
  222. package/Forms/styles.js +1 -1
  223. package/Gauge/Gauge.d.ts +5 -5
  224. package/Gauge/Gauge.js +0 -0
  225. package/Grid/Grid.d.ts +64 -60
  226. package/Grid/Grid.js +0 -0
  227. package/Grid/index.d.ts +1 -1
  228. package/Grid/index.js +0 -0
  229. package/Grid/package.json +6 -0
  230. package/Hamburger/Hamburger.d.ts +6 -6
  231. package/Hamburger/Hamburger.js +13 -4
  232. package/Hamburger/index.d.ts +1 -1
  233. package/Hamburger/index.js +0 -0
  234. package/Hamburger/package.json +6 -0
  235. package/Header/index.d.ts +1 -1
  236. package/Header/index.js +0 -0
  237. package/Header/package.json +6 -0
  238. package/Header/useHeader.d.ts +24 -20
  239. package/Header/useHeader.js +3 -3
  240. package/Hidden/Hidden.d.ts +6 -6
  241. package/Hidden/Hidden.js +0 -0
  242. package/Hidden/index.d.ts +1 -1
  243. package/Hidden/index.js +0 -0
  244. package/Hidden/package.json +6 -0
  245. package/Img/index.d.ts +1 -1
  246. package/Img/index.js +1 -1
  247. package/Img/package.json +6 -0
  248. package/Img/sc/bare.d.ts +2 -0
  249. package/Img/{Img.js → sc/bare.js} +3 -0
  250. package/Img/types.d.ts +9 -0
  251. package/Img/types.js +1 -0
  252. package/Link/Link.d.ts +5 -5
  253. package/Link/Link.js +0 -0
  254. package/Link/LinkBlank.d.ts +8 -8
  255. package/Link/LinkBlank.js +2 -4
  256. package/Link/index.d.ts +2 -2
  257. package/Link/index.js +0 -0
  258. package/Link/package.json +6 -0
  259. package/Menu/Menu.d.ts +1 -1
  260. package/Menu/Menu.js +0 -0
  261. package/Menu/index.d.ts +1 -1
  262. package/Menu/index.js +0 -0
  263. package/Menu/package.json +6 -0
  264. package/MenuItem/MenuItem.d.ts +4 -4
  265. package/MenuItem/MenuItem.js +0 -0
  266. package/MenuItem/index.d.ts +1 -1
  267. package/MenuItem/index.js +0 -0
  268. package/MenuItem/package.json +6 -0
  269. package/Meta/Meta.d.ts +14 -15
  270. package/Meta/Meta.js +0 -0
  271. package/Meta/index.d.ts +1 -1
  272. package/Meta/index.js +0 -0
  273. package/Meta/package.json +6 -0
  274. package/NoJs/NoJs.d.ts +2 -3
  275. package/NoJs/NoJs.js +0 -0
  276. package/NoJs/index.d.ts +1 -1
  277. package/NoJs/index.js +0 -0
  278. package/NoJs/package.json +6 -0
  279. package/Pagination/PaginationNav.d.ts +22 -23
  280. package/Pagination/PaginationNav.js +2 -6
  281. package/Pagination/PaginationResults.d.ts +3 -3
  282. package/Pagination/PaginationResults.js +2 -2
  283. package/Pagination/index.d.ts +2 -2
  284. package/Pagination/index.js +0 -0
  285. package/Pagination/package.json +6 -0
  286. package/Pill/Pill.d.ts +5 -5
  287. package/Pill/Pill.js +0 -0
  288. package/Pill/index.d.ts +1 -1
  289. package/Pill/index.js +0 -0
  290. package/Pill/package.json +6 -0
  291. package/Progress/ProgressCircular.d.ts +19 -20
  292. package/Progress/ProgressCircular.js +2 -4
  293. package/Progress/ProgressLinear.d.ts +22 -23
  294. package/Progress/ProgressLinear.js +3 -5
  295. package/Progress/ProgressOverlay.d.ts +4 -5
  296. package/Progress/ProgressOverlay.js +3 -3
  297. package/Progress/index.d.ts +3 -3
  298. package/Progress/index.js +0 -0
  299. package/Progress/package.json +6 -0
  300. package/README.md +0 -0
  301. package/Rating/Rating.d.ts +35 -35
  302. package/Rating/Rating.js +6 -8
  303. package/Rating/index.d.ts +11 -11
  304. package/Rating/index.js +0 -0
  305. package/Rating/package.json +6 -0
  306. package/Select/SelectDownshift.d.ts +5 -5
  307. package/Select/SelectDownshift.js +0 -0
  308. package/Select/components.d.ts +6 -6
  309. package/Select/components.js +2 -4
  310. package/Select/index.d.ts +2 -2
  311. package/Select/index.js +0 -0
  312. package/Select/package.json +6 -0
  313. package/Sidebar/Sidebar.d.ts +3 -3
  314. package/Sidebar/Sidebar.js +1 -1
  315. package/Sidebar/index.d.ts +1 -1
  316. package/Sidebar/index.js +0 -0
  317. package/Sidebar/package.json +6 -0
  318. package/Spacing/Spacing.d.ts +30 -30
  319. package/Spacing/Spacing.js +3 -5
  320. package/Spacing/index.d.ts +1 -1
  321. package/Spacing/index.js +0 -0
  322. package/Spacing/package.json +6 -0
  323. package/Sticky/Sticky.d.ts +2 -2
  324. package/Sticky/Sticky.js +0 -1
  325. package/Sticky/StickyCss.d.ts +5 -5
  326. package/Sticky/StickyCss.js +2 -4
  327. package/Sticky/index.d.ts +1 -1
  328. package/Sticky/index.js +0 -0
  329. package/Sticky/package.json +6 -0
  330. package/Tabs/TabsMui.d.ts +244 -0
  331. package/Tabs/TabsMui.js +43 -0
  332. package/Tabs/index.d.ts +1 -1
  333. package/Tabs/index.js +1 -1
  334. package/Tabs/package.json +6 -0
  335. package/Tabs/sc/bare.d.ts +5 -0
  336. package/Tabs/sc/bare.js +87 -0
  337. package/Tabs/tw/bare.d.ts +248 -0
  338. package/Tabs/tw/bare.js +15 -0
  339. package/Tabs/tw/material.d.ts +472 -0
  340. package/Tabs/tw/material.js +14 -0
  341. package/Tabs/useTabs.d.ts +43 -0
  342. package/Tabs/useTabs.js +44 -0
  343. package/Typography/CopyPasteVisible.d.ts +1 -1
  344. package/Typography/CopyPasteVisible.js +0 -0
  345. package/Typography/Native.d.ts +10 -10
  346. package/Typography/Native.js +0 -0
  347. package/Typography/ReadMore.d.ts +12 -12
  348. package/Typography/ReadMore.js +3 -5
  349. package/Typography/TextLoop.d.ts +16 -16
  350. package/Typography/TextLoop.js +11 -7
  351. package/Typography/TypeStairs.d.ts +6 -6
  352. package/Typography/TypeStairs.js +1 -1
  353. package/Typography/index.d.ts +5 -5
  354. package/Typography/index.js +0 -0
  355. package/Typography/package.json +6 -0
  356. package/css/index.d.ts +2 -0
  357. package/css/index.js +31 -0
  358. package/css/package.json +6 -0
  359. package/helpers/classed.d.ts +22 -0
  360. package/helpers/classed.js +65 -0
  361. package/helpers/extend-component.d.ts +28 -0
  362. package/helpers/extend-component.js +12 -0
  363. package/helpers/index.d.ts +3 -1
  364. package/helpers/index.js +2 -19
  365. package/helpers/package.json +6 -0
  366. package/hooks/index.d.ts +14 -5
  367. package/hooks/index.js +11 -1
  368. package/hooks/package.json +6 -0
  369. package/hooks/types.d.ts +8 -0
  370. package/hooks/types.js +1 -0
  371. package/hooks/useAsyncFn.d.ts +26 -0
  372. package/hooks/useAsyncFn.js +29 -0
  373. package/hooks/useDateLocale.d.ts +7 -7
  374. package/hooks/useDateLocale.js +3 -4
  375. package/hooks/useEffectOnce.d.ts +5 -0
  376. package/hooks/useEffectOnce.js +8 -0
  377. package/hooks/useFirstMountState.d.ts +4 -0
  378. package/hooks/useFirstMountState.js +12 -0
  379. package/hooks/useFocus.d.ts +4 -5
  380. package/hooks/useFocus.js +0 -0
  381. package/hooks/useId.d.ts +4 -0
  382. package/hooks/useId.js +7 -0
  383. package/hooks/useIsomorphicLayoutEffect.d.ts +5 -0
  384. package/hooks/useIsomorphicLayoutEffect.js +8 -0
  385. package/hooks/useMount.d.ts +4 -0
  386. package/hooks/useMount.js +9 -0
  387. package/hooks/useMountedState.d.ts +4 -0
  388. package/hooks/useMountedState.js +15 -0
  389. package/hooks/usePrevious.d.ts +1 -1
  390. package/hooks/usePrevious.js +0 -0
  391. package/hooks/useScrollPosition.d.ts +15 -0
  392. package/hooks/useScrollPosition.js +75 -0
  393. package/hooks/useScrollTo.d.ts +1 -0
  394. package/hooks/useScrollTo.js +19 -0
  395. package/hooks/useTraceUpdate.d.ts +4 -4
  396. package/hooks/useTraceUpdate.js +0 -0
  397. package/hooks/useUpdateEffect.d.ts +5 -0
  398. package/hooks/useUpdateEffect.js +14 -0
  399. package/hooks/useWindowSize.d.ts +1 -1
  400. package/hooks/useWindowSize.js +0 -0
  401. package/index.d.ts +1 -35
  402. package/index.js +5 -36
  403. package/m/MotionProvider.d.ts +37 -0
  404. package/m/MotionProvider.js +37 -0
  405. package/m/index.d.ts +6 -0
  406. package/m/index.js +6 -0
  407. package/m/lite.d.ts +2 -0
  408. package/m/lite.js +2 -0
  409. package/m/max.d.ts +2 -0
  410. package/m/max.js +2 -0
  411. package/m/package.json +6 -0
  412. package/node/Alert/Alert.js +21 -0
  413. package/node/Alert/index.js +4 -0
  414. package/node/Animations/Reveal.js +19 -0
  415. package/node/Animations/Underline.js +19 -0
  416. package/node/Animations/index.js +6 -0
  417. package/node/Animations/useReveal.js +74 -0
  418. package/node/Autocomplete/AutocompleteDownshift.js +161 -0
  419. package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +356 -0
  420. package/node/Autocomplete/AutocompleteMui.js +175 -0
  421. package/node/Autocomplete/AutocompleteReach.js +115 -0
  422. package/node/Autocomplete/components.js +93 -0
  423. package/node/Autocomplete/helpers.js +32 -0
  424. package/node/Autocomplete/index.js +7 -0
  425. package/node/Bg/BgColor.js +36 -0
  426. package/node/Bg/BgPhoto.js +64 -0
  427. package/node/Bg/BgSvg.js +20 -0
  428. package/node/Bg/index.js +6 -0
  429. package/node/Breadcrumbs/Breadcrumbs.js +72 -0
  430. package/node/Breadcrumbs/index.js +4 -0
  431. package/node/Buttons/Button.js +83 -0
  432. package/node/Buttons/ButtonComposite.js +54 -0
  433. package/node/Buttons/ButtonFab.js +12 -0
  434. package/node/Buttons/ButtonLink.js +15 -0
  435. package/node/Buttons/IconButton.js +23 -0
  436. package/node/Buttons/index.js +8 -0
  437. package/node/Calendar/CalendarDaygridCell.js +55 -0
  438. package/node/Calendar/CalendarDaygridNav.js +27 -0
  439. package/node/Calendar/CalendarDaygridTable.js +60 -0
  440. package/node/Calendar/CalendarLegend.js +15 -0
  441. package/node/Calendar/calendar-api-google.js +99 -0
  442. package/node/Calendar/index.js +9 -0
  443. package/node/Calendar/types.js +2 -0
  444. package/node/Calendar/useCalendar.js +186 -0
  445. package/node/Calendar/utils.js +217 -0
  446. package/node/Carousel/Carousel.js +381 -0
  447. package/node/Carousel/CarouselCss.js +42 -0
  448. package/node/Carousel/index.js +4 -0
  449. package/node/Collapsable/Collapsable.js +4 -0
  450. package/node/Collapsable/CollapsableReach.js +253 -0
  451. package/node/Collapsable/index.js +5 -0
  452. package/node/Debug/Debug.js +26 -0
  453. package/node/Debug/index.js +4 -0
  454. package/node/Details/Details.js +65 -0
  455. package/node/Details/index.js +4 -0
  456. package/node/Dialog/DialogMui.js +82 -0
  457. package/node/Dialog/css/bare.js +23 -0
  458. package/node/Dialog/index.js +5 -0
  459. package/node/Dialog/m/bare.js +51 -0
  460. package/node/Dialog/m/basic.js +35 -0
  461. package/node/Dialog/m/index.js +8 -0
  462. package/node/Dialog/sc/bare.js +65 -0
  463. package/node/Dialog/sc/framer.js +19 -0
  464. package/node/Dialog/sc/framerMaterial.js +19 -0
  465. package/node/Dialog/sc/material.js +45 -0
  466. package/node/Dialog/tw/bare.js +40 -0
  467. package/node/Dialog/tw/elegant.js +21 -0
  468. package/node/Dialog/tw/framer.js +19 -0
  469. package/node/Dialog/tw/framerMaterial.js +19 -0
  470. package/node/Dialog/tw/material.js +21 -0
  471. package/node/Editor/Editor--tiptap.js +29 -0
  472. package/node/Editor/components.js +34 -0
  473. package/node/Editor/index.js +4 -0
  474. package/node/Favicon/FaviconTags.js +18 -0
  475. package/node/Favicon/index.js +4 -0
  476. package/node/Form/Form.js +63 -0
  477. package/node/Form/index.js +4 -0
  478. package/node/Form/sc/bare.js +33 -0
  479. package/node/Forms/Checkbox/Checkbox.js +28 -0
  480. package/node/Forms/Checkbox/index.js +4 -0
  481. package/node/Forms/Feedback/Feedback.js +15 -0
  482. package/node/Forms/Feedback/index.js +4 -0
  483. package/node/Forms/Field/Field.js +64 -0
  484. package/node/Forms/Field/FieldControl.js +47 -0
  485. package/node/Forms/Field/FieldHint.js +10 -0
  486. package/node/Forms/Field/index.js +5 -0
  487. package/node/Forms/Input/Input.js +27 -0
  488. package/node/Forms/Input/index.js +4 -0
  489. package/node/Forms/InputGroup/InputGroup.js +47 -0
  490. package/node/Forms/InputGroup/index.js +4 -0
  491. package/node/Forms/Label/Label.js +28 -0
  492. package/node/Forms/Label/index.js +4 -0
  493. package/node/Forms/Password/Password.js +34 -0
  494. package/node/Forms/Password/index.js +4 -0
  495. package/node/Forms/Radio/Radio.js +32 -0
  496. package/node/Forms/Radio/index.js +4 -0
  497. package/node/Forms/Switch/Switch.js +54 -0
  498. package/node/Forms/Switch/index.js +4 -0
  499. package/node/Forms/Textarea/Textarea.js +17 -0
  500. package/node/Forms/Textarea/TextareaRich.js +46 -0
  501. package/node/Forms/Textarea/index.js +5 -0
  502. package/node/Forms/Toggle/Toggle.js +86 -0
  503. package/node/Forms/Toggle/index.js +4 -0
  504. package/node/Forms/Toggle/useToggle.js +149 -0
  505. package/node/Forms/antispam.js +61 -0
  506. package/node/Forms/helpers.js +51 -0
  507. package/node/Forms/index.js +19 -0
  508. package/node/Forms/styles.js +64 -0
  509. package/node/Gauge/Gauge.js +106 -0
  510. package/node/Grid/Grid.js +83 -0
  511. package/node/Grid/index.js +4 -0
  512. package/node/Hamburger/Hamburger.js +69 -0
  513. package/node/Hamburger/index.js +4 -0
  514. package/node/Header/index.js +4 -0
  515. package/node/Header/useHeader.js +34 -0
  516. package/node/Hidden/Hidden.js +18 -0
  517. package/node/Hidden/index.js +4 -0
  518. package/node/Img/index.js +4 -0
  519. package/node/Img/sc/bare.js +41 -0
  520. package/node/Img/types.js +2 -0
  521. package/node/Link/Link.js +6 -0
  522. package/node/Link/LinkBlank.js +31 -0
  523. package/node/Link/index.js +5 -0
  524. package/node/Menu/Menu.js +15 -0
  525. package/node/Menu/index.js +4 -0
  526. package/node/MenuItem/MenuItem.js +24 -0
  527. package/node/MenuItem/index.js +4 -0
  528. package/node/Meta/Meta.js +8 -0
  529. package/node/Meta/index.js +4 -0
  530. package/node/NoJs/NoJs.js +10 -0
  531. package/node/NoJs/index.js +4 -0
  532. package/node/Pagination/PaginationNav.js +88 -0
  533. package/node/Pagination/PaginationResults.js +15 -0
  534. package/node/Pagination/index.js +5 -0
  535. package/node/Pill/Pill.js +41 -0
  536. package/node/Pill/index.js +4 -0
  537. package/node/Progress/ProgressCircular.js +41 -0
  538. package/node/Progress/ProgressLinear.js +37 -0
  539. package/node/Progress/ProgressOverlay.js +45 -0
  540. package/node/Progress/index.js +6 -0
  541. package/node/Rating/Rating.js +97 -0
  542. package/node/Rating/index.js +53 -0
  543. package/node/Select/SelectDownshift.js +41 -0
  544. package/node/Select/components.js +22 -0
  545. package/node/Select/index.js +7 -0
  546. package/node/Sidebar/Sidebar.js +53 -0
  547. package/node/Sidebar/index.js +4 -0
  548. package/node/Spacing/Spacing.js +50 -0
  549. package/node/Spacing/index.js +4 -0
  550. package/node/Sticky/Sticky.js +222 -0
  551. package/node/Sticky/StickyCss.js +8 -0
  552. package/node/Sticky/index.js +4 -0
  553. package/node/Tabs/TabsMui.js +47 -0
  554. package/node/Tabs/index.js +4 -0
  555. package/node/Tabs/sc/bare.js +87 -0
  556. package/node/Tabs/tw/bare.js +19 -0
  557. package/node/Tabs/tw/material.js +17 -0
  558. package/node/Tabs/useTabs.js +48 -0
  559. package/node/Typography/CopyPasteVisible.js +10 -0
  560. package/node/Typography/Native.js +51 -0
  561. package/node/Typography/ReadMore.js +74 -0
  562. package/node/Typography/TextLoop.js +54 -0
  563. package/node/Typography/TypeStairs.js +49 -0
  564. package/node/Typography/index.js +8 -0
  565. package/node/css/index.js +36 -0
  566. package/node/helpers/classed.js +69 -0
  567. package/node/helpers/extend-component.js +16 -0
  568. package/node/helpers/index.js +5 -0
  569. package/node/hooks/index.js +18 -0
  570. package/node/hooks/types.js +2 -0
  571. package/node/hooks/useAsyncFn.js +33 -0
  572. package/node/hooks/useDateLocale.js +56 -0
  573. package/node/hooks/useEffectOnce.js +12 -0
  574. package/node/hooks/useFirstMountState.js +16 -0
  575. package/node/hooks/useFocus.js +15 -0
  576. package/node/hooks/useId.js +11 -0
  577. package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
  578. package/node/hooks/useMount.js +13 -0
  579. package/node/hooks/useMountedState.js +19 -0
  580. package/node/hooks/usePrevious.js +12 -0
  581. package/node/hooks/useScrollPosition.js +79 -0
  582. package/node/hooks/useScrollTo.js +23 -0
  583. package/node/hooks/useTraceUpdate.js +24 -0
  584. package/node/hooks/useUpdateEffect.js +18 -0
  585. package/node/hooks/useWindowSize.js +17 -0
  586. package/node/index.js +8 -0
  587. package/node/m/MotionProvider.js +41 -0
  588. package/node/m/index.js +9 -0
  589. package/node/m/lite.js +4 -0
  590. package/node/m/max.js +4 -0
  591. package/node/sc/index.js +37 -0
  592. package/node/scm/index.js +36 -0
  593. package/node/shared/index.js +11 -0
  594. package/node/styles/Body.js +21 -0
  595. package/node/styles/Global.js +53 -0
  596. package/node/styles/index.js +10 -0
  597. package/node/styles/media.js +156 -0
  598. package/node/styles/spacing.js +53 -0
  599. package/node/styles/styled.js +31 -0
  600. package/node/styles/theme--vanilla.js +59 -0
  601. package/node/styles/theme.js +45 -0
  602. package/node/tw/index.js +36 -0
  603. package/node/twm/index.js +36 -0
  604. package/node/types.js +2 -0
  605. package/package.json +16 -25
  606. package/sc/index.d.ts +30 -0
  607. package/sc/index.js +31 -0
  608. package/sc/package.json +6 -0
  609. package/scm/index.d.ts +29 -0
  610. package/scm/index.js +31 -0
  611. package/scm/package.json +6 -0
  612. package/shared/index.d.ts +8 -0
  613. package/shared/index.js +8 -0
  614. package/shared/package.json +6 -0
  615. package/styles/Body.d.ts +10 -10
  616. package/styles/Body.js +0 -0
  617. package/styles/Global.d.ts +15 -15
  618. package/styles/Global.js +0 -0
  619. package/styles/index.d.ts +7 -7
  620. package/styles/index.js +0 -0
  621. package/styles/media.d.ts +67 -67
  622. package/styles/media.js +0 -0
  623. package/styles/package.json +6 -0
  624. package/styles/spacing.d.ts +13 -13
  625. package/styles/spacing.js +1 -1
  626. package/styles/styled.d.ts +12 -12
  627. package/styles/styled.js +0 -0
  628. package/styles/theme--vanilla.d.ts +18 -18
  629. package/styles/theme--vanilla.js +3 -3
  630. package/styles/theme.d.ts +82 -82
  631. package/styles/theme.js +4 -1
  632. package/tw/index.d.ts +2 -0
  633. package/tw/index.js +31 -0
  634. package/tw/package.json +6 -0
  635. package/twm/index.d.ts +2 -0
  636. package/twm/index.js +31 -0
  637. package/twm/package.json +6 -0
  638. package/types.d.ts +10 -11
  639. package/types.js +0 -0
  640. package/typings.d.ts +0 -0
  641. package/Dialog/Dialog.d.ts +0 -23
  642. package/Dialog/Dialog.js +0 -93
  643. package/Forms/Form/Form.d.ts +0 -31
  644. package/Forms/Form/Form.js +0 -64
  645. package/Img/Img.d.ts +0 -11
  646. package/Tabs/Tabs.d.ts +0 -25
  647. package/Tabs/Tabs.js +0 -67
  648. package/index.umd.js +0 -9660
  649. package/styles/classed.d.ts +0 -4
  650. package/styles/classed.js +0 -11
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineButton = exports.btnStyleOutlined = exports.btnStyleContained = exports.btnStyleBase = exports.btnStyleReset = exports.btnStyleUndo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const styled_components_1 = tslib_1.__importStar(require("styled-components"));
6
+ const styled_1 = require("../styles/styled");
7
+ /**
8
+ * Prevent 300ms delay with `touch-action` performance optimization,
9
+ * @see https://twitter.com/argyleink/status/1405881231695302659
10
+ */
11
+ exports.btnStyleUndo = (0, styled_components_1.css) `
12
+ appearance: none;
13
+ -webkit-appearance: none;
14
+ -webkit-touch-callout: none;
15
+ user-select: none;
16
+ touch-action: manipulation;
17
+ outline: 0px;
18
+ color: var(--bodyColor);
19
+ `;
20
+ exports.btnStyleReset = (0, styled_components_1.css) `
21
+ display: inline-flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ background: transparent;
25
+ border-width: 1px;
26
+ border-style: solid;
27
+ border-color: transparent;
28
+ cursor: pointer;
29
+ ${exports.btnStyleUndo}
30
+
31
+ &[disabled] {
32
+ cursor: default;
33
+ opacity: 0.7;
34
+ }
35
+ `;
36
+ exports.btnStyleBase = (0, styled_components_1.css) `
37
+ ${exports.btnStyleReset}
38
+
39
+ min-width: ${(p) => (p.$noGutter ? "0" : "150px")};
40
+ padding: ${(p) => (p.$noGutter ? "0" : "10px 30px")};
41
+ border-radius: 0;
42
+ text-align: center;
43
+ text-transform: uppercase;
44
+ font-weight: 600;
45
+ ${(p) => p.$block && `width: 100%; display: flex;`}
46
+
47
+ &:focus,
48
+ &:active,
49
+ &:visited {
50
+ ${styled_1.stateFocus}
51
+ }
52
+
53
+ /* This targets icons within a button */
54
+ & svg {
55
+ margin: 0 1em 0 0;
56
+ font-size: 1.25em;
57
+ }
58
+ `;
59
+ exports.btnStyleContained = (0, styled_components_1.css) `
60
+ color: white;
61
+ background: var(--accent200);
62
+ border-color: var(--accent200);
63
+
64
+ &:hover:not([disabled]) {
65
+ background: var(--accent300);
66
+ border-color: var(--accent300);
67
+ }
68
+ `;
69
+ exports.btnStyleOutlined = (0, styled_components_1.css) `
70
+ color: var(--accent200);
71
+ border-color: var(--accent200);
72
+
73
+ &:hover:not([disabled]) {
74
+ background: var(--accent300);
75
+ border-color: var(--accent300);
76
+ color: white;
77
+ }
78
+ `;
79
+ exports.KoineButton = styled_components_1.default.button `
80
+ ${exports.btnStyleBase}
81
+ ${(p) => p.$variant === "outlined" && exports.btnStyleOutlined}
82
+ ${(p) => p.$variant === "contained" && exports.btnStyleContained}
83
+ `;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineButtonComposite = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ const Root = styled_components_1.default.span `
9
+ ${(p) => p.$icon ? `display: flex;` : `display: inline-block; text-align: left;`}
10
+ min-width: 0;
11
+
12
+ & svg {
13
+ font-size: 2em !important;
14
+ margin: 0 0.33em 0 0 !important;
15
+ }
16
+ `;
17
+ const ButtonCompositeIcon = styled_components_1.default.svg `
18
+ float: left;
19
+ `;
20
+ const BesidesIcon = styled_components_1.default.span `
21
+ text-align: left;
22
+ line-height: 1.2;
23
+ `;
24
+ const Main = styled_components_1.default.span `
25
+ display: block;
26
+ font-size: 0.9em;
27
+
28
+ &:last-child {
29
+ margin-top: ${(p) => (p.$reverse && !p.$icon ? "0.5em" : "0")};
30
+ }
31
+ `;
32
+ const Sub = styled_components_1.default.span `
33
+ display: block;
34
+ text-transform: none;
35
+ font-size: 0.7em;
36
+ font-weight: 500;
37
+
38
+ ${Main} + & {
39
+ margin-top: ${(p) => (p.$reverse && !p.$icon ? "0.5em" : "0")};
40
+ }
41
+ `;
42
+ const Text = styled_components_1.default.span ``;
43
+ const Inner = (0, react_1.memo)(({ textMain, textSub, text, $reverse, $icon, }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [$reverse ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [textSub && ((0, jsx_runtime_1.jsx)(Sub, { "$icon": $icon, "$reverse": $reverse, children: textSub })), textMain && ((0, jsx_runtime_1.jsx)(Main, { "$icon": $icon, "$reverse": $reverse, children: textMain }))] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [textMain && ((0, jsx_runtime_1.jsx)(Main, { "$icon": $icon, "$reverse": $reverse, children: textMain })), textSub && ((0, jsx_runtime_1.jsx)(Sub, { "$icon": $icon, "$reverse": $reverse, children: textSub }))] })), text && (0, jsx_runtime_1.jsx)(Text, { children: text })] })));
44
+ const KoineButtonComposite = ({ Icon, iconProps = {}, textMain, textSub, textReverse, text, Button = "button", ButtonLink = "a", ...props }) => {
45
+ const Btn = props.href ? ButtonLink : Button;
46
+ const styledProps = {
47
+ $icon: !!Icon,
48
+ $reverse: textReverse,
49
+ $twoLines: !!(textMain && textSub && !Icon),
50
+ };
51
+ const innerProps = { textMain, textSub, text, ...styledProps };
52
+ return ((0, jsx_runtime_1.jsxs)(Root, { as: Btn, ...props, ...styledProps, children: [Icon && (0, jsx_runtime_1.jsx)(ButtonCompositeIcon, { as: Icon, ...iconProps }), Icon ? ((0, jsx_runtime_1.jsx)(BesidesIcon, { ...styledProps, children: (0, jsx_runtime_1.jsx)(Inner, { ...innerProps }) })) : ((0, jsx_runtime_1.jsx)(Inner, { ...innerProps }))] }));
53
+ };
54
+ exports.KoineButtonComposite = KoineButtonComposite;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IconButtonFab = exports.buttonFab = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const styled_components_1 = tslib_1.__importStar(require("styled-components"));
6
+ const IconButton_1 = require("./IconButton");
7
+ exports.buttonFab = (0, styled_components_1.css) `
8
+ box-shadow: 3px 3px 6px -4px rgb(0, 0, 0, 0.5);
9
+ `;
10
+ exports.IconButtonFab = (0, styled_components_1.default)(IconButton_1.IconButton) `
11
+ ${exports.buttonFab}
12
+ `;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineButtonLink = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ const Button_1 = require("./Button");
8
+ const Root = (0, styled_components_1.default)(Button_1.KoineButton) `
9
+ text-decoration: none;
10
+ `;
11
+ const KoineButtonLink = ({ href, Link = "a", ...props }) => {
12
+ const isRelative = href && href.startsWith("/");
13
+ return isRelative ? ((0, jsx_runtime_1.jsx)(Root, { href: href, ...props, as: Link })) : ((0, jsx_runtime_1.jsx)(Root, { href: href, ...props, as: "a" }));
14
+ };
15
+ exports.KoineButtonLink = KoineButtonLink;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IconButton = exports.iconBtnStyleBase = exports.iconBtnStyleReset = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const styled_components_1 = tslib_1.__importStar(require("styled-components"));
6
+ const Button_1 = require("./Button");
7
+ exports.iconBtnStyleReset = (0, styled_components_1.css) `
8
+ display: inline-flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ width: 44px;
12
+ height: 44px;
13
+ border-radius: 100%;
14
+ ${Button_1.btnStyleReset}
15
+ `;
16
+ exports.iconBtnStyleBase = (0, styled_components_1.css) `
17
+ ${exports.iconBtnStyleReset}
18
+ `;
19
+ exports.IconButton = styled_components_1.default.button `
20
+ ${exports.iconBtnStyleBase}
21
+ ${(p) => p.$variant === "outlined" && Button_1.btnStyleOutlined}
22
+ ${(p) => p.$variant === "contained" && Button_1.btnStyleContained}
23
+ `;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Button"), exports);
5
+ tslib_1.__exportStar(require("./ButtonComposite"), exports);
6
+ tslib_1.__exportStar(require("./ButtonFab"), exports);
7
+ tslib_1.__exportStar(require("./ButtonLink"), exports);
8
+ tslib_1.__exportStar(require("./IconButton"), exports);
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CalendarDaygridCell = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const md_1 = require("react-icons/md");
7
+ const utils_1 = require("./utils");
8
+ /**
9
+ * Style for button within a event cell
10
+ *
11
+ * Here we might differentiate week/month view where the first does not get
12
+ * ellipsed btn texts, with `Start` as block element and underneath the `Title`
13
+ * on multiple lines, but that would mean that we loose the ability to interweave
14
+ * single-day events among the spaces left by wider multi-days events.
15
+ */
16
+ const styleBtn = {
17
+ overflow: "hidden",
18
+ whiteSpace: "nowrap",
19
+ textOverflow: "ellipsis",
20
+ };
21
+ const CalendarDaygridCell = ({ eventClicked, setEventClicked,
22
+ // eventHovered,
23
+ setEventHovered, view, maxEvents, events, calendarsMap, Cell = "div", CellOverflow = "div", CellEvent = "div", CellEventBtn = "div", CellEventTitle = "span", CellEventStart = "span", }) => {
24
+ const [isExpanded, expand] = (0, react_1.useState)(false);
25
+ const eventsWithoutPlaceholders = events.filter((event) => !event.placeholder);
26
+ return ((0, jsx_runtime_1.jsx)(Cell, { children: events.map((event, i) => {
27
+ if (i === maxEvents && !isExpanded) {
28
+ return ((0, jsx_runtime_1.jsxs)(CellOverflow, { onClick: () => expand(true), children: [(0, jsx_runtime_1.jsx)(md_1.MdAdd, {}), eventsWithoutPlaceholders.length - maxEvents] }, "overflowMessage" + i));
29
+ }
30
+ if (i > maxEvents && !isExpanded)
31
+ return null;
32
+ if (event.placeholder) {
33
+ return ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsx)(CellEvent, { "$placeholder": true, children: (0, jsx_runtime_1.jsx)(CellEventBtn, { "aria-hidden": "true", style: { visibility: "hidden" }, "$placeholder": true, children: (0, jsx_runtime_1.jsx)(CellEventTitle, { children: "\u00A0" }) }) }) }, event.key));
34
+ }
35
+ const styleEvent = {
36
+ zIndex: event.firstOfMulti ? 1 : 0,
37
+ position: "relative",
38
+ width: event.firstOfMulti ? `${100 * event.width}%` : "100%",
39
+ };
40
+ if (!calendarsMap[event.calendar.id].on) {
41
+ // @ts-expect-error nevermind
42
+ styleBtn.display = "none";
43
+ }
44
+ const styledProps = {
45
+ $view: view,
46
+ $selected: eventClicked?.uid === event.uid,
47
+ $past: event.isPast,
48
+ $color: event.color,
49
+ $isOutOfRange: event.$isOutOfRange,
50
+ $isToday: event.$isToday,
51
+ };
52
+ return ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsx)(CellEvent, { style: styleEvent, ...styledProps, children: (0, jsx_runtime_1.jsx)(CellEventBtn, { role: "button", style: styleBtn, ...styledProps, onClick: () => setEventClicked((prev) => prev?.uid === event.uid ? null : event), onMouseEnter: () => setEventHovered(event), onMouseLeave: () => setEventHovered(null), children: event.allDay ? ((0, jsx_runtime_1.jsx)(CellEventTitle, { children: event.title })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(CellEventStart, { children: (0, utils_1.getDisplayTime)(event.start) }), (0, jsx_runtime_1.jsx)(CellEventTitle, { children: event.title })] })) }) }) }, event.key));
53
+ }) }));
54
+ };
55
+ exports.CalendarDaygridCell = CalendarDaygridCell;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineCalendarDaygridNav = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const format_1 = tslib_1.__importDefault(require("date-fns/format"));
7
+ const useDateLocale_1 = require("../hooks/useDateLocale");
8
+ const KoineCalendarDaygridNav = ({ range, view, todayInView, handlePrev, handleNext, handleToday, handleView, locale: localeCode, NavRoot = "nav", NavTitle = "div", NavBtns = "div", NavBtnPrev = "button", NavBtnNext = "button", NavBtnToday = "button", NavBtnViewMonth = "button", NavBtnViewWeek = "button", }) => {
9
+ const [start, end] = range;
10
+ const locale = (0, useDateLocale_1.useDateLocale)(localeCode);
11
+ const opts = { locale };
12
+ let formatted = "";
13
+ if (view === "month") {
14
+ formatted = (0, format_1.default)(start, "MMMM yyyy", opts);
15
+ }
16
+ if (view === "week") {
17
+ const inSameMonth = start.getMonth() === end.getMonth();
18
+ if (inSameMonth) {
19
+ formatted = (0, format_1.default)(start, "# MMMM yyyy", opts).replace("#", `${start.getDate()}-${end.getDate()}`);
20
+ }
21
+ else {
22
+ formatted = `${(0, format_1.default)(start, "d MMMM", opts)} - ${(0, format_1.default)(end, "d MMMM yyyy", opts)}`;
23
+ }
24
+ }
25
+ return ((0, jsx_runtime_1.jsxs)(NavRoot, { children: [(0, jsx_runtime_1.jsxs)(NavBtns, { children: [(0, jsx_runtime_1.jsx)(NavBtnPrev, { onClick: handlePrev }), (0, jsx_runtime_1.jsx)(NavBtnNext, { onClick: handleNext }), (0, jsx_runtime_1.jsx)(NavBtnToday, { onClick: handleToday, disabled: todayInView }), (0, jsx_runtime_1.jsx)(NavBtnViewMonth, { onClick: () => handleView("month"), disabled: view === "month" }), (0, jsx_runtime_1.jsx)(NavBtnViewWeek, { onClick: () => handleView("week"), disabled: view === "week" })] }), (0, jsx_runtime_1.jsx)(NavTitle, { range: range, formatted: formatted })] }));
26
+ };
27
+ exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineCalendarDaygridTable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const eachWeekOfInterval_1 = tslib_1.__importDefault(require("date-fns/eachWeekOfInterval"));
8
+ const react_swipeable_1 = require("react-swipeable");
9
+ const hooks_1 = require("../hooks");
10
+ const utils_1 = require("./utils");
11
+ const CalendarDaygridCell_1 = require("./CalendarDaygridCell");
12
+ function getView(range) {
13
+ const [start, end] = range;
14
+ const weeks = (0, eachWeekOfInterval_1.default)({ start, end }, { weekStartsOn: 1 });
15
+ return {
16
+ month: start.getMonth(),
17
+ weeks,
18
+ };
19
+ }
20
+ const KoineCalendarDaygridTable = ({ locale: localeCode, handlePrev, handleNext, events, dayLabels, view, range, eventClicked, setEventClicked, eventHovered, setEventHovered, calendarsMap = {}, maxEvents = 5, Table = "table", TableHead = "thead", TableHeadCell = "th", TableBody = "tbody", TableBodyRow = "tr", TableBodyCell = "td", TableBodyCellDate = "div", Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }) => {
21
+ const restKoine = {
22
+ Cell,
23
+ CellOverflow,
24
+ CellEvent,
25
+ CellEventBtn,
26
+ CellEventTitle,
27
+ CellEventStart,
28
+ };
29
+ const [days, setDays] = (0, react_1.useState)(dayLabels || [0, 1, 2, 3, 4, 5, 6]);
30
+ const [weeksEvents, setWeeksEvents] = (0, react_1.useState)([]);
31
+ // const [days, setDays] = useState(dayLabels || [...Array(7).keys()]);
32
+ const locale = (0, hooks_1.useDateLocale)(localeCode);
33
+ const { month, weeks } = (0, react_1.useMemo)(() => getView(range), [range]);
34
+ const swipeableHandlers = (0, react_swipeable_1.useSwipeable)({
35
+ onSwipedLeft: handleNext,
36
+ onSwipedRight: handlePrev,
37
+ });
38
+ (0, react_1.useEffect)(() => {
39
+ setWeeksEvents((0, utils_1.processEventsInView)(events, view, month, weeks));
40
+ }, [events, view, month, weeks]);
41
+ (0, react_1.useEffect)(() => {
42
+ if (locale && locale.localize && !dayLabels) {
43
+ setDays([1, 2, 3, 4, 5, 6, 0].map(
44
+ // @ts-expect-error nevermind
45
+ (i) => locale.localize.day(i, { width: "abbreviated" })));
46
+ }
47
+ }, [locale, dayLabels]);
48
+ return ((0, jsx_runtime_1.jsxs)(Table, { ...swipeableHandlers, children: [(0, jsx_runtime_1.jsx)(TableHead, { children: (0, jsx_runtime_1.jsx)("tr", { children: days.map((day) => ((0, jsx_runtime_1.jsx)(TableHeadCell, { scope: "column", children: day }, day))) }) }), (0, jsx_runtime_1.jsx)(TableBody, { children: weeksEvents.map((week, i) => ((0, jsx_runtime_1.jsx)(TableBodyRow, { ...week.props, children: week.days.map((day) => ((0, jsx_runtime_1.jsxs)(TableBodyCell, { ...day.props, children: [(0, jsx_runtime_1.jsx)(TableBodyCellDate, { ...day.props, children: day.label }), day.events.length > 0 && ((0, jsx_runtime_1.jsx)(CalendarDaygridCell_1.CalendarDaygridCell, { ...{
49
+ eventClicked,
50
+ setEventClicked,
51
+ eventHovered,
52
+ setEventHovered,
53
+ view,
54
+ maxEvents,
55
+ events: day.events,
56
+ timestamp: day.timestamp,
57
+ calendarsMap,
58
+ }, ...restKoine }))] }))) }))) })] }));
59
+ };
60
+ exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineCalendarLegend = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const KoineCalendarLegend = ({ calendarsMap = {}, toggleCalendarVisibility, LegendItem = "div", LegendItemStatus = "span", LegendItemLabel = "span", LegendItemEvents = "span", }) => {
6
+ // const sorted = Object.entries(calendarsMap).sort((a, b) => {
7
+ // const { name: nameA } = a[1];
8
+ // const { name: nameB } = b[1];
9
+ // if (nameA < nameB) return -1;
10
+ // else if (nameA > nameB) return 1;
11
+ // else return 0;
12
+ // });
13
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: Object.entries(calendarsMap).map(([id, calendar]) => ((0, jsx_runtime_1.jsxs)(LegendItem, { onClick: () => toggleCalendarVisibility(id), "$color": calendar.color, "$empty": calendar.events === 0, disabled: calendar.events === 0, children: [(0, jsx_runtime_1.jsx)(LegendItemStatus, { children: calendar.on ? "\u2b24" : "\u2b58" }), (0, jsx_runtime_1.jsx)(LegendItemLabel, { children: calendar.name }), (0, jsx_runtime_1.jsx)(LegendItemEvents, { children: calendar.events })] }, "CalendarLegend." + id))) }));
14
+ };
15
+ exports.KoineCalendarLegend = KoineCalendarLegend;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCalendarsEventsFromGoogle = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("@koine/utils");
6
+ const differenceInDays_1 = tslib_1.__importDefault(require("date-fns/differenceInDays"));
7
+ const subDays_1 = tslib_1.__importDefault(require("date-fns/subDays"));
8
+ const utils_2 = require("./utils");
9
+ const baseURL = "https://www.googleapis.com/calendar/v3/calendars/";
10
+ async function getCalendarsEventsFromGoogle({ calendars, ...options }) {
11
+ const allEvents = {};
12
+ await Promise.all(calendars.map(async (calendar) => {
13
+ const events = await getCalendarEventsFromGoogle({
14
+ calendar,
15
+ ...options,
16
+ });
17
+ (0, utils_2.addCalendarEvents)(events, allEvents);
18
+ }));
19
+ return allEvents;
20
+ }
21
+ exports.getCalendarsEventsFromGoogle = getCalendarsEventsFromGoogle;
22
+ async function getCalendarEventsFromGoogle({ apiKey, calendar, timeZone = "", start, end, }) {
23
+ const events = {};
24
+ const params = new URLSearchParams({
25
+ calendarId: calendar.id,
26
+ timeZone,
27
+ singleEvents: "true",
28
+ maxAttendees: "1",
29
+ maxResults: "9999",
30
+ sanitizeHtml: "true",
31
+ timeMin: start.toISOString(),
32
+ timeMax: end.toISOString(),
33
+ key: apiKey || process.env["GOOGLE_CALENDAR_API_KEY"] || "",
34
+ }).toString();
35
+ const url = baseURL + calendar.id + "/events?" + params;
36
+ try {
37
+ const response = await fetch(url, { method: "GET" });
38
+ const data = (await response.json());
39
+ calendar.name = calendar.name || data.summary;
40
+ data.items.forEach((googleEvent) => {
41
+ const event = transformCalendarEventFromGoogle(googleEvent, calendar);
42
+ events[event.uid] = event;
43
+ });
44
+ }
45
+ catch (e) {
46
+ // if (onError) onError(e);
47
+ }
48
+ return events;
49
+ }
50
+ function transformCalendarEventFromGoogle(event, calendar) {
51
+ const created = new Date(event.created);
52
+ const link = event.htmlLink;
53
+ const title = event.summary;
54
+ const status = event.status;
55
+ const start = new Date(event.start.date || event.start.dateTime);
56
+ let end = new Date(event.end.date || event.end.dateTime);
57
+ const color = calendar.color;
58
+ const allDay = (0, utils_1.isUndefined)(event.end.dateTime) && (0, utils_1.isString)(event.end.date);
59
+ const location = event.location || "";
60
+ const description = event.description || ""; // FIXME: he.decode(event.description || '');
61
+ const uid = created.getTime() + "" + start.getTime();
62
+ // multi-days all day events has as end date the date after to what we actually
63
+ // 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
64
+ if (allDay && end > start) {
65
+ end = (0, subDays_1.default)(end, 1);
66
+ end.setHours(23, 59, 59);
67
+ }
68
+ const days = getDays();
69
+ const daysMap = (0, utils_1.arrayToLookup)(days);
70
+ const multi = days.length > 1;
71
+ function getDays() {
72
+ const from = new Date(start);
73
+ const to = new Date(end);
74
+ const days = [(0, utils_2.getEventTimestamp)(from)];
75
+ while ((0, differenceInDays_1.default)(to, from)) {
76
+ // console.log(title, differenceInDays(to, from))
77
+ from.setDate(from.getDate() + 1);
78
+ days.push((0, utils_2.getEventTimestamp)(from));
79
+ }
80
+ return days;
81
+ }
82
+ return {
83
+ calendar,
84
+ created,
85
+ link,
86
+ title,
87
+ status,
88
+ start,
89
+ end,
90
+ days,
91
+ daysMap,
92
+ multi,
93
+ color,
94
+ allDay,
95
+ location,
96
+ description,
97
+ uid,
98
+ };
99
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./CalendarDaygridCell"), exports);
5
+ tslib_1.__exportStar(require("./CalendarDaygridNav"), exports);
6
+ tslib_1.__exportStar(require("./CalendarDaygridTable"), exports);
7
+ tslib_1.__exportStar(require("./CalendarLegend"), exports);
8
+ tslib_1.__exportStar(require("./useCalendar"), exports);
9
+ tslib_1.__exportStar(require("./types"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCalendar = void 0;
4
+ const react_1 = require("react");
5
+ const calendar_api_google_1 = require("./calendar-api-google");
6
+ const utils_1 = require("./utils");
7
+ function useCalendar({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView = "month", timeZone = "", onError, }) {
8
+ const [view, setView] = (0, react_1.useState)(initialView);
9
+ const start = initialStart || (0, utils_1.getStartDate)(new Date(), view);
10
+ const end = initialEnd || (0, utils_1.getEndDate)(start, view);
11
+ const [range, setRange] = (0, react_1.useState)([start, end]);
12
+ const [todayInView, setTodayInView] = (0, react_1.useState)((0, utils_1.isTodayInView)(start, end));
13
+ const [events, setEvents] = (0, react_1.useState)(initialEvents || {});
14
+ const [eventHovered, setEventHovered] = (0, react_1.useState)(null);
15
+ const [eventClicked, setEventClicked] = (0, react_1.useState)(null);
16
+ const [calendarsMap, updateCalendars] = (0, react_1.useReducer)((state, action) => {
17
+ const { type } = action;
18
+ switch (type) {
19
+ case "events": {
20
+ const events = action.payload;
21
+ return Object.entries(state).reduce((map, [id, calendar]) => {
22
+ map[id] = {
23
+ ...calendar,
24
+ events: events[id] || 0,
25
+ };
26
+ return map;
27
+ }, {});
28
+ }
29
+ case "visibility": {
30
+ const visible = action.payload;
31
+ if (typeof visible === "string") {
32
+ return {
33
+ ...state,
34
+ [visible]: {
35
+ ...state[visible],
36
+ on: !state[visible].on,
37
+ },
38
+ };
39
+ }
40
+ else {
41
+ return Object.entries(state).reduce((map, [id, calendar]) => {
42
+ map[id] = {
43
+ ...calendar,
44
+ on: visible.indexOf(id) > -1,
45
+ };
46
+ return map;
47
+ }, {});
48
+ }
49
+ }
50
+ default:
51
+ return state;
52
+ }
53
+ },
54
+ // initial state
55
+ calendars.reduce((map, calendar) => {
56
+ map[calendar.id] = {
57
+ ...calendar,
58
+ name: calendar.name || "",
59
+ on: true,
60
+ events: 0,
61
+ };
62
+ return map;
63
+ }, {}));
64
+ const toggleCalendarVisibility = (0, react_1.useCallback)((idOrIds) => {
65
+ updateCalendars({ type: "visibility", payload: idOrIds });
66
+ }, [updateCalendars]);
67
+ const updateCalendarsBasedOnEvents = (0, react_1.useCallback)((events) => {
68
+ const payload = {};
69
+ for (const uid in events) {
70
+ const { id } = events[uid].calendar;
71
+ payload[id] = payload[id] || 0;
72
+ payload[id]++;
73
+ }
74
+ updateCalendars({ type: "events", payload });
75
+ }, []);
76
+ const loadCalendars = (0, react_1.useCallback)(async (calendars, start, end) => {
77
+ try {
78
+ const newEvents = await (0, calendar_api_google_1.getCalendarsEventsFromGoogle)({
79
+ apiKey,
80
+ calendars,
81
+ timeZone,
82
+ start,
83
+ end,
84
+ });
85
+ // setEvents(mergeCalendarEvents(events, newEvents));
86
+ setEvents(newEvents);
87
+ }
88
+ catch (e) {
89
+ if (onError)
90
+ onError(e);
91
+ }
92
+ }, [setEvents, apiKey, timeZone, onError]);
93
+ const handleToday = (0, react_1.useCallback)(() => {
94
+ const [start, end] = range;
95
+ const newStart = (0, utils_1.getStartDate)(new Date(), view);
96
+ const newEnd = (0, utils_1.getEndDate)(newStart, view);
97
+ setRange([newStart, newEnd]);
98
+ // reset event only if we are not on the current view already
99
+ if (start.getTime() !== newStart.getTime() ||
100
+ end.getTime() !== newEnd.getTime()) {
101
+ setEventClicked(null);
102
+ setEventHovered(null);
103
+ }
104
+ }, [view, range]);
105
+ const handlePrev = (0, react_1.useCallback)(() => {
106
+ setRange(([start]) => {
107
+ const newStart = (0, utils_1.getPrevDate)(start, view);
108
+ const newEnd = (0, utils_1.getEndDate)(newStart, view);
109
+ return [newStart, newEnd];
110
+ });
111
+ setEventClicked(null);
112
+ setEventHovered(null);
113
+ }, [view]);
114
+ const handleNext = (0, react_1.useCallback)(() => {
115
+ setRange(([start]) => {
116
+ const newStart = (0, utils_1.getNextDate)(start, view);
117
+ const newEnd = (0, utils_1.getEndDate)(newStart, view);
118
+ return [newStart, newEnd];
119
+ });
120
+ setEventClicked(null);
121
+ setEventHovered(null);
122
+ }, [view]);
123
+ const handleView = (0, react_1.useCallback)((newView) => {
124
+ const newStart = (0, utils_1.getStartDate)(start, newView);
125
+ const newEnd = (0, utils_1.getEndDate)(newStart, newView);
126
+ setRange([newStart, newEnd]);
127
+ setView(newView);
128
+ setEventClicked(null);
129
+ setEventHovered(null);
130
+ }, [start]);
131
+ (0, react_1.useEffect)(() => {
132
+ const [start, end] = range;
133
+ loadCalendars(calendars, start, end);
134
+ setTodayInView((0, utils_1.isTodayInView)(start, end));
135
+ // eslint-disable-next-line react-hooks/exhaustive-deps
136
+ }, [range]);
137
+ (0, react_1.useEffect)(() => {
138
+ if (events) {
139
+ updateCalendarsBasedOnEvents(events);
140
+ }
141
+ }, [events, updateCalendarsBasedOnEvents]);
142
+ // when toggling a calendar we also remove the clicked event if that belongs
143
+ // to a now hidden calendar
144
+ (0, react_1.useEffect)(() => {
145
+ if (eventClicked) {
146
+ if (!calendarsMap[eventClicked.calendar.id].on) {
147
+ setEventClicked(null);
148
+ }
149
+ }
150
+ }, [calendarsMap, eventClicked, setEventClicked]);
151
+ return {
152
+ view,
153
+ eventClicked,
154
+ setEventClicked,
155
+ eventHovered,
156
+ setEventHovered,
157
+ getDaygridNavProps: () => ({
158
+ locale,
159
+ handlePrev,
160
+ handleNext,
161
+ handleToday,
162
+ handleView,
163
+ todayInView,
164
+ range,
165
+ view,
166
+ }),
167
+ getDaygridTableProps: () => ({
168
+ locale,
169
+ events,
170
+ eventClicked,
171
+ setEventClicked,
172
+ eventHovered,
173
+ setEventHovered,
174
+ handlePrev,
175
+ handleNext,
176
+ calendarsMap,
177
+ range,
178
+ view,
179
+ }),
180
+ getLegendProps: () => ({
181
+ calendarsMap,
182
+ toggleCalendarVisibility,
183
+ }),
184
+ };
185
+ }
186
+ exports.useCalendar = useCalendar;