@koine/react 2.0.0-beta.82 → 2.0.0-beta.84

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 (53) hide show
  1. package/FaviconTags.cjs.js +10 -1
  2. package/FaviconTags.esm.js +10 -1
  3. package/Meta.cjs.js +10 -1
  4. package/Meta.esm.js +10 -1
  5. package/NoJs.cjs.js +1 -1
  6. package/NoJs.esm.js +1 -1
  7. package/calendar.cjs.js +97 -8
  8. package/calendar.esm.js +97 -8
  9. package/classed.cjs.js +42 -1
  10. package/classed.esm.js +42 -1
  11. package/createUseMediaQueryWidth.cjs.js +15 -1
  12. package/createUseMediaQueryWidth.esm.js +15 -1
  13. package/extendComponent.cjs.js +5 -1
  14. package/extendComponent.esm.js +5 -1
  15. package/forms.cjs.js +27 -1
  16. package/forms.esm.js +27 -1
  17. package/package.json +3 -3
  18. package/useAsyncFn.cjs.js +4 -1
  19. package/useAsyncFn.esm.js +4 -1
  20. package/useFirstMountState.cjs.js +3 -1
  21. package/useFirstMountState.esm.js +3 -1
  22. package/useFixedOffset.cjs.js +12 -1
  23. package/useFixedOffset.esm.js +12 -1
  24. package/useFocus.cjs.js +3 -1
  25. package/useFocus.esm.js +3 -1
  26. package/useInterval.cjs.js +6 -1
  27. package/useInterval.esm.js +6 -1
  28. package/useIsomorphicLayoutEffect.cjs.js +3 -1
  29. package/useIsomorphicLayoutEffect.esm.js +3 -1
  30. package/useKeyUp.cjs.js +6 -1
  31. package/useKeyUp.esm.js +6 -1
  32. package/useMeasure.cjs.js +33 -1
  33. package/useMeasure.esm.js +33 -1
  34. package/useMountedState.cjs.js +3 -1
  35. package/useMountedState.esm.js +3 -1
  36. package/useNavigateAway.cjs.js +47 -1
  37. package/useNavigateAway.esm.js +47 -1
  38. package/useScrollPosition.cjs.js +7 -1
  39. package/useScrollPosition.esm.js +7 -1
  40. package/useScrollThreshold.cjs.js +4 -1
  41. package/useScrollThreshold.esm.js +4 -1
  42. package/useScrollTo.cjs.js +3 -1
  43. package/useScrollTo.esm.js +3 -1
  44. package/useSmoothScroll.cjs.js +6 -1
  45. package/useSmoothScroll.esm.js +6 -1
  46. package/useSpinDelay.cjs.js +12 -1
  47. package/useSpinDelay.esm.js +12 -1
  48. package/useTraceUpdate.cjs.js +4 -1
  49. package/useTraceUpdate.esm.js +4 -1
  50. package/useUpdateEffect.cjs.js +4 -1
  51. package/useUpdateEffect.esm.js +4 -1
  52. package/useWindowSize.cjs.js +9 -1
  53. package/useWindowSize.esm.js +9 -1
@@ -4,7 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=react.useState(0),l=react.useRef();return react.useEffect(()=>{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]),react.useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
7
+ /**
8
+ * Wraps your booleans only returning true after the `delay`, and for a minimum
9
+ * time of `minDuration`. This way you're sure that you don't show unnecessary
10
+ * or very short living spinners.
11
+ *
12
+ * @borrows [smeijer/spin-delay](https://github.com/smeijer/spin-delay)
13
+ *
14
+ * - Smaller footprint and options object as argument
15
+ *
16
+ * @param delay [500]
17
+ * @param minDuration [200]
18
+ */let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=react.useState(0),l=react.useRef();return react.useEffect(()=>{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]),react.useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
8
19
 
9
20
  exports["default"] = useSpinDelay;
10
21
  exports.useSpinDelay = useSpinDelay;
@@ -1,5 +1,16 @@
1
1
  import { useState, useRef, useEffect } from 'react';
2
2
 
3
- let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=useState(0),l=useRef();return useEffect(()=>{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]),useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
3
+ /**
4
+ * Wraps your booleans only returning true after the `delay`, and for a minimum
5
+ * time of `minDuration`. This way you're sure that you don't show unnecessary
6
+ * or very short living spinners.
7
+ *
8
+ * @borrows [smeijer/spin-delay](https://github.com/smeijer/spin-delay)
9
+ *
10
+ * - Smaller footprint and options object as argument
11
+ *
12
+ * @param delay [500]
13
+ * @param minDuration [200]
14
+ */let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=useState(0),l=useRef();return useEffect(()=>{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]),useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
4
15
 
5
16
  export { useSpinDelay as default, useSpinDelay };
