@koine/react 2.0.0-beta.14 → 2.0.0-beta.15

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 (576) hide show
  1. package/Alert/Alert.js +10 -0
  2. package/Alert/index.d.ts +1 -1
  3. package/Alert/index.js +1 -0
  4. package/Animations/Reveal.d.ts +1 -2
  5. package/Animations/Reveal.js +16 -0
  6. package/Animations/Underline.js +5 -0
  7. package/Animations/index.d.ts +3 -3
  8. package/Animations/index.js +3 -0
  9. package/Animations/useReveal.d.ts +0 -21
  10. package/Animations/useReveal.js +42 -0
  11. package/Autocomplete/AutocompleteDownshift.js +1 -0
  12. package/Autocomplete/AutocompleteDownshiftMultiselect.js +1 -0
  13. package/Autocomplete/AutocompleteMui.d.ts +2 -27
  14. package/Autocomplete/AutocompleteMui.js +93 -0
  15. package/Autocomplete/AutocompleteReach.js +1 -0
  16. package/Autocomplete/components.d.ts +0 -5
  17. package/Autocomplete/components.js +26 -0
  18. package/Autocomplete/helpers.d.ts +1 -1
  19. package/Autocomplete/helpers.js +17 -0
  20. package/Autocomplete/index.d.ts +2 -2
  21. package/Autocomplete/index.js +1 -0
  22. package/Bg/BgColor.d.ts +1 -20
  23. package/Bg/BgColor.js +16 -0
  24. package/Bg/BgPhoto.d.ts +1 -6
  25. package/Bg/BgPhoto.js +16 -0
  26. package/Bg/BgSvg.d.ts +0 -3
  27. package/Bg/BgSvg.js +9 -0
  28. package/Bg/index.d.ts +3 -3
  29. package/Bg/index.js +3 -0
  30. package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  31. package/Breadcrumbs/Breadcrumbs.js +27 -0
  32. package/Breadcrumbs/index.d.ts +1 -1
  33. package/Breadcrumbs/index.js +1 -0
  34. package/Buttons/Button.d.ts +0 -4
  35. package/Buttons/Button.js +10 -0
  36. package/Buttons/ButtonComposite.d.ts +3 -4
  37. package/Buttons/ButtonComposite.js +28 -0
  38. package/Buttons/ButtonFab.d.ts +1 -2
  39. package/Buttons/ButtonFab.js +6 -0
  40. package/Buttons/ButtonLink.d.ts +3 -3
  41. package/Buttons/ButtonLink.js +11 -0
  42. package/Buttons/IconButton.d.ts +1 -2
  43. package/Buttons/IconButton.js +7 -0
  44. package/Buttons/index.d.ts +5 -5
  45. package/Buttons/index.js +5 -0
  46. package/Calendar/CalendarDaygridCell.d.ts +3 -4
  47. package/Calendar/CalendarDaygridCell.js +46 -0
  48. package/Calendar/CalendarDaygridNav.d.ts +2 -2
  49. package/Calendar/CalendarDaygridNav.js +23 -0
  50. package/Calendar/CalendarDaygridTable.d.ts +3 -3
  51. package/Calendar/CalendarDaygridTable.js +45 -0
  52. package/Calendar/CalendarLegend.d.ts +2 -3
  53. package/Calendar/CalendarLegend.js +8 -0
  54. package/Calendar/calendar-api-google.d.ts +1 -9
  55. package/Calendar/calendar-api-google.js +126 -0
  56. package/Calendar/index.d.ts +6 -6
  57. package/Calendar/index.js +6 -0
  58. package/Calendar/types.d.ts +0 -19
  59. package/Calendar/types.js +1 -0
  60. package/Calendar/useCalendar.d.ts +4 -19
  61. package/Calendar/useCalendar.js +176 -0
  62. package/Calendar/utils.d.ts +1 -1
  63. package/Calendar/utils.js +185 -0
  64. package/Carousel/Carousel.js +1 -0
  65. package/Carousel/CarouselCss.d.ts +1 -23
  66. package/Carousel/CarouselCss.js +19 -0
  67. package/Carousel/index.d.ts +1 -1
  68. package/Carousel/index.js +1 -0
  69. package/Collapsable/Collapsable.js +1 -0
  70. package/Collapsable/CollapsableReach.d.ts +0 -6
  71. package/Collapsable/CollapsableReach.js +1 -0
  72. package/Collapsable/index.d.ts +1 -1
  73. package/Collapsable/index.js +1 -0
  74. package/Debug/Debug.js +9 -0
  75. package/Debug/index.d.ts +1 -1
  76. package/Debug/index.js +1 -0
  77. package/Details/Details.d.ts +0 -6
  78. package/Details/Details.js +52 -0
  79. package/Details/index.d.ts +1 -1
  80. package/Details/index.js +1 -0
  81. package/Dialog/DialogMui.d.ts +1 -3
  82. package/Dialog/DialogMui.js +39 -0
  83. package/Dialog/css/bare.d.ts +1 -2
  84. package/Dialog/css/bare.js +20 -0
  85. package/Dialog/index.d.ts +2 -2
  86. package/Dialog/index.js +1 -0
  87. package/Dialog/m/bare.js +3 -0
  88. package/Dialog/m/basic.d.ts +1 -1
  89. package/Dialog/m/basic.js +28 -0
  90. package/Dialog/m/index.d.ts +1 -2
  91. package/Dialog/m/index.js +4 -0
  92. package/Dialog/sc/bare.d.ts +2 -12
  93. package/Dialog/sc/bare.js +31 -0
  94. package/Dialog/sc/framer.d.ts +1 -2
  95. package/Dialog/sc/framer.js +16 -0
  96. package/Dialog/sc/framerMaterial.js +16 -0
  97. package/Dialog/sc/material.d.ts +1 -2
  98. package/Dialog/sc/material.js +21 -0
  99. package/Dialog/tw/bare.d.ts +2 -17
  100. package/Dialog/tw/bare.js +28 -0
  101. package/Dialog/tw/elegant.d.ts +1 -2
  102. package/Dialog/tw/elegant.js +20 -0
  103. package/Dialog/tw/framer.d.ts +1 -2
  104. package/Dialog/tw/framer.js +16 -0
  105. package/Dialog/tw/framerMaterial.js +16 -0
  106. package/Dialog/tw/material.d.ts +1 -2
  107. package/Dialog/tw/material.js +20 -0
  108. package/Editor/Editor--tiptap.js +26 -0
  109. package/Editor/components.js +10 -0
  110. package/Editor/index.d.ts +1 -1
  111. package/Editor/index.js +1 -0
  112. package/FaviconTags.d.ts +0 -10
  113. package/FaviconTags.js +6 -0
  114. package/Form/Form.d.ts +1 -14
  115. package/Form/Form.js +60 -0
  116. package/Form/index.d.ts +1 -1
  117. package/Form/index.js +1 -0
  118. package/Form/sc/bare.d.ts +1 -2
  119. package/Form/sc/bare.js +20 -0
  120. package/Forms/Checkbox/Checkbox.d.ts +1 -5
  121. package/Forms/Checkbox/Checkbox.js +15 -0
  122. package/Forms/Checkbox/index.d.ts +1 -1
  123. package/Forms/Checkbox/index.js +1 -0
  124. package/Forms/Feedback/Feedback.js +9 -0
  125. package/Forms/Feedback/index.d.ts +1 -1
  126. package/Forms/Feedback/index.js +1 -0
  127. package/Forms/Field/Field.d.ts +1 -19
  128. package/Forms/Field/Field.js +25 -0
  129. package/Forms/Field/FieldControl.d.ts +2 -14
  130. package/Forms/Field/FieldControl.js +35 -0
  131. package/Forms/Field/FieldHint.js +4 -0
  132. package/Forms/Field/index.d.ts +2 -2
  133. package/Forms/Field/index.js +2 -0
  134. package/Forms/Input/Input.d.ts +1 -2
  135. package/Forms/Input/Input.js +16 -0
  136. package/Forms/Input/index.d.ts +1 -1
  137. package/Forms/Input/index.js +1 -0
  138. package/Forms/InputGroup/InputGroup.d.ts +1 -2
  139. package/Forms/InputGroup/InputGroup.js +15 -0
  140. package/Forms/InputGroup/index.d.ts +1 -1
  141. package/Forms/InputGroup/index.js +1 -0
  142. package/Forms/Label/Label.js +6 -0
  143. package/Forms/Label/index.d.ts +1 -1
  144. package/Forms/Label/index.js +1 -0
  145. package/Forms/Password/Password.d.ts +1 -2
  146. package/Forms/Password/Password.js +17 -0
  147. package/Forms/Password/index.d.ts +1 -1
  148. package/Forms/Password/index.js +1 -0
  149. package/Forms/Radio/Radio.d.ts +1 -2
  150. package/Forms/Radio/Radio.js +25 -0
  151. package/Forms/Radio/index.d.ts +1 -1
  152. package/Forms/Radio/index.js +1 -0
  153. package/Forms/Switch/Switch.d.ts +1 -5
  154. package/Forms/Switch/Switch.js +17 -0
  155. package/Forms/Switch/index.d.ts +1 -1
  156. package/Forms/Switch/index.js +1 -0
  157. package/Forms/Textarea/Textarea.d.ts +1 -2
  158. package/Forms/Textarea/Textarea.js +12 -0
  159. package/Forms/Textarea/TextareaRich.d.ts +1 -2
  160. package/Forms/Textarea/TextareaRich.js +26 -0
  161. package/Forms/Textarea/index.d.ts +2 -2
  162. package/Forms/Textarea/index.js +2 -0
  163. package/Forms/Toggle/Toggle-tailwind.js +1 -0
  164. package/Forms/Toggle/Toggle.d.ts +0 -1
  165. package/Forms/Toggle/Toggle.js +25 -0
  166. package/Forms/Toggle/index.d.ts +1 -1
  167. package/Forms/Toggle/index.js +1 -0
  168. package/Forms/Toggle/useToggle-tailwind.js +1 -0
  169. package/Forms/Toggle/useToggle.d.ts +1 -31
  170. package/Forms/Toggle/useToggle.js +85 -0
  171. package/Forms/antispam.d.ts +0 -20
  172. package/Forms/antispam.js +31 -0
  173. package/Forms/helpers.d.ts +0 -8
  174. package/Forms/helpers.js +36 -0
  175. package/Forms/index.d.ts +15 -15
  176. package/Forms/index.js +15 -0
  177. package/Forms/styles.d.ts +0 -6
  178. package/Forms/styles.js +19 -0
  179. package/Gauge/Gauge.d.ts +0 -1
  180. package/Gauge/Gauge.js +1 -0
  181. package/Grid/Grid.d.ts +1 -10
  182. package/Grid/Grid.js +52 -0
  183. package/Grid/index.d.ts +1 -1
  184. package/Grid/index.js +1 -0
  185. package/Hamburger/Hamburger.d.ts +0 -1
  186. package/Hamburger/Hamburger.js +47 -0
  187. package/Hamburger/index.d.ts +1 -1
  188. package/Hamburger/index.js +1 -0
  189. package/Header/index.d.ts +1 -1
  190. package/Header/index.js +1 -0
  191. package/Header/useHeader.d.ts +0 -4
  192. package/Header/useHeader.js +31 -0
  193. package/Hidden/Hidden.d.ts +1 -1
  194. package/Hidden/Hidden.js +10 -0
  195. package/Hidden/index.d.ts +1 -1
  196. package/Hidden/index.js +1 -0
  197. package/Img/index.d.ts +1 -1
  198. package/Img/index.js +1 -0
  199. package/Img/sc/bare.js +4 -0
  200. package/Img/types.js +1 -0
  201. package/Link/Link.js +4 -0
  202. package/Link/LinkBlank.js +15 -0
  203. package/Link/index.d.ts +2 -2
  204. package/Link/index.js +2 -0
  205. package/Menu/Menu.js +4 -0
  206. package/Menu/MenuMui.js +1 -0
  207. package/Menu/index.d.ts +1 -1
  208. package/Menu/index.js +1 -0
  209. package/MenuItem/MenuItem.js +4 -0
  210. package/MenuItem/MenuItemMui.js +1 -0
  211. package/MenuItem/index.d.ts +1 -1
  212. package/MenuItem/index.js +1 -0
  213. package/MenuItem/useMenuItem.js +42 -0
  214. package/Meta/Meta.d.ts +0 -10
  215. package/Meta/Meta.js +6 -0
  216. package/Meta/index.d.ts +2 -2
  217. package/Meta/index.js +2 -0
  218. package/NoJs/NoJs.js +7 -0
  219. package/NoJs/index.d.ts +2 -2
  220. package/NoJs/index.js +2 -0
  221. package/Pagination/PaginationNav.d.ts +1 -9
  222. package/Pagination/PaginationNav.js +48 -0
  223. package/Pagination/PaginationResults.js +11 -0
  224. package/Pagination/index.d.ts +2 -2
  225. package/Pagination/index.js +2 -0
  226. package/Pill/Pill.js +7 -0
  227. package/Pill/index.d.ts +1 -1
  228. package/Pill/index.js +1 -0
  229. package/Progress/ProgressCircular.d.ts +1 -7
  230. package/Progress/ProgressCircular.js +12 -0
  231. package/Progress/ProgressLinear.d.ts +1 -8
  232. package/Progress/ProgressLinear.js +21 -0
  233. package/Progress/ProgressOverlay.js +23 -0
  234. package/Progress/index.d.ts +3 -3
  235. package/Progress/index.js +3 -0
  236. package/Rating/Rating.d.ts +0 -8
  237. package/Rating/Rating.js +43 -0
  238. package/Rating/index.d.ts +1 -4
  239. package/Rating/index.js +45 -0
  240. package/Select/SelectDownshift.d.ts +1 -1
  241. package/Select/SelectDownshift.js +1 -0
  242. package/Select/components.js +12 -0
  243. package/Select/index.d.ts +2 -2
  244. package/Select/index.js +1 -0
  245. package/Sidebar/Sidebar.js +23 -0
  246. package/Sidebar/index.d.ts +1 -1
  247. package/Sidebar/index.js +1 -0
  248. package/Spacing/Spacing.d.ts +1 -14
  249. package/Spacing/Spacing.js +32 -0
  250. package/Spacing/index.d.ts +1 -1
  251. package/Spacing/index.js +1 -0
  252. package/Sticky/Sticky.js +1 -0
  253. package/Sticky/StickyCss.js +6 -0
  254. package/Sticky/index.d.ts +1 -1
  255. package/Sticky/index.js +1 -0
  256. package/Tabs/TabsMui.d.ts +2 -3
  257. package/Tabs/TabsMui.js +30 -0
  258. package/Tabs/index.d.ts +1 -1
  259. package/Tabs/index.js +1 -0
  260. package/Tabs/sc/bare.d.ts +0 -5
  261. package/Tabs/sc/bare.js +1 -0
  262. package/Tabs/tw/bare.d.ts +1 -2
  263. package/Tabs/tw/bare.js +16 -0
  264. package/Tabs/tw/material.d.ts +1 -2
  265. package/Tabs/tw/material.js +18 -0
  266. package/Tabs/useTabs.d.ts +0 -22
  267. package/Tabs/useTabs.js +43 -0
  268. package/Typography/CopyPasteVisible.js +4 -0
  269. package/Typography/Native.js +14 -0
  270. package/Typography/ReadMore.d.ts +0 -2
  271. package/Typography/ReadMore.js +42 -0
  272. package/Typography/TextLoop.js +45 -0
  273. package/Typography/TypeStairs.js +42 -0
  274. package/Typography/index.d.ts +5 -5
  275. package/Typography/index.js +5 -0
  276. package/css/index.d.ts +2 -2
  277. package/css/index.js +2 -0
  278. package/helpers/classed.d.ts +0 -19
  279. package/helpers/classed.js +43 -0
  280. package/helpers/createUseMediaQueryWidth.d.ts +0 -6
  281. package/helpers/createUseMediaQueryWidth.js +39 -0
  282. package/helpers/extend-component.d.ts +0 -11
  283. package/helpers/extend-component.js +9 -0
  284. package/helpers/index.d.ts +4 -4
  285. package/helpers/index.js +4 -0
  286. package/helpers/{mergeRefs.mjs → mergeRefs.js} +4 -3
  287. package/hooks/index.d.ts +20 -20
  288. package/hooks/index.js +20 -0
  289. package/hooks/types.d.ts +0 -6
  290. package/hooks/types.js +1 -0
  291. package/hooks/useAsyncFn.d.ts +1 -4
  292. package/hooks/useAsyncFn.js +33 -0
  293. package/hooks/useDateLocale.d.ts +0 -6
  294. package/hooks/useDateLocale.js +28 -0
  295. package/hooks/useFirstMountState.d.ts +0 -3
  296. package/hooks/useFirstMountState.js +10 -0
  297. package/hooks/useFixedOffset.d.ts +0 -9
  298. package/hooks/useFixedOffset.js +45 -0
  299. package/hooks/useFocus.d.ts +0 -3
  300. package/hooks/useFocus.js +9 -0
  301. package/hooks/useInterval.d.ts +0 -5
  302. package/hooks/useInterval.js +22 -0
  303. package/hooks/useIsomorphicLayoutEffect.d.ts +0 -3
  304. package/hooks/useIsomorphicLayoutEffect.js +6 -0
  305. package/hooks/useKeyUp.js +18 -0
  306. package/hooks/useMeasure.d.ts +0 -5
  307. package/hooks/useMeasure.js +134 -0
  308. package/hooks/useMountedState.d.ts +0 -3
  309. package/hooks/useMountedState.js +13 -0
  310. package/hooks/useNavigateAway.d.ts +0 -29
  311. package/hooks/useNavigateAway.js +25 -0
  312. package/hooks/usePrevious.d.ts +0 -3
  313. package/hooks/usePrevious.js +9 -0
  314. package/hooks/{usePreviousRef.mjs → usePreviousRef.js} +2 -2
  315. package/hooks/useScrollPosition.d.ts +0 -7
  316. package/hooks/useScrollPosition.js +61 -0
  317. package/hooks/useScrollThreshold.js +26 -0
  318. package/hooks/useScrollTo.js +22 -0
  319. package/hooks/useSmoothScroll.d.ts +0 -6
  320. package/hooks/useSmoothScroll.js +33 -0
  321. package/hooks/useSpinDelay.d.ts +0 -12
  322. package/hooks/useSpinDelay.js +38 -0
  323. package/hooks/useTraceUpdate.d.ts +0 -3
  324. package/hooks/useTraceUpdate.js +18 -0
  325. package/hooks/useUpdateEffect.d.ts +0 -3
  326. package/hooks/useUpdateEffect.js +11 -0
  327. package/hooks/useWindowSize.d.ts +0 -9
  328. package/hooks/useWindowSize.js +20 -0
  329. package/index.d.ts +1 -1
  330. package/index.js +1 -0
  331. package/m/MotionProvider.d.ts +0 -32
  332. package/m/MotionProvider.js +7 -0
  333. package/m/index.d.ts +1 -6
  334. package/m/index.js +1 -0
  335. package/package.json +624 -22
  336. package/sc/index.d.ts +30 -30
  337. package/sc/index.js +30 -0
  338. package/scm/index.d.ts +29 -29
  339. package/scm/index.js +29 -0
  340. package/shared/index.d.ts +8 -8
  341. package/shared/index.js +8 -0
  342. package/styles/Body.d.ts +0 -8
  343. package/styles/Body.js +5 -0
  344. package/styles/Global.d.ts +0 -13
  345. package/styles/Global.js +5 -0
  346. package/styles/index.d.ts +7 -7
  347. package/styles/index.js +7 -0
  348. package/styles/media.d.ts +1 -50
  349. package/styles/media.js +74 -0
  350. package/styles/spacing.d.ts +1 -2
  351. package/styles/spacing.js +45 -0
  352. package/styles/styled.d.ts +0 -4
  353. package/styles/styled.js +9 -0
  354. package/styles/theme--vanilla.js +46 -0
  355. package/styles/theme.d.ts +0 -29
  356. package/styles/theme.js +30 -0
  357. package/tw/index.d.ts +2 -2
  358. package/tw/index.js +2 -0
  359. package/twm/index.d.ts +2 -2
  360. package/twm/index.js +2 -0
  361. package/types.d.ts +1 -2
  362. package/types.js +1 -0
  363. package/Alert/Alert.mjs +0 -22
  364. package/Alert/Alert.stories.mjs +0 -18
  365. package/Alert/index.mjs +0 -1
  366. package/Animations/Reveal.mjs +0 -43
  367. package/Animations/Underline.mjs +0 -15
  368. package/Animations/index.mjs +0 -3
  369. package/Animations/useReveal.mjs +0 -73
  370. package/Autocomplete/AutocompleteDownshift.mjs +0 -157
  371. package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
  372. package/Autocomplete/AutocompleteMui.mjs +0 -219
  373. package/Autocomplete/AutocompleteReach.mjs +0 -111
  374. package/Autocomplete/components.mjs +0 -87
  375. package/Autocomplete/helpers.mjs +0 -35
  376. package/Autocomplete/index.mjs +0 -4
  377. package/Bg/BgColor.mjs +0 -42
  378. package/Bg/BgPhoto.mjs +0 -71
  379. package/Bg/BgSvg.mjs +0 -22
  380. package/Bg/index.mjs +0 -3
  381. package/Breadcrumbs/Breadcrumbs.mjs +0 -91
  382. package/Breadcrumbs/index.mjs +0 -1
  383. package/Buttons/Button.mjs +0 -78
  384. package/Buttons/ButtonComposite.mjs +0 -105
  385. package/Buttons/ButtonFab.mjs +0 -8
  386. package/Buttons/ButtonLink.mjs +0 -18
  387. package/Buttons/IconButton.mjs +0 -19
  388. package/Buttons/index.mjs +0 -5
  389. package/Calendar/CalendarDaygridCell.mjs +0 -95
  390. package/Calendar/CalendarDaygridNav.mjs +0 -52
  391. package/Calendar/CalendarDaygridTable.mjs +0 -115
  392. package/Calendar/CalendarLegend.mjs +0 -29
  393. package/Calendar/calendar-api-google.mjs +0 -99
  394. package/Calendar/index.mjs +0 -6
  395. package/Calendar/types.mjs +0 -1
  396. package/Calendar/useCalendar.mjs +0 -225
  397. package/Calendar/utils.mjs +0 -209
  398. package/Carousel/Carousel.mjs +0 -377
  399. package/Carousel/CarouselCss.mjs +0 -44
  400. package/Carousel/index.mjs +0 -1
  401. package/Collapsable/Collapsable.mjs +0 -1
  402. package/Collapsable/CollapsableReach.mjs +0 -250
  403. package/Collapsable/index.mjs +0 -1
  404. package/Debug/Debug.mjs +0 -23
  405. package/Debug/index.mjs +0 -1
  406. package/Details/Details.mjs +0 -90
  407. package/Details/Details.stories.mjs +0 -21
  408. package/Details/index.mjs +0 -1
  409. package/Dialog/DialogMui.mjs +0 -105
  410. package/Dialog/DialogMui.stories.mjs +0 -20
  411. package/Dialog/css/bare.mjs +0 -19
  412. package/Dialog/css/index.stories.mjs +0 -75
  413. package/Dialog/index.mjs +0 -1
  414. package/Dialog/m/bare.mjs +0 -115
  415. package/Dialog/m/basic.mjs +0 -31
  416. package/Dialog/m/index.mjs +0 -4
  417. package/Dialog/sc/bare.mjs +0 -54
  418. package/Dialog/sc/framer.mjs +0 -16
  419. package/Dialog/sc/framerMaterial.mjs +0 -16
  420. package/Dialog/sc/index.stories.mjs +0 -48
  421. package/Dialog/sc/material.mjs +0 -41
  422. package/Dialog/tw/bare.mjs +0 -29
  423. package/Dialog/tw/elegant.mjs +0 -18
  424. package/Dialog/tw/framer.mjs +0 -16
  425. package/Dialog/tw/framerMaterial.mjs +0 -16
  426. package/Dialog/tw/index.stories.mjs +0 -83
  427. package/Dialog/tw/material.mjs +0 -18
  428. package/Editor/Editor--tiptap.mjs +0 -53
  429. package/Editor/components.mjs +0 -28
  430. package/Editor/index.mjs +0 -1
  431. package/FaviconTags.mjs +0 -64
  432. package/Form/Form.mjs +0 -95
  433. package/Form/index.mjs +0 -1
  434. package/Form/sc/bare.mjs +0 -29
  435. package/Forms/Checkbox/Checkbox.mjs +0 -36
  436. package/Forms/Checkbox/index.mjs +0 -1
  437. package/Forms/Feedback/Feedback.mjs +0 -14
  438. package/Forms/Feedback/index.mjs +0 -1
  439. package/Forms/Field/Field.mjs +0 -50
  440. package/Forms/Field/FieldControl.mjs +0 -67
  441. package/Forms/Field/FieldHint.mjs +0 -6
  442. package/Forms/Field/index.mjs +0 -2
  443. package/Forms/Input/Input.mjs +0 -36
  444. package/Forms/Input/index.mjs +0 -1
  445. package/Forms/InputGroup/InputGroup.mjs +0 -57
  446. package/Forms/InputGroup/index.mjs +0 -1
  447. package/Forms/Label/Label.mjs +0 -24
  448. package/Forms/Label/index.mjs +0 -1
  449. package/Forms/Password/Password.mjs +0 -53
  450. package/Forms/Password/index.mjs +0 -1
  451. package/Forms/Radio/Radio.mjs +0 -57
  452. package/Forms/Radio/index.mjs +0 -1
  453. package/Forms/Switch/Switch.mjs +0 -60
  454. package/Forms/Switch/index.mjs +0 -1
  455. package/Forms/Textarea/Textarea.mjs +0 -26
  456. package/Forms/Textarea/TextareaRich.mjs +0 -48
  457. package/Forms/Textarea/index.mjs +0 -2
  458. package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
  459. package/Forms/Toggle/Toggle.mjs +0 -123
  460. package/Forms/Toggle/index.mjs +0 -1
  461. package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
  462. package/Forms/Toggle/useToggle.mjs +0 -163
  463. package/Forms/antispam.mjs +0 -58
  464. package/Forms/helpers.mjs +0 -52
  465. package/Forms/index.mjs +0 -16
  466. package/Forms/styles.mjs +0 -61
  467. package/Gauge/Gauge.mjs +0 -101
  468. package/Grid/Grid.mjs +0 -75
  469. package/Grid/index.mjs +0 -1
  470. package/Hamburger/Hamburger.mjs +0 -79
  471. package/Hamburger/index.mjs +0 -1
  472. package/Header/index.mjs +0 -1
  473. package/Header/useHeader.mjs +0 -36
  474. package/Hidden/Hidden.mjs +0 -10
  475. package/Hidden/index.mjs +0 -1
  476. package/Img/index.mjs +0 -1
  477. package/Img/sc/bare.mjs +0 -36
  478. package/Img/types.mjs +0 -1
  479. package/Link/Link.mjs +0 -2
  480. package/Link/LinkBlank.mjs +0 -32
  481. package/Link/index.mjs +0 -2
  482. package/Menu/Menu.mjs +0 -11
  483. package/Menu/MenuMui.mjs +0 -164
  484. package/Menu/index.mjs +0 -1
  485. package/MenuItem/MenuItem.mjs +0 -20
  486. package/MenuItem/MenuItemMui.mjs +0 -31
  487. package/MenuItem/index.mjs +0 -1
  488. package/MenuItem/useMenuItem.mjs +0 -78
  489. package/Meta/Meta.mjs +0 -8
  490. package/Meta/index.mjs +0 -2
  491. package/NoJs/NoJs.mjs +0 -10
  492. package/NoJs/index.mjs +0 -2
  493. package/Pagination/PaginationNav.mjs +0 -122
  494. package/Pagination/PaginationResults.mjs +0 -34
  495. package/Pagination/index.mjs +0 -2
  496. package/Pill/Pill.mjs +0 -37
  497. package/Pill/index.mjs +0 -1
  498. package/Progress/ProgressCircular.mjs +0 -53
  499. package/Progress/ProgressLinear.mjs +0 -44
  500. package/Progress/ProgressOverlay.mjs +0 -64
  501. package/Progress/index.mjs +0 -3
  502. package/README.md +0 -1
  503. package/Rating/Rating.mjs +0 -154
  504. package/Rating/index.mjs +0 -62
  505. package/Select/SelectDownshift.mjs +0 -37
  506. package/Select/components.mjs +0 -25
  507. package/Select/index.mjs +0 -2
  508. package/Sidebar/Sidebar.mjs +0 -63
  509. package/Sidebar/index.mjs +0 -1
  510. package/Spacing/Spacing.mjs +0 -55
  511. package/Spacing/index.mjs +0 -1
  512. package/Sticky/Sticky.mjs +0 -218
  513. package/Sticky/StickyCss.mjs +0 -10
  514. package/Sticky/index.mjs +0 -1
  515. package/Tabs/TabsMui.mjs +0 -61
  516. package/Tabs/TabsMui.stories.mjs +0 -20
  517. package/Tabs/index.mjs +0 -1
  518. package/Tabs/sc/bare.mjs +0 -85
  519. package/Tabs/sc/index.stories.mjs +0 -0
  520. package/Tabs/tw/bare.mjs +0 -15
  521. package/Tabs/tw/index.stories.mjs +0 -25
  522. package/Tabs/tw/material.mjs +0 -14
  523. package/Tabs/useTabs.mjs +0 -46
  524. package/Typography/CopyPasteVisible.mjs +0 -6
  525. package/Typography/Native.mjs +0 -47
  526. package/Typography/ReadMore.mjs +0 -114
  527. package/Typography/TextLoop.mjs +0 -90
  528. package/Typography/TypeStairs.mjs +0 -61
  529. package/Typography/index.mjs +0 -5
  530. package/css/index.mjs +0 -30
  531. package/helpers/classed.mjs +0 -65
  532. package/helpers/classed.stories.mjs +0 -121
  533. package/helpers/createUseMediaQueryWidth.mjs +0 -178
  534. package/helpers/extend-component.mjs +0 -13
  535. package/helpers/index.mjs +0 -4
  536. package/hooks/index.mjs +0 -21
  537. package/hooks/types.mjs +0 -3
  538. package/hooks/useAsyncFn.mjs +0 -39
  539. package/hooks/useDateLocale.mjs +0 -37
  540. package/hooks/useFirstMountState.mjs +0 -12
  541. package/hooks/useFixedOffset.mjs +0 -56
  542. package/hooks/useFocus.mjs +0 -14
  543. package/hooks/useInterval.mjs +0 -29
  544. package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
  545. package/hooks/useKeyUp.mjs +0 -21
  546. package/hooks/useMeasure.mjs +0 -174
  547. package/hooks/useMountedState.mjs +0 -15
  548. package/hooks/useNavigateAway.mjs +0 -69
  549. package/hooks/usePrevious.mjs +0 -17
  550. package/hooks/useScrollPosition.mjs +0 -70
  551. package/hooks/useScrollThreshold.mjs +0 -33
  552. package/hooks/useScrollTo.mjs +0 -20
  553. package/hooks/useSmoothScroll.mjs +0 -35
  554. package/hooks/useSpinDelay.mjs +0 -52
  555. package/hooks/useTraceUpdate.mjs +0 -23
  556. package/hooks/useUpdateEffect.mjs +0 -14
  557. package/hooks/useWindowSize.mjs +0 -32
  558. package/index.mjs +0 -4
  559. package/m/MotionProvider.mjs +0 -40
  560. package/m/index.mjs +0 -5
  561. package/sc/index.mjs +0 -31
  562. package/scm/index.mjs +0 -31
  563. package/shared/index.mjs +0 -43
  564. package/styles/Body.mjs +0 -16
  565. package/styles/Global.mjs +0 -49
  566. package/styles/index.mjs +0 -7
  567. package/styles/media.mjs +0 -151
  568. package/styles/spacing.mjs +0 -46
  569. package/styles/styled.mjs +0 -26
  570. package/styles/theme--vanilla.mjs +0 -65
  571. package/styles/theme.mjs +0 -38
  572. package/tw/index.mjs +0 -30
  573. package/twm/index.mjs +0 -30
  574. package/types.mjs +0 -1
  575. /package/m/{lite.mjs → lite.js} +0 -0
  576. /package/m/{max.mjs → max.js} +0 -0
