@folklore/hooks 0.0.62 → 0.0.64

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 (3) hide show
  1. package/dist/cjs.js +20 -11
  2. package/dist/es.js +20 -11
  3. package/package.json +3 -3
package/dist/cjs.js CHANGED
@@ -1774,20 +1774,32 @@ function useVisualViewport() {
1774
1774
  const [{
1775
1775
  width: viewportWidth,
1776
1776
  height: viewportHeight,
1777
- offsetTop = 0,
1778
- offsetLeft = 0,
1779
- pageLeft = 0,
1780
- pageTop = 0
1777
+ ...viewport
1781
1778
  }, setViewport] = react.useState({
1782
1779
  width: windowWidth,
1783
1780
  height: windowHeight
1784
1781
  });
1785
1782
  const updateViewport = react.useCallback(function () {
1786
1783
  let viewPort = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1787
- setViewport(viewPort || window.visualViewport || {});
1784
+ const {
1785
+ width: newWidth = 0,
1786
+ height: newHeight = 0,
1787
+ offsetTop: newOffsetTop = 0,
1788
+ offsetLeft: newOffsetLeft = 0,
1789
+ pageLeft: newPageLeft = 0,
1790
+ pageTop: newPageTop = 0
1791
+ } = viewPort || window.visualViewport || {};
1792
+ setViewport({
1793
+ width: newWidth,
1794
+ height: newHeight,
1795
+ offsetTop: newOffsetTop,
1796
+ offsetLeft: newOffsetLeft,
1797
+ pageLeft: newPageLeft,
1798
+ pageTop: newPageTop
1799
+ });
1788
1800
  }, [setViewport]);
1789
1801
  react.useEffect(() => {
1790
- if (typeof window === 'undefined' || (window.visualViewport || null) === null) {
1802
+ if (typeof window.visualViewport === 'undefined') {
1791
1803
  return () => {};
1792
1804
  }
1793
1805
  const onUpdate = e => {
@@ -1798,16 +1810,13 @@ function useVisualViewport() {
1798
1810
  window.visualViewport.addEventListener('scroll', onUpdate);
1799
1811
  return () => {
1800
1812
  window.visualViewport.removeEventListener('resize', onUpdate);
1801
- window.visualViewport.addEventListener('scroll', onUpdate);
1813
+ window.visualViewport.removeEventListener('scroll', onUpdate);
1802
1814
  };
1803
1815
  }, [updateViewport]);
1804
1816
  return {
1805
1817
  width: viewportWidth || windowWidth,
1806
1818
  height: viewportHeight || windowHeight,
1807
- offsetTop,
1808
- offsetLeft,
1809
- pageLeft,
1810
- pageTop,
1819
+ ...viewport,
1811
1820
  updateViewport
1812
1821
  };
1813
1822
  }
package/dist/es.js CHANGED
@@ -1763,20 +1763,32 @@ function useVisualViewport() {
1763
1763
  const [{
1764
1764
  width: viewportWidth,
1765
1765
  height: viewportHeight,
1766
- offsetTop = 0,
1767
- offsetLeft = 0,
1768
- pageLeft = 0,
1769
- pageTop = 0
1766
+ ...viewport
1770
1767
  }, setViewport] = useState({
1771
1768
  width: windowWidth,
1772
1769
  height: windowHeight
1773
1770
  });
1774
1771
  const updateViewport = useCallback(function () {
1775
1772
  let viewPort = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1776
- setViewport(viewPort || window.visualViewport || {});
1773
+ const {
1774
+ width: newWidth = 0,
1775
+ height: newHeight = 0,
1776
+ offsetTop: newOffsetTop = 0,
1777
+ offsetLeft: newOffsetLeft = 0,
1778
+ pageLeft: newPageLeft = 0,
1779
+ pageTop: newPageTop = 0
1780
+ } = viewPort || window.visualViewport || {};
1781
+ setViewport({
1782
+ width: newWidth,
1783
+ height: newHeight,
1784
+ offsetTop: newOffsetTop,
1785
+ offsetLeft: newOffsetLeft,
1786
+ pageLeft: newPageLeft,
1787
+ pageTop: newPageTop
1788
+ });
1777
1789
  }, [setViewport]);
1778
1790
  useEffect(() => {
1779
- if (typeof window === 'undefined' || (window.visualViewport || null) === null) {
1791
+ if (typeof window.visualViewport === 'undefined') {
1780
1792
  return () => {};
1781
1793
  }
1782
1794
  const onUpdate = e => {
@@ -1787,16 +1799,13 @@ function useVisualViewport() {
1787
1799
  window.visualViewport.addEventListener('scroll', onUpdate);
1788
1800
  return () => {
1789
1801
  window.visualViewport.removeEventListener('resize', onUpdate);
1790
- window.visualViewport.addEventListener('scroll', onUpdate);
1802
+ window.visualViewport.removeEventListener('scroll', onUpdate);
1791
1803
  };
1792
1804
  }, [updateViewport]);
1793
1805
  return {
1794
1806
  width: viewportWidth || windowWidth,
1795
1807
  height: viewportHeight || windowHeight,
1796
- offsetTop,
1797
- offsetLeft,
1798
- pageLeft,
1799
- pageTop,
1808
+ ...viewport,
1800
1809
  updateViewport
1801
1810
  };
1802
1811
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@folklore/hooks",
3
- "version": "0.0.62",
3
+ "version": "0.0.64",
4
4
  "description": "React hooks",
5
5
  "keywords": [
6
6
  "javascript",
@@ -49,10 +49,10 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "54decbea354a5a8fa99c25f34918460bb9666bb2",
52
+ "gitHead": "6b7ef9741a35f131038120725fe0ed79851eb216",
53
53
  "dependencies": {
54
54
  "@folklore/events": "^0.0.5",
55
- "@folklore/services": "^0.1.40",
55
+ "@folklore/services": "^0.1.41",
56
56
  "cancelable-promise": "^4.3.1",
57
57
  "debug": "^4.3.4",
58
58
  "lodash": "^4.17.21",