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

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 (590) 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 +16 -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 +124 -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 +60 -66
  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 +9 -11
  82. package/Dialog/DialogMui.js +39 -0
  83. package/Dialog/css/bare.d.ts +9 -10
  84. package/Dialog/css/bare.js +21 -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 +4 -14
  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 +3 -4
  98. package/Dialog/sc/material.js +21 -0
  99. package/Dialog/tw/bare.d.ts +7 -22
  100. package/Dialog/tw/bare.js +29 -0
  101. package/Dialog/tw/elegant.d.ts +6 -7
  102. package/Dialog/tw/elegant.js +21 -0
  103. package/Dialog/tw/framer.d.ts +3 -4
  104. package/Dialog/tw/framer.js +16 -0
  105. package/Dialog/tw/framerMaterial.d.ts +2 -2
  106. package/Dialog/tw/framerMaterial.js +16 -0
  107. package/Dialog/tw/material.d.ts +6 -7
  108. package/Dialog/tw/material.js +21 -0
  109. package/Editor/Editor--tiptap.js +26 -0
  110. package/Editor/components.js +10 -0
  111. package/Editor/index.d.ts +1 -1
  112. package/Editor/index.js +1 -0
  113. package/FaviconTags.d.ts +0 -10
  114. package/FaviconTags.js +6 -0
  115. package/Form/Form.d.ts +1 -14
  116. package/Form/Form.js +60 -0
  117. package/Form/index.d.ts +1 -1
  118. package/Form/index.js +1 -0
  119. package/Form/sc/bare.d.ts +1 -2
  120. package/Form/sc/bare.js +20 -0
  121. package/Forms/Checkbox/Checkbox.d.ts +1 -5
  122. package/Forms/Checkbox/Checkbox.js +15 -0
  123. package/Forms/Checkbox/index.d.ts +1 -1
  124. package/Forms/Checkbox/index.js +1 -0
  125. package/Forms/Feedback/Feedback.js +9 -0
  126. package/Forms/Feedback/index.d.ts +1 -1
  127. package/Forms/Feedback/index.js +1 -0
  128. package/Forms/Field/Field.d.ts +1 -19
  129. package/Forms/Field/Field.js +25 -0
  130. package/Forms/Field/FieldControl.d.ts +2 -14
  131. package/Forms/Field/FieldControl.js +35 -0
  132. package/Forms/Field/FieldHint.js +4 -0
  133. package/Forms/Field/index.d.ts +2 -2
  134. package/Forms/Field/index.js +2 -0
  135. package/Forms/Input/Input.d.ts +1 -2
  136. package/Forms/Input/Input.js +16 -0
  137. package/Forms/Input/index.d.ts +1 -1
  138. package/Forms/Input/index.js +1 -0
  139. package/Forms/InputGroup/InputGroup.d.ts +1 -2
  140. package/Forms/InputGroup/InputGroup.js +15 -0
  141. package/Forms/InputGroup/index.d.ts +1 -1
  142. package/Forms/InputGroup/index.js +1 -0
  143. package/Forms/Label/Label.js +6 -0
  144. package/Forms/Label/index.d.ts +1 -1
  145. package/Forms/Label/index.js +1 -0
  146. package/Forms/Password/Password.d.ts +1 -2
  147. package/Forms/Password/Password.js +17 -0
  148. package/Forms/Password/index.d.ts +1 -1
  149. package/Forms/Password/index.js +1 -0
  150. package/Forms/Radio/Radio.d.ts +1 -2
  151. package/Forms/Radio/Radio.js +25 -0
  152. package/Forms/Radio/index.d.ts +1 -1
  153. package/Forms/Radio/index.js +1 -0
  154. package/Forms/Switch/Switch.d.ts +1 -5
  155. package/Forms/Switch/Switch.js +17 -0
  156. package/Forms/Switch/index.d.ts +1 -1
  157. package/Forms/Switch/index.js +1 -0
  158. package/Forms/Textarea/Textarea.d.ts +1 -2
  159. package/Forms/Textarea/Textarea.js +12 -0
  160. package/Forms/Textarea/TextareaRich.d.ts +1 -2
  161. package/Forms/Textarea/TextareaRich.js +26 -0
  162. package/Forms/Textarea/index.d.ts +2 -2
  163. package/Forms/Textarea/index.js +2 -0
  164. package/Forms/Toggle/Toggle-tailwind.js +1 -0
  165. package/Forms/Toggle/Toggle.d.ts +0 -1
  166. package/Forms/Toggle/Toggle.js +25 -0
  167. package/Forms/Toggle/index.d.ts +1 -1
  168. package/Forms/Toggle/index.js +1 -0
  169. package/Forms/Toggle/useToggle-tailwind.js +1 -0
  170. package/Forms/Toggle/useToggle.d.ts +1 -31
  171. package/Forms/Toggle/useToggle.js +85 -0
  172. package/Forms/antispam.d.ts +0 -20
  173. package/Forms/antispam.js +29 -0
  174. package/Forms/helpers.d.ts +0 -8
  175. package/Forms/helpers.js +35 -0
  176. package/Forms/index.d.ts +15 -15
  177. package/Forms/index.js +15 -0
  178. package/Forms/styles.d.ts +0 -6
  179. package/Forms/styles.js +19 -0
  180. package/Gauge/Gauge.d.ts +0 -1
  181. package/Gauge/Gauge.js +1 -0
  182. package/Grid/Grid.d.ts +1 -10
  183. package/Grid/Grid.js +52 -0
  184. package/Grid/index.d.ts +1 -1
  185. package/Grid/index.js +1 -0
  186. package/Hamburger/Hamburger.d.ts +0 -1
  187. package/Hamburger/Hamburger.js +47 -0
  188. package/Hamburger/index.d.ts +1 -1
  189. package/Hamburger/index.js +1 -0
  190. package/Header/index.d.ts +1 -1
  191. package/Header/index.js +1 -0
  192. package/Header/useHeader.d.ts +0 -4
  193. package/Header/useHeader.js +31 -0
  194. package/Hidden/Hidden.d.ts +1 -1
  195. package/Hidden/Hidden.js +10 -0
  196. package/Hidden/index.d.ts +1 -1
  197. package/Hidden/index.js +1 -0
  198. package/Img/index.d.ts +1 -1
  199. package/Img/index.js +1 -0
  200. package/Img/sc/bare.js +4 -0
  201. package/Img/types.js +1 -0
  202. package/Link/Link.js +4 -0
  203. package/Link/LinkBlank.js +15 -0
  204. package/Link/index.d.ts +2 -2
  205. package/Link/index.js +2 -0
  206. package/Menu/Menu.js +4 -0
  207. package/Menu/MenuMui.js +1 -0
  208. package/Menu/index.d.ts +1 -1
  209. package/Menu/index.js +1 -0
  210. package/MenuItem/MenuItem.js +4 -0
  211. package/MenuItem/MenuItemMui.js +1 -0
  212. package/MenuItem/index.d.ts +1 -1
  213. package/MenuItem/index.js +1 -0
  214. package/MenuItem/useMenuItem.js +42 -0
  215. package/Meta.d.ts +5 -0
  216. package/Meta.js +6 -0
  217. package/NoJs.js +7 -0
  218. package/Pagination/PaginationNav.d.ts +1 -9
  219. package/Pagination/PaginationNav.js +48 -0
  220. package/Pagination/PaginationResults.js +11 -0
  221. package/Pagination/index.d.ts +2 -2
  222. package/Pagination/index.js +2 -0
  223. package/Pill/Pill.js +7 -0
  224. package/Pill/index.d.ts +1 -1
  225. package/Pill/index.js +1 -0
  226. package/Progress/ProgressCircular.d.ts +1 -7
  227. package/Progress/ProgressCircular.js +12 -0
  228. package/Progress/ProgressLinear.d.ts +1 -8
  229. package/Progress/ProgressLinear.js +21 -0
  230. package/Progress/ProgressOverlay.js +23 -0
  231. package/Progress/index.d.ts +3 -3
  232. package/Progress/index.js +3 -0
  233. package/Rating/Rating.d.ts +0 -8
  234. package/Rating/Rating.js +43 -0
  235. package/Rating/index.d.ts +1 -4
  236. package/Rating/index.js +45 -0
  237. package/Select/SelectDownshift.d.ts +1 -1
  238. package/Select/SelectDownshift.js +1 -0
  239. package/Select/components.js +12 -0
  240. package/Select/index.d.ts +2 -2
  241. package/Select/index.js +1 -0
  242. package/Sidebar/Sidebar.js +23 -0
  243. package/Sidebar/index.d.ts +1 -1
  244. package/Sidebar/index.js +1 -0
  245. package/Spacing/Spacing.d.ts +1 -14
  246. package/Spacing/Spacing.js +32 -0
  247. package/Spacing/index.d.ts +1 -1
  248. package/Spacing/index.js +1 -0
  249. package/Sticky/Sticky.js +1 -0
  250. package/Sticky/StickyCss.js +6 -0
  251. package/Sticky/index.d.ts +1 -1
  252. package/Sticky/index.js +1 -0
  253. package/Tabs/TabsMui.d.ts +6 -7
  254. package/Tabs/TabsMui.js +30 -0
  255. package/Tabs/index.d.ts +1 -1
  256. package/Tabs/index.js +1 -0
  257. package/Tabs/sc/bare.d.ts +0 -5
  258. package/Tabs/sc/bare.js +1 -0
  259. package/Tabs/tw/bare.d.ts +5 -6
  260. package/Tabs/tw/bare.js +17 -0
  261. package/Tabs/tw/material.d.ts +2 -3
  262. package/Tabs/tw/material.js +19 -0
  263. package/Tabs/useTabs.d.ts +0 -22
  264. package/Tabs/useTabs.js +43 -0
  265. package/Typography/CopyPasteVisible.js +4 -0
  266. package/Typography/Native.js +14 -0
  267. package/Typography/ReadMore.d.ts +0 -2
  268. package/Typography/ReadMore.js +42 -0
  269. package/Typography/TextLoop.js +45 -0
  270. package/Typography/TypeStairs.js +42 -0
  271. package/Typography/index.d.ts +5 -5
  272. package/Typography/index.js +5 -0
  273. package/classed.d.ts +8 -0
  274. package/classed.js +43 -0
  275. package/{helpers/createUseMediaQueryWidth.d.ts → createUseMediaQueryWidth.d.ts} +1 -7
  276. package/createUseMediaQueryWidth.js +38 -0
  277. package/css/index.d.ts +1 -2
  278. package/css/index.js +1 -0
  279. package/{helpers/extend-component.d.ts → extendComponent.d.ts} +0 -11
  280. package/extendComponent.js +9 -0
  281. package/index.d.ts +25 -1
  282. package/index.js +24 -0
  283. package/m/MotionProvider.d.ts +0 -32
  284. package/m/MotionProvider.js +7 -0
  285. package/m/index.d.ts +1 -6
  286. package/m/index.js +1 -0
  287. package/{helpers/mergeRefs.mjs → mergeRefs.js} +4 -3
  288. package/package.json +609 -22
  289. package/sc/index.d.ts +29 -30
  290. package/sc/index.js +29 -0
  291. package/scm/index.d.ts +28 -29
  292. package/scm/index.js +28 -0
  293. package/shared/index.d.ts +7 -8
  294. package/shared/index.js +7 -0
  295. package/styles/Body.d.ts +0 -8
  296. package/styles/Body.js +5 -0
  297. package/styles/Global.d.ts +0 -13
  298. package/styles/Global.js +5 -0
  299. package/styles/index.d.ts +7 -7
  300. package/styles/index.js +7 -0
  301. package/styles/media.d.ts +1 -50
  302. package/styles/media.js +74 -0
  303. package/styles/spacing.d.ts +1 -2
  304. package/styles/spacing.js +45 -0
  305. package/styles/styled.d.ts +0 -4
  306. package/styles/styled.js +9 -0
  307. package/styles/theme--vanilla.js +46 -0
  308. package/styles/theme.d.ts +0 -29
  309. package/styles/theme.js +30 -0
  310. package/tw/index.d.ts +1 -2
  311. package/tw/index.js +1 -0
  312. package/twm/index.d.ts +1 -2
  313. package/twm/index.js +1 -0
  314. package/types.d.ts +3 -2
  315. package/types.js +1 -0
  316. package/{hooks/useAsyncFn.d.ts → useAsyncFn.d.ts} +1 -4
  317. package/useAsyncFn.js +33 -0
  318. package/useDateLocale.d.ts +2 -0
  319. package/useDateLocale.js +28 -0
  320. package/useFirstMountState.d.ts +2 -0
  321. package/useFirstMountState.js +10 -0
  322. package/useFixedOffset.d.ts +3 -0
  323. package/useFixedOffset.js +42 -0
  324. package/{hooks/useFocus.d.ts → useFocus.d.ts} +0 -3
  325. package/useFocus.js +9 -0
  326. package/useInterval.d.ts +2 -0
  327. package/useInterval.js +22 -0
  328. package/useIsomorphicLayoutEffect.d.ts +3 -0
  329. package/useIsomorphicLayoutEffect.js +6 -0
  330. package/useKeyUp.js +18 -0
  331. package/{hooks/useMeasure.d.ts → useMeasure.d.ts} +0 -5
  332. package/useMeasure.js +130 -0
  333. package/useMountedState.d.ts +2 -0
  334. package/useMountedState.js +13 -0
  335. package/useNavigateAway.d.ts +3 -0
  336. package/useNavigateAway.js +25 -0
  337. package/usePrevious.d.ts +2 -0
  338. package/usePrevious.js +9 -0
  339. package/{hooks/usePreviousRef.mjs → usePreviousRef.js} +2 -2
  340. package/{hooks/useScrollPosition.d.ts → useScrollPosition.d.ts} +0 -7
  341. package/useScrollPosition.js +61 -0
  342. package/useScrollThreshold.js +26 -0
  343. package/useScrollTo.js +22 -0
  344. package/{hooks/useSmoothScroll.d.ts → useSmoothScroll.d.ts} +0 -6
  345. package/useSmoothScroll.js +32 -0
  346. package/useSpinDelay.d.ts +2 -0
  347. package/useSpinDelay.js +38 -0
  348. package/{hooks/useTraceUpdate.d.ts → useTraceUpdate.d.ts} +0 -3
  349. package/useTraceUpdate.js +18 -0
  350. package/{hooks/useUpdateEffect.d.ts → useUpdateEffect.d.ts} +0 -3
  351. package/useUpdateEffect.js +11 -0
  352. package/useWindowSize.d.ts +3 -0
  353. package/useWindowSize.js +19 -0
  354. package/Alert/Alert.mjs +0 -22
  355. package/Alert/Alert.stories.mjs +0 -18
  356. package/Alert/index.mjs +0 -1
  357. package/Animations/Reveal.mjs +0 -43
  358. package/Animations/Underline.mjs +0 -15
  359. package/Animations/index.mjs +0 -3
  360. package/Animations/useReveal.mjs +0 -73
  361. package/Autocomplete/AutocompleteDownshift.mjs +0 -157
  362. package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
  363. package/Autocomplete/AutocompleteMui.mjs +0 -219
  364. package/Autocomplete/AutocompleteReach.mjs +0 -111
  365. package/Autocomplete/components.mjs +0 -87
  366. package/Autocomplete/helpers.mjs +0 -35
  367. package/Autocomplete/index.mjs +0 -4
  368. package/Bg/BgColor.mjs +0 -42
  369. package/Bg/BgPhoto.mjs +0 -71
  370. package/Bg/BgSvg.mjs +0 -22
  371. package/Bg/index.mjs +0 -3
  372. package/Breadcrumbs/Breadcrumbs.mjs +0 -91
  373. package/Breadcrumbs/index.mjs +0 -1
  374. package/Buttons/Button.mjs +0 -78
  375. package/Buttons/ButtonComposite.mjs +0 -105
  376. package/Buttons/ButtonFab.mjs +0 -8
  377. package/Buttons/ButtonLink.mjs +0 -18
  378. package/Buttons/IconButton.mjs +0 -19
  379. package/Buttons/index.mjs +0 -5
  380. package/Calendar/CalendarDaygridCell.mjs +0 -95
  381. package/Calendar/CalendarDaygridNav.mjs +0 -52
  382. package/Calendar/CalendarDaygridTable.mjs +0 -115
  383. package/Calendar/CalendarLegend.mjs +0 -29
  384. package/Calendar/calendar-api-google.mjs +0 -99
  385. package/Calendar/index.mjs +0 -6
  386. package/Calendar/types.mjs +0 -1
  387. package/Calendar/useCalendar.mjs +0 -225
  388. package/Calendar/utils.mjs +0 -209
  389. package/Carousel/Carousel.mjs +0 -377
  390. package/Carousel/CarouselCss.mjs +0 -44
  391. package/Carousel/index.mjs +0 -1
  392. package/Collapsable/Collapsable.mjs +0 -1
  393. package/Collapsable/CollapsableReach.mjs +0 -250
  394. package/Collapsable/index.mjs +0 -1
  395. package/Debug/Debug.mjs +0 -23
  396. package/Debug/index.mjs +0 -1
  397. package/Details/Details.mjs +0 -90
  398. package/Details/Details.stories.mjs +0 -21
  399. package/Details/index.mjs +0 -1
  400. package/Dialog/DialogMui.mjs +0 -105
  401. package/Dialog/DialogMui.stories.mjs +0 -20
  402. package/Dialog/css/bare.mjs +0 -19
  403. package/Dialog/css/index.stories.mjs +0 -75
  404. package/Dialog/index.mjs +0 -1
  405. package/Dialog/m/bare.mjs +0 -115
  406. package/Dialog/m/basic.mjs +0 -31
  407. package/Dialog/m/index.mjs +0 -4
  408. package/Dialog/sc/bare.mjs +0 -54
  409. package/Dialog/sc/framer.mjs +0 -16
  410. package/Dialog/sc/framerMaterial.mjs +0 -16
  411. package/Dialog/sc/index.stories.mjs +0 -48
  412. package/Dialog/sc/material.mjs +0 -41
  413. package/Dialog/tw/bare.mjs +0 -29
  414. package/Dialog/tw/elegant.mjs +0 -18
  415. package/Dialog/tw/framer.mjs +0 -16
  416. package/Dialog/tw/framerMaterial.mjs +0 -16
  417. package/Dialog/tw/index.stories.mjs +0 -83
  418. package/Dialog/tw/material.mjs +0 -18
  419. package/Editor/Editor--tiptap.mjs +0 -53
  420. package/Editor/components.mjs +0 -28
  421. package/Editor/index.mjs +0 -1
  422. package/FaviconTags.mjs +0 -64
  423. package/Form/Form.mjs +0 -95
  424. package/Form/index.mjs +0 -1
  425. package/Form/sc/bare.mjs +0 -29
  426. package/Forms/Checkbox/Checkbox.mjs +0 -36
  427. package/Forms/Checkbox/index.mjs +0 -1
  428. package/Forms/Feedback/Feedback.mjs +0 -14
  429. package/Forms/Feedback/index.mjs +0 -1
  430. package/Forms/Field/Field.mjs +0 -50
  431. package/Forms/Field/FieldControl.mjs +0 -67
  432. package/Forms/Field/FieldHint.mjs +0 -6
  433. package/Forms/Field/index.mjs +0 -2
  434. package/Forms/Input/Input.mjs +0 -36
  435. package/Forms/Input/index.mjs +0 -1
  436. package/Forms/InputGroup/InputGroup.mjs +0 -57
  437. package/Forms/InputGroup/index.mjs +0 -1
  438. package/Forms/Label/Label.mjs +0 -24
  439. package/Forms/Label/index.mjs +0 -1
  440. package/Forms/Password/Password.mjs +0 -53
  441. package/Forms/Password/index.mjs +0 -1
  442. package/Forms/Radio/Radio.mjs +0 -57
  443. package/Forms/Radio/index.mjs +0 -1
  444. package/Forms/Switch/Switch.mjs +0 -60
  445. package/Forms/Switch/index.mjs +0 -1
  446. package/Forms/Textarea/Textarea.mjs +0 -26
  447. package/Forms/Textarea/TextareaRich.mjs +0 -48
  448. package/Forms/Textarea/index.mjs +0 -2
  449. package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
  450. package/Forms/Toggle/Toggle.mjs +0 -123
  451. package/Forms/Toggle/index.mjs +0 -1
  452. package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
  453. package/Forms/Toggle/useToggle.mjs +0 -163
  454. package/Forms/antispam.mjs +0 -58
  455. package/Forms/helpers.mjs +0 -52
  456. package/Forms/index.mjs +0 -16
  457. package/Forms/styles.mjs +0 -61
  458. package/Gauge/Gauge.mjs +0 -101
  459. package/Grid/Grid.mjs +0 -75
  460. package/Grid/index.mjs +0 -1
  461. package/Hamburger/Hamburger.mjs +0 -79
  462. package/Hamburger/index.mjs +0 -1
  463. package/Header/index.mjs +0 -1
  464. package/Header/useHeader.mjs +0 -36
  465. package/Hidden/Hidden.mjs +0 -10
  466. package/Hidden/index.mjs +0 -1
  467. package/Img/index.mjs +0 -1
  468. package/Img/sc/bare.mjs +0 -36
  469. package/Img/types.mjs +0 -1
  470. package/Link/Link.mjs +0 -2
  471. package/Link/LinkBlank.mjs +0 -32
  472. package/Link/index.mjs +0 -2
  473. package/Menu/Menu.mjs +0 -11
  474. package/Menu/MenuMui.mjs +0 -164
  475. package/Menu/index.mjs +0 -1
  476. package/MenuItem/MenuItem.mjs +0 -20
  477. package/MenuItem/MenuItemMui.mjs +0 -31
  478. package/MenuItem/index.mjs +0 -1
  479. package/MenuItem/useMenuItem.mjs +0 -78
  480. package/Meta/Meta.d.ts +0 -15
  481. package/Meta/Meta.mjs +0 -8
  482. package/Meta/index.d.ts +0 -2
  483. package/Meta/index.mjs +0 -2
  484. package/NoJs/NoJs.mjs +0 -10
  485. package/NoJs/index.d.ts +0 -2
  486. package/NoJs/index.mjs +0 -2
  487. package/Pagination/PaginationNav.mjs +0 -122
  488. package/Pagination/PaginationResults.mjs +0 -34
  489. package/Pagination/index.mjs +0 -2
  490. package/Pill/Pill.mjs +0 -37
  491. package/Pill/index.mjs +0 -1
  492. package/Progress/ProgressCircular.mjs +0 -53
  493. package/Progress/ProgressLinear.mjs +0 -44
  494. package/Progress/ProgressOverlay.mjs +0 -64
  495. package/Progress/index.mjs +0 -3
  496. package/README.md +0 -1
  497. package/Rating/Rating.mjs +0 -154
  498. package/Rating/index.mjs +0 -62
  499. package/Select/SelectDownshift.mjs +0 -37
  500. package/Select/components.mjs +0 -25
  501. package/Select/index.mjs +0 -2
  502. package/Sidebar/Sidebar.mjs +0 -63
  503. package/Sidebar/index.mjs +0 -1
  504. package/Spacing/Spacing.mjs +0 -55
  505. package/Spacing/index.mjs +0 -1
  506. package/Sticky/Sticky.mjs +0 -218
  507. package/Sticky/StickyCss.mjs +0 -10
  508. package/Sticky/index.mjs +0 -1
  509. package/Tabs/TabsMui.mjs +0 -61
  510. package/Tabs/TabsMui.stories.mjs +0 -20
  511. package/Tabs/index.mjs +0 -1
  512. package/Tabs/sc/bare.mjs +0 -85
  513. package/Tabs/sc/index.stories.mjs +0 -0
  514. package/Tabs/tw/bare.mjs +0 -15
  515. package/Tabs/tw/index.stories.mjs +0 -25
  516. package/Tabs/tw/material.mjs +0 -14
  517. package/Tabs/useTabs.mjs +0 -46
  518. package/Typography/CopyPasteVisible.mjs +0 -6
  519. package/Typography/Native.mjs +0 -47
  520. package/Typography/ReadMore.mjs +0 -114
  521. package/Typography/TextLoop.mjs +0 -90
  522. package/Typography/TypeStairs.mjs +0 -61
  523. package/Typography/index.mjs +0 -5
  524. package/css/index.mjs +0 -30
  525. package/helpers/classed.d.ts +0 -27
  526. package/helpers/classed.mjs +0 -65
  527. package/helpers/classed.stories.mjs +0 -121
  528. package/helpers/createUseMediaQueryWidth.mjs +0 -178
  529. package/helpers/extend-component.mjs +0 -13
  530. package/helpers/index.d.ts +0 -4
  531. package/helpers/index.mjs +0 -4
  532. package/hooks/index.d.ts +0 -20
  533. package/hooks/index.mjs +0 -21
  534. package/hooks/types.d.ts +0 -8
  535. package/hooks/types.mjs +0 -3
  536. package/hooks/useAsyncFn.mjs +0 -39
  537. package/hooks/useDateLocale.d.ts +0 -8
  538. package/hooks/useDateLocale.mjs +0 -37
  539. package/hooks/useFirstMountState.d.ts +0 -5
  540. package/hooks/useFirstMountState.mjs +0 -12
  541. package/hooks/useFixedOffset.d.ts +0 -12
  542. package/hooks/useFixedOffset.mjs +0 -56
  543. package/hooks/useFocus.mjs +0 -14
  544. package/hooks/useInterval.d.ts +0 -7
  545. package/hooks/useInterval.mjs +0 -29
  546. package/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
  547. package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
  548. package/hooks/useKeyUp.mjs +0 -21
  549. package/hooks/useMeasure.mjs +0 -174
  550. package/hooks/useMountedState.d.ts +0 -5
  551. package/hooks/useMountedState.mjs +0 -15
  552. package/hooks/useNavigateAway.d.ts +0 -32
  553. package/hooks/useNavigateAway.mjs +0 -69
  554. package/hooks/usePrevious.d.ts +0 -5
  555. package/hooks/usePrevious.mjs +0 -17
  556. package/hooks/useScrollPosition.mjs +0 -70
  557. package/hooks/useScrollThreshold.mjs +0 -33
  558. package/hooks/useScrollTo.mjs +0 -20
  559. package/hooks/useSmoothScroll.mjs +0 -35
  560. package/hooks/useSpinDelay.d.ts +0 -14
  561. package/hooks/useSpinDelay.mjs +0 -52
  562. package/hooks/useTraceUpdate.mjs +0 -23
  563. package/hooks/useUpdateEffect.mjs +0 -14
  564. package/hooks/useWindowSize.d.ts +0 -12
  565. package/hooks/useWindowSize.mjs +0 -32
  566. package/index.mjs +0 -4
  567. package/m/MotionProvider.mjs +0 -40
  568. package/m/index.mjs +0 -5
  569. package/sc/index.mjs +0 -31
  570. package/scm/index.mjs +0 -31
  571. package/shared/index.mjs +0 -43
  572. package/styles/Body.mjs +0 -16
  573. package/styles/Global.mjs +0 -49
  574. package/styles/index.mjs +0 -7
  575. package/styles/media.mjs +0 -151
  576. package/styles/spacing.mjs +0 -46
  577. package/styles/styled.mjs +0 -26
  578. package/styles/theme--vanilla.mjs +0 -65
  579. package/styles/theme.mjs +0 -38
  580. package/tw/index.mjs +0 -30
  581. package/twm/index.mjs +0 -30
  582. package/types.mjs +0 -1
  583. /package/{NoJs/NoJs.d.ts → NoJs.d.ts} +0 -0
  584. /package/m/{lite.mjs → lite.js} +0 -0
  585. /package/m/{max.mjs → max.js} +0 -0
  586. /package/{helpers/mergeRefs.d.ts → mergeRefs.d.ts} +0 -0
  587. /package/{hooks/useKeyUp.d.ts → useKeyUp.d.ts} +0 -0
  588. /package/{hooks/usePreviousRef.d.ts → usePreviousRef.d.ts} +0 -0
  589. /package/{hooks/useScrollThreshold.d.ts → useScrollThreshold.d.ts} +0 -0
  590. /package/{hooks/useScrollTo.d.ts → useScrollTo.d.ts} +0 -0