@@ -0,0 +1,28 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { useEffect, useState } from "react";
3
+ export function useDateLocale(locale, defaultLocale) {
4
+ var _this = this;
5
+ if (defaultLocale === void 0) { defaultLocale = "en"; }
6
+ var _a = useState(), data = _a[0], setData = _a[1];
7
+ var _b = useState(defaultLocale), current = _b[0], setCurrent = _b[1];
8
+ useEffect(function () {
9
+ var importLocaleFile = function () { return __awaiter(_this, void 0, void 0, function () {
10
+ var localeToSet;
11
+ return __generator(this, function (_a) {
12
+ switch (_a.label) {
13
+ case 0: return [4, import("date-fns/locale/en-US/index.js")];
14
+ case 1:
15
+ localeToSet = _a.sent();
16
+ setCurrent(locale || current);
17
+ setData(localeToSet.default);
18
+ return [2];
19
+ }
20
+ });
21
+ }); };
22
+ if (locale !== current) {
23
+ importLocaleFile();
24
+ }
25
+ }, [locale, current]);
26
+ return data;
27
+ }
28
+ export default useDateLocale;
@@ -1,5 +1,2 @@
1
- /**
2
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useFirstMountState.ts)
3
- */
4
1
  export declare function useFirstMountState(): boolean;
