@reach/utils
Advanced tools
Comparing version 0.10.3 to 0.10.4
@@ -86,6 +86,12 @@ import React from "react"; | ||
* | ||
* @param Comp | ||
* @param comp | ||
*/ | ||
export declare function forwardRefWithAs<Props, ComponentType extends As = "div">(comp: (props: PropsFromAs<ComponentType, Props>, ref: React.RefObject<any>) => React.ReactElement | null): ComponentWithAs<ComponentType, Props>; | ||
/** | ||
* Same deal as above | ||
* | ||
* @param comp | ||
*/ | ||
export declare function memoWithAs<Props, ComponentType extends As = "div">(comp: ComponentWithAs<ComponentType, Props>): ComponentWithAs<ComponentType, Props>; | ||
/** | ||
* Get the size of the working document minus the scrollbar offset. | ||
@@ -123,3 +129,3 @@ * | ||
export declare function getOwnerDocument<T extends HTMLElement = HTMLElement>(element: T | null): Document | null; | ||
export declare function getOwnerWindow<T extends HTMLElement = HTMLElement>(element: T | null): Window | null; | ||
export declare function getOwnerWindow<T extends HTMLElement = HTMLElement>(element: T | null): (Window & typeof globalThis) | null; | ||
/** | ||
@@ -126,0 +132,0 @@ * Get the scrollbar offset distance. |
@@ -42,10 +42,2 @@ import * as React from "react"; | ||
export declare type DistributiveOmit<BaseType, Key extends PropertyKey> = BaseType extends any ? Omit<BaseType, Key> : never; | ||
export declare type As<BaseProps = any> = React.ElementType<BaseProps>; | ||
export declare type PropsWithAs<ComponentType extends As, ComponentProps> = ComponentProps & Omit<React.ComponentPropsWithRef<ComponentType>, "as" | keyof ComponentProps> & { | ||
as?: ComponentType; | ||
}; | ||
export declare type PropsFromAs<ComponentType extends As, ComponentProps> = (PropsWithAs<ComponentType, ComponentProps> & { | ||
as: ComponentType; | ||
}) & PropsWithAs<ComponentType, ComponentProps>; | ||
export declare type ComponentWithForwardedRef<ElementType extends React.ElementType, ComponentProps> = React.ForwardRefExoticComponent<ComponentProps & React.HTMLProps<React.ElementType<ElementType>> & React.ComponentPropsWithRef<ElementType>>; | ||
/** | ||
@@ -65,2 +57,10 @@ * Returns the type inferred by a promise's return value. | ||
export declare type ThenArg<T> = T extends PromiseLike<infer U> ? U : T; | ||
export declare type As<BaseProps = any> = React.ElementType<BaseProps>; | ||
export declare type PropsWithAs<ComponentType extends As, ComponentProps> = ComponentProps & Omit<React.ComponentPropsWithRef<ComponentType>, "as" | keyof ComponentProps> & { | ||
as?: ComponentType; | ||
}; | ||
export declare type PropsFromAs<ComponentType extends As, ComponentProps> = (PropsWithAs<ComponentType, ComponentProps> & { | ||
as: ComponentType; | ||
}) & PropsWithAs<ComponentType, ComponentProps>; | ||
export declare type ComponentWithForwardedRef<ElementType extends React.ElementType, ComponentProps> = React.ForwardRefExoticComponent<ComponentProps & React.HTMLProps<React.ElementType<ElementType>> & React.ComponentPropsWithRef<ElementType>>; | ||
export interface ComponentWithAs<ComponentType extends As, ComponentProps> { | ||
@@ -67,0 +67,0 @@ <TT extends As>(props: PropsWithAs<TT, ComponentProps>): ReactElement | null; |
@@ -148,3 +148,3 @@ 'use strict'; | ||
* | ||
* @param Comp | ||
* @param comp | ||
*/ | ||
@@ -156,2 +156,11 @@ | ||
/** | ||
* Same deal as above | ||
* | ||
* @param comp | ||
*/ | ||
function memoWithAs(comp) { | ||
return React__default.memo(comp); | ||
} | ||
/** | ||
* Get the size of the working document minus the scrollbar offset. | ||
@@ -635,2 +644,3 @@ * | ||
exports.makeId = makeId; | ||
exports.memoWithAs = memoWithAs; | ||
exports.noop = noop; | ||
@@ -637,0 +647,0 @@ exports.ponyfillGlobal = ponyfillGlobal; |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),r=e(require("warning")),o=f()?n.useLayoutEffect:n.useEffect,u=p,i="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();function c(e,t){if(null!=e)if(d(e))e(t);else try{e.current=t}catch(n){throw new Error('Cannot assign value "'+t+'" to ref "'+e+'"')}}function f(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement}function s(e){return e&&e.ownerDocument?e.ownerDocument:f()?document:null}function l(e){var t=e?s(e):null;return t?t.defaultView||window:null}function a(e){return"boolean"==typeof e}function d(e){return!(!e||"[object Function]"!={}.toString.call(e))}function p(){}var w=p,v=p,m=p;exports.warning=r,exports.assignRef=c,exports.boolOrBoolString=function(e){return"true"===e||!!a(e)&&e},exports.canUseDOM=f,exports.checkStyles=u,exports.cloneValidElement=function(e,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),u=2;u<r;u++)o[u-2]=arguments[u];return t.isValidElement(e)?t.cloneElement.apply(void 0,[e,n].concat(o)):e},exports.createNamedContext=function(e,n){var r=t.createContext(n);return r.displayName=e,r},exports.forwardRefWithAs=function(e){return n.forwardRef(e)},exports.getDocumentDimensions=function(e){if(!f())return{width:0,height:0};var t=e?s(e):document,n=e?l(e):window;return{width:t.documentElement.clientWidth||n.innerWidth,height:t.documentElement.clientHeight||n.innerHeight}},exports.getElementComputedStyle=function(e,t){var n=null,r=s(e);return e.currentStyle?n=e.currentStyle[t]:r&&r.defaultView&&d(r.defaultView.getComputedStyle)&&(n=r.defaultView.getComputedStyle(e,null).getPropertyValue(t)),n},exports.getOwnerDocument=s,exports.getOwnerWindow=l,exports.getScrollPosition=function(e){if(!f())return{scrollX:0,scrollY:0};var t=e?l(e):window;return{scrollX:t.scrollX,scrollY:t.scrollY}},exports.getScrollbarOffset=function(){try{if(window.innerWidth>document.documentElement.clientWidth)return window.innerWidth-document.documentElement.clientWidth}catch(e){}return 0},exports.isBoolean=a,exports.isFunction=d,exports.isNumber=function(e){return"number"==typeof e},exports.isRightClick=function(e){return 3===e.which||2===e.button},exports.isString=function(e){return"string"==typeof e},exports.makeId=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return null!=e})).join("--")},exports.noop=p,exports.ponyfillGlobal=i,exports.stateToAttributeString=function(e){return String(e).replace(/([\s_]+)/g,"-").toLowerCase()},exports.useCallbackProp=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e})),t.useCallback((function(){return n.current&&n.current.apply(n,arguments)}),[])},exports.useCheckStyles=v,exports.useConstant=function(e){var t=n.useRef();return t.current||(t.current={v:e()}),t.current.v},exports.useControlledState=function(e,n){var r=t.useRef(null!=e),o=t.useState(n),u=o[0],i=o[1],c=t.useCallback((function(e){r.current||i(e)}),[]);return[r.current?e:u,c]},exports.useControlledSwitchWarning=w,exports.useEventCallback=function(e){var n=t.useRef(e);return o((function(){n.current=e})),t.useCallback((function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];return n.current.apply(n,[e].concat(r))}),[])},exports.useEventListener=function(e,n,r){void 0===r&&(r=window);var o=t.useRef(n);t.useEffect((function(){o.current=n}),[n]),t.useEffect((function(){if(r&&r.addEventListener)return r.addEventListener(e,t),function(){r.removeEventListener(e,t)};function t(e){o.current(e)}}),[e,r])},exports.useFocusChange=function(e,n,r){void 0===e&&(e=console.log),void 0===n&&(n="focus"),void 0===r&&(r=document);var o=t.useRef(r.activeElement);t.useEffect((function(){function t(t){o.current!==r.activeElement&&(e(r.activeElement,o.current,t),o.current=r.activeElement)}return o.current=r.activeElement,r.addEventListener(n,t,!0),function(){r.removeEventListener(n,t)}}),[n,e,r])},exports.useForkedRef=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.useMemo((function(){return n.every((function(e){return null==e}))?null:function(e){n.forEach((function(t){c(t,e)}))}}),n)},exports.useIsomorphicLayoutEffect=o,exports.usePrevious=function(e){var n=t.useRef(null);return t.useEffect((function(){n.current=e}),[e]),n.current},exports.useStateLogger=m,exports.useUpdateEffect=function(e,n){var r=t.useRef(!1);t.useEffect((function(){r.current?e():r.current=!0}),n)},exports.wrapEvent=function(e,t){return function(n){if(e&&e(n),!n.defaultPrevented)return t(n)}}; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),r=e(require("warning")),o=f()?n.useLayoutEffect:n.useEffect,u=p,i="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();function c(e,t){if(null!=e)if(d(e))e(t);else try{e.current=t}catch(n){throw new Error('Cannot assign value "'+t+'" to ref "'+e+'"')}}function f(){return"undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement}function s(e){return e&&e.ownerDocument?e.ownerDocument:f()?document:null}function l(e){var t=e?s(e):null;return t?t.defaultView||window:null}function a(e){return"boolean"==typeof e}function d(e){return!(!e||"[object Function]"!={}.toString.call(e))}function p(){}var w=p,v=p,m=p;exports.warning=r,exports.assignRef=c,exports.boolOrBoolString=function(e){return"true"===e||!!a(e)&&e},exports.canUseDOM=f,exports.checkStyles=u,exports.cloneValidElement=function(e,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),u=2;u<r;u++)o[u-2]=arguments[u];return t.isValidElement(e)?t.cloneElement.apply(void 0,[e,n].concat(o)):e},exports.createNamedContext=function(e,n){var r=t.createContext(n);return r.displayName=e,r},exports.forwardRefWithAs=function(e){return n.forwardRef(e)},exports.getDocumentDimensions=function(e){if(!f())return{width:0,height:0};var t=e?s(e):document,n=e?l(e):window;return{width:t.documentElement.clientWidth||n.innerWidth,height:t.documentElement.clientHeight||n.innerHeight}},exports.getElementComputedStyle=function(e,t){var n=null,r=s(e);return e.currentStyle?n=e.currentStyle[t]:r&&r.defaultView&&d(r.defaultView.getComputedStyle)&&(n=r.defaultView.getComputedStyle(e,null).getPropertyValue(t)),n},exports.getOwnerDocument=s,exports.getOwnerWindow=l,exports.getScrollPosition=function(e){if(!f())return{scrollX:0,scrollY:0};var t=e?l(e):window;return{scrollX:t.scrollX,scrollY:t.scrollY}},exports.getScrollbarOffset=function(){try{if(window.innerWidth>document.documentElement.clientWidth)return window.innerWidth-document.documentElement.clientWidth}catch(e){}return 0},exports.isBoolean=a,exports.isFunction=d,exports.isNumber=function(e){return"number"==typeof e},exports.isRightClick=function(e){return 3===e.which||2===e.button},exports.isString=function(e){return"string"==typeof e},exports.makeId=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return null!=e})).join("--")},exports.memoWithAs=function(e){return n.memo(e)},exports.noop=p,exports.ponyfillGlobal=i,exports.stateToAttributeString=function(e){return String(e).replace(/([\s_]+)/g,"-").toLowerCase()},exports.useCallbackProp=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e})),t.useCallback((function(){return n.current&&n.current.apply(n,arguments)}),[])},exports.useCheckStyles=v,exports.useConstant=function(e){var t=n.useRef();return t.current||(t.current={v:e()}),t.current.v},exports.useControlledState=function(e,n){var r=t.useRef(null!=e),o=t.useState(n),u=o[0],i=o[1],c=t.useCallback((function(e){r.current||i(e)}),[]);return[r.current?e:u,c]},exports.useControlledSwitchWarning=w,exports.useEventCallback=function(e){var n=t.useRef(e);return o((function(){n.current=e})),t.useCallback((function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];return n.current.apply(n,[e].concat(r))}),[])},exports.useEventListener=function(e,n,r){void 0===r&&(r=window);var o=t.useRef(n);t.useEffect((function(){o.current=n}),[n]),t.useEffect((function(){if(r&&r.addEventListener)return r.addEventListener(e,t),function(){r.removeEventListener(e,t)};function t(e){o.current(e)}}),[e,r])},exports.useFocusChange=function(e,n,r){void 0===e&&(e=console.log),void 0===n&&(n="focus"),void 0===r&&(r=document);var o=t.useRef(r.activeElement);t.useEffect((function(){function t(t){o.current!==r.activeElement&&(e(r.activeElement,o.current,t),o.current=r.activeElement)}return o.current=r.activeElement,r.addEventListener(n,t,!0),function(){r.removeEventListener(n,t)}}),[n,e,r])},exports.useForkedRef=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.useMemo((function(){return n.every((function(e){return null==e}))?null:function(e){n.forEach((function(t){c(t,e)}))}}),n)},exports.useIsomorphicLayoutEffect=o,exports.usePrevious=function(e){var n=t.useRef(null);return t.useEffect((function(){n.current=e}),[e]),n.current},exports.useStateLogger=m,exports.useUpdateEffect=function(e,n){var r=t.useRef(!1);t.useEffect((function(){r.current?e():r.current=!0}),n)},exports.wrapEvent=function(e,t){return function(n){if(e&&e(n),!n.defaultPrevented)return t(n)}}; | ||
//# sourceMappingURL=utils.cjs.production.min.js.map |
@@ -141,3 +141,3 @@ import React, { isValidElement, cloneElement, createContext, useRef, useState, useCallback, useEffect, useMemo } from 'react'; | ||
* | ||
* @param Comp | ||
* @param comp | ||
*/ | ||
@@ -149,2 +149,11 @@ | ||
/** | ||
* Same deal as above | ||
* | ||
* @param comp | ||
*/ | ||
function memoWithAs(comp) { | ||
return React.memo(comp); | ||
} | ||
/** | ||
* Get the size of the working document minus the scrollbar offset. | ||
@@ -609,3 +618,3 @@ * | ||
export { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForkedRef, useIsomorphicLayoutEffect, usePrevious, useStateLogger, useUpdateEffect, wrapEvent }; | ||
export { assignRef, boolOrBoolString, canUseDOM, checkStyles, cloneValidElement, createNamedContext, forwardRefWithAs, getDocumentDimensions, getElementComputedStyle, getOwnerDocument, getOwnerWindow, getScrollPosition, getScrollbarOffset, isBoolean, isFunction, isNumber, isRightClick, isString, makeId, memoWithAs, noop, ponyfillGlobal, stateToAttributeString, useCallbackProp, useCheckStyles, useConstant, useControlledState, useControlledSwitchWarning, useEventCallback, useEventListener, useFocusChange, useForkedRef, useIsomorphicLayoutEffect, usePrevious, useStateLogger, useUpdateEffect, wrapEvent }; | ||
//# sourceMappingURL=utils.esm.js.map |
{ | ||
"name": "@reach/utils", | ||
"version": "0.10.3", | ||
"version": "0.10.4", | ||
"description": "Internal, shared utilities for Reach UI.", | ||
@@ -28,6 +28,6 @@ "author": "React Training <hello@reacttraining.com>", | ||
"@types/warning": "^3.0.0", | ||
"tslib": "^1.11.2", | ||
"tslib": "^2.0.0", | ||
"warning": "^4.0.3" | ||
}, | ||
"gitHead": "fd32b2b31a3e50265b0c274654a5e4105847d18e" | ||
"gitHead": "a0c7b3672835b2a9f84732663bb0e78992541211" | ||
} |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
145534
1511
+ Addedtslib@2.7.0(transitive)
- Removedtslib@1.14.1(transitive)
Updatedtslib@^2.0.0