@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 CHANGED
@@ -1,4 +1,4 @@
1
- export function useTimeline(timeline: any, initialValue: any, targetValue: any, options: any, startTime?: number): import("solid-js").Accessor<any>;
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 createComponentTimeline = (options = {}) => {
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
- renderer.setFrameCallback(frameCallback);
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-20250923-da12fb15",
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-20250923-da12fb15",
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"
@@ -1,4 +1,4 @@
1
- import { Selection, Timeline, type AnimationOptions, type CliRenderer, type JSAnimation, type ParsedKey, type TimelineOptions } from "@opentui/core";
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: ParsedKey) => void) => void;
10
- export declare const usePaste: (callback: (text: string) => void) => void;
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: ParsedKey) => void) => void;
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 createComponentTimeline: (options?: TimelineOptions) => Timeline;
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;