Socket
Socket
Sign inDemoInstall

@shopify/react-hooks

Package Overview
Dependencies
Maintainers
19
Versions
98
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shopify/react-hooks - npm Package Compare versions

Comparing version 1.13.1 to 2.0.0

LICENSE.md

53

build/cjs/hooks/debounced.js

@@ -1,37 +0,16 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDebouncedValue = useDebouncedValue;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var DEFAULT_DELAY = 500;
function useDebouncedValue(value) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
timeoutMs: DEFAULT_DELAY
},
timeoutMs = _ref.timeoutMs;
var _useState = (0, _react.useState)(value),
_useState2 = _slicedToArray(_useState, 2),
state = _useState2[0],
setState = _useState2[1];
var stateRef = (0, _react.useRef)(state);
(0, _react.useEffect)(function () {
const DEFAULT_DELAY = 500;
function useDebouncedValue(value, {
timeoutMs
} = {
timeoutMs: DEFAULT_DELAY
}) {
const [state, setState] = React.useState(value);
const stateRef = React.useRef(state);
React.useEffect(() => {
if (stateRef.current === value) {

@@ -41,7 +20,7 @@ return;

var timeout = setTimeout(function () {
const timeout = setTimeout(() => {
stateRef.current = value;
setState(value);
}, timeoutMs);
return function () {
return () => {
clearTimeout(timeout);

@@ -51,2 +30,4 @@ };

return state;
}
}
exports.useDebouncedValue = useDebouncedValue;

@@ -1,14 +0,11 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDelayedCallback = useDelayedCallback;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function useDelayedCallback(callback, delay) {
var timeoutRef = (0, _react.useRef)();
(0, _react.useEffect)(function () {
return function () {
const timeoutRef = React.useRef();
React.useEffect(() => {
return () => {
if (timeoutRef.current != null) {

@@ -21,3 +18,3 @@ clearTimeout(timeoutRef.current);

function callbackWithDelay() {
var timeoutId = setTimeout(function () {
const timeoutId = setTimeout(() => {
callback();

@@ -30,2 +27,4 @@ timeoutRef.current = undefined;

return callbackWithDelay;
}
}
exports.useDelayedCallback = useDelayedCallback;

@@ -1,30 +0,12 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useForceUpdate = useForceUpdate;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function useForceUpdate() {
var _useState = (0, _react.useState)({}),
_useState2 = _slicedToArray(_useState, 2),
setState = _useState2[1];
const [, setState] = React.useState({});
return React.useCallback(() => setState({}), []);
}
return (0, _react.useCallback)(function () {
return setState({});
}, []);
}
exports.useForceUpdate = useForceUpdate;

@@ -1,12 +0,8 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useInterval = useInterval;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
var isomorphicLayoutEffect = require('./isomorphic-layout-effect.js');
var _isomorphicLayoutEffect = require("./isomorphic-layout-effect.js");
// Adapted from https://overreacted.io/making-setinterval-declarative-with-react-hooks

@@ -18,8 +14,8 @@ // Also available at https://github.com/gaearon/overreacted.io/blob/master/src/pages/making-setinterval-declarative-with-react-hooks/index.md

function useInterval(callback, delay) {
var savedCallback = (0, _react.useRef)(callback); // Need to use a layout effect to force the saved callback to be synchronously updated during a commit
const savedCallback = React.useRef(callback); // Need to use a layout effect to force the saved callback to be synchronously updated during a commit
(0, _isomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
isomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
savedCallback.current = callback;
}, [callback]);
(0, _react.useEffect)(function () {
React.useEffect(() => {
function tick() {

@@ -30,8 +26,8 @@ savedCallback.current();

if (delay !== null) {
var id = setInterval(tick, delay);
return function () {
return clearInterval(id);
};
const id = setInterval(tick, delay);
return () => clearInterval(id);
}
}, [delay]);
}
}
exports.useInterval = useInterval;

@@ -1,12 +0,8 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useIsomorphicLayoutEffect = void 0;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js
var canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
const canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
/**

@@ -16,3 +12,4 @@ * A hook that resolves to useEffect on the server and useLayoutEffect on the client

var useIsomorphicLayoutEffect = canUseDOM ? _react.useLayoutEffect : _react.useEffect;
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
const useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;
exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;

@@ -1,29 +0,13 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useLazyRef = useLazyRef;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function useLazyRef(getValue) {
var _useState = (0, _react.useState)(getValue),
_useState2 = _slicedToArray(_useState, 1),
value = _useState2[0];
const [value] = React.useState(getValue);
const ref = React.useRef(value);
return ref;
}
var ref = (0, _react.useRef)(value);
return ref;
}
exports.useLazyRef = useLazyRef;

@@ -1,30 +0,11 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMediaLayout = exports.useMedia = void 0;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function createUseMediaFactory(useEffectHook) {
return function (query) {
var _useState = (0, _react.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
match = _useState2[0],
setMatch = _useState2[1];
useEffectHook(function () {
return query => {
const [match, setMatch] = React.useState(false);
useEffectHook(() => {
if (!window || !window.matchMedia) {

@@ -34,11 +15,9 @@ return;

var matchMedia = window.matchMedia(query);
const matchMedia = window.matchMedia(query);
var updateMatch = function updateMatch(event) {
return setMatch(event.matches);
};
const updateMatch = event => setMatch(event.matches);
setMatch(matchMedia.matches);
matchMedia.addListener(updateMatch);
return function () {
return () => {
matchMedia.removeListener(updateMatch);

@@ -51,5 +30,6 @@ };

var useMedia = createUseMediaFactory(_react.useEffect);
const useMedia = createUseMediaFactory(React.useEffect);
const useMediaLayout = createUseMediaFactory(React.useLayoutEffect);
exports.useMedia = useMedia;
var useMediaLayout = createUseMediaFactory(_react.useLayoutEffect);
exports.useMediaLayout = useMediaLayout;
exports.useMediaLayout = useMediaLayout;

@@ -1,14 +0,11 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useMountedRef = useMountedRef;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function useMountedRef() {
var mounted = (0, _react.useRef)(true);
(0, _react.useEffect)(function () {
return function () {
const mounted = React.useRef(true);
React.useEffect(() => {
return () => {
mounted.current = false;

@@ -18,2 +15,4 @@ };

return mounted;
}
}
exports.useMountedRef = useMountedRef;

@@ -1,22 +0,16 @@

"use strict";
'use strict';
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
Object.defineProperty(exports, '__esModule', { value: true });
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useOnValueChange = useOnValueChange;
var React = require('react');
var _react = _interopRequireWildcard(require("react"));
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function useOnValueChange(value, onChange) {
var tracked = _react["default"].useRef(value);
const tracked = React__default['default'].useRef(value);
React.useEffect(() => {
const oldValue = tracked.current;
(0, _react.useEffect)(function () {
var oldValue = tracked.current;
if (value !== tracked.current) {

@@ -27,2 +21,4 @@ tracked.current = value;

}, [value, onChange]);
}
}
exports.useOnValueChange = useOnValueChange;

@@ -1,16 +0,15 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.usePrevious = usePrevious;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function usePrevious(value) {
var ref = (0, _react.useRef)();
(0, _react.useEffect)(function () {
const ref = React.useRef();
React.useEffect(() => {
ref.current = value;
}, [value]);
return ref.current;
}
}
exports.usePrevious = usePrevious;

@@ -1,19 +0,15 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTimeout = useTimeout;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
var isomorphicLayoutEffect = require('./isomorphic-layout-effect.js');
var _isomorphicLayoutEffect = require("./isomorphic-layout-effect.js");
function useTimeout(callback, delay) {
var savedCallback = (0, _react.useRef)(callback); // Need to use a layout effect to force the saved callback to be synchronously updated during a commit
const savedCallback = React.useRef(callback); // Need to use a layout effect to force the saved callback to be synchronously updated during a commit
(0, _isomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
isomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
savedCallback.current = callback;
}, [callback]);
(0, _react.useEffect)(function () {
React.useEffect(() => {
function tick() {

@@ -24,8 +20,8 @@ savedCallback.current();

if (delay !== null) {
var id = setTimeout(tick, delay);
return function () {
return clearTimeout(id);
};
const id = setTimeout(tick, delay);
return () => clearTimeout(id);
}
}, [delay]);
}
}
exports.useTimeout = useTimeout;

@@ -1,22 +0,7 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useToggle = useToggle;
Object.defineProperty(exports, '__esModule', { value: true });
var _react = require("react");
var React = require('react');
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
/**

@@ -26,22 +11,13 @@ * Returns a stateful value, and a set of memoized functions to toggle it,

*/
function useToggle(initialState) {
var _useState = (0, _react.useState)(initialState),
_useState2 = _slicedToArray(_useState, 2),
value = _useState2[0],
setState = _useState2[1];
const [value, setState] = React.useState(initialState);
return {
value: value,
toggle: (0, _react.useCallback)(function () {
return setState(function (state) {
return !state;
});
}, []),
setTrue: (0, _react.useCallback)(function () {
return setState(true);
}, []),
setFalse: (0, _react.useCallback)(function () {
return setState(false);
}, [])
value,
toggle: React.useCallback(() => setState(state => !state), []),
setTrue: React.useCallback(() => setState(true), []),
setFalse: React.useCallback(() => setState(false), [])
};
}
}
exports.useToggle = useToggle;

@@ -1,17 +0,32 @@

"use strict";
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, '__esModule', { value: true });
var _index = require("./hooks/index.js");
var debounced = require('./hooks/debounced.js');
var interval = require('./hooks/interval.js');
var lazyRef = require('./hooks/lazy-ref.js');
var media = require('./hooks/media.js');
var mountedRef = require('./hooks/mounted-ref.js');
var onValueChange = require('./hooks/on-value-change.js');
var previous = require('./hooks/previous.js');
var timeout = require('./hooks/timeout.js');
var toggle = require('./hooks/toggle.js');
var forceUpdate = require('./hooks/force-update.js');
var delayedCallback = require('./hooks/delayed-callback.js');
var isomorphicLayoutEffect = require('./hooks/isomorphic-layout-effect.js');
Object.keys(_index).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _index[key];
}
});
});
exports.useDebouncedValue = debounced.useDebouncedValue;
exports.useInterval = interval.useInterval;
exports.useLazyRef = lazyRef.useLazyRef;
exports.useMedia = media.useMedia;
exports.useMediaLayout = media.useMediaLayout;
exports.useMountedRef = mountedRef.useMountedRef;
exports.useOnValueChange = onValueChange.useOnValueChange;
exports.usePrevious = previous.usePrevious;
exports.useTimeout = timeout.useTimeout;
exports.useToggle = toggle.useToggle;
exports.useForceUpdate = forceUpdate.useForceUpdate;
exports.useDelayedCallback = delayedCallback.useDelayedCallback;
exports.useIsomorphicLayoutEffect = isomorphicLayoutEffect.useIsomorphicLayoutEffect;

@@ -10,2 +10,8 @@ # Changelog

## 2.0.0 - 2021-05-21
### Breaking Change
- Update minimum supported node version to 12.14.0. Add engines field to help enforce usage of this version. [#1906](https://github.com/Shopify/quilt/pull/1906)
## 1.13.1 - 2021-04-13

@@ -12,0 +18,0 @@

{
"name": "@shopify/react-hooks",
"version": "1.13.1",
"version": "2.0.0",
"license": "MIT",

@@ -26,2 +26,5 @@ "description": "A collection of primitive React hooks",

"homepage": "https://github.com/Shopify/quilt/blob/main/packages/react-hooks/README.md",
"engines": {
"node": ">=12.14.0"
},
"files": [

@@ -44,3 +47,4 @@ "build/*",

}
}
},
"gitHead": "40de4af181104f298cbab42d2d3d68e228a9a31a"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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