@os-design/use-forwarded-state 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","isFunction","useForwardedState","_ref","defaultValue","onChange","_useState","useState","_useState2","innerValue","setInnerValue","onChangeRef","useRef","useEffect","current","shouldUseInnerValue","useMemo","undefined","forwardedValue","setForwardedValue","useCallback","v","nextValue","_default","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\ninterface UseForwardedStateProps<T> {\n value?: T;\n defaultValue?: T | (() => T);\n onChange?: (value: T) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/ban-types\nconst isFunction = (value: any): value is Function =>\n typeof value === 'function';\n\nconst useForwardedState = <T>({\n value,\n defaultValue,\n onChange,\n}: UseForwardedStateProps<T>): [\n T | undefined,\n Dispatch<SetStateAction<T | undefined
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","isFunction","useForwardedState","_ref","defaultValue","onChange","_useState","useState","_useState2","innerValue","setInnerValue","onChangeRef","useRef","useEffect","current","shouldUseInnerValue","useMemo","undefined","forwardedValue","setForwardedValue","useCallback","v","nextValue","_default","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\ninterface UseForwardedStateProps<T> {\n value?: T;\n defaultValue?: T | (() => T);\n onChange?: (value: T) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/ban-types\nconst isFunction = (value: any): value is Function =>\n typeof value === 'function';\n\nconst useForwardedState = <T>({\n value,\n defaultValue,\n onChange,\n}: UseForwardedStateProps<T>): [\n T | undefined,\n Dispatch<SetStateAction<T | undefined>>,\n] => {\n const [innerValue, setInnerValue] = useState(defaultValue);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const shouldUseInnerValue = useMemo(() => value === undefined, [value]);\n const forwardedValue = useMemo(\n () => (shouldUseInnerValue ? innerValue : value),\n [shouldUseInnerValue, innerValue, value]\n );\n\n const setForwardedValue = useCallback<\n Dispatch<SetStateAction<T | undefined>>\n >(\n (v) => {\n const nextValue = isFunction(v) ? v(forwardedValue) : v;\n if (shouldUseInnerValue) setInnerValue(nextValue);\n if (onChangeRef.current && nextValue !== undefined)\n onChangeRef.current(nextValue);\n },\n [forwardedValue, shouldUseInnerValue]\n );\n\n return [forwardedValue, setForwardedValue];\n};\n\nexport default useForwardedState;\n"],"mappings":"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"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useCallback","useEffect","useMemo","useRef","useState","isFunction","value","useForwardedState","defaultValue","onChange","innerValue","setInnerValue","onChangeRef","current","shouldUseInnerValue","undefined","forwardedValue","setForwardedValue","v","nextValue"],"sources":["../../src/index.ts"],"sourcesContent":["import {\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\ninterface UseForwardedStateProps<T> {\n value?: T;\n defaultValue?: T | (() => T);\n onChange?: (value: T) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/ban-types\nconst isFunction = (value: any): value is Function =>\n typeof value === 'function';\n\nconst useForwardedState = <T>({\n value,\n defaultValue,\n onChange,\n}: UseForwardedStateProps<T>): [\n T | undefined,\n Dispatch<SetStateAction<T | undefined
|
|
1
|
+
{"version":3,"file":"index.js","names":["useCallback","useEffect","useMemo","useRef","useState","isFunction","value","useForwardedState","defaultValue","onChange","innerValue","setInnerValue","onChangeRef","current","shouldUseInnerValue","undefined","forwardedValue","setForwardedValue","v","nextValue"],"sources":["../../src/index.ts"],"sourcesContent":["import {\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\ninterface UseForwardedStateProps<T> {\n value?: T;\n defaultValue?: T | (() => T);\n onChange?: (value: T) => void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/ban-types\nconst isFunction = (value: any): value is Function =>\n typeof value === 'function';\n\nconst useForwardedState = <T>({\n value,\n defaultValue,\n onChange,\n}: UseForwardedStateProps<T>): [\n T | undefined,\n Dispatch<SetStateAction<T | undefined>>,\n] => {\n const [innerValue, setInnerValue] = useState(defaultValue);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const shouldUseInnerValue = useMemo(() => value === undefined, [value]);\n const forwardedValue = useMemo(\n () => (shouldUseInnerValue ? innerValue : value),\n [shouldUseInnerValue, innerValue, value]\n );\n\n const setForwardedValue = useCallback<\n Dispatch<SetStateAction<T | undefined>>\n >(\n (v) => {\n const nextValue = isFunction(v) ? v(forwardedValue) : v;\n if (shouldUseInnerValue) setInnerValue(nextValue);\n if (onChangeRef.current && nextValue !== undefined)\n onChangeRef.current(nextValue);\n },\n [forwardedValue, shouldUseInnerValue]\n );\n\n return [forwardedValue, setForwardedValue];\n};\n\nexport default useForwardedState;\n"],"mappings":"AAAA,SAGEA,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AAQd;AACA,MAAMC,UAAU,GAAIC,KAAU,IAC5B,OAAOA,KAAK,KAAK,UAAU;AAE7B,MAAMC,iBAAiB,GAAGA,CAAI;EAC5BD,KAAK;EACLE,YAAY;EACZC;AACyB,CAAC,KAGvB;EACH,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGP,QAAQ,CAACI,YAAY,CAAC;EAC1D,MAAMI,WAAW,GAAGT,MAAM,CAACM,QAAQ,CAAC;EAEpCR,SAAS,CAAC,MAAM;IACdW,WAAW,CAACC,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMK,mBAAmB,GAAGZ,OAAO,CAAC,MAAMI,KAAK,KAAKS,SAAS,EAAE,CAACT,KAAK,CAAC,CAAC;EACvE,MAAMU,cAAc,GAAGd,OAAO,CAC5B,MAAOY,mBAAmB,GAAGJ,UAAU,GAAGJ,KAAM,EAChD,CAACQ,mBAAmB,EAAEJ,UAAU,EAAEJ,KAAK,CACzC,CAAC;EAED,MAAMW,iBAAiB,GAAGjB,WAAW,CAGlCkB,CAAC,IAAK;IACL,MAAMC,SAAS,GAAGd,UAAU,CAACa,CAAC,CAAC,GAAGA,CAAC,CAACF,cAAc,CAAC,GAAGE,CAAC;IACvD,IAAIJ,mBAAmB,EAAEH,aAAa,CAACQ,SAAS,CAAC;IACjD,IAAIP,WAAW,CAACC,OAAO,IAAIM,SAAS,KAAKJ,SAAS,EAChDH,WAAW,CAACC,OAAO,CAACM,SAAS,CAAC;EAClC,CAAC,EACD,CAACH,cAAc,EAAEF,mBAAmB,CACtC,CAAC;EAED,OAAO,CAACE,cAAc,EAAEC,iBAAiB,CAAC;AAC5C,CAAC;AAED,eAAeV,iBAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os-design/use-forwarded-state",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"repository": "git@gitlab.com:os-team/libs/os-design.git",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"react": ">=18"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "6b63f712ae05bd98c00f59b868ac782f3475dc99"
|
|
37
37
|
}
|
package/src/index.ts
CHANGED
|
@@ -24,7 +24,7 @@ const useForwardedState = <T>({
|
|
|
24
24
|
onChange,
|
|
25
25
|
}: UseForwardedStateProps<T>): [
|
|
26
26
|
T | undefined,
|
|
27
|
-
Dispatch<SetStateAction<T | undefined
|
|
27
|
+
Dispatch<SetStateAction<T | undefined>>,
|
|
28
28
|
] => {
|
|
29
29
|
const [innerValue, setInnerValue] = useState(defaultValue);
|
|
30
30
|
const onChangeRef = useRef(onChange);
|