package/tw/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from "../shared";
2
- export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/bare";
1
+ export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/bare.js";
package/tw/index.js ADDED
@@ -0,0 +1 @@
1
+ export { KoineDialog } from "../Dialog/tw/bare.js";
package/twm/index.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from "../shared";
2
- export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/framer";
1
+ export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/framer.js";
package/twm/index.js ADDED
@@ -0,0 +1 @@
1
+ export { KoineDialog } from "../Dialog/tw/framer.js";
package/types.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- export type { KoineImgSmartWrapProps, KoineImgSmartProps } from "./Img/types";
1
+ export type { KoineImgSmartWrapProps, KoineImgSmartProps } from "./Img/types.js";
3
2
  export type Translate = (i18nKey: any, query?: any, options?: any) => string;
4
3
  export type Option = {
5
4
  value: string;
@@ -8,3 +7,5 @@ export type Option = {
8
7
  };
9
8
  export type KoineComponentProps<BaseComponentProps, ExtendableProps> = BaseComponentProps & ExtendableProps;
10
9
  export type KoineComponent<Props = any> = string | React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
10
+ export type PromiseType<P extends Promise<any>> = P extends Promise<infer T> ? T : never;
11
+ export type FunctionReturningPromise = (...args: any[]) => Promise<any>;
package/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { FunctionReturningPromise, PromiseType } from "./types";
2
+ import type { FunctionReturningPromise, PromiseType } from "./types.js";
3
3
  export type UseAsyncState<T> = {
4
4
  loading: boolean;
5
5
  error?: undefined;
@@ -19,8 +19,5 @@ export type UseAsyncState<T> = {
19
19
  };
20
20
  type StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = UseAsyncState<PromiseType<ReturnType<T>>>;
21
21
  export type UseAsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [StateFromFunctionReturningPromise<T>, T];
22
- /**
23
- * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useAsyncFn.ts)
24
- */
25
22
  export declare function useAsyncFn<T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>): UseAsyncFnReturn<T>;
26
23
  export default useAsyncFn;
package/useAsyncFn.js ADDED
@@ -0,0 +1,33 @@
1
+ import { __assign } from "tslib";
2
+ import { useCallback, useRef, useState } from "react";
3
+ import { useMountedState } from "./useMountedState.js";
4
+ export function useAsyncFn(fn, deps, initialState) {
5
+ if (deps === void 0) { deps = []; }
6
+ if (initialState === void 0) { initialState = { loading: false }; }
7
+ var lastCallId = useRef(0);
8
+ var isMounted = useMountedState();
9
+ var _a = useState(initialState), state = _a[0], set = _a[1];
10
+ var callback = useCallback(function () {
11
+ var args = [];
12
+ for (var _i = 0; _i < arguments.length; _i++) {
13
+ args[_i] = arguments[_i];
14
+ }
15
+ var callId = ++lastCallId.current;
16
+ if (!state.loading) {
17
+ set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });
18
+ }
19
+ return fn.apply(void 0, args).then(function (value) {
20
+ isMounted() &&
21
+ callId === lastCallId.current &&
22
+ set({ value: value, loading: false });
23
+ return value;
24
+ }, function (error) {
25
+ isMounted() &&
26
+ callId === lastCallId.current &&
27
+ set({ error: error, loading: false });
28
+ return error;
29
+ });
30
+ }, deps);
31
+ return [state, callback];
32
+ }
33
+ export default useAsyncFn;
@@ -0,0 +1,2 @@
1
+ export declare function useDateLocale(locale?: string, defaultLocale?: string): globalThis.Locale | undefined;
2
+ export default useDateLocale;
@@ -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;
@@ -0,0 +1,2 @@
1
+ export declare function useFirstMountState(): boolean;
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;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function useFixedOffset(selector?: string): import("react").MutableRefObject<number>;
3
+ export default useFixedOffset;
@@ -0,0 +1,42 @@
1
+ import { useRef } from "react";
2
+ import { debounce } from "@koine/utils";
3
+ import { $each, calculateFixedOffset, injectCss, listenResizeDebounced, } from "@koine/dom";
4
+ import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
5
+ var inject = function (value) {
6
+ injectCss("useFixedOffset", "html{scroll-padding-top: ".concat(value, "px}"));
7
+ };
8
+ export function useFixedOffset(selector) {
9
+ var fixedOffset = useRef(0);
10
+ useIsomorphicLayoutEffect(function () {
11
+ var update = function () {
12
+ var newFixedOffset = calculateFixedOffset();
13
+ fixedOffset.current = newFixedOffset;
14
+ inject(newFixedOffset);
15
+ };
16
+ update();
17
+ if (ResizeObserver) {
18
+ var observer_1 = new ResizeObserver(function (entries) {
19
+ var newFixedOffset = 0;
20
+ entries.forEach(function (entry) {
21
+ newFixedOffset += entry.contentRect.height;
22
+ });
23
+ fixedOffset.current = newFixedOffset;
24
+ var updateOnResize = debounce(function () { return inject(newFixedOffset); }, 400, true);
25
+ updateOnResize();
26
+ });
27
+ $each(selector || "[data-fixed]", function ($el) {
28
+ if (observer_1)
29
+ observer_1.observe($el);
30
+ });
31
+ return function () {
32
+ observer_1 === null || observer_1 === void 0 ? void 0 : observer_1.disconnect();
33
+ };
34
+ }
35
+ else {
36
+ var listener = listenResizeDebounced(0, update);
37
+ return listener;
38
+ }
39
+ }, [selector]);
40
+ return fixedOffset;
41
+ }
42
+ 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;
package/useFocus.js ADDED
@@ -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;
@@ -0,0 +1,2 @@
1
+ export declare function useInterval<T extends () => unknown>(callback: T, delay: number, deps?: unknown[]): void;
2
+ export default useInterval;
package/useInterval.js ADDED
@@ -0,0 +1,22 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect, useRef } from "react";
3
+ import { noop } from "@koine/utils";
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;
@@ -0,0 +1,3 @@
1
+ import { useLayoutEffect } from "react";
2
+ export declare const useIsomorphicLayoutEffect: typeof useLayoutEffect;
3
+ export default useIsomorphicLayoutEffect;
@@ -0,0 +1,6 @@
1
+ import { useEffect, useLayoutEffect } from "react";
2
+ import { isBrowser } from "@koine/utils";
3
+ export var useIsomorphicLayoutEffect = isBrowser
4
+ ? useLayoutEffect
5
+ : useEffect;
6
+ export default useIsomorphicLayoutEffect;
package/useKeyUp.js ADDED
@@ -0,0 +1,18 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect } from "react";
3
+ import { on } from "@koine/dom";
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;
package/useMeasure.js ADDED
@@ -0,0 +1,130 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { useEffect, useMemo, useRef, useState } from "react";
3
+ import { debounce, noop } from "@koine/utils";
4
+ import { listenResizeDebounced, listenScrollDebounced, off, on, } from "@koine/dom";
5
+ var observer;
6
+ function findScrollContainers(element) {
7
+ var result = [];
8
+ if (!element || element === document.body)
9
+ return result;
10
+ var _a = window.getComputedStyle(element), overflow = _a.overflow, overflowX = _a.overflowX, overflowY = _a.overflowY;
11
+ if ([overflow, overflowX, overflowY].some(function (prop) { return prop === "auto" || prop === "scroll"; }))
12
+ result.push(element);
13
+ return __spreadArray(__spreadArray([], result, true), findScrollContainers(element.parentElement), true);
14
+ }
15
+ var keys = [
16
+ "x",
17
+ "y",
18
+ "top",
19
+ "bottom",
20
+ "left",
21
+ "right",
22
+ "width",
23
+ "height",
24
+ ];
25
+ var areBoundsEqual = function (a, b) {
26
+ return keys.every(function (key) { return a[key] === b[key]; });
27
+ };
28
+ export function useMeasure(options) {
29
+ var _a = (options || {}).scroll, scroll = _a === void 0 ? false : _a;
30
+ var _b = useState({
31
+ left: 0,
32
+ top: 0,
33
+ width: 0,
34
+ height: 0,
35
+ bottom: 0,
36
+ right: 0,
37
+ x: 0,
38
+ y: 0,
39
+ }), bounds = _b[0], setBounds = _b[1];
40
+ var state = useRef([
41
+ null,
42
+ null,
43
+ null,
44
+ bounds,
45
+ ]);
46
+ var mounted = useRef(false);
47
+ useEffect(function () {
48
+ mounted.current = true;
49
+ return function () { return void (mounted.current = false); };
50
+ }, []);
51
+ var _c = useMemo(function () {
52
+ var callback = function () {
53
+ var _args = [];
54
+ for (var _i = 0; _i < arguments.length; _i++) {
55
+ _args[_i] = arguments[_i];
56
+ }
57
+ var _a = state.current, element = _a[0], lastBounds = _a[3];
58
+ if (!element)
59
+ return;
60
+ var size = element.getBoundingClientRect();
61
+ Object.freeze(size);
62
+ if (mounted.current && !areBoundsEqual(lastBounds, size)) {
63
+ state.current[3] = size;
64
+ setBounds(size);
65
+ }
66
+ };
67
+ var debouncedCallback = debounce(callback);
68
+ return [callback, debouncedCallback, debouncedCallback];
69
+ }, [setBounds]), forceRefresh = _c[0], scrollChange = _c[2];
70
+ function removeListeners() {
71
+ var _a = state.current, scrollContainers = _a[1], resizeObserver = _a[2];
72
+ if (scrollContainers) {
73
+ scrollContainers.forEach(function (element) {
74
+ return off(element, "scroll", scrollChange);
75
+ });
76
+ state.current[1] = null;
77
+ }
78
+ if (resizeObserver) {
79
+ resizeObserver.disconnect();
80
+ state.current[2] = null;
81
+ }
82
+ }
83
+ function addListeners() {
84
+ var _a = state.current, element = _a[0], scrollContainers = _a[1];
85
+ if (!element)
86
+ return;
87
+ if (!observer && ResizeObserver) {
88
+ observer = new ResizeObserver(scrollChange);
89
+ state.current[2] = observer;
90
+ observer.observe(element);
91
+ if (scroll && scrollContainers) {
92
+ scrollContainers.forEach(function (scrollContainer) {
93
+ return on(scrollContainer, "scroll", scrollChange, {
94
+ capture: true,
95
+ passive: true,
96
+ });
97
+ });
98
+ }
99
+ }
100
+ }
101
+ var ref = function (node) {
102
+ if (!node || node === state.current[0])
103
+ return;
104
+ removeListeners();
105
+ state.current[0] = node;
106
+ state.current[1] = findScrollContainers(node);
107
+ addListeners();
108
+ };
109
+ useEffect(function () {
110
+ if (scroll) {
111
+ var listener = listenScrollDebounced(0, forceRefresh, 100);
112
+ return listener;
113
+ }
114
+ return noop;
115
+ }, [scroll, forceRefresh]);
116
+ useEffect(function () {
117
+ var listener = listenResizeDebounced(0, forceRefresh, 100);
118
+ return listener;
119
+ }, [forceRefresh]);
120
+ useEffect(function () {
121
+ removeListeners();
122
+ addListeners();
123
+ }, [scroll]);
124
+ useEffect(function () {
125
+ forceRefresh();
126
+ return removeListeners;
127
+ }, []);
128
+ return [ref, bounds, forceRefresh];
129
+ }
130
+ export default useMeasure;
@@ -0,0 +1,2 @@
1
+ export declare function useMountedState(): () => boolean;
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;
@@ -0,0 +1,3 @@
1
+ export type UseNavigateAwayHandler = (event: BeforeUnloadEvent) => string | boolean;
2
+ export declare const useNavigateAway: (handler: UseNavigateAwayHandler) => void;
3
+ export default useNavigateAway;
@@ -0,0 +1,25 @@
1
+ import { useEffect, useRef } from "react";
2
+ import { on } from "@koine/dom";
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;
@@ -0,0 +1,2 @@
1
+ export declare function usePrevious<T>(state: T, defaulValue: T): T;
2
+ export default usePrevious;
package/usePrevious.js ADDED
@@ -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";
3
+ import { listenScroll } from "@koine/dom";
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";
3
+ import { listenScroll } from "@koine/dom";
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;
package/useScrollTo.js ADDED
@@ -0,0 +1,22 @@
1
+ import { isBrowser } from "@koine/utils";
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,32 @@
1
+ import { useCallback } from "react";
2
+ import { isNumber } from "@koine/utils";
3
+ import { getOffsetTopSlim, scrollTo } from "@koine/dom";
4
+ import useFixedOffset from "./useFixedOffset.js";
5
+ export function useSmoothScroll(disregardAutomaticFixedOffset) {
6
+ var fixedOffset = useFixedOffset();
7
+ var scroll = useCallback(function (to, customOffset, callback, fallbackTimeout, behavior) {
8
+ var top = undefined;
9
+ var toIsElement = false;
10
+ if (isNumber(to)) {
11
+ top = to;
12
+ }
13
+ else if (to) {
14
+ var el = document.getElementById(to);
15
+ if (el) {
16
+ top = getOffsetTopSlim(el) - fixedOffset.current;
17
+ toIsElement = true;
18
+ }
19
+ }
20
+ if (isNumber(top)) {
21
+ top =
22
+ top +
23
+ (customOffset || 0) +
24
+ (disregardAutomaticFixedOffset || toIsElement
25
+ ? 0
26
+ : fixedOffset.current);
27
+ scrollTo(top, callback, fallbackTimeout, behavior);
28
+ }
29
+ }, [disregardAutomaticFixedOffset, fixedOffset]);
30
+ return scroll;
31
+ }
32
+ export default useSmoothScroll;
@@ -0,0 +1,2 @@
1
+ export declare function useSpinDelay(loading: boolean, delay?: number, minDuration?: number): boolean;
2
+ export default useSpinDelay;