5
2
  export default useFirstMountState;
@@ -0,0 +1,10 @@
1
+ import { useRef } from "react";
2
+ export function useFirstMountState() {
3
+ var isFirst = useRef(true);
4
+ if (isFirst.current) {
5
+ isFirst.current = false;
6
+ return true;
7
+ }
8
+ return isFirst.current;
9
+ }
10
+ export default useFirstMountState;
@@ -1,12 +1,3 @@
1
1
  /// <reference types="react" />
2
- /**
3
- * # Use fixed offset
4
- *
5
- * Maybe use [ResizeObserver polyfill](https://github.com/juggle/resize-observer)
6
- *
7
- * @see https://web.dev/resize-observer/
8
- *
9
- * @param selector By default `[data-fixed]`: anyhting with the data attribute `data-fixed`
10
- */
11
2
  export declare function useFixedOffset(selector?: string): import("react").MutableRefObject<number>;
12
3
  export default useFixedOffset;
@@ -0,0 +1,45 @@
1
+ import { useRef } from "react";
2
+ import debounce from "@koine/utils/debounce";
3
+ import $each from "@koine/dom/$each";
4
+ import calculateFixedOffset from "@koine/dom/calculateFixedOffset";
5
+ import injectCss from "@koine/dom/injectCss";
6
+ import listenResizeDebounced from "@koine/dom/listenResizeDebounced";
7
+ import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
8
+ var inject = function (value) {
9
+ injectCss("useFixedOffset", "html{scroll-padding-top: ".concat(value, "px}"));
10
+ };
11
+ export function useFixedOffset(selector) {
12
+ var fixedOffset = useRef(0);
13
+ useIsomorphicLayoutEffect(function () {
14
+ var update = function () {
15
+ var newFixedOffset = calculateFixedOffset();
16
+ fixedOffset.current = newFixedOffset;
17
+ inject(newFixedOffset);
18
+ };
19
+ update();
20
+ if (ResizeObserver) {
21
+ var observer_1 = new ResizeObserver(function (entries) {
22
+ var newFixedOffset = 0;
23
+ entries.forEach(function (entry) {
24
+ newFixedOffset += entry.contentRect.height;
25
+ });
26
+ fixedOffset.current = newFixedOffset;
27
+ var updateOnResize = debounce(function () { return inject(newFixedOffset); }, 400, true);
28
+ updateOnResize();
29
+ });
30
+ $each(selector || "[data-fixed]", function ($el) {
31
+ if (observer_1)
32
+ observer_1.observe($el);
33
+ });
34
+ return function () {
35
+ observer_1 === null || observer_1 === void 0 ? void 0 : observer_1.disconnect();
36
+ };
37
+ }
38
+ else {
39
+ var listener = listenResizeDebounced(0, update);
40
+ return listener;
41
+ }
42
+ }, [selector]);
43
+ return fixedOffset;
44
+ }
45
+ export default useFixedOffset;
@@ -1,6 +1,3 @@
1
1
  /// <reference types="react" />
