Socket
Socket
Sign inDemoInstall

react-resize-detector

Package Overview
Dependencies
Maintainers
1
Versions
117
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-resize-detector - npm Package Compare versions

Comparing version 8.1.0 to 9.0.0

48

build/index.esm.js

@@ -1,2 +0,2 @@

import React,{cloneElement,isValidElement,createRef,PureComponent,Component,forwardRef,useRef,useState,useEffect,useLayoutEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/*! *****************************************************************************
import React,{cloneElement,isValidElement,createRef,PureComponent,Component,forwardRef,useRef,useState,useCallback,useEffect}from'react';import {findDOMNode}from'react-dom';import debounce from'lodash/debounce';import throttle from'lodash/throttle';/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

@@ -262,9 +262,5 @@

return forwardRef(forwardRefWrapper);
}var useEnhancedEffect = isSSR() ? useEffect : useLayoutEffect;
function useResizeDetector(_a) {
}function useResizeDetector(_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;
var skipResize = useRef(skipOnMount);
var localRef = useRef(null);
var resizeHandler = useRef();
var ref = targetRef !== null && targetRef !== void 0 ? targetRef : localRef;
var _g = useState({

@@ -274,5 +270,35 @@ width: undefined,

}), size = _g[0], setSize = _g[1];
useEnhancedEffect(function () {
// we are going to use this ref to store the last element that was passed to the hook
var _h = useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];
// if targetRef is passed, we need to update the refElement
// we have to use setTimeout because ref get assigned after the hook is called
// in the future releases we are going to remove targetRef and force users to use ref returned by the hook
if (targetRef) {
setTimeout(function () {
if (targetRef.current !== refElement) {
setRefElement(targetRef.current);
}
}, 0);
}
// this is a callback that will be called every time the ref is changed
// we call setState inside to trigger rerender
var onRefChange = useCallback(function (node) {
setRefElement(node);
}, []);
// adding `current` to make it compatible with useRef shape
onRefChange.current = refElement;
var resizeHandler = useRef();
useEffect(function () {
return function () {
setRefElement(null);
onRefChange.current = null;
};
}, []);
useEffect(function () {
if (!handleWidth && !handleHeight)
return;
if (!refElement && (size.width || size.height)) {
setSize({ width: undefined, height: undefined });
return;
}
var notifyResize = createNotifier(setSize, handleWidth, handleHeight);

@@ -293,4 +319,4 @@ var resizeCallback = function (entries) {

var resizeObserver = new window.ResizeObserver(resizeHandler.current);
if (ref.current) {
resizeObserver.observe(ref.current, observerOptions);
if (refElement) {
resizeObserver.observe(refElement, observerOptions);
}

@@ -302,7 +328,7 @@ return function () {

};
}, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, observerOptions, ref.current]);
}, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, observerOptions, refElement]);
useEffect(function () {
onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);
}, [size]);
return __assign({ ref: ref }, size);
return __assign({ ref: onRefChange }, size);
}export{ResizeDetector as default,useResizeDetector,withResizeDetector};//# sourceMappingURL=index.esm.js.map

@@ -262,9 +262,5 @@ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var React=require('react'),reactDom=require('react-dom'),debounce=require('lodash/debounce'),throttle=require('lodash/throttle');/*! *****************************************************************************

return React.forwardRef(forwardRefWrapper);
}var useEnhancedEffect = isSSR() ? React.useEffect : React.useLayoutEffect;
function useResizeDetector(_a) {
}function useResizeDetector(_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.skipOnMount, skipOnMount = _c === void 0 ? false : _c, refreshMode = _b.refreshMode, _d = _b.refreshRate, refreshRate = _d === void 0 ? 1000 : _d, refreshOptions = _b.refreshOptions, _e = _b.handleWidth, handleWidth = _e === void 0 ? true : _e, _f = _b.handleHeight, handleHeight = _f === void 0 ? true : _f, targetRef = _b.targetRef, observerOptions = _b.observerOptions, onResize = _b.onResize;
var skipResize = React.useRef(skipOnMount);
var localRef = React.useRef(null);
var resizeHandler = React.useRef();
var ref = targetRef !== null && targetRef !== void 0 ? targetRef : localRef;
var _g = React.useState({

@@ -274,5 +270,35 @@ width: undefined,

}), size = _g[0], setSize = _g[1];
useEnhancedEffect(function () {
// we are going to use this ref to store the last element that was passed to the hook
var _h = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null), refElement = _h[0], setRefElement = _h[1];
// if targetRef is passed, we need to update the refElement
// we have to use setTimeout because ref get assigned after the hook is called
// in the future releases we are going to remove targetRef and force users to use ref returned by the hook
if (targetRef) {
setTimeout(function () {
if (targetRef.current !== refElement) {
setRefElement(targetRef.current);
}
}, 0);
}
// this is a callback that will be called every time the ref is changed
// we call setState inside to trigger rerender
var onRefChange = React.useCallback(function (node) {
setRefElement(node);
}, []);
// adding `current` to make it compatible with useRef shape
onRefChange.current = refElement;
var resizeHandler = React.useRef();
React.useEffect(function () {
return function () {
setRefElement(null);
onRefChange.current = null;
};
}, []);
React.useEffect(function () {
if (!handleWidth && !handleHeight)
return;
if (!refElement && (size.width || size.height)) {
setSize({ width: undefined, height: undefined });
return;
}
var notifyResize = createNotifier(setSize, handleWidth, handleHeight);

@@ -293,4 +319,4 @@ var resizeCallback = function (entries) {

var resizeObserver = new window.ResizeObserver(resizeHandler.current);
if (ref.current) {
resizeObserver.observe(ref.current, observerOptions);
if (refElement) {
resizeObserver.observe(refElement, observerOptions);
}

@@ -302,7 +328,7 @@ return function () {

};
}, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, observerOptions, ref.current]);
}, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, observerOptions, refElement]);
React.useEffect(function () {
onResize === null || onResize === void 0 ? void 0 : onResize(size.width, size.height);
}, [size]);
return __assign({ ref: ref }, size);
return __assign({ ref: onRefChange }, size);
}exports.default=ResizeDetector;exports.useResizeDetector=useResizeDetector;exports.withResizeDetector=withResizeDetector;//# sourceMappingURL=index.js.map
import ResizeDetector from './ResizeDetector';
import withResizeDetector from './withResizeDetector';
import useResizeDetector, { UseResizeDetectorReturn } from './useResizeDetector';
export { withResizeDetector, useResizeDetector, UseResizeDetectorReturn };
export type { ResizeDetectorProps } from './types';
export type { useResizeDetectorProps } from './useResizeDetector';
import useResizeDetector from './useResizeDetector';
export { withResizeDetector, useResizeDetector };
export type { ResizeDetectorProps, UseResizeDetectorReturn, useResizeDetectorProps } from './types';
export default ResizeDetector;
import { ReactNode, RefObject } from 'react';
import type { MutableRefObject } from 'react';
export type ReactResizeDetectorDimensions = {

@@ -101,1 +102,11 @@ height?: number;

};
export type OnRefChangeType<T = any> = {
(node: T | null): void;
current?: T | null;
};
export interface UseResizeDetectorReturn<T> extends ReactResizeDetectorDimensions {
ref: OnRefChangeType<T>;
}
export interface useResizeDetectorProps<T extends HTMLElement> extends Props {
targetRef?: MutableRefObject<T | null>;
}

@@ -1,10 +0,3 @@

import type { MutableRefObject } from 'react';
import type { Props, ReactResizeDetectorDimensions } from './types';
export interface useResizeDetectorProps<T extends HTMLElement> extends Props {
targetRef?: MutableRefObject<T | null>;
}
import type { UseResizeDetectorReturn, useResizeDetectorProps } from './types';
declare function useResizeDetector<T extends HTMLElement = any>({ skipOnMount, refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, targetRef, observerOptions, onResize }?: useResizeDetectorProps<T>): UseResizeDetectorReturn<T>;
export default useResizeDetector;
export interface UseResizeDetectorReturn<T> extends ReactResizeDetectorDimensions {
ref: MutableRefObject<T | null>;
}
{
"name": "react-resize-detector",
"version": "8.1.0",
"version": "9.0.0",
"description": "React resize detector",

@@ -5,0 +5,0 @@ "main": "build/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc