@opentui/solid 0.0.0-20250923-da12fb15 → 0.0.0-20250924-9d06e8e4
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 -3
- package/index.js +7 -20
- package/package.json +2 -2
- package/src/elements/hooks.d.ts +5 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function useTimeline(
|
|
1
|
+
export function useTimeline(options?: {}): Timeline;
|
|
2
2
|
export function useTerminalDimensions(): import("solid-js").Accessor<{
|
|
3
3
|
width: any;
|
|
4
4
|
height: any;
|
|
@@ -48,7 +48,6 @@ export var createTextNode: any;
|
|
|
48
48
|
export function createSlotNode(): SlotRenderable;
|
|
49
49
|
export var createElement: any;
|
|
50
50
|
export function createDynamic(component: any, props: any): import("solid-js").Accessor<any>;
|
|
51
|
-
export function createComponentTimeline(options?: {}): Timeline;
|
|
52
51
|
declare var createComponent2: typeof createComponent;
|
|
53
52
|
export namespace componentCatalogue {
|
|
54
53
|
export { BoxRenderable as box };
|
|
@@ -104,6 +103,7 @@ export function Dynamic(props: any): import("solid-js").Accessor<any>;
|
|
|
104
103
|
export class BoldSpanRenderable extends TextModifierRenderable {
|
|
105
104
|
constructor(options: any);
|
|
106
105
|
}
|
|
106
|
+
import { Timeline } from "@opentui/core";
|
|
107
107
|
import { mergeProps } from "solid-js";
|
|
108
108
|
import { BoxRenderable } from "@opentui/core";
|
|
109
109
|
import { TextRenderable as TextRenderable3 } from "@opentui/core";
|
|
@@ -117,7 +117,6 @@ declare class SpanRenderable extends TextNodeRenderable3 {
|
|
|
117
117
|
_ctx: any;
|
|
118
118
|
}
|
|
119
119
|
import { createRenderEffect } from "solid-js";
|
|
120
|
-
import { Timeline } from "@opentui/core";
|
|
121
120
|
import { createComponent } from "solid-js";
|
|
122
121
|
declare class TextModifierRenderable extends SpanRenderable {
|
|
123
122
|
}
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// index.ts
|
|
3
|
-
import { createCliRenderer } from "@opentui/core";
|
|
3
|
+
import { createCliRenderer, engine as engine2 } from "@opentui/core";
|
|
4
4
|
import { createTestRenderer } from "@opentui/core/testing";
|
|
5
5
|
|
|
6
6
|
// src/elements/index.ts
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
|
|
19
19
|
// src/elements/hooks.ts
|
|
20
20
|
import {
|
|
21
|
+
engine,
|
|
21
22
|
Timeline
|
|
22
23
|
} from "@opentui/core";
|
|
23
24
|
import { createContext, createSignal, onCleanup, onMount, useContext } from "solid-js";
|
|
@@ -77,35 +78,20 @@ var useSelectionHandler = (callback) => {
|
|
|
77
78
|
renderer.off("selection", callback);
|
|
78
79
|
});
|
|
79
80
|
};
|
|
80
|
-
var
|
|
81
|
-
const renderer = useRenderer();
|
|
81
|
+
var useTimeline = (options = {}) => {
|
|
82
82
|
const timeline = new Timeline(options);
|
|
83
|
-
const frameCallback = async (dt) => timeline.update(dt);
|
|
84
83
|
onMount(() => {
|
|
85
84
|
if (options.autoplay !== false) {
|
|
86
85
|
timeline.play();
|
|
87
86
|
}
|
|
88
|
-
|
|
87
|
+
engine.register(timeline);
|
|
89
88
|
});
|
|
90
89
|
onCleanup(() => {
|
|
91
|
-
renderer.removeFrameCallback(frameCallback);
|
|
92
90
|
timeline.pause();
|
|
91
|
+
engine.unregister(timeline);
|
|
93
92
|
});
|
|
94
93
|
return timeline;
|
|
95
94
|
};
|
|
96
|
-
var useTimeline = (timeline, initialValue, targetValue, options, startTime = 0) => {
|
|
97
|
-
const [store, setStore] = createSignal(initialValue);
|
|
98
|
-
const { onUpdate, ...animationOptions } = options;
|
|
99
|
-
timeline.add(store(), {
|
|
100
|
-
...targetValue,
|
|
101
|
-
...animationOptions,
|
|
102
|
-
onUpdate: (values) => {
|
|
103
|
-
setStore({ ...values.targets[0] });
|
|
104
|
-
onUpdate?.(values);
|
|
105
|
-
}
|
|
106
|
-
}, startTime);
|
|
107
|
-
return store;
|
|
108
|
-
};
|
|
109
95
|
// src/elements/extras.ts
|
|
110
96
|
import { createEffect, createMemo as createMemo2, getOwner, onCleanup as onCleanup2, runWithOwner, splitProps, untrack as untrack2 } from "solid-js";
|
|
111
97
|
|
|
@@ -915,6 +901,7 @@ function getComponentCatalogue() {
|
|
|
915
901
|
// index.ts
|
|
916
902
|
var render = async (node, renderConfig = {}) => {
|
|
917
903
|
const renderer = await createCliRenderer(renderConfig);
|
|
904
|
+
engine2.attach(renderer);
|
|
918
905
|
_render(() => createComponent2(RendererContext.Provider, {
|
|
919
906
|
get value() {
|
|
920
907
|
return renderer;
|
|
@@ -926,6 +913,7 @@ var render = async (node, renderConfig = {}) => {
|
|
|
926
913
|
};
|
|
927
914
|
var testRender = async (node, renderConfig = {}) => {
|
|
928
915
|
const testSetup = await createTestRenderer(renderConfig);
|
|
916
|
+
engine2.attach(testSetup.renderer);
|
|
929
917
|
_render(() => createComponent2(RendererContext.Provider, {
|
|
930
918
|
get value() {
|
|
931
919
|
return testSetup.renderer;
|
|
@@ -962,7 +950,6 @@ export {
|
|
|
962
950
|
createSlotNode,
|
|
963
951
|
createElement,
|
|
964
952
|
createDynamic,
|
|
965
|
-
createComponentTimeline,
|
|
966
953
|
createComponent2 as createComponent,
|
|
967
954
|
componentCatalogue,
|
|
968
955
|
baseComponents,
|
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.0.0-
|
|
7
|
+
"version": "0.0.0-20250924-9d06e8e4",
|
|
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.0.0-
|
|
30
|
+
"@opentui/core": "0.0.0-20250924-9d06e8e4",
|
|
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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Selection, Timeline, type
|
|
1
|
+
import { PasteEvent, Selection, Timeline, type CliRenderer, type KeyEvent, type TimelineOptions } from "@opentui/core";
|
|
2
2
|
export declare const RendererContext: import("solid-js").Context<CliRenderer | undefined>;
|
|
3
3
|
export declare const useRenderer: () => CliRenderer;
|
|
4
4
|
export declare const onResize: (callback: (width: number, height: number) => void) => void;
|
|
@@ -6,16 +6,11 @@ export declare const useTerminalDimensions: () => import("solid-js").Accessor<{
|
|
|
6
6
|
width: number;
|
|
7
7
|
height: number;
|
|
8
8
|
}>;
|
|
9
|
-
export declare const useKeyboard: (callback: (key:
|
|
10
|
-
export declare const usePaste: (callback: (
|
|
9
|
+
export declare const useKeyboard: (callback: (key: KeyEvent) => void) => void;
|
|
10
|
+
export declare const usePaste: (callback: (event: PasteEvent) => void) => void;
|
|
11
11
|
/**
|
|
12
12
|
* @deprecated renamed to useKeyboard
|
|
13
13
|
*/
|
|
14
|
-
export declare const useKeyHandler: (callback: (key:
|
|
14
|
+
export declare const useKeyHandler: (callback: (key: KeyEvent) => void) => void;
|
|
15
15
|
export declare const useSelectionHandler: (callback: (selection: Selection) => void) => void;
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const useTimeline: <T extends Record<string, number>>(timeline: Timeline, initialValue: T, targetValue: T, options: AnimationOptions & {
|
|
18
|
-
onUpdate?: (values: JSAnimation & {
|
|
19
|
-
targets: T[];
|
|
20
|
-
}) => void;
|
|
21
|
-
}, startTime?: number | string) => import("solid-js").Accessor<T>;
|
|
16
|
+
export declare const useTimeline: (options?: TimelineOptions) => Timeline;
|