@vitus-labs/hooks 0.70.0 → 0.72.0

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.
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
6618
6618
  </script>
6619
6619
  <script>
6620
6620
  /*<!--*/
6621
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.browser.js","children":[{"name":"src","children":[{"uid":"69fe-25","name":"useHover.ts"},{"uid":"69fe-27","name":"useWindowResize.ts"},{"uid":"69fe-29","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"69fe-25":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"69fe-24"},"69fe-27":{"renderedLength":880,"gzipLength":329,"brotliLength":0,"metaUid":"69fe-26"},"69fe-29":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"69fe-28"}},"nodeMetas":{"69fe-24":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.browser.js":"69fe-25"},"imported":[{"uid":"69fe-30"}],"importedBy":[{"uid":"69fe-28"}]},"69fe-26":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.browser.js":"69fe-27"},"imported":[{"uid":"69fe-30"},{"uid":"69fe-31"}],"importedBy":[{"uid":"69fe-28"}]},"69fe-28":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.browser.js":"69fe-29"},"imported":[{"uid":"69fe-24"},{"uid":"69fe-26"}],"importedBy":[],"isEntry":true},"69fe-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-24"},{"uid":"69fe-26"}],"isExternal":true},"69fe-31":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-26"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6621
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.browser.js","children":[{"name":"src","children":[{"uid":"1dd0-25","name":"useHover.ts"},{"uid":"1dd0-27","name":"useWindowResize.ts"},{"uid":"1dd0-29","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"1dd0-25":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"1dd0-24"},"1dd0-27":{"renderedLength":747,"gzipLength":319,"brotliLength":0,"metaUid":"1dd0-26"},"1dd0-29":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"1dd0-28"}},"nodeMetas":{"1dd0-24":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.browser.js":"1dd0-25"},"imported":[{"uid":"1dd0-30"}],"importedBy":[{"uid":"1dd0-28"}]},"1dd0-26":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.browser.js":"1dd0-27"},"imported":[{"uid":"1dd0-30"},{"uid":"1dd0-31"}],"importedBy":[{"uid":"1dd0-28"}]},"1dd0-28":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.browser.js":"1dd0-29"},"imported":[{"uid":"1dd0-24"},{"uid":"1dd0-26"}],"importedBy":[],"isEntry":true},"1dd0-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-24"},{"uid":"1dd0-26"}],"isExternal":true},"1dd0-31":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-26"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6622
6622
 
6623
6623
  const run = () => {
6624
6624
  const width = window.innerWidth;
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
6618
6618
  </script>
6619
6619
  <script>
6620
6620
  /*<!--*/
6621
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.js","children":[{"name":"src","children":[{"uid":"69fe-1","name":"useHover.ts"},{"uid":"69fe-3","name":"useWindowResize.ts"},{"uid":"69fe-5","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"69fe-1":{"renderedLength":351,"gzipLength":184,"brotliLength":0,"metaUid":"69fe-0"},"69fe-3":{"renderedLength":897,"gzipLength":337,"brotliLength":0,"metaUid":"69fe-2"},"69fe-5":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"69fe-4"}},"nodeMetas":{"69fe-0":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.js":"69fe-1"},"imported":[{"uid":"69fe-6"}],"importedBy":[{"uid":"69fe-4"}]},"69fe-2":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.js":"69fe-3"},"imported":[{"uid":"69fe-6"},{"uid":"69fe-7"}],"importedBy":[{"uid":"69fe-4"}]},"69fe-4":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.js":"69fe-5"},"imported":[{"uid":"69fe-0"},{"uid":"69fe-2"}],"importedBy":[],"isEntry":true},"69fe-6":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-0"},{"uid":"69fe-2"}],"isExternal":true},"69fe-7":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-2"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6621
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.js","children":[{"name":"src","children":[{"uid":"1dd0-1","name":"useHover.ts"},{"uid":"1dd0-3","name":"useWindowResize.ts"},{"uid":"1dd0-5","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"1dd0-1":{"renderedLength":351,"gzipLength":184,"brotliLength":0,"metaUid":"1dd0-0"},"1dd0-3":{"renderedLength":770,"gzipLength":328,"brotliLength":0,"metaUid":"1dd0-2"},"1dd0-5":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"1dd0-4"}},"nodeMetas":{"1dd0-0":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.js":"1dd0-1"},"imported":[{"uid":"1dd0-6"}],"importedBy":[{"uid":"1dd0-4"}]},"1dd0-2":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.js":"1dd0-3"},"imported":[{"uid":"1dd0-6"},{"uid":"1dd0-7"}],"importedBy":[{"uid":"1dd0-4"}]},"1dd0-4":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.js":"1dd0-5"},"imported":[{"uid":"1dd0-0"},{"uid":"1dd0-2"}],"importedBy":[],"isEntry":true},"1dd0-6":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-0"},{"uid":"1dd0-2"}],"isExternal":true},"1dd0-7":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-2"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6622
6622
 
6623
6623
  const run = () => {
6624
6624
  const width = window.innerWidth;
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
6618
6618
  </script>
6619
6619
  <script>
6620
6620
  /*<!--*/
6621
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.module.js","children":[{"name":"src","children":[{"uid":"69fe-9","name":"useHover.ts"},{"uid":"69fe-11","name":"useWindowResize.ts"},{"uid":"69fe-13","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"69fe-9":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"69fe-8"},"69fe-11":{"renderedLength":880,"gzipLength":329,"brotliLength":0,"metaUid":"69fe-10"},"69fe-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"69fe-12"}},"nodeMetas":{"69fe-8":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.module.js":"69fe-9"},"imported":[{"uid":"69fe-14"}],"importedBy":[{"uid":"69fe-12"}]},"69fe-10":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.module.js":"69fe-11"},"imported":[{"uid":"69fe-14"},{"uid":"69fe-15"}],"importedBy":[{"uid":"69fe-12"}]},"69fe-12":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.module.js":"69fe-13"},"imported":[{"uid":"69fe-8"},{"uid":"69fe-10"}],"importedBy":[],"isEntry":true},"69fe-14":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-8"},{"uid":"69fe-10"}],"isExternal":true},"69fe-15":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-10"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6621
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.module.js","children":[{"name":"src","children":[{"uid":"1dd0-9","name":"useHover.ts"},{"uid":"1dd0-11","name":"useWindowResize.ts"},{"uid":"1dd0-13","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"1dd0-9":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"1dd0-8"},"1dd0-11":{"renderedLength":747,"gzipLength":319,"brotliLength":0,"metaUid":"1dd0-10"},"1dd0-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"1dd0-12"}},"nodeMetas":{"1dd0-8":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.module.js":"1dd0-9"},"imported":[{"uid":"1dd0-14"}],"importedBy":[{"uid":"1dd0-12"}]},"1dd0-10":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.module.js":"1dd0-11"},"imported":[{"uid":"1dd0-14"},{"uid":"1dd0-15"}],"importedBy":[{"uid":"1dd0-12"}]},"1dd0-12":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.module.js":"1dd0-13"},"imported":[{"uid":"1dd0-8"},{"uid":"1dd0-10"}],"importedBy":[],"isEntry":true},"1dd0-14":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-8"},{"uid":"1dd0-10"}],"isExternal":true},"1dd0-15":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-10"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6622
6622
 
