Socket
Socket
Sign inDemoInstall

@reach/utils

Package Overview
Dependencies
0
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.7.2 to 0.7.3

README.md

42

dist/index.d.ts

@@ -19,4 +19,7 @@ import { useLayoutEffect } from "react";

export declare function assignRef<T = any>(ref: AssignableRef<T>, value: any): void;
export declare function boolOrBoolString(value: any): boolean;
export declare function canUseDOM(): boolean;
export declare function cloneValidElement<P>(element: React.ReactElement<P> | React.ReactNode, props?: Partial<P> & React.Attributes, ...children: React.ReactNode[]): React.ReactElement<P> | React.ReactNode;
export declare function createNamedContext<T>(name: string, defaultValue: T): React.Context<T>;
export declare function findLastIndex<T = any>(array: T[], predicate: (element: T, index?: number, arr?: T[]) => boolean): number;
/**

@@ -31,3 +34,3 @@ * Get the scrollbar offset distance.

*/
export declare function makeId(...args: (string | number)[]): string;
export declare function makeId(...args: (string | number | null | undefined)[]): string;
/**

@@ -88,3 +91,10 @@ * No-op function.

/**
* This is a hack to stop TS errors from dynamic components with an `as` prop
* This is a hack for sure. The thing is, getting a component to intelligently
* infer props based on a component or JSX string passed into an `as` prop is
* kind of a huge pain. Getting it to work and satisfy the contraints of
* `forwardRef` seems dang near impossible. To avoid needing to do this awkward
* type song-and-dance every time we want to forward a ref into a component
* that accepts an `as` prop, we abstract all of that mess to this function for
* the time time being.
*
* TODO: Eventually we should probably just try to get the type defs above

@@ -95,10 +105,13 @@ * working across the board, but ain't nobody got time for that mess!

*/
export declare function forwardRefWithAs<T extends As, P>(Comp: (props: PropsFromAs<T, P>, ref: React.RefObject<any>) => JSX.Element): ComponentWithAs<T, P>;
export declare function forwardRefWithAs<T extends As, P>(comp: (props: PropsFromAs<T, P>, ref: React.RefObject<any>) => JSX.Element): ComponentWithAs<T, P>;
export { As, AssignableRef, ComponentWithAs, ComponentWithForwardedRef, PropsFromAs, PropsWithAs };
declare type DescendantElement<T = HTMLElement> = T extends HTMLElement ? T : HTMLElement;
declare type Descendant<T> = {
element: DescendantElement<T>;
key?: string | number | null;
disabled?: boolean;
export declare type Descendant<T, P = {}> = P & {
element: (T extends HTMLElement ? T : HTMLElement) | null;
};
export interface IDescendantContext<T, P> {
descendants: Descendant<T, P>[];
registerDescendant(descendant: Descendant<T, P>): void;
unregisterDescendant(element: (T extends HTMLElement ? T : HTMLElement) | null): void;
}
export declare function createDescendantContext<T, P = {}>(name: string, initialValue?: {}): React.Context<IDescendantContext<T, P>>;
/**

@@ -127,8 +140,11 @@ * This hook registers our descendant by passing it into an array. We can then

*/
export declare function useDescendant<T>({ element, key, disabled }: Descendant<T>, indexProp?: number): number;
export declare function useDescendants<T>(): [Descendant<T>[], React.Dispatch<React.SetStateAction<Descendant<T>[]>>];
export declare function DescendantProvider<T>({ children, descendants, setDescendants }: {
export declare function useDescendant<T, P>({ context, element, ...rest }: Descendant<T, P> & {
context: React.Context<IDescendantContext<T, P>>;
}, indexProp?: number): number;
export declare function useDescendants<T, P = {}>(): [Descendant<T, P>[], React.Dispatch<React.SetStateAction<Descendant<T, P>[]>>];
export declare function DescendantProvider<T, P>({ context: Ctx, children, items, set }: {
context: React.Context<IDescendantContext<T, P>>;
children: React.ReactNode;
descendants: Descendant<T>[];
setDescendants: React.Dispatch<React.SetStateAction<Descendant<T>[]>>;
items: Descendant<T, P>[];
set: React.Dispatch<React.SetStateAction<Descendant<T, P>[]>>;
}): JSX.Element;

@@ -13,5 +13,3 @@ import * as React from "react";

export interface ComponentWithAs<T extends As, P> {
<TT extends As>(props: PropsWithAs<TT, P> & {
as: TT;
}): JSX.Element;
<TT extends As>(props: PropsWithAs<TT, P>): JSX.Element;
(props: PropsWithAs<T, P>): JSX.Element;

@@ -18,0 +16,0 @@ displayName?: string;

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }

@@ -55,2 +53,5 @@

}
function boolOrBoolString(value) {
return value === "false" ? false : Boolean(value);
}
function canUseDOM() {

@@ -72,2 +73,28 @@ return typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";

}
function createNamedContext(name, defaultValue) {
var Ctx = React.createContext(defaultValue);
Ctx.displayName = name;
return Ctx;
}
function findLastIndex(array, predicate) {
var length = array.length >>> 0;
if (!length) {
return -1;
}
var n = length - 1;
while (n >= 0) {
var value = array[n];
if (predicate(value, n, array)) {
return n;
}
--n;
}
return -1;
}
/**

@@ -99,3 +126,5 @@ * Get the scrollbar offset distance.

return args.join("--");
return args.filter(function (val) {
return val != null;
}).join("--");
}

@@ -209,3 +238,10 @@ /**

/**
* This is a hack to stop TS errors from dynamic components with an `as` prop
* This is a hack for sure. The thing is, getting a component to intelligently
* infer props based on a component or JSX string passed into an `as` prop is
* kind of a huge pain. Getting it to work and satisfy the contraints of
* `forwardRef` seems dang near impossible. To avoid needing to do this awkward
* type song-and-dance every time we want to forward a ref into a component
* that accepts an `as` prop, we abstract all of that mess to this function for
* the time time being.
*
* TODO: Eventually we should probably just try to get the type defs above

@@ -217,14 +253,16 @@ * working across the board, but ain't nobody got time for that mess!

function forwardRefWithAs(Comp) {
return React__default.forwardRef(Comp);
function forwardRefWithAs(comp) {
return React__default.forwardRef(comp);
}
var DescendantContext =
/*#__PURE__*/
React.createContext({});
function createDescendantContext(name, initialValue) {
if (initialValue === void 0) {
initialValue = {};
}
function useDescendantContext() {
return React.useContext(DescendantContext);
} ////////////////////////////////////////////////////////////////////////////////
// TODO: Move to @reach/descendants once fully tested and implemented
return createNamedContext(name, tslib.__assign({
descendants: [],
registerDescendant: noop,
unregisterDescendant: noop
}, initialValue));
}
/**

@@ -254,7 +292,6 @@ * This hook registers our descendant by passing it into an array. We can then

function useDescendant(_a, indexProp) {
var element = _a.element,
key = _a.key,
disabled = _a.disabled;
var context = _a.context,
element = _a.element,
rest = tslib.__rest(_a, ["context", "element"]);

@@ -264,3 +301,3 @@ var _b = React.useState(),

var _c = useDescendantContext(),
var _c = React.useContext(context),
registerDescendant = _c.registerDescendant,

@@ -272,12 +309,11 @@ unregisterDescendant = _c.unregisterDescendant,

useIsomorphicLayoutEffect(function () {
if (!element) forceUpdate({});
registerDescendant({
element: element,
key: key,
disabled: disabled
});
if (!element) forceUpdate({}); // @ts-ignore
registerDescendant(tslib.__assign({
element: element
}, rest));
return function () {
return unregisterDescendant(element);
};
}, [element, key, disabled]);
}, tslib.__spreadArrays([element], Object.values(rest)));
return indexProp !== null && indexProp !== void 0 ? indexProp : descendants.findIndex(function (_a) {

@@ -292,9 +328,9 @@ var _el = _a.element;

function DescendantProvider(_a) {
var children = _a.children,
descendants = _a.descendants,
setDescendants = _a.setDescendants;
var Ctx = _a.context,
children = _a.children,
items = _a.items,
set = _a.set;
var registerDescendant = React__default.useCallback(function (_a) {
var disabled = _a.disabled,
element = _a.element,
providedKey = _a.key;
var element = _a.element,
rest = tslib.__rest(_a, ["element"]);

@@ -305,3 +341,3 @@ if (!element) {

setDescendants(function (items) {
set(function (items) {
if (items.find(function (_a) {

@@ -311,3 +347,2 @@ var _el = _a.element;

}) == null) {
var key = providedKey !== null && providedKey !== void 0 ? providedKey : element.textContent;
/*

@@ -327,3 +362,2 @@ * When registering a descendant, we need to make sure we insert in

*/
var index = items.findIndex(function (_a) {

@@ -345,8 +379,8 @@ var existingElement = _a.element;

});
var newItem = {
disabled: disabled,
element: element,
key: key
}; // If an index is not found we will push the element to the end.
var newItem = tslib.__assign({
element: element
}, rest); // If an index is not found we will push the element to the end.
if (index === -1) {

@@ -374,3 +408,3 @@ return tslib.__spreadArrays(items, [newItem]);

setDescendants(function (items) {
set(function (items) {
return items.filter(function (_a) {

@@ -388,19 +422,17 @@ var _el = _a.element;

// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
var focusNodes = descendants.filter(function (_a) {
var disabled = _a.disabled;
return !disabled;
}).map(function (_a) {
var element = _a.element;
return element;
});
[]); // Not sure about this just yet, may bail on this and let components deal
/* let focusNodes = descendants
.filter(({ disabled }) => !disabled)
.map(({ element }) => element); */
// @ts-ignore
var value = React.useMemo(function () {
return {
descendants: descendants,
focusNodes: focusNodes,
descendants: items,
registerDescendant: registerDescendant,
unregisterDescendant: unregisterDescendant
};
}, [descendants, focusNodes, registerDescendant, unregisterDescendant]);
return React__default.createElement(DescendantContext.Provider, {
}, [items, registerDescendant, unregisterDescendant]);
return React__default.createElement(Ctx.Provider, {
value: value

@@ -412,4 +444,8 @@ }, children);

exports.assignRef = assignRef;
exports.boolOrBoolString = boolOrBoolString;
exports.canUseDOM = canUseDOM;
exports.cloneValidElement = cloneValidElement;
exports.createDescendantContext = createDescendantContext;
exports.createNamedContext = createNamedContext;
exports.findLastIndex = findLastIndex;
exports.forwardRefWithAs = forwardRefWithAs;

@@ -416,0 +452,0 @@ exports.getScrollbarOffset = getScrollbarOffset;

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

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,n=require("tslib"),t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function u(e,n){if(null!=e)if("function"==typeof e)e(n);else try{e.current=n}catch(t){throw new Error('Cannot assign value "'+n+'" to ref "'+e+'"')}}function o(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement}var i=o()?t.useLayoutEffect:t.useEffect,c=t.createContext({});exports.DescendantProvider=function(e){var u=e.children,o=e.descendants,i=e.setDescendants,s=r.useCallback((function(e){var t=e.disabled,r=e.element,u=e.key;r&&i((function(e){if(null==e.find((function(e){return e.element===r}))){var o=null!=u?u:r.textContent,i=e.findIndex((function(e){var n=e.element;return!(!n||!r)&&Boolean(n.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING)})),c={disabled:t,element:r,key:o};return-1===i?n.__spreadArrays(e,[c]):n.__spreadArrays(e.slice(0,i),[c],e.slice(i))}return e}))}),[]),f=t.useCallback((function(e){e&&i((function(n){return n.filter((function(n){return e!==n.element}))}))}),[]),a=o.filter((function(e){return!e.disabled})).map((function(e){return e.element})),d=t.useMemo((function(){return{descendants:o,focusNodes:a,registerDescendant:s,unregisterDescendant:f}}),[o,a,s,f]);return r.createElement(c.Provider,{value:d},u)},exports.assignRef=u,exports.canUseDOM=o,exports.checkStyles=function(e){},exports.cloneValidElement=function(e,r){for(var u=[],o=2;o<arguments.length;o++)u[o-2]=arguments[o];return t.isValidElement(e)?t.cloneElement.apply(void 0,n.__spreadArrays([e,r],u)):e},exports.forwardRefWithAs=function(e){return r.forwardRef(e)},exports.getScrollbarOffset=function(){try{if(window.innerWidth>document.documentElement.clientWidth)return window.innerWidth-document.documentElement.clientWidth}catch(e){}return 0},exports.makeId=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.join("--")},exports.noop=function(){},exports.useDescendant=function(e,n){var r=e.element,u=e.key,o=e.disabled,s=t.useState()[1],f=t.useContext(c),a=f.registerDescendant,d=f.unregisterDescendant,l=f.descendants;return i((function(){return r||s({}),a({element:r,key:u,disabled:o}),function(){return d(r)}}),[r,u,o]),null!=n?n:l.findIndex((function(e){return e.element===r}))},exports.useDescendants=function(){return t.useState([])},exports.useForkedRef=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.useMemo((function(){return e.every((function(e){return null==e}))?null:function(n){e.forEach((function(e){u(e,n)}))}}),e)},exports.useIsomorphicLayoutEffect=i,exports.usePrevious=function(e){var n=t.useRef(null);return t.useEffect((function(){n.current=e}),[e]),n.current},exports.useUpdateEffect=function(e,n){var r=t.useRef(!1);t.useEffect((function(){r.current?e():r.current=!0}),n)},exports.wrapEvent=function(e,n){return function(t){if(e&&e(t),!t.defaultPrevented)return n(t)}};
"use strict";var e,n=require("tslib"),t=require("react"),r=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function o(e,n){if(null!=e)if("function"==typeof e)e(n);else try{e.current=n}catch(t){throw new Error('Cannot assign value "'+n+'" to ref "'+e+'"')}}function u(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement}function i(e,n){var r=t.createContext(n);return r.displayName=e,r}function c(){}var s=u()?t.useLayoutEffect:t.useEffect;exports.DescendantProvider=function(e){var o=e.context,u=e.children,i=e.items,c=e.set,s=r.useCallback((function(e){var t=e.element,r=n.__rest(e,["element"]);t&&c((function(e){if(null==e.find((function(e){return e.element===t}))){var o=e.findIndex((function(e){var n=e.element;return!(!n||!t)&&Boolean(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING)})),u=n.__assign({element:t},r);return-1===o?n.__spreadArrays(e,[u]):n.__spreadArrays(e.slice(0,o),[u],e.slice(o))}return e}))}),[]),f=t.useCallback((function(e){e&&c((function(n){return n.filter((function(n){return e!==n.element}))}))}),[]),a=t.useMemo((function(){return{descendants:i,registerDescendant:s,unregisterDescendant:f}}),[i,s,f]);return r.createElement(o.Provider,{value:a},u)},exports.assignRef=o,exports.boolOrBoolString=function(e){return"false"!==e&&Boolean(e)},exports.canUseDOM=u,exports.checkStyles=function(e){},exports.cloneValidElement=function(e,r){for(var o=[],u=2;u<arguments.length;u++)o[u-2]=arguments[u];return t.isValidElement(e)?t.cloneElement.apply(void 0,n.__spreadArrays([e,r],o)):e},exports.createDescendantContext=function(e,t){return void 0===t&&(t={}),i(e,n.__assign({descendants:[],registerDescendant:c,unregisterDescendant:c},t))},exports.createNamedContext=i,exports.findLastIndex=function(e,n){var t=e.length>>>0;if(!t)return-1;for(var r=t-1;r>=0;){if(n(e[r],r,e))return r;--r}return-1},exports.forwardRefWithAs=function(e){return r.forwardRef(e)},exports.getScrollbarOffset=function(){try{if(window.innerWidth>document.documentElement.clientWidth)return window.innerWidth-document.documentElement.clientWidth}catch(e){}return 0},exports.makeId=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter((function(e){return null!=e})).join("--")},exports.noop=c,exports.useDescendant=function(e,r){var o=e.context,u=e.element,i=n.__rest(e,["context","element"]),c=t.useState()[1],f=t.useContext(o),a=f.registerDescendant,l=f.unregisterDescendant,d=f.descendants;return s((function(){return u||c({}),a(n.__assign({element:u},i)),function(){return l(u)}}),n.__spreadArrays([u],Object.values(i))),null!=r?r:d.findIndex((function(e){return e.element===u}))},exports.useDescendants=function(){return t.useState([])},exports.useForkedRef=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t.useMemo((function(){return e.every((function(e){return null==e}))?null:function(n){e.forEach((function(e){o(e,n)}))}}),e)},exports.useIsomorphicLayoutEffect=s,exports.usePrevious=function(e){var n=t.useRef(null);return t.useEffect((function(){n.current=e}),[e]),n.current},exports.useUpdateEffect=function(e,n){var r=t.useRef(!1);t.useEffect((function(){r.current?e():r.current=!0}),n)},exports.wrapEvent=function(e,n){return function(t){if(e&&e(t),!t.defaultPrevented)return n(t)}};
//# sourceMappingURL=utils.cjs.production.min.js.map

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

import { __spreadArrays } from 'tslib';
import React, { isValidElement, cloneElement, useMemo, useLayoutEffect, useEffect, useRef, useState, useContext, useCallback, createContext } from 'react';
import { __spreadArrays, __assign, __rest } from 'tslib';
import React, { isValidElement, cloneElement, createContext, useMemo, useLayoutEffect, useEffect, useRef, useState, useContext, useCallback } from 'react';

@@ -48,2 +48,5 @@ /* eslint-disable no-unused-vars */

}
function boolOrBoolString(value) {
return value === "false" ? false : Boolean(value);
}
function canUseDOM() {

@@ -65,2 +68,28 @@ return typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";

}
function createNamedContext(name, defaultValue) {
var Ctx = createContext(defaultValue);
Ctx.displayName = name;
return Ctx;
}
function findLastIndex(array, predicate) {
var length = array.length >>> 0;
if (!length) {
return -1;
}
var n = length - 1;
while (n >= 0) {
var value = array[n];
if (predicate(value, n, array)) {
return n;
}
--n;
}
return -1;
}
/**

@@ -92,3 +121,5 @@ * Get the scrollbar offset distance.

return args.join("--");
return args.filter(function (val) {
return val != null;
}).join("--");
}

@@ -202,3 +233,10 @@ /**

/**
* This is a hack to stop TS errors from dynamic components with an `as` prop
* This is a hack for sure. The thing is, getting a component to intelligently
* infer props based on a component or JSX string passed into an `as` prop is
* kind of a huge pain. Getting it to work and satisfy the contraints of
* `forwardRef` seems dang near impossible. To avoid needing to do this awkward
* type song-and-dance every time we want to forward a ref into a component
* that accepts an `as` prop, we abstract all of that mess to this function for
* the time time being.
*
* TODO: Eventually we should probably just try to get the type defs above

@@ -210,14 +248,16 @@ * working across the board, but ain't nobody got time for that mess!

function forwardRefWithAs(Comp) {
return React.forwardRef(Comp);
function forwardRefWithAs(comp) {
return React.forwardRef(comp);
}
var DescendantContext =
/*#__PURE__*/
createContext({});
function createDescendantContext(name, initialValue) {
if (initialValue === void 0) {
initialValue = {};
}
function useDescendantContext() {
return useContext(DescendantContext);
} ////////////////////////////////////////////////////////////////////////////////
// TODO: Move to @reach/descendants once fully tested and implemented
return createNamedContext(name, __assign({
descendants: [],
registerDescendant: noop,
unregisterDescendant: noop
}, initialValue));
}
/**

@@ -247,7 +287,6 @@ * This hook registers our descendant by passing it into an array. We can then

function useDescendant(_a, indexProp) {
var element = _a.element,
key = _a.key,
disabled = _a.disabled;
var context = _a.context,
element = _a.element,
rest = __rest(_a, ["context", "element"]);

@@ -257,3 +296,3 @@ var _b = useState(),

var _c = useDescendantContext(),
var _c = useContext(context),
registerDescendant = _c.registerDescendant,

@@ -265,12 +304,11 @@ unregisterDescendant = _c.unregisterDescendant,

useIsomorphicLayoutEffect(function () {
if (!element) forceUpdate({});
registerDescendant({
element: element,
key: key,
disabled: disabled
});
if (!element) forceUpdate({}); // @ts-ignore
registerDescendant(__assign({
element: element
}, rest));
return function () {
return unregisterDescendant(element);
};
}, [element, key, disabled]);
}, __spreadArrays([element], Object.values(rest)));
return indexProp !== null && indexProp !== void 0 ? indexProp : descendants.findIndex(function (_a) {

@@ -285,9 +323,9 @@ var _el = _a.element;

function DescendantProvider(_a) {
var children = _a.children,
descendants = _a.descendants,
setDescendants = _a.setDescendants;
var Ctx = _a.context,
children = _a.children,
items = _a.items,
set = _a.set;
var registerDescendant = React.useCallback(function (_a) {
var disabled = _a.disabled,
element = _a.element,
providedKey = _a.key;
var element = _a.element,
rest = __rest(_a, ["element"]);

@@ -298,3 +336,3 @@ if (!element) {

setDescendants(function (items) {
set(function (items) {
if (items.find(function (_a) {

@@ -304,3 +342,2 @@ var _el = _a.element;

}) == null) {
var key = providedKey !== null && providedKey !== void 0 ? providedKey : element.textContent;
/*

@@ -320,3 +357,2 @@ * When registering a descendant, we need to make sure we insert in

*/
var index = items.findIndex(function (_a) {

@@ -338,8 +374,8 @@ var existingElement = _a.element;

});
var newItem = {
disabled: disabled,
element: element,
key: key
}; // If an index is not found we will push the element to the end.
var newItem = __assign({
element: element
}, rest); // If an index is not found we will push the element to the end.
if (index === -1) {

@@ -367,3 +403,3 @@ return __spreadArrays(items, [newItem]);

setDescendants(function (items) {
set(function (items) {
return items.filter(function (_a) {

@@ -381,19 +417,17 @@ var _el = _a.element;

// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
var focusNodes = descendants.filter(function (_a) {
var disabled = _a.disabled;
return !disabled;
}).map(function (_a) {
var element = _a.element;
return element;
});
[]); // Not sure about this just yet, may bail on this and let components deal
/* let focusNodes = descendants
.filter(({ disabled }) => !disabled)
.map(({ element }) => element); */
// @ts-ignore
var value = useMemo(function () {
return {
descendants: descendants,
focusNodes: focusNodes,
descendants: items,
registerDescendant: registerDescendant,
unregisterDescendant: unregisterDescendant
};
}, [descendants, focusNodes, registerDescendant, unregisterDescendant]);
return React.createElement(DescendantContext.Provider, {
}, [items, registerDescendant, unregisterDescendant]);
return React.createElement(Ctx.Provider, {
value: value

@@ -403,3 +437,3 @@ }, children);

export { DescendantProvider, assignRef, canUseDOM, checkStyles, cloneValidElement, forwardRefWithAs, getScrollbarOffset, makeId, noop, useDescendant, useDescendants, useForkedRef, useIsomorphicLayoutEffect, usePrevious, useUpdateEffect, wrapEvent };
export { DescendantProvider, assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createDescendantContext, createNamedContext, findLastIndex, forwardRefWithAs, getScrollbarOffset, makeId, noop, useDescendant, useDescendants, useForkedRef, useIsomorphicLayoutEffect, usePrevious, useUpdateEffect, wrapEvent };
//# sourceMappingURL=utils.esm.js.map
{
"name": "@reach/utils",
"version": "0.7.2",
"version": "0.7.3",
"description": "Internal, shared utilities for Reach UI.",

@@ -25,5 +25,6 @@ "author": "React Training <hello@reacttraining.com>",

"files": [
"README.md",
"dist"
],
"gitHead": "96cf6c191cca0f2cbcb7ff578f15e289efeda1e2"
"gitHead": "fe739beb1d94cc58c4e72f88ab58efa58e0de8c8"
}

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc