@opentui/core 0.1.23 → 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/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",
@@ -78,35 +77,36 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
78
77
  onMouseOver?: (this: T, event: MouseEvent) => void;
79
78
  onMouseOut?: (this: T, event: MouseEvent) => void;
80
79
  onMouseScroll?: (this: T, event: MouseEvent) => void;
80
+ onPaste?: (this: T, text: string) => void;
81
81
  onKeyDown?: (key: ParsedKey) => void;
82
82
  onSizeChange?: (this: T) => void;
83
83
  }
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
84
  export declare function isRenderable(obj: any): obj is Renderable;
94
85
  export declare abstract class BaseRenderable extends EventEmitter {
95
86
  [BrandedRenderable]: boolean;
96
87
  private static renderableNumber;
97
- readonly id: string;
88
+ protected _id: string;
98
89
  readonly num: number;
99
90
  protected _dirty: boolean;
91
+ parent: BaseRenderable | null;
92
+ protected _visible: boolean;
100
93
  constructor(options: BaseRenderableOptions);
101
94
  abstract add(obj: BaseRenderable | unknown, index?: number): number;
102
95
  abstract remove(id: string): void;
96
+ abstract insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void;
103
97
  abstract getChildren(): BaseRenderable[];
104
98
  abstract getChildrenCount(): number;
105
99
  abstract getRenderable(id: string): BaseRenderable | undefined;
106
100
  abstract requestRender(): void;
101
+ get id(): string;
102
+ set id(value: string);
107
103
  get isDirty(): boolean;
108
104
  protected markClean(): void;
109
105
  protected markDirty(): void;
106
+ destroy(): void;
107
+ destroyRecursively(): void;
108
+ get visible(): boolean;
109
+ set visible(value: boolean);
110
110
  }
