@pdg/react-hook 1.0.30 → 1.0.31

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/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './useFirstSkipEffect';
4
4
  export * from './useFirstSkipLayoutEffect';
5
5
  export * from './useAutoUpdateRefState';
6
6
  export * from './useAutoUpdateLayoutRefState';
7
+ export * from './useForwardLayoutRef';
7
8
  export * from './useForwardRef';
8
9
  export * from './useAutoUpdateRef';
9
10
  export * from './useAutoUpdateLayoutRef';
package/dist/index.esm.js CHANGED
@@ -154,8 +154,9 @@ function equal(v1, v2) {
154
154
  else {
155
155
  return v1 === v2;
156
156
  }
157
- }function useForwardRef(ref, value) {
157
+ }function useForwardLayoutRef(ref, value, onSet, onUnset) {
158
158
  useLayoutEffect(function () {
159
+ onSet === null || onSet === void 0 ? void 0 : onSet(value);
159
160
  if (ref) {
160
161
  if (typeof ref === 'function') {
161
162
  ref(value);
@@ -165,6 +166,7 @@ function equal(v1, v2) {
165
166
  }
166
167
  }
167
168
  return function () {
169
+ onUnset === null || onUnset === void 0 ? void 0 : onUnset();
168
170
  if (ref) {
169
171
  if (typeof ref === 'function') {
170
172
  ref(null);
@@ -174,7 +176,30 @@ function equal(v1, v2) {
174
176
  }
175
177
  }
176
178
  };
177
- }, [ref, value]);
179
+ }, [onSet, onUnset, ref, value]);
180
+ }function useForwardRef(ref, value, onSet, onUnset) {
181
+ useEffect(function () {
182
+ onSet === null || onSet === void 0 ? void 0 : onSet(value);
183
+ if (ref) {
184
+ if (typeof ref === 'function') {
185
+ ref(value);
186
+ }
187
+ else {
188
+ ref.current = value;
189
+ }
190
+ }
191
+ return function () {
192
+ onUnset === null || onUnset === void 0 ? void 0 : onUnset();
193
+ if (ref) {
194
+ if (typeof ref === 'function') {
195
+ ref(null);
196
+ }
197
+ else {
198
+ ref.current = null;
199
+ }
200
+ }
201
+ };
202
+ }, [onSet, onUnset, ref, value]);
178
203
  }function useAutoUpdateRef(value) {
179
204
  var valueRef = useRef(value);
180
205
  var _a = useState(0), setUpdateValue = _a[1];
@@ -273,4 +298,4 @@ function ifUndefined(v, v2) {
273
298
  }, ms);
274
299
  }, []);
275
300
  return [ref, setIntervalFunc];
276
- }export{clearIntervalRef,clearTimeoutRef,useAutoForceUpdate,useAutoUpdateLayoutRef,useAutoUpdateLayoutRefState,useAutoUpdateLayoutState,useAutoUpdateRef,useAutoUpdateRefState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect,useForceUpdate,useForwardRef,useIntervalRef,useLayoutPerformance,usePerformance,useTimeoutRef};
301
+ }export{clearIntervalRef,clearTimeoutRef,useAutoForceUpdate,useAutoUpdateLayoutRef,useAutoUpdateLayoutRefState,useAutoUpdateLayoutState,useAutoUpdateRef,useAutoUpdateRefState,useAutoUpdateState,useFirstSkipEffect,useFirstSkipLayoutEffect,useForceUpdate,useForwardLayoutRef,useForwardRef,useIntervalRef,useLayoutPerformance,usePerformance,useTimeoutRef};
package/dist/index.js CHANGED
@@ -154,8 +154,9 @@ function equal(v1, v2) {
154
154
  else {
155
155
  return v1 === v2;
156
156
  }
157
- }function useForwardRef(ref, value) {
157
+ }function useForwardLayoutRef(ref, value, onSet, onUnset) {
158
158
  react.useLayoutEffect(function () {
159
+ onSet === null || onSet === void 0 ? void 0 : onSet(value);
159
160
  if (ref) {
160
161
  if (typeof ref === 'function') {
161
162
  ref(value);
@@ -165,6 +166,7 @@ function equal(v1, v2) {
165
166
  }
166
167
  }
167
168
  return function () {
169
+ onUnset === null || onUnset === void 0 ? void 0 : onUnset();
168
170
  if (ref) {
169
171
  if (typeof ref === 'function') {
170
172
  ref(null);
@@ -174,7 +176,30 @@ function equal(v1, v2) {
174
176
  }
175
177
  }
176
178
  };
177
- }, [ref, value]);
179
+ }, [onSet, onUnset, ref, value]);
180
+ }function useForwardRef(ref, value, onSet, onUnset) {
181
+ react.useEffect(function () {
182
+ onSet === null || onSet === void 0 ? void 0 : onSet(value);
183
+ if (ref) {
184
+ if (typeof ref === 'function') {
185
+ ref(value);
186
+ }
187
+ else {
188
+ ref.current = value;
189
+ }
190
+ }
191
+ return function () {
192
+ onUnset === null || onUnset === void 0 ? void 0 : onUnset();
193
+ if (ref) {
194
+ if (typeof ref === 'function') {
195
+ ref(null);
196
+ }
197
+ else {
198
+ ref.current = null;
199
+ }
200
+ }
201
+ };
202
+ }, [onSet, onUnset, ref, value]);
178
203
  }function useAutoUpdateRef(value) {
179
204
  var valueRef = react.useRef(value);
180
205
  var _a = react.useState(0), setUpdateValue = _a[1];
@@ -273,4 +298,4 @@ function ifUndefined(v, v2) {
273
298
  }, ms);
274
299
  }, []);
275
300
  return [ref, setIntervalFunc];
