@koine/react 2.0.0-beta.77 → 2.0.0-beta.79

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 (294) hide show
  1. package/FaviconTags.cjs.d.ts +2 -0
  2. package/FaviconTags.cjs.default.js +1 -0
  3. package/FaviconTags.cjs.js +12 -0
  4. package/FaviconTags.cjs.mjs +2 -0
  5. package/FaviconTags.esm.js +7 -0
  6. package/Meta.cjs.d.ts +2 -0
  7. package/Meta.cjs.default.js +1 -0
  8. package/Meta.cjs.js +12 -0
  9. package/Meta.cjs.mjs +2 -0
  10. package/Meta.esm.js +7 -0
  11. package/NoJs.cjs.d.ts +2 -0
  12. package/NoJs.cjs.default.js +1 -0
  13. package/NoJs.cjs.js +14 -0
  14. package/NoJs.cjs.mjs +2 -0
  15. package/NoJs.esm.js +9 -0
  16. package/Polymorphic.cjs.d.ts +1 -0
  17. package/Polymorphic.cjs.default.js +1 -0
  18. package/Polymorphic.cjs.js +2 -0
  19. package/Polymorphic.cjs.mjs +2 -0
  20. package/Polymorphic.esm.js +1 -0
  21. package/README.md +1 -0
  22. package/calendar.cjs.d.ts +1 -0
  23. package/calendar.cjs.default.js +1 -0
  24. package/calendar.cjs.js +588 -0
  25. package/calendar.cjs.mjs +2 -0
  26. package/calendar.esm.js +561 -0
  27. package/classed.cjs.d.ts +2 -0
  28. package/classed.cjs.default.js +1 -0
  29. package/classed.cjs.js +48 -0
  30. package/classed.cjs.mjs +2 -0
  31. package/classed.d.ts +1 -1
  32. package/classed.esm.js +43 -0
  33. package/createUseMediaQueryWidth.cjs.d.ts +2 -0
  34. package/createUseMediaQueryWidth.cjs.default.js +1 -0
  35. package/createUseMediaQueryWidth.cjs.js +45 -0
  36. package/createUseMediaQueryWidth.cjs.mjs +2 -0
  37. package/createUseMediaQueryWidth.esm.js +40 -0
  38. package/extendComponent.cjs.d.ts +2 -0
  39. package/extendComponent.cjs.default.js +1 -0
  40. package/extendComponent.cjs.js +16 -0
  41. package/extendComponent.cjs.mjs +2 -0
  42. package/extendComponent.esm.js +11 -0
  43. package/forms.cjs.d.ts +1 -0
  44. package/forms.cjs.default.js +1 -0
  45. package/forms.cjs.js +37 -0
  46. package/forms.cjs.mjs +2 -0
  47. package/forms.esm.js +32 -0
  48. package/index.cjs.d.ts +1 -0
  49. package/index.cjs.default.js +1 -0
  50. package/index.cjs.js +63 -0
  51. package/index.cjs.mjs +2 -0
  52. package/index.esm.js +30 -0
  53. package/mergeRefs.cjs.d.ts +2 -0
  54. package/mergeRefs.cjs.default.js +1 -0
  55. package/mergeRefs.cjs.js +19 -0
  56. package/mergeRefs.cjs.mjs +2 -0
  57. package/mergeRefs.esm.js +14 -0
  58. package/package.json +110 -122
  59. package/types.cjs.d.ts +1 -0
  60. package/types.cjs.default.js +1 -0
  61. package/types.cjs.js +2 -0
  62. package/types.cjs.mjs +2 -0
  63. package/types.esm.js +1 -0
  64. package/useAsyncFn.cjs.d.ts +2 -0
  65. package/useAsyncFn.cjs.default.js +1 -0
  66. package/useAsyncFn.cjs.js +33 -0
  67. package/useAsyncFn.cjs.mjs +2 -0
  68. package/useAsyncFn.esm.js +28 -0
  69. package/useFirstMountState.cjs.d.ts +2 -0
  70. package/useFirstMountState.cjs.default.js +1 -0
  71. package/useFirstMountState.cjs.js +17 -0
  72. package/useFirstMountState.cjs.mjs +2 -0
  73. package/useFirstMountState.esm.js +12 -0
  74. package/useFixedOffset.cjs.d.ts +2 -0
  75. package/useFixedOffset.cjs.default.js +1 -0
  76. package/useFixedOffset.cjs.js +49 -0
  77. package/useFixedOffset.cjs.mjs +2 -0
  78. package/useFixedOffset.esm.js +44 -0
  79. package/useFocus.cjs.d.ts +2 -0
  80. package/useFocus.cjs.default.js +1 -0
  81. package/useFocus.cjs.js +16 -0
  82. package/useFocus.cjs.mjs +2 -0
  83. package/useFocus.esm.js +11 -0
  84. package/useInterval.cjs.d.ts +2 -0
  85. package/useInterval.cjs.default.js +1 -0
  86. package/useInterval.cjs.js +27 -0
  87. package/useInterval.cjs.mjs +2 -0
  88. package/useInterval.esm.js +22 -0
  89. package/useIsomorphicLayoutEffect.cjs.d.ts +2 -0
  90. package/useIsomorphicLayoutEffect.cjs.default.js +1 -0
  91. package/useIsomorphicLayoutEffect.cjs.js +11 -0
  92. package/useIsomorphicLayoutEffect.cjs.mjs +2 -0
  93. package/useIsomorphicLayoutEffect.d.ts +2 -2
  94. package/useIsomorphicLayoutEffect.esm.js +6 -0
  95. package/useKeyUp.cjs.d.ts +2 -0
  96. package/useKeyUp.cjs.default.js +1 -0
  97. package/useKeyUp.cjs.js +23 -0
  98. package/useKeyUp.cjs.mjs +2 -0
  99. package/useKeyUp.esm.js +18 -0
  100. package/useMeasure.cjs.d.ts +2 -0
  101. package/useMeasure.cjs.default.js +1 -0
  102. package/useMeasure.cjs.js +126 -0
  103. package/useMeasure.cjs.mjs +2 -0
  104. package/useMeasure.esm.js +121 -0
  105. package/useMountedState.cjs.d.ts +2 -0
  106. package/useMountedState.cjs.default.js +1 -0
  107. package/useMountedState.cjs.js +20 -0
  108. package/useMountedState.cjs.mjs +2 -0
  109. package/useMountedState.esm.js +15 -0
  110. package/useNavigateAway.cjs.d.ts +2 -0
  111. package/useNavigateAway.cjs.default.js +1 -0
  112. package/useNavigateAway.cjs.js +32 -0
  113. package/useNavigateAway.cjs.mjs +2 -0
  114. package/useNavigateAway.esm.js +27 -0
  115. package/usePrevious.cjs.d.ts +2 -0
  116. package/usePrevious.cjs.default.js +1 -0
  117. package/usePrevious.cjs.js +16 -0
  118. package/usePrevious.cjs.mjs +2 -0
  119. package/usePrevious.esm.js +11 -0
  120. package/usePreviousRef.cjs.d.ts +2 -0
  121. package/usePreviousRef.cjs.default.js +1 -0
  122. package/usePreviousRef.cjs.js +16 -0
  123. package/usePreviousRef.cjs.mjs +2 -0
  124. package/usePreviousRef.esm.js +11 -0
  125. package/useScrollPosition.cjs.d.ts +2 -0
  126. package/useScrollPosition.cjs.default.js +1 -0
  127. package/useScrollPosition.cjs.js +65 -0
  128. package/useScrollPosition.cjs.mjs +2 -0
  129. package/useScrollPosition.esm.js +60 -0
  130. package/useScrollThreshold.cjs.d.ts +2 -0
  131. package/useScrollThreshold.cjs.default.js +1 -0
  132. package/useScrollThreshold.cjs.js +33 -0
  133. package/useScrollThreshold.cjs.mjs +2 -0
  134. package/useScrollThreshold.esm.js +28 -0
  135. package/useScrollTo.cjs.d.ts +2 -0
  136. package/useScrollTo.cjs.default.js +1 -0
  137. package/useScrollTo.cjs.js +25 -0
  138. package/useScrollTo.cjs.mjs +2 -0
  139. package/useScrollTo.esm.js +20 -0
  140. package/useSmoothScroll.cjs.d.ts +2 -0
  141. package/useSmoothScroll.cjs.default.js +1 -0
  142. package/useSmoothScroll.cjs.js +40 -0
  143. package/useSmoothScroll.cjs.mjs +2 -0
  144. package/useSmoothScroll.esm.js +35 -0
  145. package/useSpinDelay.cjs.d.ts +2 -0
  146. package/useSpinDelay.cjs.default.js +1 -0
  147. package/useSpinDelay.cjs.js +43 -0
  148. package/useSpinDelay.cjs.mjs +2 -0
  149. package/useSpinDelay.esm.js +38 -0
  150. package/useTraceUpdate.cjs.d.ts +2 -0
  151. package/useTraceUpdate.cjs.default.js +1 -0
  152. package/useTraceUpdate.cjs.js +24 -0
  153. package/useTraceUpdate.cjs.mjs +2 -0
  154. package/useTraceUpdate.esm.js +19 -0
  155. package/useUpdateEffect.cjs.d.ts +2 -0
  156. package/useUpdateEffect.cjs.default.js +1 -0
  157. package/useUpdateEffect.cjs.js +18 -0
  158. package/useUpdateEffect.cjs.mjs +2 -0
  159. package/useUpdateEffect.esm.js +13 -0
  160. package/useWindowSize.cjs.d.ts +2 -0
  161. package/useWindowSize.cjs.default.js +1 -0
  162. package/useWindowSize.cjs.js +27 -0
  163. package/useWindowSize.cjs.mjs +2 -0
  164. package/useWindowSize.esm.js +22 -0
  165. package/FaviconTags.js +0 -1
  166. package/Meta.js +0 -1
  167. package/NoJs.js +0 -1
  168. package/Polymorphic.js +0 -1
  169. package/calendar/CalendarDaygridCell.js +0 -1
  170. package/calendar/CalendarDaygridNav.js +0 -1
  171. package/calendar/CalendarDaygridTable.js +0 -1
  172. package/calendar/CalendarLegend.js +0 -1
  173. package/calendar/calendar-api-google.js +0 -1
  174. package/calendar/types.js +0 -1
  175. package/calendar/useCalendar.js +0 -1
  176. package/calendar/useDateLocale.js +0 -1
  177. package/calendar/utils.js +0 -1
  178. package/calendar.js +0 -1
  179. package/cjs/FaviconTags.d.ts +0 -9
  180. package/cjs/FaviconTags.js +0 -1
  181. package/cjs/Meta.d.ts +0 -5
  182. package/cjs/Meta.js +0 -1
  183. package/cjs/NoJs.d.ts +0 -3
  184. package/cjs/NoJs.js +0 -1
  185. package/cjs/Polymorphic.d.ts +0 -26
  186. package/cjs/Polymorphic.js +0 -1
  187. package/cjs/calendar/CalendarDaygridCell.d.ts +0 -35
  188. package/cjs/calendar/CalendarDaygridCell.js +0 -1
  189. package/cjs/calendar/CalendarDaygridNav.d.ts +0 -27
  190. package/cjs/calendar/CalendarDaygridNav.js +0 -1
  191. package/cjs/calendar/CalendarDaygridTable.d.ts +0 -25
  192. package/cjs/calendar/CalendarDaygridTable.js +0 -1
  193. package/cjs/calendar/CalendarLegend.d.ts +0 -18
  194. package/cjs/calendar/CalendarLegend.js +0 -1
  195. package/cjs/calendar/calendar-api-google.d.ts +0 -10
  196. package/cjs/calendar/calendar-api-google.js +0 -1
  197. package/cjs/calendar/types.d.ts +0 -62
  198. package/cjs/calendar/types.js +0 -1
  199. package/cjs/calendar/useCalendar.d.ts +0 -35
  200. package/cjs/calendar/useCalendar.js +0 -1
  201. package/cjs/calendar/useDateLocale.d.ts +0 -2
  202. package/cjs/calendar/useDateLocale.js +0 -1
  203. package/cjs/calendar/utils.d.ts +0 -11
  204. package/cjs/calendar/utils.js +0 -1
  205. package/cjs/calendar.d.ts +0 -7
  206. package/cjs/calendar.js +0 -1
  207. package/cjs/classed.d.ts +0 -8
  208. package/cjs/classed.js +0 -1
  209. package/cjs/createUseMediaQueryWidth.d.ts +0 -6
  210. package/cjs/createUseMediaQueryWidth.js +0 -1
  211. package/cjs/extendComponent.d.ts +0 -16
  212. package/cjs/extendComponent.js +0 -1
  213. package/cjs/forms/antispam.d.ts +0 -27
  214. package/cjs/forms/antispam.js +0 -1
  215. package/cjs/forms.d.ts +0 -1
  216. package/cjs/forms.js +0 -1
  217. package/cjs/index.d.ts +0 -28
  218. package/cjs/index.js +0 -1
  219. package/cjs/mergeRefs.d.ts +0 -2
  220. package/cjs/mergeRefs.js +0 -1
  221. package/cjs/package.json +0 -31
  222. package/cjs/types.d.ts +0 -2
  223. package/cjs/types.js +0 -1
  224. package/cjs/useAsyncFn.d.ts +0 -24
  225. package/cjs/useAsyncFn.js +0 -1
  226. package/cjs/useFirstMountState.d.ts +0 -2
  227. package/cjs/useFirstMountState.js +0 -1
  228. package/cjs/useFixedOffset.d.ts +0 -2
  229. package/cjs/useFixedOffset.js +0 -1
  230. package/cjs/useFocus.d.ts +0 -2
  231. package/cjs/useFocus.js +0 -1
  232. package/cjs/useInterval.d.ts +0 -2
  233. package/cjs/useInterval.js +0 -1
  234. package/cjs/useIsomorphicLayoutEffect.d.ts +0 -3
  235. package/cjs/useIsomorphicLayoutEffect.js +0 -1
  236. package/cjs/useKeyUp.d.ts +0 -2
  237. package/cjs/useKeyUp.js +0 -1
  238. package/cjs/useMeasure.d.ts +0 -22
  239. package/cjs/useMeasure.js +0 -1
  240. package/cjs/useMountedState.d.ts +0 -2
  241. package/cjs/useMountedState.js +0 -1
  242. package/cjs/useNavigateAway.d.ts +0 -3
  243. package/cjs/useNavigateAway.js +0 -1
  244. package/cjs/usePrevious.d.ts +0 -2
  245. package/cjs/usePrevious.js +0 -1
  246. package/cjs/usePreviousRef.d.ts +0 -2
  247. package/cjs/usePreviousRef.js +0 -1
  248. package/cjs/useReveal.d.ts +0 -13
  249. package/cjs/useReveal.js +0 -1
  250. package/cjs/useScrollPosition.d.ts +0 -7
  251. package/cjs/useScrollPosition.js +0 -1
  252. package/cjs/useScrollThreshold.d.ts +0 -2
  253. package/cjs/useScrollThreshold.js +0 -1
  254. package/cjs/useScrollTo.d.ts +0 -2
  255. package/cjs/useScrollTo.js +0 -1
  256. package/cjs/useSmoothScroll.d.ts +0 -2
  257. package/cjs/useSmoothScroll.js +0 -1
  258. package/cjs/useSpinDelay.d.ts +0 -2
  259. package/cjs/useSpinDelay.js +0 -1
  260. package/cjs/useTraceUpdate.d.ts +0 -2
  261. package/cjs/useTraceUpdate.js +0 -1
  262. package/cjs/useUpdateEffect.d.ts +0 -3
  263. package/cjs/useUpdateEffect.js +0 -1
  264. package/cjs/useWindowSize.d.ts +0 -3
  265. package/cjs/useWindowSize.js +0 -1
  266. package/classed.js +0 -1
  267. package/createUseMediaQueryWidth.js +0 -1
  268. package/extendComponent.js +0 -1
  269. package/forms/antispam.js +0 -1
  270. package/forms.js +0 -1
  271. package/index.js +0 -1
  272. package/mergeRefs.js +0 -1
  273. package/types.js +0 -1
  274. package/useAsyncFn.js +0 -1
  275. package/useFirstMountState.js +0 -1
  276. package/useFixedOffset.js +0 -1
  277. package/useFocus.js +0 -1
  278. package/useInterval.js +0 -1
  279. package/useIsomorphicLayoutEffect.js +0 -1
  280. package/useKeyUp.js +0 -1
  281. package/useMeasure.js +0 -1
  282. package/useMountedState.js +0 -1
  283. package/useNavigateAway.js +0 -1
  284. package/usePrevious.js +0 -1
  285. package/usePreviousRef.js +0 -1
  286. package/useReveal.js +0 -1
  287. package/useScrollPosition.js +0 -1
  288. package/useScrollThreshold.js +0 -1
  289. package/useScrollTo.js +0 -1
  290. package/useSmoothScroll.js +0 -1
  291. package/useSpinDelay.js +0 -1
  292. package/useTraceUpdate.js +0 -1
  293. package/useUpdateEffect.js +0 -1
  294. package/useWindowSize.js +0 -1