@@ -4,7 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let useTraceUpdate=r=>{let c=react.useRef(r);react.useEffect(()=>{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;});};
7
+ /**
8
+ * @see https://stackoverflow.com/a/51082563/9122820
9
+ */let useTraceUpdate=r=>{let c=react.useRef(r);react.useEffect(()=>{let e=Object.entries(r).reduce((e,[t,r])=>(c.current[t]!==r&&// @ts-expect-error Does not matter here...
10
+ (e[t]=[c.current[t],r]),e),{});Object.keys(e).length>0&&console.info("[@koine/react:useTraceUpdate] changed props:",e),c.current=r;});};
8
11
 
9
12
  exports["default"] = useTraceUpdate;
10
13
  exports.useTraceUpdate = useTraceUpdate;
@@ -1,5 +1,8 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
 
3
- let useTraceUpdate=r=>{let c=useRef(r);useEffect(()=>{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;});};
3
+ /**
4
+ * @see https://stackoverflow.com/a/51082563/9122820
5
+ */let useTraceUpdate=r=>{let c=useRef(r);useEffect(()=>{let e=Object.entries(r).reduce((e,[t,r])=>(c.current[t]!==r&&// @ts-expect-error Does not matter here...
6
+ (e[t]=[c.current[t],r]),e),{});Object.keys(e).length>0&&console.info("[@koine/react:useTraceUpdate] changed props:",e),c.current=r;});};
4
7
 
5
8
  export { useTraceUpdate as default, useTraceUpdate };
@@ -5,7 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var react = require('react');
6
6
  var useFirstMountState = require('./useFirstMountState.cjs.js');
7
7
 
8
- let useUpdateEffect=(r,f)=>{let o=useFirstMountState.useFirstMountState();react.useEffect(()=>{if(!o)return r()},f);};
8
+ /**
9
+ * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useUpdateEffect.ts)
10
+ */let useUpdateEffect=(r,f)=>{let o=useFirstMountState.useFirstMountState();react.useEffect(()=>{if(!o)return r()},// eslint-disable-next-line react-hooks/exhaustive-deps
11
+ f);};
9
12
 
10
13
  exports["default"] = useUpdateEffect;
11
14
  exports.useUpdateEffect = useUpdateEffect;
@@ -1,6 +1,9 @@
1
1
  import { useEffect } from 'react';
2
2
  import { useFirstMountState } from './useFirstMountState.esm.js';
3
3
 
4
- let useUpdateEffect=(r,f)=>{let o=useFirstMountState();useEffect(()=>{if(!o)return r()},f);};
4
+ /**
5
+ * @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useUpdateEffect.ts)
6
+ */let useUpdateEffect=(r,f)=>{let o=useFirstMountState();useEffect(()=>{if(!o)return r()},// eslint-disable-next-line react-hooks/exhaustive-deps
7
+ f);};
5
8
 
6
9
  export { useUpdateEffect as default, useUpdateEffect };
@@ -5,7 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var react = require('react');
6
6
  var dom = require('@koine/dom');
7
7
 
8
- let useWindowSize=(o,n)=>{let[d,w]=react.useState(0),[m,u]=react.useState(0);return react.useEffect(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight);},i=o?dom.listenResizeDebounced(0,e,o,n):dom.listenResize(e);return e(),i},[o,n]),[d,m]};
8
+ /**
9
+ * # Use `window` size
10
+ *
11
+ * @param args Optionally pass {@link debounce} arguments (`wait` and `immediate`)
12
+ *
13
+ * @returns An array with:
14
+ * 1) _width_: using `window.innerWidth`
15
+ * 2) _height_: using `window.innerHeight`
16
+ */let useWindowSize=(o,n)=>{let[d,w]=react.useState(0),[m,u]=react.useState(0);return react.useEffect(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight);},i=o?dom.listenResizeDebounced(0,e,o,n):dom.listenResize(e);return e(),i},[o,n]),[d,m]};
9
17
 
10
18
  exports["default"] = useWindowSize;
11
19
  exports.useWindowSize = useWindowSize;
@@ -1,6 +1,14 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { listenResizeDebounced, listenResize } from '@koine/dom';
3
3
 
4
- let useWindowSize=(o,n)=>{let[d,w]=useState(0),[m,u]=useState(0);return useEffect(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight);},i=o?listenResizeDebounced(0,e,o,n):listenResize(e);return e(),i},[o,n]),[d,m]};
4
+ /**
5
+ * # Use `window` size
6
+ *
7
+ * @param args Optionally pass {@link debounce} arguments (`wait` and `immediate`)
8
+ *
9
+ * @returns An array with:
10
+ * 1) _width_: using `window.innerWidth`
11
+ * 2) _height_: using `window.innerHeight`
12
+ */let useWindowSize=(o,n)=>{let[d,w]=useState(0),[m,u]=useState(0);return useEffect(()=>{let e=()=>{w(window.innerWidth),u(window.innerHeight);},i=o?listenResizeDebounced(0,e,o,n):listenResize(e);return e(),i},[o,n]),[d,m]};
5
13
 
6
14
  export { useWindowSize as default, useWindowSize };