6623
6623
  const run = () => {
6624
6624
  const width = window.innerWidth;
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
6618
6618
  </script>
6619
6619
  <script>
6620
6620
  /*<!--*/
6621
- const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.native.js","children":[{"name":"src","children":[{"uid":"69fe-17","name":"useHover.ts"},{"uid":"69fe-19","name":"useWindowResize.ts"},{"uid":"69fe-21","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"69fe-17":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"69fe-16"},"69fe-19":{"renderedLength":880,"gzipLength":329,"brotliLength":0,"metaUid":"69fe-18"},"69fe-21":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"69fe-20"}},"nodeMetas":{"69fe-16":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.native.js":"69fe-17"},"imported":[{"uid":"69fe-22"}],"importedBy":[{"uid":"69fe-20"}]},"69fe-18":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.native.js":"69fe-19"},"imported":[{"uid":"69fe-22"},{"uid":"69fe-23"}],"importedBy":[{"uid":"69fe-20"}]},"69fe-20":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.native.js":"69fe-21"},"imported":[{"uid":"69fe-16"},{"uid":"69fe-18"}],"importedBy":[],"isEntry":true},"69fe-22":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-16"},{"uid":"69fe-18"}],"isExternal":true},"69fe-23":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"69fe-18"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6621
+ const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-hooks.native.js","children":[{"name":"src","children":[{"uid":"1dd0-17","name":"useHover.ts"},{"uid":"1dd0-19","name":"useWindowResize.ts"},{"uid":"1dd0-21","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"1dd0-17":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"1dd0-16"},"1dd0-19":{"renderedLength":747,"gzipLength":319,"brotliLength":0,"metaUid":"1dd0-18"},"1dd0-21":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"1dd0-20"}},"nodeMetas":{"1dd0-16":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.native.js":"1dd0-17"},"imported":[{"uid":"1dd0-22"}],"importedBy":[{"uid":"1dd0-20"}]},"1dd0-18":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.native.js":"1dd0-19"},"imported":[{"uid":"1dd0-22"},{"uid":"1dd0-23"}],"importedBy":[{"uid":"1dd0-20"}]},"1dd0-20":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.native.js":"1dd0-21"},"imported":[{"uid":"1dd0-16"},{"uid":"1dd0-18"}],"importedBy":[],"isEntry":true},"1dd0-22":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-16"},{"uid":"1dd0-18"}],"isExternal":true},"1dd0-23":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"1dd0-18"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
6622
6622
 
