@opentui/core 0.1.21 → 0.1.22

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-8sac0sgm.js";
8
+ } from "./index-443j38eh.js";
9
9
 
10
10
  // ../../node_modules/omggif/omggif.js
11
11
  var require_omggif = __commonJS((exports) => {
package/Renderable.d.ts CHANGED
@@ -125,7 +125,7 @@ export declare abstract class Renderable extends BaseRenderable {
125
125
  selectable: boolean;
126
126
  protected buffered: boolean;
127
127
  protected frameBuffer: OptimizedBuffer | null;
128
- protected focusable: boolean;
128
+ protected _focusable: boolean;
129
129
  protected _focused: boolean;
130
130
  protected keyHandler: KeyHandler;
131
131
  protected keypressHandler: ((key: ParsedKey) => void) | null;
@@ -149,6 +149,7 @@ export declare abstract class Renderable extends BaseRenderable {
149
149
  renderBefore?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
150
150
  renderAfter?: (this: Renderable, buffer: OptimizedBuffer, deltaTime: number) => void;
151
151
  constructor(ctx: RenderContext, options: RenderableOptions<any>);
152
+ get focusable(): boolean;
152
153
  get ctx(): RenderContext;
153
154
  get visible(): boolean;
154
155
  get primaryAxis(): "row" | "column";
@@ -5912,7 +5912,7 @@ class Renderable extends BaseRenderable {
5912
5912
  selectable = false;
5913
5913
  buffered;
5914
5914
  frameBuffer = null;
5915
- focusable = false;
5915
+ _focusable = false;
5916
5916
  _focused = false;
5917
5917
  keyHandler = getKeyHandler();
5918
5918
  keypressHandler = null;
@@ -5963,6 +5963,9 @@ class Renderable extends BaseRenderable {
5963
5963
  this.createFrameBuffer();
5964
5964
  }
5965
5965
  }
5966
+ get focusable() {
5967
+ return this._focusable;
5968
+ }
5966
5969
  get ctx() {
5967
5970
  return this._ctx;
5968
5971
  }
@@ -6004,8 +6007,9 @@ class Renderable extends BaseRenderable {
6004
6007
  return false;
6005
6008
  }
6006
6009
  focus() {
6007
- if (this._focused || !this.focusable)
6010
+ if (this._focused || !this._focusable)
6008
6011
  return;
6012
+ this._ctx.focusRenderable(this);
6009
6013
  this._focused = true;
6010
6014
  this.requestRender();
6011
6015
  this.keypressHandler = (key) => {
@@ -6018,7 +6022,7 @@ class Renderable extends BaseRenderable {
6018
6022
  this.emit("focused" /* FOCUSED */);
6019
6023
  }
6020
6024
  blur() {
6021
- if (!this._focused || !this.focusable)
6025
+ if (!this._focused || !this._focusable)
6022
6026
  return;
6023
6027
  this._focused = false;
6024
6028
  this.requestRender();
@@ -7996,6 +8000,7 @@ class CliRenderer extends EventEmitter6 {
7996
8000
  sigwinchHandler = null;
7997
8001
  _capabilities = null;
7998
8002
  _latestPointer = { x: 0, y: 0 };
8003
+ _currentFocusedRenderable = null;
7999
8004
  constructor(lib, rendererPtr, stdin, stdout, width, height, config = {}) {
8000
8005
  super();
8001
8006
  this.stdin = stdin;
@@ -8107,6 +8112,17 @@ Error details:
8107
8112
  };
8108
8113
  }
8109
8114
  }
8115
+ get currentFocusedRenderable() {
8116
+ return this._currentFocusedRenderable;
8117
+ }
8118
+ focusRenderable(renderable) {
8119
+ if (this._currentFocusedRenderable === renderable)
8120
+ return;
8121
+ if (this._currentFocusedRenderable) {
8122
+ this._currentFocusedRenderable.blur();
8123
+ }
8124
+ this._currentFocusedRenderable = renderable;
8125
+ }
8110
8126
  addToHitGrid(x, y, width, height, id) {
8111
8127
  if (id !== this.capturedRenderable?.num) {
8112
8128
  this.lib.addToHitGrid(this.rendererPtr, x, y, width, height, id);
@@ -8889,5 +8905,5 @@ Error details:
8889
8905
 
8890
8906
  export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, TrackedNode, createTrackedNode, nonAlphanumericKeys, parseKeypress, KeyHandler, getKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, SyntaxStyle, hastToStyledText, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isValidPercentage, isMarginType, isPaddingType, isPositionType, isPositionTypeType, isOverflowType, isDimensionType, isFlexBasisType, isSizeType, isRenderable, BaseRenderable, Renderable, RootRenderable, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, CliRenderer };
8891
8907
 
8892
- //# debugId=C46E0EF37C964E9E64756E2164756E21
8893
- //# sourceMappingURL=index-8sac0sgm.js.map
8908
+ //# debugId=688CA104E8866AAF64756E2164756E21
8909
+ //# sourceMappingURL=index-443j38eh.js.map