2
- /**
3
- * @see https://stackoverflow.com/a/54159564/1938970
4
- */
5
2
  export declare const useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
6
3
  export default useFocus;
@@ -0,0 +1,9 @@
1
+ import { useRef } from "react";
2
+ export var useFocus = function () {
3
+ var elementRef = useRef(null);
4
+ var setFocus = function () {
5
+ elementRef.current && elementRef.current.focus();
6
+ };
7
+ return [elementRef, setFocus];
8
+ };
9
+ export default useFocus;
@@ -1,7 +1,2 @@
1
- /**
2
- * @borrows [dan abramov](https://overreacted.io/making-setinterval-declarative-with-react-hooks/)
3
- *
4
- * We just add `deps` array argument and typescript support
5
- */
6
1
  export declare function useInterval<T extends () => unknown>(callback: T, delay: number, deps?: unknown[]): void;
7
2
  export default useInterval;
@@ -0,0 +1,22 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect, useRef } from "react";
3
+ import noop from "@koine/utils/noop";
4
+ export function useInterval(callback, delay, deps) {
5
+ if (deps === void 0) { deps = []; }
6
+ var savedCallback = useRef();
7
+ useEffect(function () {
8
+ savedCallback.current = callback;
9
+ }, __spreadArray([callback], deps, true));
10
+ useEffect(function () {
11
+ function tick() {
12
+ if (savedCallback.current)
13
+ savedCallback.current();
14
+ }
15
+ if (delay !== null) {
16
+ var id_1 = setInterval(tick, delay);
17
+ return function () { return clearInterval(id_1); };
18
+ }
19
+ return noop;
20
+ }, [delay]);
21
+ }
22
+ export default useInterval;
@@ -1,6 +1,3 @@
1
1
  import { useEffect } from "react";
