@opentui/solid 0.1.24 → 0.1.25
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 +2 -0
- package/index.d.ts +1 -0
- package/index.js +21 -4
- package/package.json +2 -2
- package/src/elements/hooks.d.ts +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export function useTerminalDimensions(): import("solid-js").Accessor<{
|
|
|
5
5
|
}>;
|
|
6
6
|
export function useSelectionHandler(callback: any): void;
|
|
7
7
|
export function useRenderer(): any;
|
|
8
|
+
export function usePaste(callback: any): void;
|
|
8
9
|
export function useKeyboard(callback: any): void;
|
|
9
10
|
export function useKeyHandler(callback: any): void;
|
|
10
11
|
export function use(fn: any, element: any, arg: any): any;
|
|
@@ -15,6 +16,7 @@ export function testRender(node: any, renderConfig?: {}): Promise<{
|
|
|
15
16
|
mockMouse: import("@opentui/core/testing").MockMouse;
|
|
16
17
|
renderOnce: () => Promise<void>;
|
|
17
18
|
captureCharFrame: () => string;
|
|
19
|
+
resize: (width: number, height: number) => void;
|
|
18
20
|
}>;
|
|
19
21
|
export function spread(node: any, accessor: any, skipChildren: any): void;
|
|
20
22
|
export function setProp(node: any, name: any, value: any, prev: any): any;
|
package/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const testRender: (node: () => JSX.Element, renderConfig?: TestRe
|
|
|
8
8
|
mockMouse: import("@opentui/core/testing").MockMouse;
|
|
9
9
|
renderOnce: () => Promise<void>;
|
|
10
10
|
captureCharFrame: () => string;
|
|
11
|
+
resize: (width: number, height: number) => void;
|
|
11
12
|
}>;
|
|
12
13
|
export * from "./src/reconciler";
|
|
13
14
|
export * from "./src/elements";
|
package/index.js
CHANGED
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
|
|
19
19
|
// src/elements/hooks.ts
|
|
20
20
|
import {
|
|
21
|
-
getKeyHandler,
|
|
22
21
|
Timeline
|
|
23
22
|
} from "@opentui/core";
|
|
24
23
|
import { createContext, createSignal, onCleanup, onMount, useContext } from "solid-js";
|
|
@@ -49,7 +48,8 @@ var useTerminalDimensions = () => {
|
|
|
49
48
|
return terminalDimensions;
|
|
50
49
|
};
|
|
51
50
|
var useKeyboard = (callback) => {
|
|
52
|
-
const
|
|
51
|
+
const renderer = useRenderer();
|
|
52
|
+
const keyHandler = renderer.keyInput;
|
|
53
53
|
onMount(() => {
|
|
54
54
|
keyHandler.on("keypress", callback);
|
|
55
55
|
});
|
|
@@ -57,6 +57,16 @@ var useKeyboard = (callback) => {
|
|
|
57
57
|
keyHandler.off("keypress", callback);
|
|
58
58
|
});
|
|
59
59
|
};
|
|
60
|
+
var usePaste = (callback) => {
|
|
61
|
+
const renderer = useRenderer();
|
|
62
|
+
const keyHandler = renderer.keyInput;
|
|
63
|
+
onMount(() => {
|
|
64
|
+
keyHandler.on("paste", callback);
|
|
65
|
+
});
|
|
66
|
+
onCleanup(() => {
|
|
67
|
+
keyHandler.off("paste", callback);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
60
70
|
var useKeyHandler = useKeyboard;
|
|
61
71
|
var useSelectionHandler = (callback) => {
|
|
62
72
|
const renderer = useRenderer();
|
|
@@ -297,7 +307,7 @@ function createRenderer({
|
|
|
297
307
|
while (removed = getFirstChild(parent))
|
|
298
308
|
removeNode(parent, removed);
|
|
299
309
|
replacement && insertNode(parent, replacement);
|
|
300
|
-
return
|
|
310
|
+
return replacement;
|
|
301
311
|
}
|
|
302
312
|
const node = replacement || createSlotNode();
|
|
303
313
|
if (current.length) {
|
|
@@ -428,6 +438,7 @@ var getNodeChildren = (node) => {
|
|
|
428
438
|
function _insertNode(parent, node, anchor) {
|
|
429
439
|
log("Inserting node:", logId(node), "into parent:", logId(parent), "with anchor:", logId(anchor), node instanceof TextNode);
|
|
430
440
|
if (node instanceof SlotRenderable) {
|
|
441
|
+
node.parent = parent;
|
|
431
442
|
node = node.getSlotChild(parent);
|
|
432
443
|
}
|
|
433
444
|
if (anchor && anchor instanceof SlotRenderable) {
|
|
@@ -456,6 +467,7 @@ function _insertNode(parent, node, anchor) {
|
|
|
456
467
|
function _removeNode(parent, node) {
|
|
457
468
|
log("Removing node:", logId(node), "from parent:", logId(parent));
|
|
458
469
|
if (node instanceof SlotRenderable) {
|
|
470
|
+
node.parent = null;
|
|
459
471
|
node = node.getSlotChild(parent);
|
|
460
472
|
}
|
|
461
473
|
if (isTextNodeRenderable(parent)) {
|
|
@@ -553,6 +565,10 @@ var {
|
|
|
553
565
|
return;
|
|
554
566
|
}
|
|
555
567
|
switch (name) {
|
|
568
|
+
case "id":
|
|
569
|
+
log("Id mapped", node.id, "=", value);
|
|
570
|
+
node[name] = value;
|
|
571
|
+
break;
|
|
556
572
|
case "focused":
|
|
557
573
|
if (!(node instanceof Renderable))
|
|
558
574
|
return;
|
|
@@ -656,7 +672,7 @@ var {
|
|
|
656
672
|
log("No parent found for node:", logId(node));
|
|
657
673
|
return;
|
|
658
674
|
}
|
|
659
|
-
const siblings = getNodeChildren(
|
|
675
|
+
const siblings = getNodeChildren(parent);
|
|
660
676
|
const index = siblings.indexOf(node);
|
|
661
677
|
if (index === -1 || index === siblings.length - 1) {
|
|
662
678
|
log("No next sibling found for node:", logId(node));
|
|
@@ -925,6 +941,7 @@ export {
|
|
|
925
941
|
useTerminalDimensions,
|
|
926
942
|
useSelectionHandler,
|
|
927
943
|
useRenderer,
|
|
944
|
+
usePaste,
|
|
928
945
|
useKeyboard,
|
|
929
946
|
useKeyHandler,
|
|
930
947
|
use,
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.1.
|
|
7
|
+
"version": "0.1.25",
|
|
8
8
|
"description": "SolidJS renderer for OpenTUI",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"repository": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@babel/core": "7.28.0",
|
|
29
29
|
"@babel/preset-typescript": "7.27.1",
|
|
30
|
-
"@opentui/core": "0.1.
|
|
30
|
+
"@opentui/core": "0.1.25",
|
|
31
31
|
"babel-plugin-module-resolver": "5.0.2",
|
|
32
32
|
"babel-preset-solid": "1.9.9",
|
|
33
33
|
"s-js": "^0.4.9"
|
package/src/elements/hooks.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const useTerminalDimensions: () => import("solid-js").Accessor<{
|
|
|
7
7
|
height: number;
|
|
8
8
|
}>;
|
|
9
9
|
export declare const useKeyboard: (callback: (key: ParsedKey) => void) => void;
|
|
10
|
+
export declare const usePaste: (callback: (text: string) => void) => void;
|
|
10
11
|
/**
|
|
11
12
|
* @deprecated renamed to useKeyboard
|
|
12
13
|
*/
|