@opentui/react 0.5.10 → 0.5.11
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/{chunk-ekvsg4nw.js → chunk-qvhjn9g4.js} +18 -22
- package/{chunk-bdqvmfwv.js → chunk-z62dbhvj.js} +0 -4
- package/index.js +36 -37
- package/package.json +3 -3
- package/test-utils.js +3 -4
- package/chunk-2mx7fq49.js +0 -4
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import {
|
|
3
|
-
__require
|
|
4
|
-
} from "./chunk-2mx7fq49.js";
|
|
5
|
-
|
|
6
2
|
// src/components/index.ts
|
|
7
3
|
import {
|
|
8
4
|
ASCIIFontRenderable,
|
|
@@ -85,7 +81,7 @@ class LinkRenderable extends SpanRenderable {
|
|
|
85
81
|
}
|
|
86
82
|
|
|
87
83
|
// src/components/index.ts
|
|
88
|
-
var
|
|
84
|
+
var baseComponents2 = {
|
|
89
85
|
box: BoxRenderable,
|
|
90
86
|
text: TextRenderable,
|
|
91
87
|
code: CodeRenderable,
|
|
@@ -108,22 +104,22 @@ var baseComponents = {
|
|
|
108
104
|
u: UnderlineSpanRenderable,
|
|
109
105
|
a: LinkRenderable
|
|
110
106
|
};
|
|
111
|
-
var
|
|
112
|
-
function
|
|
113
|
-
Object.assign(
|
|
107
|
+
var componentCatalogue2 = { ...baseComponents2 };
|
|
108
|
+
function extend2(objects) {
|
|
109
|
+
Object.assign(componentCatalogue2, objects);
|
|
114
110
|
}
|
|
115
|
-
function
|
|
116
|
-
return
|
|
111
|
+
function getComponentCatalogue2() {
|
|
112
|
+
return componentCatalogue2;
|
|
117
113
|
}
|
|
118
114
|
|
|
119
115
|
// src/components/app.tsx
|
|
120
116
|
import { createContext, useContext } from "react";
|
|
121
|
-
var
|
|
117
|
+
var AppContext2 = createContext({
|
|
122
118
|
keyHandler: null,
|
|
123
119
|
renderer: null
|
|
124
120
|
});
|
|
125
|
-
var
|
|
126
|
-
return useContext(
|
|
121
|
+
var useAppContext2 = () => {
|
|
122
|
+
return useContext(AppContext2);
|
|
127
123
|
};
|
|
128
124
|
|
|
129
125
|
// src/reconciler/renderer.ts
|
|
@@ -168,7 +164,7 @@ import { ImageRenderable as ImageRenderable2, TextNodeRenderable as TextNodeRend
|
|
|
168
164
|
// package.json
|
|
169
165
|
var package_default = {
|
|
170
166
|
name: "@opentui/react",
|
|
171
|
-
version: "0.5.
|
|
167
|
+
version: "0.5.11",
|
|
172
168
|
description: "React renderer for building terminal user interfaces using OpenTUI core",
|
|
173
169
|
license: "MIT",
|
|
174
170
|
repository: {
|
|
@@ -215,7 +211,7 @@ var package_default = {
|
|
|
215
211
|
},
|
|
216
212
|
devDependencies: {
|
|
217
213
|
"@opentui/keymap": "workspace:*",
|
|
218
|
-
"@types/bun": "1.
|
|
214
|
+
"@types/bun": "1.4.1",
|
|
219
215
|
"@types/node": "^24.0.0",
|
|
220
216
|
"@types/react": "^19.2.0",
|
|
221
217
|
"@types/react-reconciler": "^0.33.0",
|
|
@@ -394,7 +390,7 @@ var hostConfig = {
|
|
|
394
390
|
throw new Error(`Component of type "${type}" must be created inside of a text node`);
|
|
395
391
|
}
|
|
396
392
|
const id = getNextId(type);
|
|
397
|
-
const components =
|
|
393
|
+
const components = getComponentCatalogue2();
|
|
398
394
|
if (!components[type]) {
|
|
399
395
|
throw new Error(`Unknown component type: ${type}`);
|
|
400
396
|
}
|
|
@@ -551,7 +547,7 @@ var hostConfig = {
|
|
|
551
547
|
var reconciler = ReactReconciler(hostConfig);
|
|
552
548
|
if (process.env["DEV"] === "true") {
|
|
553
549
|
try {
|
|
554
|
-
await import("./chunk-
|
|
550
|
+
await import("./chunk-z62dbhvj.js");
|
|
555
551
|
} catch (error) {
|
|
556
552
|
if (error.code === "ERR_MODULE_NOT_FOUND") {
|
|
557
553
|
console.warn(`
|
|
@@ -577,9 +573,9 @@ function _render(element, root) {
|
|
|
577
573
|
|
|
578
574
|
// src/reconciler/renderer.ts
|
|
579
575
|
var _r = reconciler;
|
|
580
|
-
var
|
|
581
|
-
var { createPortal } = reconciler;
|
|
582
|
-
function
|
|
576
|
+
var flushSync2 = _r.flushSyncFromReconciler ?? _r.flushSync;
|
|
577
|
+
var { createPortal: createPortal2 } = reconciler;
|
|
578
|
+
function createRoot2(renderer) {
|
|
583
579
|
let container = null;
|
|
584
580
|
const cleanup = () => {
|
|
585
581
|
if (container) {
|
|
@@ -592,10 +588,10 @@ function createRoot(renderer) {
|
|
|
592
588
|
return {
|
|
593
589
|
render: (node) => {
|
|
594
590
|
engine.attach(renderer);
|
|
595
|
-
container = _render(React2.createElement(
|
|
591
|
+
container = _render(React2.createElement(AppContext2.Provider, { value: { keyHandler: renderer.keyInput, renderer } }, React2.createElement(ErrorBoundary, null, node)), renderer.root);
|
|
596
592
|
},
|
|
597
593
|
unmount: cleanup
|
|
598
594
|
};
|
|
599
595
|
}
|
|
600
596
|
|
|
601
|
-
export {
|
|
597
|
+
export { baseComponents2, componentCatalogue2, extend2, getComponentCatalogue2, AppContext2, useAppContext2, Fragment, jsxDEV, flushSync2, createPortal2, createRoot2 };
|
package/index.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
baseComponents2,
|
|
4
|
+
componentCatalogue2,
|
|
5
|
+
extend2,
|
|
6
|
+
getComponentCatalogue2,
|
|
7
|
+
AppContext2,
|
|
8
|
+
useAppContext2,
|
|
4
9
|
Fragment,
|
|
5
|
-
baseComponents,
|
|
6
|
-
componentCatalogue,
|
|
7
|
-
createPortal,
|
|
8
|
-
createRoot,
|
|
9
|
-
extend,
|
|
10
|
-
flushSync,
|
|
11
|
-
getComponentCatalogue,
|
|
12
10
|
jsxDEV,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
flushSync2,
|
|
12
|
+
createPortal2,
|
|
13
|
+
createRoot2
|
|
14
|
+
} from "./chunk-qvhjn9g4.js";
|
|
16
15
|
// src/hooks/use-blur.ts
|
|
17
16
|
import { useEffect } from "react";
|
|
18
17
|
|
|
@@ -31,7 +30,7 @@ function useEffectEvent(handler) {
|
|
|
31
30
|
|
|
32
31
|
// src/hooks/use-renderer.ts
|
|
33
32
|
var useRenderer = () => {
|
|
34
|
-
const { renderer } =
|
|
33
|
+
const { renderer } = useAppContext2();
|
|
35
34
|
if (!renderer) {
|
|
36
35
|
throw new Error("Renderer not found.");
|
|
37
36
|
}
|
|
@@ -64,7 +63,7 @@ var useFocus = (handler) => {
|
|
|
64
63
|
// src/hooks/use-keyboard.ts
|
|
65
64
|
import { useEffect as useEffect3 } from "react";
|
|
66
65
|
var useKeyboard = (handler, options = { release: false }) => {
|
|
67
|
-
const { keyHandler } =
|
|
66
|
+
const { keyHandler } = useAppContext2();
|
|
68
67
|
const stableHandler = useEffectEvent(handler);
|
|
69
68
|
useEffect3(() => {
|
|
70
69
|
keyHandler?.on("keypress", stableHandler);
|
|
@@ -82,7 +81,7 @@ var useKeyboard = (handler, options = { release: false }) => {
|
|
|
82
81
|
// src/hooks/use-paste.ts
|
|
83
82
|
import { useEffect as useEffect4 } from "react";
|
|
84
83
|
var usePaste = (handler) => {
|
|
85
|
-
const { keyHandler } =
|
|
84
|
+
const { keyHandler } = useAppContext2();
|
|
86
85
|
const stableHandler = useEffectEvent(handler);
|
|
87
86
|
useEffect4(() => {
|
|
88
87
|
keyHandler?.on("paste", stableHandler);
|
|
@@ -358,7 +357,7 @@ function Slot(props) {
|
|
|
358
357
|
// src/time-to-first-draw.tsx
|
|
359
358
|
import { TimeToFirstDrawRenderable } from "@opentui/core";
|
|
360
359
|
import { createElement } from "react";
|
|
361
|
-
|
|
360
|
+
extend2({ "time-to-first-draw": TimeToFirstDrawRenderable });
|
|
362
361
|
var TimeToFirstDraw = (props) => {
|
|
363
362
|
return createElement("time-to-first-draw", props);
|
|
364
363
|
};
|
|
@@ -366,27 +365,27 @@ var TimeToFirstDraw = (props) => {
|
|
|
366
365
|
// src/index.ts
|
|
367
366
|
import { createElement as createElement2 } from "react";
|
|
368
367
|
export {
|
|
369
|
-
|
|
370
|
-
useTerminalDimensions,
|
|
371
|
-
useSelectionHandler,
|
|
372
|
-
useRenderer,
|
|
373
|
-
usePaste,
|
|
374
|
-
useOnResize,
|
|
375
|
-
useKeyboard,
|
|
376
|
-
useFocus,
|
|
377
|
-
useBlur,
|
|
378
|
-
useAppContext,
|
|
379
|
-
getComponentCatalogue,
|
|
380
|
-
flushSync,
|
|
381
|
-
extend,
|
|
382
|
-
createSlot,
|
|
383
|
-
createRoot,
|
|
384
|
-
createReactSlotRegistry,
|
|
385
|
-
createPortal,
|
|
386
|
-
createElement2 as createElement,
|
|
387
|
-
componentCatalogue,
|
|
388
|
-
baseComponents,
|
|
389
|
-
TimeToFirstDraw,
|
|
368
|
+
AppContext2 as AppContext,
|
|
390
369
|
Slot,
|
|
391
|
-
|
|
370
|
+
TimeToFirstDraw,
|
|
371
|
+
baseComponents2 as baseComponents,
|
|
372
|
+
componentCatalogue2 as componentCatalogue,
|
|
373
|
+
createElement2 as createElement,
|
|
374
|
+
createPortal2 as createPortal,
|
|
375
|
+
createReactSlotRegistry,
|
|
376
|
+
createRoot2 as createRoot,
|
|
377
|
+
createSlot,
|
|
378
|
+
extend2 as extend,
|
|
379
|
+
flushSync2 as flushSync,
|
|
380
|
+
getComponentCatalogue2 as getComponentCatalogue,
|
|
381
|
+
useAppContext2 as useAppContext,
|
|
382
|
+
useBlur,
|
|
383
|
+
useFocus,
|
|
384
|
+
useKeyboard,
|
|
385
|
+
useOnResize,
|
|
386
|
+
usePaste,
|
|
387
|
+
useRenderer,
|
|
388
|
+
useSelectionHandler,
|
|
389
|
+
useTerminalDimensions,
|
|
390
|
+
useTimeline
|
|
392
391
|
};
|
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.5.
|
|
7
|
+
"version": "0.5.11",
|
|
8
8
|
"description": "React renderer for building terminal user interfaces using OpenTUI core",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@opentui/core": "0.5.
|
|
55
|
+
"@opentui/core": "0.5.11",
|
|
56
56
|
"react-reconciler": "^0.33.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@opentui/keymap": "workspace:*",
|
|
60
|
-
"@types/bun": "1.
|
|
60
|
+
"@types/bun": "1.4.1",
|
|
61
61
|
"@types/node": "^24.0.0",
|
|
62
62
|
"@types/react": "^19.2.0",
|
|
63
63
|
"@types/react-reconciler": "^0.33.0",
|
package/test-utils.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import"./chunk-2mx7fq49.js";
|
|
3
|
+
createRoot2
|
|
4
|
+
} from "./chunk-qvhjn9g4.js";
|
|
6
5
|
|
|
7
6
|
// src/test-utils.ts
|
|
8
7
|
import { createTestRenderer } from "@opentui/core/testing";
|
|
@@ -26,7 +25,7 @@ async function testRender(node, testRendererOptions) {
|
|
|
26
25
|
setIsReactActEnvironment(false);
|
|
27
26
|
}
|
|
28
27
|
});
|
|
29
|
-
root =
|
|
28
|
+
root = createRoot2(testSetup.renderer);
|
|
30
29
|
act(() => {
|
|
31
30
|
if (root) {
|
|
32
31
|
root.render(node);
|
package/chunk-2mx7fq49.js
DELETED