@folklore/hooks 0.0.58 → 0.0.60

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