@@ -1,22 +0,0 @@
1
- interface RectReadOnly {
2
- readonly x: number;
3
- readonly y: number;
4
- readonly width: number;
5
- readonly height: number;
6
- readonly top: number;
7
- readonly right: number;
8
- readonly bottom: number;
9
- readonly left: number;
10
- [key: string]: number;
11
- }
12
- type HTMLOrSVGElement = HTMLElement | SVGElement;
13
- export type UseMeasureOptions = {
14
- scroll?: boolean;
15
- };
16
- export type UseMeasureReturn = [
17
- (element: HTMLOrSVGElement | null) => void,
18
- RectReadOnly,
19
- () => void
20
- ];
21
- export declare let useMeasure: (options?: UseMeasureOptions) => UseMeasureReturn;
22
- export default useMeasure;
package/cjs/useMeasure.js DELETED
@@ -1 +0,0 @@
1
- let e;import{useEffect as t,useMemo as r,useRef as n,useState as u}from"react";import{debounce as l,noop as o}from"@koine/utils";import{listenResizeDebounced as c,listenScrollDebounced as i,off as s,on as f}from"@koine/dom";let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return[r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"],d=(e,t)=>p.every(r=>e[r]===t[r]);export let useMeasure=p=>{let{scroll:h=!1}=p||{},[a,b]=u({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=n([null,null,null,a]),v=n(!1);t(()=>(v.current=!0,()=>void(v.current=!1)),[]);let[w,,y]=r(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!d(r,n)&&(g.current[3]=n,b(n))},t=l(e);return[e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>s(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null)}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>f(e,"scroll",y,{capture:!0,passive:!0})))}return t(()=>h?i(0,w,100):o,[h,w]),t(()=>c(0,w,100),[w]),t(()=>{x(),z()},[h]),t(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z())},a,w]};export default useMeasure;
@@ -1,2 +0,0 @@
1
- export declare let useMountedState: () => (() => boolean);
2
- export default useMountedState;
@@ -1 +0,0 @@
1
- import{useCallback as t,useEffect as e,useRef as r}from"react";export let useMountedState=()=>{let u=r(!1),n=t(()=>u.current,[]);return e(()=>(u.current=!0,()=>{u.current=!1}),[]),n};export default useMountedState;
@@ -1,3 +0,0 @@
1
- export type UseNavigateAwayHandler = (event: BeforeUnloadEvent) => string | boolean;
2
- export declare let useNavigateAway: (handler: UseNavigateAwayHandler) => void;
3
- export default useNavigateAway;
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t}from"react";import{on as r}from"@koine/dom";export let useNavigateAway=a=>{let o=t();e(()=>{o.current=e=>{let t=a(e);return(t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0}},[a]),e(()=>r(window,"beforeunload",e=>o.current?.(e)),[])};export default useNavigateAway;
@@ -1,2 +0,0 @@
1
- export declare let usePrevious: <T extends unknown>(state: T, defaulValue: T) => T;
2
- export default usePrevious;
@@ -1 +0,0 @@
1
- import{useState as e}from"react";export let usePrevious=(r,t)=>{let[o,u]=e([r,t]);return o[1]!==r&&u([o[1],r]),o[0]};export default usePrevious;
@@ -1,2 +0,0 @@
1
- export declare let usePreviousRef: <T extends unknown>(value: T) => T | undefined;
2
- export default usePreviousRef;
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as r}from"react";export let usePreviousRef=t=>{let u=r();return e(()=>{u.current=t}),u.current};export default usePreviousRef;
@@ -1,13 +0,0 @@
1
- export type UseRevealOptions = {
2
- direction?: "left" | "right";
3
- offsetStartY?: number;
4
- offsetEndY?: number;
5
- offsetStartX?: number | "all";
6
- };
7
- export declare let useReveal: <T extends HTMLElement = HTMLDivElement>({ direction, offsetStartY, offsetEndY, offsetStartX, }: UseRevealOptions) => {
8
- ref: import("react").RefObject<T>;
9
- startY: number;
10
- endY: number;
11
- startX: number;
12
- };
13
- export default useReveal;
package/cjs/useReveal.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t,useState as l}from"react";export let useReveal=({direction:n="left",offsetStartY:o=-2,offsetEndY:r=0,offsetStartX:u="all"})=>{let c=t(null),[i,d]=l(0),[f,m]=l(0),[a,g]=l(0);return e(()=>{let e;if(!c.current)return;let t=c.current.getBoundingClientRect(),l=window.scrollY||document.documentElement.scrollTop,i=t.height,f=t.top+l,a=o?i*o:0,h=r?i*r:a,p=(f+a)/document.body.clientHeight,s=(f+i+h)/document.body.clientHeight;"all"===u?e="left"===n?-t.right:t.left:(e=t.width*u,e="left"===n?-e:e),d(p),m(s),g(e)},[d,m,g,o,r,u,n]),{ref:c,startY:i,endY:f,startX:a}};export default useReveal;
@@ -1,7 +0,0 @@
1
- type Position = {
2
- x: number;
3
- y: number;
4
- };
5
- type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
6
- export declare let useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
7
- export default useScrollPosition;
@@ -1 +0,0 @@
1
- import{useRef as t}from"react";import{isBrowser as r}from"@koine/utils";import{listenScroll as e}from"@koine/dom";import{useIsomorphicLayoutEffect as o}from"./useIsomorphicLayoutEffect";let l={x:0,y:0},n=t=>t?.getBoundingClientRect(),u=(t,e)=>{if(!r)return l;if(!e)return{x:window.scrollX,y:window.scrollY};let o=n(t?.current||document.body),u=n(e.current);return o?u?{x:(u.x||0)-(o.x||0),y:(u.y||0)-(o.y||0)}:{x:o.left,y:o.top}:l};export let useScrollPosition=(l,n=[],i,c,m)=>{let f=t(u(null,c)),s=null,d=()=>{let t=u(i,c);l(t,f.current),f.current=t,s=null};o(()=>{if(!r)return;let t=e(()=>{m?null===s&&(s=window.setTimeout(d,m)):d()},c?.current);return()=>{t(),s&&clearTimeout(s)}},n)};export default useScrollPosition;
@@ -1,2 +0,0 @@
1
- export declare let useScrollThreshold: (threshold?: number, callback?: ((isAbove: boolean, isBelow: boolean) => void) | undefined) => boolean;
2
- export default useScrollThreshold;
@@ -1 +0,0 @@
1
- import{useCallback as r,useEffect as e,useState as o}from"react";import{noop as t}from"@koine/utils";import{listenScroll as l}from"@koine/dom";export let useScrollThreshold=(i,m)=>{let[u,f]=o(!1),n=r(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o)}},[i,m]);return e(()=>{if(i){let r=l(n);return n(),r}return t},[i,n]),u};export default useScrollThreshold;
@@ -1,2 +0,0 @@
1
- export declare let useScrollTo: (id?: string, offset?: number) => void;
2
- export default useScrollTo;
@@ -1 +0,0 @@
1
- import{isBrowser as e}from"@koine/utils";export let useScrollTo=(o="",t=0)=>{if(!e)return;let l=document.getElementById(o),r=0;if(l&&l.offsetParent)do r+=l.offsetTop;while(l=l.offsetParent)r-=t,r-=0,window.scroll(0,r)};export default useScrollTo;
@@ -1,2 +0,0 @@
1
- export declare let useSmoothScroll: (disregardAutomaticFixedOffset?: boolean) => (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
2
- export default useSmoothScroll;
@@ -1 +0,0 @@
1
- import{useCallback as e}from"react";import{isNumber as t}from"@koine/utils";import{getOffsetTopSlim as o,scrollTo as r}from"@koine/dom";import{useFixedOffset as l}from"./useFixedOffset";export let useSmoothScroll=m=>{let i=l();return e((e,l,f,u,n)=>{let c;let p=!1;if(t(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=o(t)-i.current,p=!0)}t(c)&&r(c=c+(l||0)+(m||p?0:i.current),f,u,n)},[m,i])};export default useSmoothScroll;
@@ -1,2 +0,0 @@
1
- export declare let useSpinDelay: (loading: boolean, delay?: number, minDuration?: number) => boolean;
2
- export default useSpinDelay;
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as r,useState as t}from"react";export let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=t(0),l=r();return e(()=>{u&&0===n&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return o(0);l.current=setTimeout(()=>{o(3)},i),o(2)},c),o(1)),u||2===n||(clearTimeout(l.current),o(0))},[u,n,c,i]),e(()=>()=>clearTimeout(l.current),[]),2===n||3===n};export default useSpinDelay;
@@ -1,2 +0,0 @@
1
- export declare let useTraceUpdate: (props: any) => void;
2
- export default useTraceUpdate;
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t}from"react";export let useTraceUpdate=r=>{let c=t(r);e(()=>{let e=Object.entries(r).reduce((e,[t,r])=>(c.current[t]!==r&&(e[t]=[c.current[t],r]),e),{});Object.keys(e).length>0&&console.info("[@koine/react:useTraceUpdate] changed props:",e),c.current=r})};export default useTraceUpdate;
@@ -1,3 +0,0 @@
1
- import { useEffect } from "react";
2
- export declare let useUpdateEffect: typeof useEffect;
3
- export default useUpdateEffect;
@@ -1 +0,0 @@
1
- import{useEffect as t}from"react";import{useFirstMountState as e}from"./useFirstMountState";export let useUpdateEffect=(r,f)=>{let o=e();t(()=>{if(!o)return r()},f)};export default useUpdateEffect;
@@ -1,3 +0,0 @@
1
- import { debounce } from "@koine/utils";
2
- export declare let useWindowSize: (wait?: Parameters<typeof debounce>[1], immediate?: Parameters<typeof debounce>[2]) => readonly [number, number];
3
- export default useWindowSize;
@@ -1 +0,0 @@
1
- import{useEffect as e,useState as i}from"react";import{listenResize as r,listenResizeDebounced as t}from"@koine/dom";export let useWindowSize=(o,n)=>{let[d,w]=i(0),[m,u]=i(0);return e(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight)},i=o?t(0,e,o,n):r(e);return e(),i},[o,n]),[d,m]};export default useWindowSize;
package/classed.js DELETED
@@ -1 +0,0 @@
1
- import{createElement as t,forwardRef as e}from"react";export let classed=r=>{let s=r.type||r;return function(r,...a){return e(function(e,n){let o=a.map((t,s)=>{let a="";return"function"==typeof t?a=t(e):void 0!==t&&(a=t.toString()),r[s]+a}).join(""),l="string"==typeof s,i=l?{}:e;if(l)for(let t in e)t.startsWith("$")||(i[t]=e[t]);let c=o||r[0];return c=(c.match(/class="([^"]*)/)?.[1]||c)+(e?.className?" "+e?.className:""),t(s,{...i,className:c||void 0,ref:n})})}};export default classed;
@@ -1 +0,0 @@
1
- import{useState as e}from"react";import{getMediaQueryWidthResolvers as t,isUndefined as r}from"@koine/utils";import{useIsomorphicLayoutEffect as i}from"./useIsomorphicLayoutEffect";export let createUseMediaQueryWidth=n=>{let a=t(n);return function(t,n){let[o,s]=t.substring(1).split("-");r(s)&&(s=o),r(o)&&(o="min");let[d,m]=s.split("_"),u=a[o](d,m),[c,l]=e(r(n)?null:n);return i(()=>{let e=window.matchMedia(u),t=e=>{l(e.matches)};return(l(e.matches),e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}):(e.addListener(t),()=>{e.removeListener(t)})},[u]),c}};export default createUseMediaQueryWidth;
@@ -1 +0,0 @@
1
- import{createElement as e}from"react";export let extendComponent=(t,o)=>Object.assign(o=>e(t,o),{...o,defaultProps:o});export default extendComponent;
package/forms/antispam.js DELETED
@@ -1 +0,0 @@
1
- import{object as e}from"@kuus/yup";import{decode as t,encode as r,isUndefined as o}from"@koine/utils";export let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=r(e);o[l]=t[e],i[e]=l}return{encodedSchema:e(o).required(),encodedNames:i}};export let decodeForm=e=>{let r={};for(let i in e){let l=t(i);i.startsWith("_")?r[i.substring(1)]=e[i]:o(e[i])||""!==e[l]||(r[l]=e[i])}return r};
package/forms.js DELETED
@@ -1 +0,0 @@
1
- export*from"./forms/antispam";
package/index.js DELETED
@@ -1 +0,0 @@
1
- export{classed}from"./classed";export{createUseMediaQueryWidth}from"./createUseMediaQueryWidth";export{extendComponent}from"./extendComponent";export{FaviconTags}from"./FaviconTags";export{mergeRefs}from"./mergeRefs";export{Meta}from"./Meta";export{NoJs}from"./NoJs";export{useAsyncFn}from"./useAsyncFn";export{useFirstMountState}from"./useFirstMountState";export{useFixedOffset}from"./useFixedOffset";export{useFocus}from"./useFocus";export{useInterval}from"./useInterval";export{useIsomorphicLayoutEffect}from"./useIsomorphicLayoutEffect";export{useKeyUp}from"./useKeyUp";export{useMeasure}from"./useMeasure";export{useMountedState}from"./useMountedState";export{useNavigateAway}from"./useNavigateAway";export{usePrevious}from"./usePrevious";export{usePreviousRef}from"./usePreviousRef";export{useScrollPosition}from"./useScrollPosition";export{useScrollThreshold}from"./useScrollThreshold";export{useSmoothScroll}from"./useSmoothScroll";export{useSpinDelay}from"./useSpinDelay";export{useTraceUpdate}from"./useTraceUpdate";export{useUpdateEffect}from"./useUpdateEffect";export{useWindowSize}from"./useWindowSize";
package/mergeRefs.js DELETED
@@ -1 +0,0 @@
1
- export let mergeRefs=e=>r=>{e.forEach(e=>{"function"==typeof e?e(r):null!=e&&(e.current=r)})};export default mergeRefs;
package/types.js DELETED
@@ -1 +0,0 @@
1
- export{};
package/useAsyncFn.js DELETED
@@ -1 +0,0 @@
1
- import{useCallback as e,useRef as t,useState as r}from"react";import{useMountedState as n}from"./useMountedState";export let useAsyncFn=(o,u=[],l={loading:!1})=>{let a=t(0),d=n(),[i,c]=r(l),g=e((...e)=>{let t=++a.current;return i.loading||c(e=>({...e,loading:!0})),o(...e).then(e=>(d()&&t===a.current&&c({value:e,loading:!1}),e),e=>(d()&&t===a.current&&c({error:e,loading:!1}),e))},u);return[i,g]};export default useAsyncFn;
@@ -1 +0,0 @@
1
- import{useRef as t}from"react";export let useFirstMountState=()=>{let r=t(!0);return r.current?(r.current=!1,!0):r.current};export default useFirstMountState;
package/useFixedOffset.js DELETED
@@ -1 +0,0 @@
1
- import{useRef as e}from"react";import{debounce as t}from"@koine/utils";import{$each as r,calculateFixedOffset as o,injectCss as i,listenResizeDebounced as f}from"@koine/dom";import{useIsomorphicLayoutEffect as s}from"./useIsomorphicLayoutEffect";let n=e=>{i("useFixedOffset",`html{scroll-padding-top: ${e}px}`)};export let useFixedOffset=i=>{let l=e(0);return s(()=>{let e=()=>{let e=o();l.current=e,n(e)};if(e(),!ResizeObserver)return f(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height}),l.current=r,t(()=>n(r),400,!0)()});return r(i||"[data-fixed]",t=>{e&&e.observe(t)}),()=>{e?.disconnect()}}},[i]),l};export default useFixedOffset;
package/useFocus.js DELETED
@@ -1 +0,0 @@
1
- import{useRef as e}from"react";export let useFocus=()=>{let r=e(null);return[r,()=>{r.current&&r.current.focus()}]};export default useFocus;
package/useInterval.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as r,useRef as e}from"react";import{noop as t}from"@koine/utils";export let useInterval=(n,l,u=[])=>{let o=e();r(()=>{o.current=n},[n,...u]),r(()=>{if(null!==l){let r=setInterval(function(){o.current&&o.current()},l);return()=>clearInterval(r)}return t},[l])};export default useInterval;
@@ -1 +0,0 @@
1
- import{useEffect as o,useLayoutEffect as t}from"react";import{isBrowser as e}from"@koine/utils";export let useIsomorphicLayoutEffect=e?t:o;export default useIsomorphicLayoutEffect;
package/useKeyUp.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e}from"react";import{on as t}from"@koine/dom";export let useKeyUp=(o,r=[])=>{e(()=>t(window,"keyup",e=>{e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||o(e)}),[o,...r])};export default useKeyUp;
package/useMeasure.js DELETED
@@ -1 +0,0 @@
1
- let e;import{useEffect as t,useMemo as r,useRef as n,useState as u}from"react";import{debounce as l,noop as o}from"@koine/utils";import{listenResizeDebounced as c,listenScrollDebounced as i,off as s,on as f}from"@koine/dom";let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return[r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"],d=(e,t)=>p.every(r=>e[r]===t[r]);export let useMeasure=p=>{let{scroll:h=!1}=p||{},[a,b]=u({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=n([null,null,null,a]),v=n(!1);t(()=>(v.current=!0,()=>void(v.current=!1)),[]);let[w,,y]=r(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!d(r,n)&&(g.current[3]=n,b(n))},t=l(e);return[e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>s(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null)}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>f(e,"scroll",y,{capture:!0,passive:!0})))}return t(()=>h?i(0,w,100):o,[h,w]),t(()=>c(0,w,100),[w]),t(()=>{x(),z()},[h]),t(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z())},a,w]};export default useMeasure;
@@ -1 +0,0 @@
1
- import{useCallback as t,useEffect as e,useRef as r}from"react";export let useMountedState=()=>{let u=r(!1),n=t(()=>u.current,[]);return e(()=>(u.current=!0,()=>{u.current=!1}),[]),n};export default useMountedState;
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t}from"react";import{on as r}from"@koine/dom";export let useNavigateAway=a=>{let o=t();e(()=>{o.current=e=>{let t=a(e);return(t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0}},[a]),e(()=>r(window,"beforeunload",e=>o.current?.(e)),[])};export default useNavigateAway;
package/usePrevious.js DELETED
@@ -1 +0,0 @@
1
- import{useState as e}from"react";export let usePrevious=(r,t)=>{let[o,u]=e([r,t]);return o[1]!==r&&u([o[1],r]),o[0]};export default usePrevious;
package/usePreviousRef.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as r}from"react";export let usePreviousRef=t=>{let u=r();return e(()=>{u.current=t}),u.current};export default usePreviousRef;
package/useReveal.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t,useState as l}from"react";export let useReveal=({direction:n="left",offsetStartY:o=-2,offsetEndY:r=0,offsetStartX:u="all"})=>{let c=t(null),[i,d]=l(0),[f,m]=l(0),[a,g]=l(0);return e(()=>{let e;if(!c.current)return;let t=c.current.getBoundingClientRect(),l=window.scrollY||document.documentElement.scrollTop,i=t.height,f=t.top+l,a=o?i*o:0,h=r?i*r:a,p=(f+a)/document.body.clientHeight,s=(f+i+h)/document.body.clientHeight;"all"===u?e="left"===n?-t.right:t.left:(e=t.width*u,e="left"===n?-e:e),d(p),m(s),g(e)},[d,m,g,o,r,u,n]),{ref:c,startY:i,endY:f,startX:a}};export default useReveal;
@@ -1 +0,0 @@
1
- import{useRef as t}from"react";import{isBrowser as r}from"@koine/utils";import{listenScroll as e}from"@koine/dom";import{useIsomorphicLayoutEffect as o}from"./useIsomorphicLayoutEffect";let l={x:0,y:0},n=t=>t?.getBoundingClientRect(),u=(t,e)=>{if(!r)return l;if(!e)return{x:window.scrollX,y:window.scrollY};let o=n(t?.current||document.body),u=n(e.current);return o?u?{x:(u.x||0)-(o.x||0),y:(u.y||0)-(o.y||0)}:{x:o.left,y:o.top}:l};export let useScrollPosition=(l,n=[],i,c,m)=>{let f=t(u(null,c)),s=null,d=()=>{let t=u(i,c);l(t,f.current),f.current=t,s=null};o(()=>{if(!r)return;let t=e(()=>{m?null===s&&(s=window.setTimeout(d,m)):d()},c?.current);return()=>{t(),s&&clearTimeout(s)}},n)};export default useScrollPosition;
@@ -1 +0,0 @@
1
- import{useCallback as r,useEffect as e,useState as o}from"react";import{noop as t}from"@koine/utils";import{listenScroll as l}from"@koine/dom";export let useScrollThreshold=(i,m)=>{let[u,f]=o(!1),n=r(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o)}},[i,m]);return e(()=>{if(i){let r=l(n);return n(),r}return t},[i,n]),u};export default useScrollThreshold;
package/useScrollTo.js DELETED
@@ -1 +0,0 @@
1
- import{isBrowser as e}from"@koine/utils";export let useScrollTo=(o="",t=0)=>{if(!e)return;let l=document.getElementById(o),r=0;if(l&&l.offsetParent)do r+=l.offsetTop;while(l=l.offsetParent)r-=t,r-=0,window.scroll(0,r)};export default useScrollTo;
@@ -1 +0,0 @@
1
- import{useCallback as e}from"react";import{isNumber as t}from"@koine/utils";import{getOffsetTopSlim as o,scrollTo as r}from"@koine/dom";import{useFixedOffset as l}from"./useFixedOffset";export let useSmoothScroll=m=>{let i=l();return e((e,l,f,u,n)=>{let c;let p=!1;if(t(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=o(t)-i.current,p=!0)}t(c)&&r(c=c+(l||0)+(m||p?0:i.current),f,u,n)},[m,i])};export default useSmoothScroll;
package/useSpinDelay.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as r,useState as t}from"react";export let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=t(0),l=r();return e(()=>{u&&0===n&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return o(0);l.current=setTimeout(()=>{o(3)},i),o(2)},c),o(1)),u||2===n||(clearTimeout(l.current),o(0))},[u,n,c,i]),e(()=>()=>clearTimeout(l.current),[]),2===n||3===n};export default useSpinDelay;
package/useTraceUpdate.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useRef as t}from"react";export let useTraceUpdate=r=>{let c=t(r);e(()=>{let e=Object.entries(r).reduce((e,[t,r])=>(c.current[t]!==r&&(e[t]=[c.current[t],r]),e),{});Object.keys(e).length>0&&console.info("[@koine/react:useTraceUpdate] changed props:",e),c.current=r})};export default useTraceUpdate;
@@ -1 +0,0 @@
1
- import{useEffect as t}from"react";import{useFirstMountState as e}from"./useFirstMountState";export let useUpdateEffect=(r,f)=>{let o=e();t(()=>{if(!o)return r()},f)};export default useUpdateEffect;
package/useWindowSize.js DELETED
@@ -1 +0,0 @@
1
- import{useEffect as e,useState as i}from"react";import{listenResize as r,listenResizeDebounced as t}from"@koine/dom";export let useWindowSize=(o,n)=>{let[d,w]=i(0),[m,u]=i(0);return e(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight)},i=o?t(0,e,o,n):r(e);return e(),i},[o,n]),[d,m]};export default useWindowSize;