2
- /**
3
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useIsomorphicLayoutEffect.ts)
4
- */
5
2
  export declare const useIsomorphicLayoutEffect: typeof useEffect;
6
3
  export default useIsomorphicLayoutEffect;
@@ -0,0 +1,6 @@
1
+ import { useEffect, useLayoutEffect } from "react";
2
+ import isBrowser from "@koine/utils/isBrowser";
3
+ export var useIsomorphicLayoutEffect = isBrowser
4
+ ? useLayoutEffect
5
+ : useEffect;
6
+ export default useIsomorphicLayoutEffect;
@@ -0,0 +1,18 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect } from "react";
3
+ import on from "@koine/dom/on";
4
+ export function useKeyUp(callback, deps) {
5
+ if (deps === void 0) { deps = []; }
6
+ useEffect(function () {
7
+ var listener = on(window, "keyup", function (event) {
8
+ if (!event.ctrlKey &&
9
+ !event.altKey &&
10
+ !event.shiftKey &&
11
+ !event.metaKey) {
12
+ callback(event);
13
+ }
14
+ });
15
+ return listener;
16
+ }, __spreadArray([callback], deps, true));
17
+ }
18
+ export default useKeyUp;
@@ -18,10 +18,5 @@ export type UseMeasureReturn = [
18
18
  RectReadOnly,
19
19
  () => void
20
20
  ];
