@opentui/react 0.1.26 → 0.1.27

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/index.js CHANGED
@@ -102,7 +102,7 @@ import { useEffect } from "react";
102
102
 
103
103
  // src/hooks/use-event.ts
104
104
  import { useCallback, useLayoutEffect, useRef } from "react";
105
- function useEvent(handler) {
105
+ function useEffectEvent(handler) {
106
106
  const handlerRef = useRef(handler);
107
107
  useLayoutEffect(() => {
108
108
  handlerRef.current = handler;
@@ -116,13 +116,13 @@ function useEvent(handler) {
116
116
  // src/hooks/use-keyboard.ts
117
117
  var useKeyboard = (handler) => {
118
118
  const { keyHandler } = useAppContext();
119
- const stableHandler = useEvent(handler);
119
+ const stableHandler = useEffectEvent(handler);
120
120
  useEffect(() => {
121
121
  keyHandler?.on("keypress", stableHandler);
122
122
  return () => {
123
123
  keyHandler?.off("keypress", stableHandler);
124
124
  };
125
- }, [keyHandler, stableHandler]);
125
+ }, [keyHandler]);
126
126
  };
127
127
  // src/hooks/use-renderer.ts
128
128
  var useRenderer = () => {
@@ -136,12 +136,13 @@ var useRenderer = () => {
136
136
  import { useEffect as useEffect2 } from "react";
137
137
  var useOnResize = (callback) => {
138
138
  const renderer = useRenderer();
139
+ const stableCallback = useEffectEvent(callback);
139
140
  useEffect2(() => {
140
- renderer.on("resize", callback);
141
+ renderer.on("resize", stableCallback);
141
142
  return () => {
142
- renderer.off("resize", callback);
143
+ renderer.off("resize", stableCallback);
143
144
  };
144
- }, [renderer, callback]);
145
+ }, [renderer]);
145
146
  return renderer;
146
147
  };
147
148
  // src/hooks/use-terminal-dimensions.ts
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "index.js",
5
5
  "types": "src/index.d.ts",
6
6
  "type": "module",
7
- "version": "0.1.26",
7
+ "version": "0.1.27",
8
8
  "description": "React renderer for building terminal user interfaces using OpenTUI core",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -35,11 +35,13 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@opentui/core": "0.1.26",
38
+ "@opentui/core": "0.1.27",
39
39
  "react-reconciler": "^0.32.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/bun": "latest",
43
+ "@types/node": "latest",
44
+ "@types/react": "^19.0.0",
43
45
  "@types/react-reconciler": "^0.32.0",
44
46
  "typescript": "^5"
45
47
  },
@@ -6,4 +6,4 @@
6
6
  * Useful for event handlers that need to be passed to effects with empty dependency arrays
7
7
  * or memoized child components.
8
8
  */
9
- export declare function useEvent<T extends (...args: any[]) => any>(handler: T): T;
9
+ export declare function useEffectEvent<T extends (...args: any[]) => any>(handler: T): T;