6623
6623
  const run = () => {
6624
6624
  const width = window.innerWidth;
package/lib/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare type UseHover = (initialValue?: boolean) => {
11
11
 
12
12
  export declare const useHover: UseHover;
13
13
 
14
- export declare type UseWindowResize = (params: Partial<{
14
+ export declare type UseWindowResize = (params?: Partial<{
15
15
  throttleDelay: number;
16
16
  onChange: (params: Sizes) => void;
17
17
  }>, initialValues?: Partial<Sizes>) => Sizes;
@@ -2,7 +2,7 @@ type Sizes = {
2
2
  width: number;
3
3
  height: number;
4
4
  };
5
- export type UseWindowResize = (params: Partial<{
5
+ export type UseWindowResize = (params?: Partial<{
6
6
  throttleDelay: number;
7
7
  onChange: (params: Sizes) => void;
8
8
  }>, initialValues?: Partial<Sizes>) => Sizes;
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowResize.d.ts","sourceRoot":"","sources":["../../src/useWindowResize.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAA;CAClC,CAAC,EACF,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAC3B,KAAK,CAAA;AAEV,QAAA,MAAM,eAAe,EAAE,eAiCtB,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"useWindowResize.d.ts","sourceRoot":"","sources":["../../src/useWindowResize.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAA;CAClC,CAAC,EACF,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAC3B,KAAK,CAAA;AAEV,QAAA,MAAM,eAAe,EAAE,eA2BtB,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -14,25 +14,21 @@ const useHover = (initial = false) => {
14
14
 
15
15
  const useWindowResize = ({ throttleDelay = 200, onChange } = {}, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
- useEffect(() => {
18
- const getSize = () => ({
17
+ const updateSizes = useCallback(() => {
18
+ const sizes = {
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
- });
22
- const calculatedSize = getSize();
23
- setWindowSize(calculatedSize);
24
- if (onChange) {
25
- onChange(calculatedSize);
26
- }
27
- const handleResize = throttle(() => {
28
- setWindowSize(getSize());
29
- if (onChange) {
30
- onChange(calculatedSize);
31
- }
32
- }, throttleDelay);
21
+ };
22
+ setWindowSize(sizes);
23
+ if (onChange)
24
+ onChange(sizes);
25
+ }, [onChange]);
26
+ const handleResize = throttle(updateSizes, throttleDelay);
27
+ useEffect(() => {
28
+ updateSizes();
33
29
  window.addEventListener('resize', handleResize, false);
34
30
  return () => window.removeEventListener('resize', handleResize, false);
35
- }, [throttleDelay]);
31
+ }, [updateSizes]);
36
32
  return windowSize;
37
33
  };
38
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-hooks.browser.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n useEffect(() => {\n const getSize = () => ({\n width: window.innerWidth,\n height: window.innerHeight,\n })\n\n const calculatedSize = getSize()\n\n setWindowSize(calculatedSize)\n\n if (onChange) {\n onChange(calculatedSize)\n }\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\n if (onChange) {\n onChange(calculatedSize)\n }\n }, throttleDelay)\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [throttleDelay])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE/D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,SAAA,CAAC,CAAA;AAEF,QAAA,MAAM,cAAc,GAAG,OAAO,EAAE,CAAA;QAEhC,aAAa,CAAC,cAAc,CAAC,CAAA;AAE7B,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AACxB,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,aAAA;SACF,EAAE,aAAa,CAAC,CAAA;QAEjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAEnB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"vitus-labs-hooks.browser.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect, useCallback } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params?: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n const updateSizes = useCallback(() => {\n const sizes = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n setWindowSize(sizes)\n if (onChange) onChange(sizes)\n }, [onChange])\n\n const handleResize = throttle(updateSizes, throttleDelay)\n\n useEffect(() => {\n updateSizes()\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [updateSizes])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE/D,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;AACnC,QAAA,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAA;QAED,aAAa,CAAC,KAAK,CAAC,CAAA;AACpB,QAAA,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,WAAW,EAAE,CAAA;QAEb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
@@ -18,25 +18,21 @@ const useHover = (initial = false) => {
18
18
 
19
19
  const useWindowResize = ({ throttleDelay = 200, onChange } = {}, { width = 0, height = 0 } = {}) => {
20
20
  const [windowSize, setWindowSize] = react.useState({ width, height });
21
- react.useEffect(() => {
22
- const getSize = () => ({
21
+ const updateSizes = react.useCallback(() => {
22
+ const sizes = {
23
23
  width: window.innerWidth,
24
24
  height: window.innerHeight,
25
- });
26
- const calculatedSize = getSize();
27
- setWindowSize(calculatedSize);
28
- if (onChange) {
29
- onChange(calculatedSize);
30
- }
31
- const handleResize = core.throttle(() => {
32
- setWindowSize(getSize());
33
- if (onChange) {
34
- onChange(calculatedSize);
35
- }
36
- }, throttleDelay);
25
+ };
26
+ setWindowSize(sizes);
27
+ if (onChange)
28
+ onChange(sizes);
29
+ }, [onChange]);
30
+ const handleResize = core.throttle(updateSizes, throttleDelay);
31
+ react.useEffect(() => {
32
+ updateSizes();
37
33
  window.addEventListener('resize', handleResize, false);
38
34
  return () => window.removeEventListener('resize', handleResize, false);
39
- }, [throttleDelay]);
35
+ }, [updateSizes]);
40
36
  return windowSize;
41
37
  };
42
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-hooks.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n useEffect(() => {\n const getSize = () => ({\n width: window.innerWidth,\n height: window.innerHeight,\n })\n\n const calculatedSize = getSize()\n\n setWindowSize(calculatedSize)\n\n if (onChange) {\n onChange(calculatedSize)\n }\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\n if (onChange) {\n onChange(calculatedSize)\n }\n }, throttleDelay)\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [throttleDelay])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":["useState","useCallback","useEffect","throttle"],"mappings":";;;;;;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAGC,iBAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAGA,iBAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGD,cAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE/DE,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,SAAA,CAAC,CAAA;AAEF,QAAA,MAAM,cAAc,GAAG,OAAO,EAAE,CAAA;QAEhC,aAAa,CAAC,cAAc,CAAC,CAAA;AAE7B,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,SAAA;AAED,QAAA,MAAM,YAAY,GAAGC,aAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AACxB,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,aAAA;SACF,EAAE,aAAa,CAAC,CAAA;QAEjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAEnB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;;"}
1
+ {"version":3,"file":"vitus-labs-hooks.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect, useCallback } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params?: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n const updateSizes = useCallback(() => {\n const sizes = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n setWindowSize(sizes)\n if (onChange) onChange(sizes)\n }, [onChange])\n\n const handleResize = throttle(updateSizes, throttleDelay)\n\n useEffect(() => {\n updateSizes()\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [updateSizes])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":["useState","useCallback","throttle","useEffect"],"mappings":";;;;;;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAGA,cAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAGC,iBAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAGA,iBAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGD,cAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE/D,IAAA,MAAM,WAAW,GAAGC,iBAAW,CAAC,MAAK;AACnC,QAAA,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAA;QAED,aAAa,CAAC,KAAK,CAAC,CAAA;AACpB,QAAA,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,YAAY,GAAGC,aAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAEzDC,eAAS,CAAC,MAAK;AACb,QAAA,WAAW,EAAE,CAAA;QAEb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;;"}
@@ -14,25 +14,21 @@ const useHover = (initial = false) => {
14
14
 
15
15
  const useWindowResize = ({ throttleDelay = 200, onChange } = {}, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
- useEffect(() => {
18
- const getSize = () => ({
17
+ const updateSizes = useCallback(() => {
18
+ const sizes = {
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
- });
22
- const calculatedSize = getSize();
23
- setWindowSize(calculatedSize);
24
- if (onChange) {
25
- onChange(calculatedSize);
26
- }
27
- const handleResize = throttle(() => {
28
- setWindowSize(getSize());
29
- if (onChange) {
30
- onChange(calculatedSize);
31
- }
32
- }, throttleDelay);
21
+ };
22
+ setWindowSize(sizes);
23
+ if (onChange)
24
+ onChange(sizes);
25
+ }, [onChange]);
26
+ const handleResize = throttle(updateSizes, throttleDelay);
27
+ useEffect(() => {
28
+ updateSizes();
33
29
  window.addEventListener('resize', handleResize, false);
34
30
  return () => window.removeEventListener('resize', handleResize, false);
35
- }, [throttleDelay]);
31
+ }, [updateSizes]);
36
32
  return windowSize;
37
33
  };
38
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-hooks.module.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n useEffect(() => {\n const getSize = () => ({\n width: window.innerWidth,\n height: window.innerHeight,\n })\n\n const calculatedSize = getSize()\n\n setWindowSize(calculatedSize)\n\n if (onChange) {\n onChange(calculatedSize)\n }\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\n if (onChange) {\n onChange(calculatedSize)\n }\n }, throttleDelay)\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [throttleDelay])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE/D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,SAAA,CAAC,CAAA;AAEF,QAAA,MAAM,cAAc,GAAG,OAAO,EAAE,CAAA;QAEhC,aAAa,CAAC,cAAc,CAAC,CAAA;AAE7B,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AACxB,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,aAAA;SACF,EAAE,aAAa,CAAC,CAAA;QAEjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAEnB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"vitus-labs-hooks.module.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect, useCallback } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params?: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n const updateSizes = useCallback(() => {\n const sizes = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n setWindowSize(sizes)\n if (onChange) onChange(sizes)\n }, [onChange])\n\n const handleResize = throttle(updateSizes, throttleDelay)\n\n useEffect(() => {\n updateSizes()\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [updateSizes])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE/D,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;AACnC,QAAA,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAA;QAED,aAAa,CAAC,KAAK,CAAC,CAAA;AACpB,QAAA,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,WAAW,EAAE,CAAA;QAEb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
@@ -14,25 +14,21 @@ const useHover = (initial = false) => {
14
14
 
15
15
  const useWindowResize = ({ throttleDelay = 200, onChange } = {}, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
- useEffect(() => {
18
- const getSize = () => ({
17
+ const updateSizes = useCallback(() => {
18
+ const sizes = {
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
- });
22
- const calculatedSize = getSize();
23
- setWindowSize(calculatedSize);
24
- if (onChange) {
25
- onChange(calculatedSize);
26
- }
27
- const handleResize = throttle(() => {
28
- setWindowSize(getSize());
29
- if (onChange) {
30
- onChange(calculatedSize);
31
- }
32
- }, throttleDelay);
21
+ };
22
+ setWindowSize(sizes);
23
+ if (onChange)
24
+ onChange(sizes);
25
+ }, [onChange]);
26
+ const handleResize = throttle(updateSizes, throttleDelay);
27
+ useEffect(() => {
28
+ updateSizes();
33
29
  window.addEventListener('resize', handleResize, false);
34
30
  return () => window.removeEventListener('resize', handleResize, false);
35
- }, [throttleDelay]);
31
+ }, [updateSizes]);
36
32
  return windowSize;
37
33
  };
38
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-hooks.native.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n useEffect(() => {\n const getSize = () => ({\n width: window.innerWidth,\n height: window.innerHeight,\n })\n\n const calculatedSize = getSize()\n\n setWindowSize(calculatedSize)\n\n if (onChange) {\n onChange(calculatedSize)\n }\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\n if (onChange) {\n onChange(calculatedSize)\n }\n }, throttleDelay)\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [throttleDelay])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAE/D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,OAAO;YACrB,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,SAAA,CAAC,CAAA;AAEF,QAAA,MAAM,cAAc,GAAG,OAAO,EAAE,CAAA;QAEhC,aAAa,CAAC,cAAc,CAAC,CAAA;AAE7B,QAAA,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AACxB,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,cAAc,CAAC,CAAA;AACzB,aAAA;SACF,EAAE,aAAa,CAAC,CAAA;QAEjB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAEnB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"vitus-labs-hooks.native.js","sources":["../src/useHover.ts","../src/useWindowResize.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport type UseHover = (initialValue?: boolean) => {\n hover: boolean\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nconst useHover: UseHover = (initial = false) => {\n const [hover, handleHover] = useState(initial)\n\n const setHover = useCallback(() => handleHover(true), [])\n const unsetHover = useCallback(() => handleHover(false), [])\n\n return {\n hover,\n onMouseEnter: setHover,\n onMouseLeave: unsetHover,\n }\n}\n\nexport default useHover\n","import { useState, useEffect, useCallback } from 'react'\nimport { throttle } from '@vitus-labs/core'\n\ntype Sizes = {\n width: number\n height: number\n}\n\nexport type UseWindowResize = (\n params?: Partial<{\n throttleDelay: number\n onChange: (params: Sizes) => void\n }>,\n initialValues?: Partial<Sizes>\n) => Sizes\n\nconst useWindowResize: UseWindowResize = (\n { throttleDelay = 200, onChange } = {},\n { width = 0, height = 0 } = {}\n) => {\n const [windowSize, setWindowSize] = useState({ width, height })\n\n const updateSizes = useCallback(() => {\n const sizes = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n setWindowSize(sizes)\n if (onChange) onChange(sizes)\n }, [onChange])\n\n const handleResize = throttle(updateSizes, throttleDelay)\n\n useEffect(() => {\n updateSizes()\n\n window.addEventListener('resize', handleResize, false)\n\n return () => window.removeEventListener('resize', handleResize, false)\n }, [updateSizes])\n\n return windowSize\n}\n\nexport default useWindowResize\n"],"names":[],"mappings":";;;AAQA,MAAM,QAAQ,GAAa,CAAC,OAAO,GAAG,KAAK,KAAI;IAC7C,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE9C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;AACzD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,KAAK;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,YAAY,EAAE,UAAU;KACzB,CAAA;AACH;;ACHM,MAAA,eAAe,GAAoB,CACvC,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EACtC,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAC5B;AACF,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAE/D,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;AACnC,QAAA,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAA;QAED,aAAa,CAAC,KAAK,CAAC,CAAA;AACpB,QAAA,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC/B,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,WAAW,EAAE,CAAA;QAEb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AAEtD,QAAA,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACxE,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,OAAO,UAAU,CAAA;AACnB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/hooks",
3
- "version": "0.70.0",
3
+ "version": "0.72.0",
4
4
  "license": "MIT",
5
5
  "author": "Vit Bokisch <vit@bokisch.cz>",
6
6
  "maintainers": [
@@ -47,11 +47,11 @@
47
47
  "react": ">= 16.8"
48
48
  },
49
49
  "devDependencies": {
50
- "@vitus-labs/core": "^0.70.0",
50
+ "@vitus-labs/core": "^0.72.0",
51
51
  "@vitus-labs/tools-babel": "^0.41.0",
52
52
  "@vitus-labs/tools-rollup": "^0.41.0",
53
53
  "@vitus-labs/tools-storybook": "^0.41.0",
54
54
  "@vitus-labs/tools-typescript": "^0.41.0"
55
55
  },
56
- "gitHead": "13cb3938d55aedd56d2ef8257ad1472bc8687748"
56
+ "gitHead": "e6f77525dde7ce2ebb0c158f8c5e81d0c0dcd272"
57
57
  }