276
- }exports.clearIntervalRef=clearIntervalRef;exports.clearTimeoutRef=clearTimeoutRef;exports.useAutoForceUpdate=useAutoForceUpdate;exports.useAutoUpdateLayoutRef=useAutoUpdateLayoutRef;exports.useAutoUpdateLayoutRefState=useAutoUpdateLayoutRefState;exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateRef=useAutoUpdateRef;exports.useAutoUpdateRefState=useAutoUpdateRefState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;exports.useForceUpdate=useForceUpdate;exports.useForwardRef=useForwardRef;exports.useIntervalRef=useIntervalRef;exports.useLayoutPerformance=useLayoutPerformance;exports.usePerformance=usePerformance;exports.useTimeoutRef=useTimeoutRef;
301
+ }exports.clearIntervalRef=clearIntervalRef;exports.clearTimeoutRef=clearTimeoutRef;exports.useAutoForceUpdate=useAutoForceUpdate;exports.useAutoUpdateLayoutRef=useAutoUpdateLayoutRef;exports.useAutoUpdateLayoutRefState=useAutoUpdateLayoutRefState;exports.useAutoUpdateLayoutState=useAutoUpdateLayoutState;exports.useAutoUpdateRef=useAutoUpdateRef;exports.useAutoUpdateRefState=useAutoUpdateRefState;exports.useAutoUpdateState=useAutoUpdateState;exports.useFirstSkipEffect=useFirstSkipEffect;exports.useFirstSkipLayoutEffect=useFirstSkipLayoutEffect;exports.useForceUpdate=useForceUpdate;exports.useForwardLayoutRef=useForwardLayoutRef;exports.useForwardRef=useForwardRef;exports.useIntervalRef=useIntervalRef;exports.useLayoutPerformance=useLayoutPerformance;exports.usePerformance=usePerformance;exports.useTimeoutRef=useTimeoutRef;
@@ -0,0 +1,3 @@
1
+ import { ForwardedRef } from 'react';
2
+ export declare function useForwardLayoutRef<T>(ref: ForwardedRef<T>, value: T, onSet?: (value: T) => void, onUnset?: () => void): void;
3
+ export default useForwardLayoutRef;
@@ -1,3 +1,3 @@
1
1
  import { ForwardedRef } from 'react';
2
- export declare function useForwardRef<T>(ref: ForwardedRef<T>, value: T): void;
2
+ export declare function useForwardRef<T>(ref: ForwardedRef<T>, value: T, onSet?: (value: T) => void, onUnset?: () => void): void;
3
3
  export default useForwardRef;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/react-hook",
3
3
  "title": "React Hook",
4
- "version": "1.0.30",
4
+ "version": "1.0.31",
5
5
  "description": "React Hook",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
@@ -25,8 +25,13 @@
25
25
  "dev-prd-lib": "cd examples && npm run dev-prd-lib",
26
26
  "build": "rollup -c --bundleConfigAsCjs",
27
27
  "pub": "npm i && npm run build && npm publish --access=public && rm ./.git/hooks/pre-commit",
28
- "lint": "eslint './src/**/*.{ts,tsx}'",
29
- "reinstall-module": "rm -rf node_modules && rm -f package-lock.json && npm i"
28
+ "git:commit": "node .git-commit.cjs",
29
+ "git:push": "git push",
30
+ "git:commit:push": "npm run git:commit && npm run git:push",
31
+ "reset:gitignore": "git rm -r --cached . && git add .",
32
+ "reinstall": "npm run reinstall:module",
33
+ "reinstall:module": "rm -rf node_modules && rm -f package-lock.json && npm i",
34
+ "lint": "eslint './src/**/*.{ts,tsx}'"
30
35
  },
31
36
  "author": "YOUNG CHUL PARK",
32
37
  "license": "MIT",
@@ -41,26 +46,26 @@
41
46
  "react": ">=17.0.0"
42
47
  },
43
48
  "devDependencies": {
49
+ "@eslint/js": "^9.28.0",
44
50
  "@rollup/plugin-commonjs": "^28.0.3",
45
51
  "@rollup/plugin-eslint": "^9.0.5",
46
52
  "@rollup/plugin-node-resolve": "^16.0.1",
47
- "@types/node": "^22.14.0",
53
+ "@types/node": "^22.15.29",
48
54
  "@types/react": "^19.1.6",
49
- "@typescript-eslint/eslint-plugin": "^8.29.1",
50
- "@typescript-eslint/parser": "^8.29.1",
51
- "eslint": "8.57.1",
52
- "eslint-config-prettier": "^10.1.2",
53
- "eslint-plugin-jsx-a11y": "^6.10.2",
54
- "eslint-plugin-prettier": "^5.2.6",
55
+ "@typescript-eslint/parser": "^8.33.0",
56
+ "eslint": "9.28.0",
57
+ "eslint-config-prettier": "^10.1.5",
58
+ "eslint-plugin-prettier": "^5.4.1",
55
59
  "eslint-plugin-react": "^7.37.5",
56
60
  "eslint-plugin-react-hooks": "^5.2.0",
57
61
  "prettier": "^3.5.3",
58
- "rollup": "^4.39.0",
62
+ "rollup": "^4.41.1",
59
63
  "rollup-plugin-delete": "^2.2.0",
60
64
  "rollup-plugin-peer-deps-external": "^2.2.4",
61
- "rollup-plugin-postcss": "^4.0.2",
65
+ "rollup-plugin-sass": "^1.15.2",
62
66
  "rollup-plugin-typescript2": "^0.36.0",
63
- "sass": "^1.86.3",
64
- "typescript": "^5.8.3"
67
+ "sass": "^1.89.1",
68
+ "typescript": "^5.8.3",
69
+ "typescript-eslint": "^8.33.0"
65
70
  }
66
71
  }