@folklore/hooks 0.0.59 → 0.0.61

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 +24 -21
  2. package/dist/es.js +23 -21
  3. package/package.json +2 -2
package/dist/cjs.js CHANGED
@@ -1766,44 +1766,46 @@ function useWindowSize() {
1766
1766
  return size;
1767
1767
  }
1768
1768
 
1769
- const useVisualViewportSize = () => {
1769
+ function useVisualViewport() {
1770
1770
  const {
1771
1771
  width: windowWidth,
1772
1772
  height: windowHeight
1773
1773
  } = useWindowSize();
1774
1774
  const [{
1775
1775
  width: viewportWidth,
1776
- height: viewportHeight
1777
- }, setViewportSize] = react.useState({
1776
+ height: viewportHeight,
1777
+ offsetTop = 0,
1778
+ offsetLeft = 0,
1779
+ pageLeft = 0,
1780
+ pageTop = 0
1781
+ }, setViewport] = react.useState({
1778
1782
  width: windowWidth,
1779
1783
  height: windowHeight
1780
1784
  });
1781
1785
  react.useEffect(() => {
1782
- if (!typeof window !== 'undefined' && (window.visualViewport || null) !== null) {
1786
+ if (typeof window === 'undefined' || (window.visualViewport || null) === null) {
1783
1787
  return () => {};
1784
1788
  }
1785
- function onResize(e) {
1786
- const viewport = e.target;
1787
- setViewportSize({
1788
- width: viewport.width,
1789
- height: viewport.height
1790
- });
1789
+ function updateViewport(e) {
1790
+ setViewport(e.target);
1791
1791
  }
1792
- setViewportSize({
1793
- width: window.visualViewport.width,
1794
- height: window.visualViewport.height
1795
- });
1796
- window.visualViewport.addEventListener('resize', onResize);
1792
+ setViewport(window.visualViewport);
1793
+ window.visualViewport.addEventListener('resize', updateViewport);
1794
+ window.visualViewport.addEventListener('scroll', updateViewport);
1797
1795
  return () => {
1798
- window.visualViewport.removeEventListener('resize', onResize);
1796
+ window.visualViewport.removeEventListener('resize', updateViewport);
1797
+ window.visualViewport.addEventListener('scroll', updateViewport);
1799
1798
  };
1800
- }, [setViewportSize]);
1799
+ }, [setViewport]);
1801
1800
  return {
1802
1801
  width: viewportWidth || windowWidth,
1803
- height: viewportHeight || windowHeight
1802
+ height: viewportHeight || windowHeight,
1803
+ offsetTop,
1804
+ offsetLeft,
1805
+ pageLeft,
1806
+ pageTop
1804
1807
  };
1805
- };
1806
- var useVisualViewportSize$1 = useVisualViewportSize;
1808
+ }
1807
1809
 
