@opentui/core 0.1.22 → 0.1.24

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/Renderable.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  import { EventEmitter } from "events";
2
+ import { type Node as YogaNode } from "yoga-layout";
2
3
  import { OptimizedBuffer } from "./buffer";
3
- import { type KeyHandler } from "./lib/KeyHandler";
4
- import { TrackedNode } from "./lib/TrackedNode";
5
4
  import type { ParsedKey } from "./lib/parse.keypress";
5
+ import type { Selection } from "./lib/selection";
6
6
  import { type AlignString, type FlexDirectionString, type JustifyString, type OverflowString, type PositionTypeString, type WrapString } from "./lib/yoga.options";
7
+ import { type VNode } from "./renderables/composition/vnode";
7
8
  import type { MouseEvent } from "./renderer";
8
9
  import type { RenderContext } from "./types";
9
- import { type VNode } from "./renderables/composition/vnode";
10
- import type { Selection } from "./lib/selection";
11
10
  declare const BrandedRenderable: unique symbol;
12
11
  export declare enum LayoutEvents {
13
12
  LAYOUT_CHANGED = "layout-changed",
@@ -81,32 +80,32 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
81
80
  onKeyDown?: (key: ParsedKey) => void;
82
81
  onSizeChange?: (this: T) => void;
83
82
  }
84
- export declare function isValidPercentage(value: any): value is `${number}%`;
85
- export declare function isMarginType(value: any): value is number | "auto" | `${number}%`;
86
- export declare function isPaddingType(value: any): value is number | `${number}%`;
87
- export declare function isPositionType(value: any): value is number | "auto" | `${number}%`;
88
- export declare function isPositionTypeType(value: any): value is PositionTypeString;
89
- export declare function isOverflowType(value: any): value is OverflowString;
90
- export declare function isDimensionType(value: any): value is number | "auto" | `${number}%`;
91
- export declare function isFlexBasisType(value: any): value is number | "auto" | undefined;
92
- export declare function isSizeType(value: any): value is number | `${number}%` | undefined;
93
83
  export declare function isRenderable(obj: any): obj is Renderable;
94
84
  export declare abstract class BaseRenderable extends EventEmitter {
95
85
  [BrandedRenderable]: boolean;
96
86
  private static renderableNumber;
97
- readonly id: string;
87
+ protected _id: string;
98
88
  readonly num: number;
99
89
  protected _dirty: boolean;
90
+ parent: BaseRenderable | null;
91
+ protected _visible: boolean;
100
92
  constructor(options: BaseRenderableOptions);
101
93
  abstract add(obj: BaseRenderable | unknown, index?: number): number;
102
94
  abstract remove(id: string): void;
95
+ abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
103
96
  abstract getChildren(): BaseRenderable[];
104
97
  abstract getChildrenCount(): number;
105
98
  abstract getRenderable(id: string): BaseRenderable | undefined;
106
99
  abstract requestRender(): void;
100
+ get id(): string;
101
+ set id(value: string);
107
102
  get isDirty(): boolean;
108
103
  protected markClean(): void;
109
104
  protected markDirty(): void;
105
+ destroy(): void;
106
+ destroyRecursively(): void;
107
+ get visible(): boolean;
108
+ set visible(value: boolean);
110
109
  }
