@vitus-labs/hooks 0.67.0 → 0.69.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":"34c7-25","name":"useHover.ts"},{"uid":"34c7-27","name":"useWindowResize.ts"},{"uid":"34c7-29","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"34c7-25":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"34c7-24"},"34c7-27":{"renderedLength":651,"gzipLength":282,"brotliLength":0,"metaUid":"34c7-26"},"34c7-29":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"34c7-28"}},"nodeMetas":{"34c7-24":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.browser.js":"34c7-25"},"imported":[{"uid":"34c7-30"}],"importedBy":[{"uid":"34c7-28"}]},"34c7-26":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.browser.js":"34c7-27"},"imported":[{"uid":"34c7-30"},{"uid":"34c7-31"}],"importedBy":[{"uid":"34c7-28"}]},"34c7-28":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.browser.js":"34c7-29"},"imported":[{"uid":"34c7-24"},{"uid":"34c7-26"}],"importedBy":[],"isEntry":true},"34c7-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-24"},{"uid":"34c7-26"}],"isExternal":true},"34c7-31":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-26"}],"isExternal":true}},"env":{"rollup":"3.9.1"},"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":"f5f1-25","name":"useHover.ts"},{"uid":"f5f1-27","name":"useWindowResize.ts"},{"uid":"f5f1-29","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"f5f1-25":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"f5f1-24"},"f5f1-27":{"renderedLength":875,"gzipLength":329,"brotliLength":0,"metaUid":"f5f1-26"},"f5f1-29":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"f5f1-28"}},"nodeMetas":{"f5f1-24":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.browser.js":"f5f1-25"},"imported":[{"uid":"f5f1-30"}],"importedBy":[{"uid":"f5f1-28"}]},"f5f1-26":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.browser.js":"f5f1-27"},"imported":[{"uid":"f5f1-30"},{"uid":"f5f1-31"}],"importedBy":[{"uid":"f5f1-28"}]},"f5f1-28":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.browser.js":"f5f1-29"},"imported":[{"uid":"f5f1-24"},{"uid":"f5f1-26"}],"importedBy":[],"isEntry":true},"f5f1-30":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-24"},{"uid":"f5f1-26"}],"isExternal":true},"f5f1-31":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-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":"34c7-1","name":"useHover.ts"},{"uid":"34c7-3","name":"useWindowResize.ts"},{"uid":"34c7-5","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"34c7-1":{"renderedLength":351,"gzipLength":184,"brotliLength":0,"metaUid":"34c7-0"},"34c7-3":{"renderedLength":668,"gzipLength":290,"brotliLength":0,"metaUid":"34c7-2"},"34c7-5":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"34c7-4"}},"nodeMetas":{"34c7-0":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.js":"34c7-1"},"imported":[{"uid":"34c7-6"}],"importedBy":[{"uid":"34c7-4"}]},"34c7-2":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.js":"34c7-3"},"imported":[{"uid":"34c7-6"},{"uid":"34c7-7"}],"importedBy":[{"uid":"34c7-4"}]},"34c7-4":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.js":"34c7-5"},"imported":[{"uid":"34c7-0"},{"uid":"34c7-2"}],"importedBy":[],"isEntry":true},"34c7-6":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-0"},{"uid":"34c7-2"}],"isExternal":true},"34c7-7":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-2"}],"isExternal":true}},"env":{"rollup":"3.9.1"},"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":"f5f1-1","name":"useHover.ts"},{"uid":"f5f1-3","name":"useWindowResize.ts"},{"uid":"f5f1-5","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"f5f1-1":{"renderedLength":351,"gzipLength":184,"brotliLength":0,"metaUid":"f5f1-0"},"f5f1-3":{"renderedLength":892,"gzipLength":337,"brotliLength":0,"metaUid":"f5f1-2"},"f5f1-5":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"f5f1-4"}},"nodeMetas":{"f5f1-0":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.js":"f5f1-1"},"imported":[{"uid":"f5f1-6"}],"importedBy":[{"uid":"f5f1-4"}]},"f5f1-2":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.js":"f5f1-3"},"imported":[{"uid":"f5f1-6"},{"uid":"f5f1-7"}],"importedBy":[{"uid":"f5f1-4"}]},"f5f1-4":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.js":"f5f1-5"},"imported":[{"uid":"f5f1-0"},{"uid":"f5f1-2"}],"importedBy":[],"isEntry":true},"f5f1-6":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-0"},{"uid":"f5f1-2"}],"isExternal":true},"f5f1-7":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-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":"34c7-9","name":"useHover.ts"},{"uid":"34c7-11","name":"useWindowResize.ts"},{"uid":"34c7-13","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"34c7-9":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"34c7-8"},"34c7-11":{"renderedLength":651,"gzipLength":282,"brotliLength":0,"metaUid":"34c7-10"},"34c7-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"34c7-12"}},"nodeMetas":{"34c7-8":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.module.js":"34c7-9"},"imported":[{"uid":"34c7-14"}],"importedBy":[{"uid":"34c7-12"}]},"34c7-10":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.module.js":"34c7-11"},"imported":[{"uid":"34c7-14"},{"uid":"34c7-15"}],"importedBy":[{"uid":"34c7-12"}]},"34c7-12":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.module.js":"34c7-13"},"imported":[{"uid":"34c7-8"},{"uid":"34c7-10"}],"importedBy":[],"isEntry":true},"34c7-14":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-8"},{"uid":"34c7-10"}],"isExternal":true},"34c7-15":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-10"}],"isExternal":true}},"env":{"rollup":"3.9.1"},"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":"f5f1-9","name":"useHover.ts"},{"uid":"f5f1-11","name":"useWindowResize.ts"},{"uid":"f5f1-13","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"f5f1-9":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"f5f1-8"},"f5f1-11":{"renderedLength":875,"gzipLength":329,"brotliLength":0,"metaUid":"f5f1-10"},"f5f1-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"f5f1-12"}},"nodeMetas":{"f5f1-8":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.module.js":"f5f1-9"},"imported":[{"uid":"f5f1-14"}],"importedBy":[{"uid":"f5f1-12"}]},"f5f1-10":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.module.js":"f5f1-11"},"imported":[{"uid":"f5f1-14"},{"uid":"f5f1-15"}],"importedBy":[{"uid":"f5f1-12"}]},"f5f1-12":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.module.js":"f5f1-13"},"imported":[{"uid":"f5f1-8"},{"uid":"f5f1-10"}],"importedBy":[],"isEntry":true},"f5f1-14":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-8"},{"uid":"f5f1-10"}],"isExternal":true},"f5f1-15":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-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":"34c7-17","name":"useHover.ts"},{"uid":"34c7-19","name":"useWindowResize.ts"},{"uid":"34c7-21","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"34c7-17":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"34c7-16"},"34c7-19":{"renderedLength":651,"gzipLength":282,"brotliLength":0,"metaUid":"34c7-18"},"34c7-21":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"34c7-20"}},"nodeMetas":{"34c7-16":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.native.js":"34c7-17"},"imported":[{"uid":"34c7-22"}],"importedBy":[{"uid":"34c7-20"}]},"34c7-18":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.native.js":"34c7-19"},"imported":[{"uid":"34c7-22"},{"uid":"34c7-23"}],"importedBy":[{"uid":"34c7-20"}]},"34c7-20":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.native.js":"34c7-21"},"imported":[{"uid":"34c7-16"},{"uid":"34c7-18"}],"importedBy":[],"isEntry":true},"34c7-22":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-16"},{"uid":"34c7-18"}],"isExternal":true},"34c7-23":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"34c7-18"}],"isExternal":true}},"env":{"rollup":"3.9.1"},"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":"f5f1-17","name":"useHover.ts"},{"uid":"f5f1-19","name":"useWindowResize.ts"},{"uid":"f5f1-21","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"f5f1-17":{"renderedLength":333,"gzipLength":179,"brotliLength":0,"metaUid":"f5f1-16"},"f5f1-19":{"renderedLength":875,"gzipLength":329,"brotliLength":0,"metaUid":"f5f1-18"},"f5f1-21":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"f5f1-20"}},"nodeMetas":{"f5f1-16":{"id":"/src/useHover.ts","moduleParts":{"vitus-labs-hooks.native.js":"f5f1-17"},"imported":[{"uid":"f5f1-22"}],"importedBy":[{"uid":"f5f1-20"}]},"f5f1-18":{"id":"/src/useWindowResize.ts","moduleParts":{"vitus-labs-hooks.native.js":"f5f1-19"},"imported":[{"uid":"f5f1-22"},{"uid":"f5f1-23"}],"importedBy":[{"uid":"f5f1-20"}]},"f5f1-20":{"id":"/src/index.ts","moduleParts":{"vitus-labs-hooks.native.js":"f5f1-21"},"imported":[{"uid":"f5f1-16"},{"uid":"f5f1-18"}],"importedBy":[],"isEntry":true},"f5f1-22":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-16"},{"uid":"f5f1-18"}],"isExternal":true},"f5f1-23":{"id":"@vitus-labs/core","moduleParts":{},"imported":[],"importedBy":[{"uid":"f5f1-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
@@ -1,3 +1,8 @@
1
+ declare type Sizes = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+
1
6
  export declare type UseHover = (initialValue?: boolean) => {
2
7
  hover: boolean;
3
8
  onMouseEnter: () => void;
@@ -6,13 +11,10 @@ export declare type UseHover = (initialValue?: boolean) => {
6
11
 
7
12
  export declare const useHover: UseHover;
8
13
 
9
- export declare type UseWindowResize = (throttleDelay?: number, initialValues?: Partial<{
10
- width: number;
11
- height: number;
12
- }>) => {
13
- width: number;
14
- height: number;
15
- };
14
+ export declare type UseWindowResize = (params: Partial<{
15
+ throttleDelay: number;
16
+ onChange: (params: Sizes) => void;
17
+ }>, initialValues?: Partial<Sizes>) => Sizes;
16
18
 
17
19
  export declare const useWindowResize: UseWindowResize;
18
20
 
@@ -1,10 +1,11 @@
1
- export type UseWindowResize = (throttleDelay?: number, initialValues?: Partial<{
2
- width: number;
3
- height: number;
4
- }>) => {
1
+ type Sizes = {
5
2
  width: number;
6
3
  height: number;
7
4
  };
5
+ export type UseWindowResize = (params: Partial<{
6
+ throttleDelay: number;
7
+ onChange: (params: Sizes) => void;
8
+ }>, initialValues?: Partial<Sizes>) => Sizes;
8
9
  declare const useWindowResize: UseWindowResize;
9
10
  export default useWindowResize;
10
11
  //# sourceMappingURL=useWindowResize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowResize.d.ts","sourceRoot":"","sources":["../../src/useWindowResize.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,CAC5B,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAC,KACC;IACH,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,QAAA,MAAM,eAAe,EAAE,eAwBtB,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,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"}
@@ -12,16 +12,23 @@ const useHover = (initial = false) => {
12
12
  };
13
13
  };
14
14
 
15
- const useWindowResize = (throttleDelay = 200, { width = 0, height = 0 } = {}) => {
15
+ const useWindowResize = ({ throttleDelay = 200, onChange }, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
17
  useEffect(() => {
18
18
  const getSize = () => ({
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
21
  });
22
- setWindowSize(getSize());
22
+ const calculatedSize = getSize();
23
+ setWindowSize(calculatedSize);
24
+ if (onChange) {
25
+ onChange(calculatedSize);
26
+ }
23
27
  const handleResize = throttle(() => {
24
28
  setWindowSize(getSize());
29
+ if (onChange) {
30
+ onChange(calculatedSize);
31
+ }
25
32
  }, throttleDelay);
26
33
  window.addEventListener('resize', handleResize, false);
27
34
  return () => window.removeEventListener('resize', handleResize, false);
@@ -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\nexport type UseWindowResize = (\n throttleDelay?: number,\n initialValues?: Partial<{\n width: number\n height: number\n }>\n) => {\n width: number\n height: number\n}\n\nconst useWindowResize: UseWindowResize = (\n throttleDelay = 200,\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 setWindowSize(getSize())\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\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;;ACLA,MAAM,eAAe,GAAoB,CACvC,aAAa,GAAG,GAAG,EACnB,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AAExB,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;SACzB,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 } 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,EACjC,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,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var react = require('react');
4
6
  var core = require('@vitus-labs/core');
5
7
 
@@ -14,16 +16,23 @@ const useHover = (initial = false) => {
14
16
  };
15
17
  };
16
18
 
17
- const useWindowResize = (throttleDelay = 200, { width = 0, height = 0 } = {}) => {
19
+ const useWindowResize = ({ throttleDelay = 200, onChange }, { width = 0, height = 0 } = {}) => {
18
20
  const [windowSize, setWindowSize] = react.useState({ width, height });
19
21
  react.useEffect(() => {
20
22
  const getSize = () => ({
21
23
  width: window.innerWidth,
22
24
  height: window.innerHeight,
23
25
  });
24
- setWindowSize(getSize());
26
+ const calculatedSize = getSize();
27
+ setWindowSize(calculatedSize);
28
+ if (onChange) {
29
+ onChange(calculatedSize);
30
+ }
25
31
  const handleResize = core.throttle(() => {
26
32
  setWindowSize(getSize());
33
+ if (onChange) {
34
+ onChange(calculatedSize);
35
+ }
27
36
  }, throttleDelay);
28
37
  window.addEventListener('resize', handleResize, false);
29
38
  return () => window.removeEventListener('resize', handleResize, false);
@@ -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\nexport type UseWindowResize = (\n throttleDelay?: number,\n initialValues?: Partial<{\n width: number\n height: number\n }>\n) => {\n width: number\n height: number\n}\n\nconst useWindowResize: UseWindowResize = (\n throttleDelay = 200,\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 setWindowSize(getSize())\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\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;;ACLA,MAAM,eAAe,GAAoB,CACvC,aAAa,GAAG,GAAG,EACnB,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AAExB,QAAA,MAAM,YAAY,GAAGC,aAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;SACzB,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 } 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,EACjC,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;;;;;"}
@@ -12,16 +12,23 @@ const useHover = (initial = false) => {
12
12
  };
13
13
  };
14
14
 
15
- const useWindowResize = (throttleDelay = 200, { width = 0, height = 0 } = {}) => {
15
+ const useWindowResize = ({ throttleDelay = 200, onChange }, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
17
  useEffect(() => {
18
18
  const getSize = () => ({
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
21
  });
22
- setWindowSize(getSize());
22
+ const calculatedSize = getSize();
23
+ setWindowSize(calculatedSize);
24
+ if (onChange) {
25
+ onChange(calculatedSize);
26
+ }
23
27
  const handleResize = throttle(() => {
24
28
  setWindowSize(getSize());
29
+ if (onChange) {
30
+ onChange(calculatedSize);
31
+ }
25
32
  }, throttleDelay);
26
33
  window.addEventListener('resize', handleResize, false);
27
34
  return () => window.removeEventListener('resize', handleResize, false);
@@ -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\nexport type UseWindowResize = (\n throttleDelay?: number,\n initialValues?: Partial<{\n width: number\n height: number\n }>\n) => {\n width: number\n height: number\n}\n\nconst useWindowResize: UseWindowResize = (\n throttleDelay = 200,\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 setWindowSize(getSize())\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\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;;ACLA,MAAM,eAAe,GAAoB,CACvC,aAAa,GAAG,GAAG,EACnB,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AAExB,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;SACzB,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 } 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,EACjC,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;;;;"}
@@ -12,16 +12,23 @@ const useHover = (initial = false) => {
12
12
  };
13
13
  };
14
14
 
15
- const useWindowResize = (throttleDelay = 200, { width = 0, height = 0 } = {}) => {
15
+ const useWindowResize = ({ throttleDelay = 200, onChange }, { width = 0, height = 0 } = {}) => {
16
16
  const [windowSize, setWindowSize] = useState({ width, height });
17
17
  useEffect(() => {
18
18
  const getSize = () => ({
19
19
  width: window.innerWidth,
20
20
  height: window.innerHeight,
21
21
  });
22
- setWindowSize(getSize());
22
+ const calculatedSize = getSize();
23
+ setWindowSize(calculatedSize);
24
+ if (onChange) {
25
+ onChange(calculatedSize);
26
+ }
23
27
  const handleResize = throttle(() => {
24
28
  setWindowSize(getSize());
29
+ if (onChange) {
30
+ onChange(calculatedSize);
31
+ }
25
32
  }, throttleDelay);
26
33
  window.addEventListener('resize', handleResize, false);
27
34
  return () => window.removeEventListener('resize', handleResize, false);
@@ -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\nexport type UseWindowResize = (\n throttleDelay?: number,\n initialValues?: Partial<{\n width: number\n height: number\n }>\n) => {\n width: number\n height: number\n}\n\nconst useWindowResize: UseWindowResize = (\n throttleDelay = 200,\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 setWindowSize(getSize())\n\n const handleResize = throttle(() => {\n setWindowSize(getSize())\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;;ACLA,MAAM,eAAe,GAAoB,CACvC,aAAa,GAAG,GAAG,EACnB,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,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;AAExB,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;SACzB,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 } 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,EACjC,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;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/hooks",
3
- "version": "0.67.0",
3
+ "version": "0.69.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.67.0",
51
- "@vitus-labs/tools-babel": "^0.40.0",
52
- "@vitus-labs/tools-rollup": "^0.40.0",
53
- "@vitus-labs/tools-storybook": "^0.40.0",
54
- "@vitus-labs/tools-typescript": "^0.40.0"
50
+ "@vitus-labs/core": "^0.69.0",
51
+ "@vitus-labs/tools-babel": "^0.41.0",
52
+ "@vitus-labs/tools-rollup": "^0.41.0",
53
+ "@vitus-labs/tools-storybook": "^0.41.0",
54
+ "@vitus-labs/tools-typescript": "^0.41.0"
55
55
  },
56
- "gitHead": "ed15994876bd59638d12ab0e671958df4f4b4e56"
56
+ "gitHead": "48c553917e06c82dadabaf94b8d6d87be1df200f"
57
57
  }