@opentui/core 0.1.60 → 0.1.62

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/3d.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  __export,
6
6
  __require,
7
7
  __toESM
8
- } from "./index-916mvx7m.js";
8
+ } from "./index-mrwvcpzb.js";
9
9
 
10
10
  // ../../node_modules/omggif/omggif.js
11
11
  var require_omggif = __commonJS((exports) => {
package/Renderable.d.ts CHANGED
@@ -65,6 +65,7 @@ export interface RenderableOptions<T extends BaseRenderable = BaseRenderable> ex
65
65
  visible?: boolean;
66
66
  buffered?: boolean;
67
67
  live?: boolean;
68
+ opacity?: number;
68
69
  renderBefore?: (this: T, buffer: OptimizedBuffer, deltaTime: number) => void;
69
70
  renderAfter?: (this: T, buffer: OptimizedBuffer, deltaTime: number) => void;
70
71
  onMouse?: (this: T, event: MouseEvent) => void;
@@ -140,6 +141,7 @@ export declare abstract class Renderable extends BaseRenderable {
140
141
  protected _positionType: PositionTypeString;
141
142
  protected _overflow: OverflowString;
142
143
  protected _position: Position;
144
+ protected _opacity: number;
143
145
  private _flexShrink;
144
146
  private renderableMapById;
145
147
  protected _childrenInLayoutOrder: Renderable[];
@@ -160,6 +162,8 @@ export declare abstract class Renderable extends BaseRenderable {
160
162
  get visible(): boolean;
161
163
  get primaryAxis(): "row" | "column";
162
164
  set visible(value: boolean);
165
+ get opacity(): number;
166
+ set opacity(value: number);
163
167
  hasSelection(): boolean;
164
168
  onSelectionChanged(selection: Selection | null): boolean;
165
169
  getSelectedText(): string;
@@ -171,7 +175,7 @@ export declare abstract class Renderable extends BaseRenderable {
171
175
  get liveCount(): number;
172
176
  set live(value: boolean);
173
177
  protected propagateLiveCount(delta: number): void;
174
- handleKeyPress?(key: KeyEvent | string): boolean;
178
+ handleKeyPress?(key: KeyEvent): boolean;
175
179
  handlePaste?(event: PasteEvent): void;
176
180
  findDescendantById(id: string): Renderable | undefined;
177
181
  requestRender(): void;
@@ -284,7 +288,7 @@ export declare abstract class Renderable extends BaseRenderable {
284
288
  private applyEventOptions;
285
289
  }
286
290
  interface RenderCommandBase {
287
- action: "render" | "pushScissorRect" | "popScissorRect";
291
+ action: "render" | "pushScissorRect" | "popScissorRect" | "pushOpacity" | "popOpacity";
288
292
  }
289
293
  interface RenderCommandPushScissorRect extends RenderCommandBase {
290
294
  action: "pushScissorRect";
@@ -300,7 +304,14 @@ interface RenderCommandRender extends RenderCommandBase {
300
304
  action: "render";
301
305
  renderable: Renderable;
302
306
  }
303
- export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender;
307
+ interface RenderCommandPushOpacity extends RenderCommandBase {
308
+ action: "pushOpacity";
309
+ opacity: number;
310
+ }
311
+ interface RenderCommandPopOpacity extends RenderCommandBase {
312
+ action: "popOpacity";
313
+ }
314
+ export type RenderCommand = RenderCommandPushScissorRect | RenderCommandPopScissorRect | RenderCommandRender | RenderCommandPushOpacity | RenderCommandPopOpacity;
304
315
  export declare class RootRenderable extends Renderable {
305
316
  private renderList;
306
317
  constructor(ctx: RenderContext);
package/buffer.d.ts CHANGED
@@ -73,6 +73,10 @@ export declare class OptimizedBuffer {
73
73
  pushScissorRect(x: number, y: number, width: number, height: number): void;
74
74
  popScissorRect(): void;
75
75
  clearScissorRects(): void;
76
+ pushOpacity(opacity: number): void;
77
+ popOpacity(): void;
78
+ getCurrentOpacity(): number;
79
+ clearOpacity(): void;
76
80
  encodeUnicode(text: string): {
77
81
  ptr: Pointer;
78
82
  data: Array<{
package/console.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { EventEmitter } from "events";
2
- import type { CliRenderer, ColorInput } from ".";
2
+ import type { CliRenderer, ColorInput, MouseEvent } from ".";
3
3
  import { OptimizedBuffer } from "./buffer";
4
4
  import { Capture } from "./lib/output.capture";
5
+ import { type KeyBinding as BaseKeyBinding, type KeyAliasMap } from "./lib/keymapping";
5
6
  export declare const capture: Capture;
6
7
  export declare enum ConsolePosition {
7
8
  TOP = "top",
@@ -9,6 +10,8 @@ export declare enum ConsolePosition {
9
10
  LEFT = "left",
10
11
  RIGHT = "right"
11
12
  }
13
+ export type ConsoleAction = "scroll-up" | "scroll-down" | "scroll-to-top" | "scroll-to-bottom" | "position-previous" | "position-next" | "size-increase" | "size-decrease" | "save-logs" | "copy-selection";
14
+ export type ConsoleKeyBinding = BaseKeyBinding<ConsoleAction>;
12
15
  export interface ConsoleOptions {
13
16
  position?: ConsolePosition;
14
17
  sizePercent?: number;
@@ -26,6 +29,11 @@ export interface ConsoleOptions {
26
29
  cursorColor?: ColorInput;
27
30
  maxStoredLogs?: number;
28
31
  maxDisplayLines?: number;
32
+ onCopySelection?: (text: string) => void;
33
+ keyBindings?: ConsoleKeyBinding[];
34
+ keyAliasMap?: KeyAliasMap;
35
+ selectionColor?: ColorInput;
36
+ copyButtonColor?: ColorInput;
29
37
  }
30
38
  export declare class TerminalConsole extends EventEmitter {
31
39
  private isVisible;
@@ -46,7 +54,18 @@ export declare class TerminalConsole extends EventEmitter {
46
54
  private _allLogEntries;
47
55
  private _needsFrameBufferUpdate;
48
56
  private _entryListener;
57
+ private _selectionStart;
58
+ private _selectionEnd;
59
+ private _isSelecting;
60
+ private _copyButtonBounds;
61
+ private _autoScrollInterval;
62
+ private _keyBindingsMap;
63
+ private _keyAliasMap;
64
+ private _keyBindings;
65
+ private _mergedKeyBindings;
66
+ private _actionHandlers;
49
67
  private markNeedsRerender;
68
+ private getCopyButtonLabel;
50
69
  private _rgbaInfo;
51
70
  private _rgbaWarn;
52
71
  private _rgbaError;
@@ -57,13 +76,26 @@ export declare class TerminalConsole extends EventEmitter {
57
76
  private _rgbaTitleBarText;
58
77
  private _title;
59
78
  private _rgbaCursor;
79
+ private _rgbaSelection;
80
+ private _rgbaCopyButton;
60
81
  private _positions;
61
82
  constructor(renderer: CliRenderer, options?: ConsoleOptions);
83
+ private buildActionHandlers;
62
84
  activate(): void;
63
85
  deactivate(): void;
64
86
  private _handleNewLog;
65
87
  private _updateConsoleDimensions;
66
88
  private handleKeyPress;
89
+ private scrollUp;
90
+ private scrollDown;
91
+ private scrollToTop;
92
+ private scrollToBottomAction;
93
+ private positionPrevious;
94
+ private positionNext;
95
+ private sizeIncrease;
96
+ private sizeDecrease;
97
+ private saveLogsAction;
98
+ private triggerCopyAction;
67
99
  private attachStdin;
68
100
  private detachStdin;
69
101
  private formatTimestamp;
@@ -81,8 +113,28 @@ export declare class TerminalConsole extends EventEmitter {
81
113
  renderToBuffer(buffer: OptimizedBuffer): void;
82
114
  setDebugMode(enabled: boolean): void;
83
115
  toggleDebugMode(): void;
116
+ set keyBindings(bindings: ConsoleKeyBinding[]);
117
+ set keyAliasMap(aliases: KeyAliasMap);
118
+ set onCopySelection(callback: ((text: string) => void) | undefined);
119
+ get onCopySelection(): ((text: string) => void) | undefined;
84
120
  private _scrollToBottom;
85
121
  private _processLogEntry;
86
122
  private _processCachedLogs;
123
+ private hasSelection;
124
+ private normalizeSelection;
125
+ private getSelectedText;
126
+ private clearSelection;
127
+ private stopAutoScroll;
128
+ private startAutoScroll;
129
+ private triggerCopy;
130
+ private getLineSelectionRange;
131
+ handleMouse(event: MouseEvent): boolean;
132
+ get visible(): boolean;
133
+ get bounds(): {
134
+ x: number;
135
+ y: number;
136
+ width: number;
137
+ height: number;
138
+ };
87
139
  private saveLogsToFile;
88
140
  }
package/editor-view.d.ts CHANGED
@@ -21,19 +21,22 @@ export declare class EditorView {
21
21
  private guard;
22
22
  get ptr(): Pointer;
23
23
  setViewportSize(width: number, height: number): void;
24
+ setViewport(x: number, y: number, width: number, height: number, moveCursor?: boolean): void;
24
25
  getViewport(): Viewport;
25
26
  setScrollMargin(margin: number): void;
26
27
  setWrapMode(mode: "none" | "char" | "word"): void;
27
28
  getVirtualLineCount(): number;
28
29
  getTotalVirtualLineCount(): number;
29
30
  setSelection(start: number, end: number, bgColor?: RGBA, fgColor?: RGBA): void;
31
+ updateSelection(end: number, bgColor?: RGBA, fgColor?: RGBA): void;
30
32
  resetSelection(): void;
31
33
  getSelection(): {
32
34
  start: number;
33
35
  end: number;
34
36
  } | null;
35
37
  hasSelection(): boolean;
36
- setLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA): boolean;
38
+ setLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, updateCursor?: boolean): boolean;
39
+ updateLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, updateCursor?: boolean): boolean;
37
40
  resetLocalSelection(): void;
38
41
  getSelectedText(): string;
39
42
  getCursor(): {
@@ -49,6 +52,8 @@ export declare class EditorView {
49
52
  getNextWordBoundary(): VisualCursor;
50
53
  getPrevWordBoundary(): VisualCursor;
51
54
  getEOL(): VisualCursor;
55
+ getVisualSOL(): VisualCursor;
56
+ getVisualEOL(): VisualCursor;
52
57
  getLineInfo(): LineInfo;
53
58
  getLogicalLineInfo(): LineInfo;
54
59
  get extmarks(): any;