21
- /**
22
- * Use measure hook
23
- *
24
- * @borrows [pmndrs/react-use-measure](https://github.com/pmndrs/react-use-measure)
25
- */
26
21
  export declare function useMeasure(options?: UseMeasureOptions): UseMeasureReturn;
27
22
  export default useMeasure;
@@ -0,0 +1,134 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect, useMemo, useRef, useState } from "react";
3
+ import debounce from "@koine/utils/debounce";
4
+ import noop from "@koine/utils/noop";
5
+ import listenResizeDebounced from "@koine/dom/listenResizeDebounced";
6
+ import listenScrollDebounced from "@koine/dom/listenScrollDebounced";
7
+ import off from "@koine/dom/off";
8
+ import on from "@koine/dom/on";
9
+ var observer;
10
+ function findScrollContainers(element) {
11
+ var result = [];
12
+ if (!element || element === document.body)
13
+ return result;
14
+ var _a = window.getComputedStyle(element), overflow = _a.overflow, overflowX = _a.overflowX, overflowY = _a.overflowY;
15
+ if ([overflow, overflowX, overflowY].some(function (prop) { return prop === "auto" || prop === "scroll"; }))
16
+ result.push(element);
17
+ return __spreadArray(__spreadArray([], result, true), findScrollContainers(element.parentElement), true);
18
+ }
19
+ var keys = [
20
+ "x",
21
+ "y",
22
+ "top",
23
+ "bottom",
24
+ "left",
25
+ "right",
26
+ "width",
27
+ "height",
28
+ ];
29
+ var areBoundsEqual = function (a, b) {
30
+ return keys.every(function (key) { return a[key] === b[key]; });
31
+ };
32
+ export function useMeasure(options) {
33
+ var _a = (options || {}).scroll, scroll = _a === void 0 ? false : _a;
34
+ var _b = useState({
35
+ left: 0,
36
+ top: 0,
37
+ width: 0,
38
+ height: 0,
39
+ bottom: 0,
40
+ right: 0,
41
+ x: 0,
42
+ y: 0,
43
+ }), bounds = _b[0], setBounds = _b[1];
44
+ var state = useRef([
45
+ null,
46
+ null,
47
+ null,
48
+ bounds,
49
+ ]);
50
+ var mounted = useRef(false);
51
+ useEffect(function () {
52
+ mounted.current = true;
53
+ return function () { return void (mounted.current = false); };
54
+ }, []);
55
+ var _c = useMemo(function () {
56
+ var callback = function () {
57
+ var _args = [];
58
+ for (var _i = 0; _i < arguments.length; _i++) {
59
+ _args[_i] = arguments[_i];
60
+ }
61
+ var _a = state.current, element = _a[0], lastBounds = _a[3];
62
+ if (!element)
63
+ return;
64
+ var size = element.getBoundingClientRect();
65
+ Object.freeze(size);
66
+ if (mounted.current && !areBoundsEqual(lastBounds, size)) {
67
+ state.current[3] = size;
68
+ setBounds(size);
69
+ }
70
+ };
71
+ var debouncedCallback = debounce(callback);
72
+ return [callback, debouncedCallback, debouncedCallback];
73
+ }, [setBounds]), forceRefresh = _c[0], scrollChange = _c[2];
74
+ function removeListeners() {
75
+ var _a = state.current, scrollContainers = _a[1], resizeObserver = _a[2];
76
+ if (scrollContainers) {
77
+ scrollContainers.forEach(function (element) {
78
+ return off(element, "scroll", scrollChange);
79
+ });
80
+ state.current[1] = null;
81
+ }
82
+ if (resizeObserver) {
83
+ resizeObserver.disconnect();
84
+ state.current[2] = null;
85
+ }
86
+ }
87
+ function addListeners() {
88
+ var _a = state.current, element = _a[0], scrollContainers = _a[1];
89
+ if (!element)
90
+ return;
91
+ if (!observer && ResizeObserver) {
92
+ observer = new ResizeObserver(scrollChange);
93
+ state.current[2] = observer;
94
+ observer.observe(element);
95
+ if (scroll && scrollContainers) {
96
+ scrollContainers.forEach(function (scrollContainer) {
97
+ return on(scrollContainer, "scroll", scrollChange, {
98
+ capture: true,
99
+ passive: true,
100
+ });
101
+ });
102
+ }
103
+ }
104
+ }
105
+ var ref = function (node) {
106
+ if (!node || node === state.current[0])
107
+ return;
108
+ removeListeners();
109
+ state.current[0] = node;
110
+ state.current[1] = findScrollContainers(node);
111
+ addListeners();
112
+ };
113
+ useEffect(function () {
114
+ if (scroll) {
115
+ var listener = listenScrollDebounced(0, forceRefresh, 100);
116
+ return listener;
117
+ }
118
+ return noop;
119
+ }, [scroll, forceRefresh]);
120
+ useEffect(function () {
121
+ var listener = listenResizeDebounced(0, forceRefresh, 100);
122
+ return listener;
123
+ }, [forceRefresh]);
124
+ useEffect(function () {
125
+ removeListeners();
126
+ addListeners();
127
+ }, [scroll]);
128
+ useEffect(function () {
129
+ forceRefresh();
130
+ return removeListeners;
131
+ }, []);
132
+ return [ref, bounds, forceRefresh];
133
+ }
134
+ export default useMeasure;
@@ -1,5 +1,2 @@
1
- /**
2
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useMountedState.ts)
3
- */
4
1
  export declare function useMountedState(): () => boolean;
