init 3
This commit is contained in:
23
node_modules/use-callback-ref/dist/es2019/createRef.js
generated
vendored
Normal file
23
node_modules/use-callback-ref/dist/es2019/createRef.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* creates a Ref object with on change callback
|
||||
* @param callback
|
||||
* @returns {RefObject}
|
||||
*
|
||||
* @see {@link useCallbackRef}
|
||||
* @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs
|
||||
*/
|
||||
export function createCallbackRef(callback) {
|
||||
let current = null;
|
||||
return {
|
||||
get current() {
|
||||
return current;
|
||||
},
|
||||
set current(value) {
|
||||
const last = current;
|
||||
if (last !== value) {
|
||||
current = value;
|
||||
callback(value, last);
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
18
node_modules/use-callback-ref/dist/es2019/mergeRef.js
generated
vendored
Normal file
18
node_modules/use-callback-ref/dist/es2019/mergeRef.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { assignRef } from './assignRef';
|
||||
import { createCallbackRef } from './createRef';
|
||||
/**
|
||||
* Merges two or more refs together providing a single interface to set their value
|
||||
* @param {RefObject|Ref} refs
|
||||
* @returns {MutableRefObject} - a new ref, which translates all changes to {refs}
|
||||
*
|
||||
* @see {@link useMergeRefs} to be used in ReactComponents
|
||||
* @example
|
||||
* const Component = React.forwardRef((props, ref) => {
|
||||
* const ownRef = useRef();
|
||||
* const domRef = mergeRefs([ref, ownRef]); // 👈 merge together
|
||||
* return <div ref={domRef}>...</div>
|
||||
* }
|
||||
*/
|
||||
export function mergeRefs(refs) {
|
||||
return createCallbackRef((newValue) => refs.forEach((ref) => assignRef(ref, newValue)));
|
||||
}
|
||||
14
node_modules/use-callback-ref/dist/es2019/transformRef.js
generated
vendored
Normal file
14
node_modules/use-callback-ref/dist/es2019/transformRef.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import { assignRef } from './assignRef';
|
||||
import { createCallbackRef } from './createRef';
|
||||
/**
|
||||
* Transforms one ref to another
|
||||
* @example
|
||||
* ```tsx
|
||||
* const ResizableWithRef = forwardRef((props, ref) =>
|
||||
* <Resizable {...props} ref={transformRef(ref, i => i ? i.resizable : null)}/>
|
||||
* );
|
||||
* ```
|
||||
*/
|
||||
export function transformRef(ref, transformer) {
|
||||
return createCallbackRef((value) => assignRef(ref, transformer(value)));
|
||||
}
|
||||
16
node_modules/use-callback-ref/dist/es2019/useRef.d.ts
generated
vendored
Normal file
16
node_modules/use-callback-ref/dist/es2019/useRef.d.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { MutableRefObject } from 'react';
|
||||
/**
|
||||
* creates a MutableRef with ref change callback
|
||||
* @param initialValue - initial ref value
|
||||
* @param {Function} callback - a callback to run when value changes
|
||||
*
|
||||
* @example
|
||||
* const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);
|
||||
* ref.current = 1;
|
||||
* // prints 0 -> 1
|
||||
*
|
||||
* @see https://reactjs.org/docs/hooks-reference.html#useref
|
||||
* @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref
|
||||
* @returns {MutableRefObject}
|
||||
*/
|
||||
export declare function useCallbackRef<T>(initialValue: T | null, callback: (newValue: T | null, lastValue: T | null) => void): MutableRefObject<T | null>;
|
||||
Reference in New Issue
Block a user