111
110
  export declare abstract class Renderable extends BaseRenderable {
112
111
  static renderablesByNumber: Map<number, Renderable>;
@@ -121,13 +120,11 @@ export declare abstract class Renderable extends BaseRenderable {
121
120
  protected _widthValue: number;
122
121
  protected _heightValue: number;
123
122
  private _zIndex;
124
- protected _visible: boolean;
125
123
  selectable: boolean;
126
124
  protected buffered: boolean;
127
125
  protected frameBuffer: OptimizedBuffer | null;
128
126
  protected _focusable: boolean;
129
127
  protected _focused: boolean;
130
- protected keyHandler: KeyHandler;
131
128
  protected keypressHandler: ((key: ParsedKey) => void) | null;
132
129
  private _live;
133
130
  protected _liveCount: number;
@@ -135,20 +132,24 @@ export declare abstract class Renderable extends BaseRenderable {
135
132
  private _mouseListener;
136
133
  private _mouseListeners;
137
134
  private _keyListeners;
138
- protected layoutNode: TrackedNode;
135
+ protected yogaNode: YogaNode;
139
136
  protected _positionType: PositionTypeString;
140
137
  protected _overflow: OverflowString;
141
138
  protected _position: Position;
142
- private renderableMap;
143
- protected renderableArray: Renderable[];
139
+ private renderableMapById;
140
+ protected _childrenInLayoutOrder: Renderable[];
141
+ protected _childrenInZIndexOrder: Renderable[];
144
142
  private needsZIndexSort;
145
143
  parent: Renderable | null;
146
144
  private childrenPrimarySortDirty;
147
145
  private childrenSortedByPrimaryAxis;
148
146
  private _newChildren;
147
+ onLifecyclePass: (() => void) | null;
149
148
  renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
150
149
  renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
151
150
  constructor(ctx: RenderContext, options: RenderableOptions<any>);
151
+ get id(): string;
152
+ set id(value: string);
152
153
  get focusable(): boolean;
153
154
  get ctx(): RenderContext;
154
155
  get visible(): boolean;
@@ -222,13 +223,14 @@ export declare abstract class Renderable extends BaseRenderable {
222
223
  set paddingRight(padding: number | `${number}%` | undefined);
223
224
  set paddingBottom(padding: number | `${number}%` | undefined);
224
225
  set paddingLeft(padding: number | `${number}%` | undefined);
225
- getLayoutNode(): TrackedNode;
226
+ getLayoutNode(): YogaNode;
226
227
  updateFromLayout(): void;
227
228
  protected onLayoutResize(width: number, height: number): void;
228
229
  protected handleFrameBufferResize(width: number, height: number): void;
229
230
  protected createFrameBuffer(): void;
230
231
  protected onResize(width: number, height: number): void;
231
232
  private replaceParent;
233
+ private _forceLayoutUpdateFor;
232
234
  add(obj: Renderable | VNode<any, any[]> | unknown, index?: number): number;
233
235
  insertBefore(obj: Renderable | VNode<any, any[]> | unknown, anchor?: Renderable | unknown): number;
234
236
  getRenderable(id: string): Renderable | undefined;
@@ -295,7 +297,6 @@ export declare class RootRenderable extends Renderable {
295
297
  protected propagateLiveCount(delta: number): void;
296
298
  calculateLayout(): void;
297
299
  resize(width: number, height: number): void;
298
- protected onUpdate(deltaTime: number): void;
299
300
  protected destroySelf(): void;
300
301
  }
301
302
  export {};
package/buffer.d.ts CHANGED
@@ -13,7 +13,9 @@ export declare class OptimizedBuffer {
13
13
  private _height;
14
14
  respectAlpha: boolean;
15
15
  private _rawBuffers;
16
+ private _destroyed;
16
17
  get ptr(): Pointer;
18
+ private guard;
17
19
  get buffers(): {
18
20
  char: Uint32Array;
19
21
  fg: Float32Array;
@@ -28,11 +30,11 @@ export declare class OptimizedBuffer {
28
30
  respectAlpha?: boolean;
29
31
  id?: string;
30
32
  }): OptimizedBuffer;
31
- private coordsToIndex;
32
33
  get width(): number;
33
34
  get height(): number;
34
35
  setRespectAlpha(respectAlpha: boolean): void;
35
36
  getNativeId(): string;
37
+ getRealCharBytes(addLineBreaks?: boolean): Uint8Array;
36
38
  clear(bg?: RGBA): void;
37
39
  setCell(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;
38
40
  setCellWithAlphaBlending(x: number, y: number, char: string, fg: RGBA, bg: RGBA, attributes?: number): void;