@opentui/core 0.1.97 → 0.1.99

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.
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  exports_src
4
- } from "./index-9y4vegye.js";
4
+ } from "./index-fedv7szb.js";
5
5
  import {
6
6
  __require
7
- } from "./index-kgg0v67t.js";
7
+ } from "./index-8978gvk3.js";
8
8
 
9
9
  // src/runtime-plugin.ts
10
10
  import { existsSync, readFileSync, realpathSync } from "fs";
@@ -408,4 +408,4 @@ function createRuntimePlugin(input = {}) {
408
408
  export { isCoreRuntimeModuleSpecifier, runtimeModuleIdForSpecifier, createRuntimePlugin };
409
409
 
410
410
  //# debugId=5D58E30F1E057B9664756E2164756E21
411
- //# sourceMappingURL=index-bzjr4q9g.js.map
411
+ //# sourceMappingURL=index-gb4b75s8.js.map
package/index.js CHANGED
@@ -79,7 +79,7 @@ import {
79
79
  registerCorePlugin,
80
80
  resolveCoreSlot,
81
81
  vstyles
82
- } from "./index-9y4vegye.js";
82
+ } from "./index-fedv7szb.js";
83
83
  import {
84
84
  ASCIIFontSelectionHelper,
85
85
  ATTRIBUTE_BASE_BITS,
@@ -236,7 +236,7 @@ import {
236
236
  white,
237
237
  wrapWithDelegates,
238
238
  yellow
239
- } from "./index-kgg0v67t.js";
239
+ } from "./index-8978gvk3.js";
240
240
  export {
241
241
  yellow,
242
242
  wrapWithDelegates,
@@ -1,16 +1,24 @@
1
- export interface KeyBinding<Action extends string = string> {
1
+ export interface KeyBindingLike {
2
2
  name: string;
3
3
  ctrl?: boolean;
4
4
  shift?: boolean;
5
5
  meta?: boolean;
6
6
  super?: boolean;
7
+ }
8
+ export interface KeyBinding<Action extends string = string> extends KeyBindingLike {
7
9
  action: Action;
8
10
  }
11
+ export interface KeyBindingLookup extends KeyBindingLike {
12
+ baseCode?: number;
13
+ }
9
14
  export type KeyAliasMap = Record<string, string>;
10
15
  export declare const defaultKeyAliases: KeyAliasMap;
11
16
  export declare function mergeKeyAliases(defaults: KeyAliasMap, custom: KeyAliasMap): KeyAliasMap;
12
17
  export declare function mergeKeyBindings<Action extends string>(defaults: KeyBinding<Action>[], custom: KeyBinding<Action>[]): KeyBinding<Action>[];
13
- export declare function getKeyBindingKey<Action extends string>(binding: KeyBinding<Action>): string;
18
+ export declare function getKeyBindingKey(binding: KeyBindingLike): string;
19
+ export declare function getKeyBindingKeys(binding: KeyBindingLookup): string[];
20
+ export declare function getKeyBindingAction<Action extends string>(map: Map<string, Action>, binding: KeyBindingLookup): Action | undefined;
21
+ export declare function matchesKeyBinding(binding: KeyBindingLookup, match: KeyBindingLike): boolean;
14
22
  export declare function buildKeyBindingsMap<Action extends string>(bindings: KeyBinding<Action>[], aliasMap?: KeyAliasMap): Map<string, Action>;
15
23
  /**
16
24
  * Converts a key binding to a human-readable string representation
@@ -1,7 +1,7 @@
1
1
  import type { ViewportBounds } from "../types.js";
2
2
  interface ViewportObject {
3
- x: number;
4
- y: number;
3
+ screenX: number;
4
+ screenY: number;
5
5
  width: number;
6
6
  height: number;
7
7
  zIndex: number;
@@ -10,14 +10,14 @@ interface ViewportObject {
10
10
  * Returns objects that overlap with the viewport bounds.
11
11
  *
12
12
  * @param viewport - The viewport bounds to check against
13
- * @param objects - Array of objects MUST be sorted by position (y for column, x for row direction)
13
+ * @param objects - Array of objects MUST be sorted by screen position (screenY for column, screenX for row direction)
14
14
  * @param direction - Primary scroll direction: "column" (vertical) or "row" (horizontal)
15
15
  * @param padding - Extra padding around viewport to include nearby objects
16
16
  * @param minTriggerSize - Minimum array size to use binary search optimization
17
17
  * @returns Array of visible objects sorted by zIndex
18
18
  *
19
19
  * @remarks
20
- * Objects must be pre-sorted by their start position (y for column direction, x for row direction).
20
+ * Objects must be pre-sorted by their start screen position (screenY for column direction, screenX for row direction).
21
21
  * Unsorted input will produce incorrect results.
22
22
  */
23
23
  export declare function getObjectsInViewport<T extends ViewportObject>(viewport: ViewportBounds, objects: T[], direction?: "row" | "column", padding?: number, minTriggerSize?: number): T[];
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.1.97",
7
+ "version": "0.1.99",
8
8
  "description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -67,11 +67,11 @@
67
67
  "bun-webgpu": "0.1.5",
68
68
  "planck": "^1.4.2",
69
69
  "three": "0.177.0",
70
- "@opentui/core-darwin-x64": "0.1.97",
71
- "@opentui/core-darwin-arm64": "0.1.97",
72
- "@opentui/core-linux-x64": "0.1.97",
73
- "@opentui/core-linux-arm64": "0.1.97",
74
- "@opentui/core-win32-x64": "0.1.97",
75
- "@opentui/core-win32-arm64": "0.1.97"
70
+ "@opentui/core-darwin-x64": "0.1.99",
71
+ "@opentui/core-darwin-arm64": "0.1.99",
72
+ "@opentui/core-linux-x64": "0.1.99",
73
+ "@opentui/core-linux-arm64": "0.1.99",
74
+ "@opentui/core-win32-x64": "0.1.99",
75
+ "@opentui/core-win32-arm64": "0.1.99"
76
76
  }
77
77
  }