5
2
  export default useMountedState;
@@ -0,0 +1,13 @@
1
+ import { useCallback, useEffect, useRef } from "react";
2
+ export function useMountedState() {
3
+ var mountedRef = useRef(false);
4
+ var get = useCallback(function () { return mountedRef.current; }, []);
5
+ useEffect(function () {
6
+ mountedRef.current = true;
7
+ return function () {
8
+ mountedRef.current = false;
9
+ };
10
+ }, []);
11
+ return get;
12
+ }
13
+ export default useMountedState;
@@ -1,32 +1,3 @@
1
- /**
2
- * @return A custom error message (most browser will ignore it), or just a
3
- * boolean to signal whether we want to prompt the user
4
- *
5
- * We might instead return an array with the above as first element and two
6
- * callbacks, but the callback technique is too cumbersome and unreliable
7
- * probably:
8
- * 2) A callback on confirmed leaving
9
- * 3) A callback on cancel, user stays on page
10
- */
11
1
  export type UseNavigateAwayHandler = (event: BeforeUnloadEvent) => string | boolean;
12
- /**
13
- * @resources
14
- *
15
- * About browser's specs see:
16
- * - https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event
17
- * - https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW5
18
- * - https://stackoverflow.com/questions/58009424/pagehide-event-on-google-chrome
19
- *
20
- * About react see:
21
- * - https://github.com/jacobbuck/react-beforeunload
22
- * - https://github.com/dioscarey/react-beforeunload-component
23
- *
24
- * About next.js see:
25
- * - https://github.com/vercel/next.js/issues/2476
26
- * - https://github.com/vercel/next.js/issues/2694
27
- *
28
- * For the callback technique see:
29
- * - https://stackoverflow.com/a/11835394/1938970
30
- */
31
2
  export declare const useNavigateAway: (handler: UseNavigateAwayHandler) => void;
32
3
  export default useNavigateAway;