111
111
  export declare abstract class Renderable extends BaseRenderable {
112
112
  static renderablesByNumber: Map<number, Renderable>;
@@ -121,34 +121,38 @@ export declare abstract class Renderable extends BaseRenderable {
121
121
  protected _widthValue: number;
122
122
  protected _heightValue: number;
123
123
  private _zIndex;
124
- protected _visible: boolean;
125
124
  selectable: boolean;
126
125
  protected buffered: boolean;
127
126
  protected frameBuffer: OptimizedBuffer | null;
128
127
  protected _focusable: boolean;
129
128
  protected _focused: boolean;
130
- protected keyHandler: KeyHandler;
131
129
  protected keypressHandler: ((key: ParsedKey) => void) | null;
130
+ protected pasteHandler: ((text: string) => void) | null;
132
131
  private _live;
133
132
  protected _liveCount: number;
134
133
  private _sizeChangeListener;
135
134
  private _mouseListener;
136
135
  private _mouseListeners;
136
+ private _pasteListener;
137
137
  private _keyListeners;
138
- protected layoutNode: TrackedNode;
138
+ protected yogaNode: YogaNode;
139
139
  protected _positionType: PositionTypeString;
140
140
  protected _overflow: OverflowString;
141
141
  protected _position: Position;
142
- private renderableMap;
143
- protected renderableArray: Renderable[];
142
+ private renderableMapById;
143
+ protected _childrenInLayoutOrder: Renderable[];
144
+ protected _childrenInZIndexOrder: Renderable[];
144
145
  private needsZIndexSort;
145
146
  parent: Renderable | null;
146
147
  private childrenPrimarySortDirty;
147
148
  private childrenSortedByPrimaryAxis;
148
149
  private _newChildren;
150
+ onLifecyclePass: (() => void) | null;
149
151
  renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
150
152
  renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
151
153
  constructor(ctx: RenderContext, options: RenderableOptions<any>);
154
+ get id(): string;
155
+ set id(value: string);
152
156
  get focusable(): boolean;
153
157
  get ctx(): RenderContext;
154
158
  get visible(): boolean;
@@ -166,6 +170,7 @@ export declare abstract class Renderable extends BaseRenderable {
166
170
  set live(value: boolean);
167
171
  protected propagateLiveCount(delta: number): void;
168
172
  handleKeyPress?(key: ParsedKey | string): boolean;
173
+ handlePaste?(text: string): void;
169
174
  findDescendantById(id: string): Renderable | undefined;
170
175
  requestRender(): void;
171
176
  get translateX(): number;
@@ -222,11 +227,16 @@ export declare abstract class Renderable extends BaseRenderable {
222
227
  set paddingRight(padding: number | `${number}%` | undefined);
223
228
  set paddingBottom(padding: number | `${number}%` | undefined);
224
229
  set paddingLeft(padding: number | `${number}%` | undefined);
225
- getLayoutNode(): TrackedNode;
230
+ getLayoutNode(): YogaNode;
226
231
  updateFromLayout(): void;
227
232
  protected onLayoutResize(width: number, height: number): void;
228
233
  protected handleFrameBufferResize(width: number, height: number): void;
229
234
  protected createFrameBuffer(): void;
235
+ /**
236
+ * This will be called during a render pass.
237
+ * Requesting a render during a render pass will drop the requested render.
238
+ * If you need to request a render during a render pass, use process.nextTick.
239
+ */
230
240
  protected onResize(width: number, height: number): void;
231
241
  private replaceParent;
232
242
  private _forceLayoutUpdateFor;
@@ -264,6 +274,8 @@ export declare abstract class Renderable extends BaseRenderable {
264
274
  set onMouseOver(handler: ((event: MouseEvent) => void) | undefined);
265
275
  set onMouseOut(handler: ((event: MouseEvent) => void) | undefined);
266
276
  set onMouseScroll(handler: ((event: MouseEvent) => void) | undefined);
277
+ set onPaste(handler: ((text: string) => void) | undefined);
278
+ get onPaste(): ((text: string) => void) | undefined;
267
279
  set onKeyDown(handler: ((key: ParsedKey) => void) | undefined);
268
280
  get onKeyDown(): ((key: ParsedKey) => void) | undefined;
269
281
  set onSizeChange(handler: (() => void) | undefined);
@@ -289,14 +301,11 @@ interface RenderCommandRender extends RenderCommandBase {
289
301
  }
290
302
  export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender;
291
303
  export declare class RootRenderable extends Renderable {
292
- private yogaConfig;
293
304
  private renderList;
294
305
  constructor(ctx: RenderContext);
295
306
  render(buffer: OptimizedBuffer, deltaTime: number): void;
296
307
  protected propagateLiveCount(delta: number): void;
297
308
  calculateLayout(): void;
298
309
  resize(width: number, height: number): void;
299
- protected onUpdate(deltaTime: number): void;
300
- protected destroySelf(): void;
301
310
  }
302
311
  export {};
package/ansi.d.ts CHANGED
@@ -2,27 +2,12 @@ export declare const ANSI: {
2
2
  switchToAlternateScreen: string;
3
3
  switchToMainScreen: string;
4
4
  reset: string;
5
- hideCursor: string;
6
- showCursor: string;
7
- resetCursorColor: string;
8
- saveCursorState: string;
9
- restoreCursorState: string;
10
- queryPixelSize: string;
11
5
  scrollDown: (lines: number) => string;
12
6
  scrollUp: (lines: number) => string;
13
7
  moveCursor: (row: number, col: number) => string;
14
8
  moveCursorAndClear: (row: number, col: number) => string;
15
- clearFromCursor: string;
16
9
  setRgbBackground: (r: number, g: number, b: number) => string;
17
10
  resetBackground: string;
18
- enableMouseTracking: string;
19
- disableMouseTracking: string;
20
- enableButtonEventTracking: string;
21
- disableButtonEventTracking: string;
22
- enableAnyEventTracking: string;
23
- disableAnyEventTracking: string;
24
- enableSGRMouseMode: string;
25
- disableSGRMouseMode: string;
26
- makeRoomForRenderer: (height: number) => string;
27
- clearRendererSpace: (height: number) => string;
11
+ bracketedPasteStart: string;
12
+ bracketedPasteEnd: string;
28
13
  };
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;