1808
1810
  const getWindowScroll = () => ({
1809
1811
  x: typeof window !== 'undefined' ? window.scrollX || 0 : 0,
@@ -1854,7 +1856,8 @@ exports.usePlayerCurrentTime = usePlayerCurrentTime;
1854
1856
  exports.useResizeObserver = useResizeObserver;
1855
1857
  exports.useVideoPlayer = useVideoPlayer;
1856
1858
  exports.useVimeoPlayer = useVimeoPlayer;
1857
- exports.useVisualViewportSize = useVisualViewportSize$1;
1859
+ exports.useVisualViewport = useVisualViewport;
1860
+ exports.useVisualViewportSize = useVisualViewport;
1858
1861
  exports.useWindowEvent = useWindowEvent;
1859
1862
  exports.useWindowScroll = useWindowScroll;
1860
1863
  exports.useWindowSize = useWindowSize;
package/dist/es.js CHANGED
@@ -1755,44 +1755,46 @@ function useWindowSize() {
1755
1755
  return size;
1756
1756
  }
1757
1757
 
1758
- const useVisualViewportSize = () => {
1758
+ function useVisualViewport() {
1759
1759
  const {
1760
1760
  width: windowWidth,
1761
1761
  height: windowHeight
1762
1762
  } = useWindowSize();
1763
1763
  const [{
1764
1764
  width: viewportWidth,
1765
- height: viewportHeight
1766
- }, setViewportSize] = useState({
1765
+ height: viewportHeight,
1766
+ offsetTop = 0,
1767
+ offsetLeft = 0,
1768
+ pageLeft = 0,
1769
+ pageTop = 0
1770
+ }, setViewport] = useState({
1767
1771
  width: windowWidth,
1768
1772
  height: windowHeight
1769
1773
  });
1770
1774
  useEffect(() => {
1771
- if (!typeof window !== 'undefined' && (window.visualViewport || null) !== null) {
1775
+ if (typeof window === 'undefined' || (window.visualViewport || null) === null) {
1772
1776
  return () => {};
1773
1777
  }
1774
- function onResize(e) {
1775
- const viewport = e.target;
1776
- setViewportSize({
1777
- width: viewport.width,
1778
- height: viewport.height
1779
- });
1778
+ function updateViewport(e) {
1779
+ setViewport(e.target);
1780
1780
  }
1781
- setViewportSize({
1782
- width: window.visualViewport.width,
1783
- height: window.visualViewport.height
1784
- });
1785
- window.visualViewport.addEventListener('resize', onResize);
1781
+ setViewport(window.visualViewport);
1782
+ window.visualViewport.addEventListener('resize', updateViewport);
1783
+ window.visualViewport.addEventListener('scroll', updateViewport);
1786
1784
  return () => {
1787
- window.visualViewport.removeEventListener('resize', onResize);
1785
+ window.visualViewport.removeEventListener('resize', updateViewport);
1786
+ window.visualViewport.addEventListener('scroll', updateViewport);
1788
1787
  };
1789
- }, [setViewportSize]);
1788
+ }, [setViewport]);
1790
1789
  return {
1791
1790
  width: viewportWidth || windowWidth,
1792
- height: viewportHeight || windowHeight
1791
+ height: viewportHeight || windowHeight,
1792
+ offsetTop,
1793
+ offsetLeft,
1794
+ pageLeft,
1795
+ pageTop
1793
1796
  };
1794
- };
1795
- var useVisualViewportSize$1 = useVisualViewportSize;
1797
+ }
1796
1798
 
1797
1799
  const getWindowScroll = () => ({
1798
1800
  x: typeof window !== 'undefined' ? window.scrollX || 0 : 0,
@@ -1828,4 +1830,4 @@ function useWindowScroll() {
1828
1830
  return scroll;
1829
1831
  }
1830
1832
 
1831
- export { eventsManager$1 as documentEventsManager, getObserver, useCounter, useDailymotionPlayer, useDocumentEvent, useIntersectionObserver, useIsVisible, useItemsPaginated, useKeyboard, useNativeVideoPlayer, useObserver, usePlayerCurrentTime, useResizeObserver, useVideoPlayer, useVimeoPlayer, useVisualViewportSize$1 as useVisualViewportSize, useWindowEvent, useWindowScroll, useWindowSize, useYouTubePlayer, eventsManager as windowEventsManager };
1833
+ export { eventsManager$1 as documentEventsManager, getObserver, useCounter, useDailymotionPlayer, useDocumentEvent, useIntersectionObserver, useIsVisible, useItemsPaginated, useKeyboard, useNativeVideoPlayer, useObserver, usePlayerCurrentTime, useResizeObserver, useVideoPlayer, useVimeoPlayer, useVisualViewport, useVisualViewport as useVisualViewportSize, useWindowEvent, useWindowScroll, useWindowSize, useYouTubePlayer, eventsManager as windowEventsManager };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@folklore/hooks",
3
- "version": "0.0.59",
3
+ "version": "0.0.61",
4
4
  "description": "React hooks",
5
5
  "keywords": [
6
6
  "javascript",
@@ -49,7 +49,7 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "c054f8aebebb312df15dbd87158516bbc750855f",
52
+ "gitHead": "0a8b9c477678635f7c9c774eac2fea657e723425",
53
53
  "dependencies": {
54
54
  "@folklore/events": "^0.0.5",
55
55
  "@folklore/services": "^0.1.40",