@@ -0,0 +1,25 @@
1
+ import { useEffect, useRef } from "react";
2
+ import on from "@koine/dom/on";
3
+ export var useNavigateAway = function (handler) {
4
+ var beforeUnloadHandlerRef = useRef();
5
+ useEffect(function () {
6
+ beforeUnloadHandlerRef.current = function (event) {
7
+ var customMessageOrCondition = handler(event);
8
+ if (customMessageOrCondition) {
9
+ event.preventDefault();
10
+ }
11
+ if (typeof customMessageOrCondition === "string") {
12
+ return (event.returnValue = customMessageOrCondition);
13
+ }
14
+ if (event.defaultPrevented) {
15
+ return (event.returnValue = "");
16
+ }
17
+ return;
18
+ };
19
+ }, [handler]);
20
+ useEffect(function () {
21
+ var listenerBeforeunload = on(window, "beforeunload", function (event) { var _a; return (_a = beforeUnloadHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(beforeUnloadHandlerRef, event); });
22
+ return listenerBeforeunload;
23
+ }, []);
24
+ };
25
+ export default useNavigateAway;
@@ -1,5 +1,2 @@
1
- /**
2
- * @borrows [samselikoff/animated-carousel](https://github.com/samselikoff/2022-06-02-animated-carousel/blob/main/pages/final.jsx)
3
- */
4
1
  export declare function usePrevious<T>(state: T, defaulValue: T): T;
5
2
  export default usePrevious;
@@ -0,0 +1,9 @@
1
+ import { useState } from "react";
2
+ export function usePrevious(state, defaulValue) {
3
+ var _a = useState([state, defaulValue]), tuple = _a[0], setTuple = _a[1];
4
+ if (tuple[1] !== state) {
5
+ setTuple([tuple[1], state]);
6
+ }
7
+ return tuple[0];
8
+ }
9
+ export default usePrevious;
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useRef } from "react";
2
2
  export function usePreviousRef(value) {
3
- const ref = useRef();
4
- useEffect(()=>{
3
+ var ref = useRef();
4
+ useEffect(function () {
5
5
  ref.current = value;
6
6
  });
7
7
  return ref.current;
@@ -4,12 +4,5 @@ type Position = {
4
4
  y: number;
5
5
  };
6
6
  type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
7
- /**
8
- * @borrows [@n8tb1t/use-scroll-position@2.0.3](https://github.com/n8tb1t/use-scroll-position) by `n8tb1t <n8tb1t@gmail.com>`
9
- *
10
- * We've just:
11
- * - reused internal helper functions
12
- * - compacted object arguments in functions as plain argument list to improve compression
13
- */
14
7
  export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
15
8
  export default useScrollPosition;
@@ -0,0 +1,61 @@
1
+ import { useRef } from "react";
2
+ import isBrowser from "@koine/utils/isBrowser";
3
+ import listenScroll from "@koine/dom/listenScroll";
4
+ import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
5
+ var zeroPosition = { x: 0, y: 0 };
6
+ var getClientRect = function (element) {
7
+ return element === null || element === void 0 ? void 0 : element.getBoundingClientRect();
8
+ };
9
+ var getScrollPosition = function (element, boundingElement) {
10
+ if (!isBrowser) {
11
+ return zeroPosition;
12
+ }
13
+ if (!boundingElement) {
14
+ return { x: window.scrollX, y: window.scrollY };
15
+ }
16
+ var targetPosition = getClientRect((element === null || element === void 0 ? void 0 : element.current) || document.body);
17
+ var containerPosition = getClientRect(boundingElement.current);
18
+ if (!targetPosition) {
19
+ return zeroPosition;
20
+ }
21
+ return containerPosition
22
+ ? {
23
+ x: (containerPosition.x || 0) - (targetPosition.x || 0),
24
+ y: (containerPosition.y || 0) - (targetPosition.y || 0),
25
+ }
26
+ : { x: targetPosition.left, y: targetPosition.top };
27
+ };
28
+ export var useScrollPosition = function (effect, deps, element, boundingElement, wait) {
29
+ if (deps === void 0) { deps = []; }
30
+ var position = useRef(getScrollPosition(null, boundingElement));
31
+ var throttleTimeout = null;
32
+ var callBack = function () {
33
+ var current = getScrollPosition(element, boundingElement);
34
+ effect(current, position.current);
35
+ position.current = current;
36
+ throttleTimeout = null;
37
+ };
38
+ useIsomorphicLayoutEffect(function () {
39
+ if (!isBrowser) {
40
+ return undefined;
41
+ }
42
+ var handleScroll = function () {
43
+ if (wait) {
44
+ if (throttleTimeout === null) {
45
+ throttleTimeout = window.setTimeout(callBack, wait);
46
+ }
47
+ }
48
+ else {
49
+ callBack();
50
+ }
51
+ };
52
+ var listener = listenScroll(handleScroll, boundingElement === null || boundingElement === void 0 ? void 0 : boundingElement.current);
53
+ return function () {
54
+ listener();
55
+ if (throttleTimeout) {
56
+ clearTimeout(throttleTimeout);
57
+ }
58
+ };
59
+ }, deps);
60
+ };
61
+ export default useScrollPosition;
@@ -0,0 +1,26 @@
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import noop from "@koine/utils/noop";
3
+ import listenScroll from "@koine/dom/listenScroll";
4
+ export var useScrollThreshold = function (threshold, callback) {
5
+ var _a = useState(false), isBelow = _a[0], setIsBelow = _a[1];
6
+ var handler = useCallback(function () {
7
+ if (threshold) {
8
+ var posY = window.scrollY;
9
+ var isAbove = posY < threshold;
10
+ var isBelow_1 = posY > threshold;
11
+ setIsBelow(isBelow_1);
12
+ if (callback)
13
+ callback(isAbove, isBelow_1);
14
+ }
15
+ }, [threshold, callback]);
16
+ useEffect(function () {
17
+ if (threshold) {
18
+ var listener = listenScroll(handler);
19
+ handler();
20
+ return listener;
21
+ }
22
+ return noop;
23
+ }, [threshold, handler]);
24
+ return isBelow;
25
+ };
26
+ export default useScrollThreshold;
@@ -0,0 +1,22 @@
1
+ import isBrowser from "@koine/utils/isBrowser";
2
+ import useHeader from "../Header/useHeader.js";
3
+ export function useScrollTo(id, offset) {
4
+ if (id === void 0) { id = ""; }
5
+ if (offset === void 0) { offset = 0; }
6
+ var _a = useHeader(), headerHeight = _a[2];
7
+ if (!isBrowser) {
8
+ return;
9
+ }
10
+ var headerOffset = headerHeight || 0;
11
+ var element = document.getElementById(id);
12
+ var top = 0;
13
+ if (element && element.offsetParent) {
14
+ do {
15
+ top += element.offsetTop;
16
+ } while ((element = element.offsetParent));
17
+ }
18
+ top -= offset;
19
+ top -= headerOffset;
20
+ window.scroll(0, top);
21
+ }
22
+ export default useScrollTo;
@@ -1,8 +1,2 @@
1
- /**
2
- *
3
- * @param disregardAutomaticFixedOffset When the `to` scroll argument is a DOM
4
- * selector we will keep into account the _fixedOffset_ despite this option.
5
- * @returns
6
- */
7
1
  export declare function useSmoothScroll(disregardAutomaticFixedOffset?: boolean): (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
8
2
  export default useSmoothScroll;
@@ -0,0 +1,33 @@
1
+ import { useCallback } from "react";
2
+ import isNumber from "@koine/utils/isNumber";
3
+ import getOffsetTopSlim from "@koine/dom/getOffsetTopSlim";
4
+ import scrollTo from "@koine/dom/scrollTo";
5
+ import useFixedOffset from "./useFixedOffset.js";
6
+ export function useSmoothScroll(disregardAutomaticFixedOffset) {
7
+ var fixedOffset = useFixedOffset();
8
+ var scroll = useCallback(function (to, customOffset, callback, fallbackTimeout, behavior) {
9
+ var top = undefined;
10
+ var toIsElement = false;
11
+ if (isNumber(to)) {
12
+ top = to;
13
+ }
14
+ else if (to) {
15
+ var el = document.getElementById(to);
16
+ if (el) {
17
+ top = getOffsetTopSlim(el) - fixedOffset.current;
18
+ toIsElement = true;
19
+ }
20
+ }
21
+ if (isNumber(top)) {
22
+ top =
23
+ top +
24
+ (customOffset || 0) +
25
+ (disregardAutomaticFixedOffset || toIsElement
26
+ ? 0
27
+ : fixedOffset.current);
28
+ scrollTo(top, callback, fallbackTimeout, behavior);
29
+ }
30
+ }, [disregardAutomaticFixedOffset, fixedOffset]);
31
+ return scroll;
32
+ }
33
+ export default useSmoothScroll;
@@ -1,14 +1,2 @@
1
- /**
2
- * Wraps your booleans only returning true after the `delay`, and for a minimum
3
- * time of `minDuration`. This way you're sure that you don't show unnecessary
4
- * or very short living spinners.
5
- *
6
- * @borrows [smeijer/spin-delay](https://github.com/smeijer/spin-delay)
7
- *
8
- * - Smaller footprint and options object as argument
9
- *
10
- * @param delay [500]
11
- * @param minDuration [200]
12
- */
13
1
  export declare function useSpinDelay(loading: boolean, delay?: number, minDuration?: number): boolean;
14
2
  export default useSpinDelay;