@@ -12,6 +12,7 @@ declare class ContentRenderable extends BoxRenderable {
12
12
  constructor(ctx: RenderContext, viewport: BoxRenderable, viewportCulling: boolean, options: RenderableOptions<BoxRenderable>);
13
13
  get viewportCulling(): boolean;
14
14
  set viewportCulling(value: boolean);
15
+ protected _hasVisibleChildFilter(): boolean;
15
16
  protected _getVisibleChildren(): number[];
16
17
  }
17
18
  export interface ScrollBoxOptions extends BoxOptions<ScrollBoxRenderable> {
@@ -1,4 +1,7 @@
1
- import { type ColorInput, OptimizedBuffer, Renderable, type RenderableOptions, type RenderContext, RGBA } from "../index.js";
1
+ import { type RenderableOptions, Renderable } from "../Renderable.js";
2
+ import { type RenderContext } from "../types.js";
3
+ import { type ColorInput, RGBA } from "../lib/RGBA.js";
4
+ import { OptimizedBuffer } from "../buffer.js";
2
5
  export interface SliderOptions extends RenderableOptions<SliderRenderable> {
3
6
  orientation: "vertical" | "horizontal";
4
7
  value?: number;
@@ -1,4 +1,4 @@
1
- import type { TextRenderable } from "./index.js";
1
+ import type { TextRenderable } from "./Text.js";
2
2
  import { BaseRenderable, type BaseRenderableOptions } from "../Renderable.js";
3
3
  import { RGBA } from "../lib/RGBA.js";
4
4
  import { StyledText } from "../lib/styled-text.js";
package/renderer.d.ts CHANGED
@@ -250,6 +250,7 @@ export declare class CliRenderer extends EventEmitter implements RenderContext {
250
250
  private normalizeClockTime;
251
251
  private getElapsedMs;
252
252
  focusRenderable(renderable: Renderable): void;
253
+ blurRenderable(renderable: Renderable): void;
253
254
  private setCapturedRenderable;
254
255
  addToHitGrid(x: number, y: number, width: number, height: number, id: number): void;
255
256
  pushHitGridScissorRect(x: number, y: number, width: number, height: number): void;
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  createRuntimePlugin,
4
4
  runtimeModuleIdForSpecifier
5
- } from "./index-bzjr4q9g.js";
6
- import"./index-9y4vegye.js";
7
- import"./index-kgg0v67t.js";
5
+ } from "./index-gb4b75s8.js";
6
+ import"./index-fedv7szb.js";
7
+ import"./index-8978gvk3.js";
8
8
 
9
9
  // src/runtime-plugin-support.ts
10
10
  var {plugin: registerBunPlugin } = globalThis.Bun;
package/runtime-plugin.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  createRuntimePlugin,
4
4
  isCoreRuntimeModuleSpecifier,
5
5
  runtimeModuleIdForSpecifier
6
- } from "./index-bzjr4q9g.js";
7
- import"./index-9y4vegye.js";
8
- import"./index-kgg0v67t.js";
6
+ } from "./index-gb4b75s8.js";
7
+ import"./index-fedv7szb.js";
8
+ import"./index-8978gvk3.js";
9
9
  export {
10
10
  runtimeModuleIdForSpecifier,
11
11
  isCoreRuntimeModuleSpecifier,
package/testing.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  CliRenderer,
5
5
  TreeSitterClient,
6
6
  resolveRenderLib
7
- } from "./index-kgg0v67t.js";
7
+ } from "./index-8978gvk3.js";
8
8
 
9
9
  // src/testing/test-renderer.ts
10
10
  import { Readable, Writable } from "stream";
package/types.d.ts CHANGED
@@ -78,6 +78,7 @@ export interface RenderContext extends EventEmitter {
78
78
  currentFocusedRenderable: Renderable | null;
79
79
  currentFocusedEditor: EditBufferRenderable | null;
80
80
  focusRenderable: (renderable: Renderable) => void;
81
+ blurRenderable: (renderable: Renderable) => void;
81
82
  registerLifecyclePass: (renderable: Renderable) => void;
82
83
  unregisterLifecyclePass: (renderable: Renderable) => void;
83
84
  getLifecyclePasses: () => Set<Renderable>;