@fairyhunter13/opentui-core 0.1.133 → 0.1.135

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
@@ -6,7 +6,7 @@ import {
6
6
  __export,
7
7
  __require,
8
8
  __toESM
9
- } from "./index-cs6ygy1c.js";
9
+ } from "./index-n2b7w731.js";
10
10
 
11
11
  // ../../node_modules/.bun/omggif@1.0.10/node_modules/omggif/omggif.js
12
12
  var require_omggif = __commonJS((exports) => {
package/Renderable.d.ts CHANGED
@@ -16,7 +16,8 @@ export declare enum LayoutEvents {
16
16
  }
17
17
  export declare enum RenderableEvents {
18
18
  FOCUSED = "focused",
19
- BLURRED = "blurred"
19
+ BLURRED = "blurred",
20
+ DESTROYED = "destroyed"
20
21
  }
21
22
  export interface Position {
22
23
  top?: number | "auto" | `${number}%`;
package/console.d.ts CHANGED
@@ -4,7 +4,8 @@ import type { ColorInput } from "./lib/RGBA.js";
4
4
  import { OptimizedBuffer } from "./buffer.js";
5
5
  import { type Clock } from "./lib/clock.js";
6
6
  import { Capture } from "./lib/output.capture.js";
7
- import { type KeyBinding as BaseKeyBinding, type KeyAliasMap } from "./lib/keymapping.js";
7
+ import { type KeyBinding as BaseKeyBinding } from "./lib/keybinding.internal.js";
8
+ type KeyAliasMap = Record<string, string>;
8
9
  export declare const capture: Capture;
9
10
  export declare enum ConsolePosition {
10
11
  TOP = "top",
@@ -142,3 +143,4 @@ export declare class TerminalConsole extends EventEmitter {
142
143
  };
143
144
  private saveLogsToFile;
144
145
  }
146
+ export {};
@@ -1,17 +1,17 @@
1
1
  // @bun
2
2
  import {
3
3
  exports_src
4
- } from "./index-1mvpesey.js";
4
+ } from "./index-x59exf1c.js";
5
5
  import {
6
6
  __require
7
- } from "./index-cs6ygy1c.js";
7
+ } from "./index-n2b7w731.js";
8
8
 
9
9
  // src/runtime-plugin.ts
10
10
  import { existsSync, readFileSync, realpathSync } from "fs";
11
11
  import { basename, dirname, isAbsolute, join } from "path";
12
12
  import { fileURLToPath } from "url";
13
- var CORE_RUNTIME_SPECIFIER = "@fairyhunter13/opentui-core";
14
- var CORE_TESTING_RUNTIME_SPECIFIER = "@fairyhunter13/opentui-core/testing";
13
+ var CORE_RUNTIME_SPECIFIER = "@opentui/core";
14
+ var CORE_TESTING_RUNTIME_SPECIFIER = "@opentui/core/testing";
15
15
  var RUNTIME_MODULE_PREFIX = "opentui:runtime-module:";
16
16
  var MAX_RUNTIME_RESOLVE_PARENTS = 64;
17
17
  var DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS = {
@@ -407,5 +407,5 @@ function createRuntimePlugin(input = {}) {
407
407
 
408
408
  export { isCoreRuntimeModuleSpecifier, runtimeModuleIdForSpecifier, createRuntimePlugin };
409
409
 
410
- //# debugId=127A9B143CE0234164756E2164756E21
411
- //# sourceMappingURL=index-4xe091hk.js.map
410
+ //# debugId=5D58E30F1E057B9664756E2164756E21
411
+ //# sourceMappingURL=index-2bhr97k7.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/runtime-plugin.ts"],
4
+ "sourcesContent": [
5
+ "/*\n * Exposes runtime-only modules (for example `@opentui/core`, `@opentui/solid`,\n * `solid-js`) to externally loaded plugins by rewriting matching imports to\n * virtual `opentui:runtime-module:*` ids.\n *\n * Why this is exact-path + prescan instead of one broad `onLoad`:\n * - Bun can break CJS/UMD interop if a file is routed through plugin `onLoad`\n * (real repro: `jsonc-parser` resolving to `lib/umd/main.js`;\n * https://github.com/oven-sh/bun/issues/19279,\n * https://github.com/oven-sh/bun/issues/21369), so arbitrary `node_modules`\n * JS cannot be blanket-rewritten.\n * - runtime `onResolve` is sync-only, so package/type/source discovery here is\n * synchronous and cached.\n * - a matched `onLoad` cannot safely fall through, so loaders must be narrow.\n * - Bun may canonicalize paths before `onLoad`, so loaders are registered for\n * both the resolved path spelling and its realpath, then canonical-checked.\n * - Bun may native-load `node_modules` ESM without firing `onResolve` for\n * nested package imports, so `node_modules` ESM is recursively prescanned and\n * only files that actually need runtime rewriting get exact-path loaders.\n *\n * Behavior:\n * - non-`node_modules` source files get a dedicated rewrite loader immediately.\n * - `node_modules` files are rewritten only if they are ESM (`.mjs`, `.mts`,\n * `.ts`, `.tsx`, `.jsx`, or `.js` under `package.json#type=\"module\"`) and\n * directly or transitively need runtime-module rewriting; unrelated CJS stays\n * untouched.\n * - optional bare-specifier rewriting is preserved for sibling files in\n * packages already marked for runtime rewriting.\n *\n * Notes:\n * - import scanning is regex-based, not a full parser.\n * - CJS helper libraries that themselves import runtime modules are still not\n * supported.\n * - `package.json#type` caching is per plugin setup, not module-global, so a\n * later plugin instance in the same process can observe filesystem changes.\n */\nimport { existsSync, readFileSync, realpathSync } from \"node:fs\"\nimport { basename, dirname, isAbsolute, join } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\nimport { type BunPlugin } from \"bun\"\nimport * as coreRuntime from \"./index.js\"\n\nexport type RuntimeModuleExports = Record<string, unknown>\nexport type RuntimeModuleLoader = () => RuntimeModuleExports | Promise<RuntimeModuleExports>\nexport type RuntimeModuleEntry = RuntimeModuleExports | RuntimeModuleLoader\n\ninterface SourceAnalysis {\n importSpecifiers: string[]\n needsRuntimeSpecifierRewrite: boolean\n}\n\nexport interface RuntimePluginRewriteOptions {\n nodeModulesRuntimeSpecifiers?: boolean\n nodeModulesBareSpecifiers?: boolean\n}\n\nexport interface CreateRuntimePluginOptions {\n core?: RuntimeModuleEntry\n additional?: Record<string, RuntimeModuleEntry>\n rewrite?: RuntimePluginRewriteOptions\n}\n\nconst CORE_RUNTIME_SPECIFIER = \"@opentui/core\"\nconst CORE_TESTING_RUNTIME_SPECIFIER = \"@opentui/core/testing\"\nconst RUNTIME_MODULE_PREFIX = \"opentui:runtime-module:\"\nconst MAX_RUNTIME_RESOLVE_PARENTS = 64\nconst DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS: Required<RuntimePluginRewriteOptions> = {\n nodeModulesRuntimeSpecifiers: true,\n nodeModulesBareSpecifiers: false,\n}\n\nconst DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS = [CORE_RUNTIME_SPECIFIER, CORE_TESTING_RUNTIME_SPECIFIER] as const\n\nconst DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET = new Set<string>(DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS)\n\nexport const isCoreRuntimeModuleSpecifier = (specifier: string): boolean => {\n return DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET.has(specifier)\n}\n\nconst loadCoreTestingRuntimeModule = async (): Promise<RuntimeModuleExports> => {\n return (await import(\"./testing.js\")) as RuntimeModuleExports\n}\n\nconst escapeRegExp = (value: string): string => {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n}\n\nconst exactSpecifierFilter = (specifier: string): RegExp => {\n return new RegExp(`^${escapeRegExp(specifier)}$`)\n}\n\nconst exactPathFilter = (paths: string[]): RegExp => {\n const candidates = [...new Set(paths.map(sourcePath))]\n return new RegExp(`^(?:${candidates.map(escapeRegExp).join(\"|\")})(?:[?#].*)?$`)\n}\n\nexport const runtimeModuleIdForSpecifier = (specifier: string): string => {\n return `${RUNTIME_MODULE_PREFIX}${encodeURIComponent(specifier)}`\n}\n\nconst resolveRuntimeModuleExports = async (moduleEntry: RuntimeModuleEntry): Promise<RuntimeModuleExports> => {\n if (typeof moduleEntry === \"function\") {\n return await moduleEntry()\n }\n\n return moduleEntry\n}\n\nconst sourcePath = (path: string): string => {\n const searchIndex = path.indexOf(\"?\")\n const hashIndex = path.indexOf(\"#\")\n const end = [searchIndex, hashIndex].filter((index) => index >= 0).sort((a, b) => a - b)[0]\n return end === undefined ? path : path.slice(0, end)\n}\n\nconst normalizedSourcePathByPath = new Map<string, string>()\n\nconst normalizeSourcePath = (path: string): string => {\n const cleanPath = sourcePath(path)\n const cachedPath = normalizedSourcePathByPath.get(cleanPath)\n if (cachedPath !== undefined) {\n return cachedPath\n }\n\n let normalizedPath = cleanPath\n\n try {\n normalizedPath = realpathSync(cleanPath)\n } catch {\n normalizedPath = cleanPath\n }\n\n normalizedSourcePathByPath.set(cleanPath, normalizedPath)\n return normalizedPath\n}\n\nconst isNodeModulesPath = (path: string): boolean => {\n return /(?:^|[/\\\\])node_modules(?:[/\\\\])/.test(path)\n}\n\nconst packageTypeForPath = (\n path: string,\n packageTypeByPackageJsonPath: Map<string, \"module\" | \"commonjs\">,\n): \"module\" | \"commonjs\" => {\n let currentDir = dirname(path)\n\n while (true) {\n const packageJsonPath = join(currentDir, \"package.json\")\n if (existsSync(packageJsonPath)) {\n const cachedPackageType = packageTypeByPackageJsonPath.get(packageJsonPath)\n if (cachedPackageType) {\n return cachedPackageType\n }\n\n let packageType: \"module\" | \"commonjs\" = \"commonjs\"\n\n try {\n const packageJson = JSON.parse(readFileSync(packageJsonPath, \"utf8\")) as { type?: string }\n if (packageJson.type === \"module\") {\n packageType = \"module\"\n }\n } catch {\n packageType = \"commonjs\"\n }\n\n packageTypeByPackageJsonPath.set(packageJsonPath, packageType)\n return packageType\n }\n\n const parentDir = dirname(currentDir)\n if (parentDir === currentDir) {\n return \"commonjs\"\n }\n\n currentDir = parentDir\n }\n}\n\nconst isNodeModulesEsmPath = (\n path: string,\n packageTypeByPackageJsonPath: Map<string, \"module\" | \"commonjs\">,\n): boolean => {\n const normalizedPath = normalizeSourcePath(path)\n\n if (!isNodeModulesPath(normalizedPath)) {\n return false\n }\n\n if (\n normalizedPath.endsWith(\".mjs\") ||\n normalizedPath.endsWith(\".mts\") ||\n normalizedPath.endsWith(\".ts\") ||\n normalizedPath.endsWith(\".tsx\") ||\n normalizedPath.endsWith(\".jsx\")\n ) {\n return true\n }\n\n if (normalizedPath.endsWith(\".cjs\") || normalizedPath.endsWith(\".cts\") || !normalizedPath.endsWith(\".js\")) {\n return false\n }\n\n return packageTypeForPath(normalizedPath, packageTypeByPackageJsonPath) === \"module\"\n}\n\nconst nodeModulesPackageRootForPath = (path: string): string | null => {\n let currentDir = dirname(path)\n\n while (true) {\n const parentDir = dirname(currentDir)\n if (parentDir === currentDir) {\n return null\n }\n\n if (basename(parentDir) === \"node_modules\") {\n return currentDir\n }\n\n if (basename(dirname(parentDir)) === \"node_modules\" && basename(parentDir).startsWith(\"@\")) {\n return currentDir\n }\n\n currentDir = parentDir\n }\n}\n\nconst resolveRuntimePluginRewriteOptions = (\n options: RuntimePluginRewriteOptions | undefined,\n): Required<RuntimePluginRewriteOptions> => {\n return {\n nodeModulesRuntimeSpecifiers:\n options?.nodeModulesRuntimeSpecifiers ?? DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS.nodeModulesRuntimeSpecifiers,\n nodeModulesBareSpecifiers:\n options?.nodeModulesBareSpecifiers ?? DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS.nodeModulesBareSpecifiers,\n }\n}\n\nconst runtimeLoaderForPath = (path: string): \"js\" | \"ts\" | \"jsx\" | \"tsx\" | null => {\n const cleanPath = sourcePath(path)\n\n if (cleanPath.endsWith(\".tsx\")) {\n return \"tsx\"\n }\n\n if (cleanPath.endsWith(\".jsx\")) {\n return \"jsx\"\n }\n\n if (cleanPath.endsWith(\".ts\") || cleanPath.endsWith(\".mts\") || cleanPath.endsWith(\".cts\")) {\n return \"ts\"\n }\n\n if (cleanPath.endsWith(\".js\") || cleanPath.endsWith(\".mjs\") || cleanPath.endsWith(\".cjs\")) {\n return \"js\"\n }\n\n return null\n}\n\nconst resolveImportSpecifierPatterns = [\n /(from\\s+[\"'])([^\"']+)([\"'])/g,\n /(import\\s+[\"'])([^\"']+)([\"'])/g,\n /(import\\s*\\(\\s*[\"'])([^\"']+)([\"']\\s*\\))/g,\n /(require\\s*\\(\\s*[\"'])([^\"']+)([\"']\\s*\\))/g,\n] as const\n\nconst isBareSpecifier = (specifier: string): boolean => {\n if (specifier.startsWith(\".\") || specifier.startsWith(\"/\") || specifier.startsWith(\"\\\\\")) {\n return false\n }\n\n if (\n specifier.startsWith(\"node:\") ||\n specifier.startsWith(\"bun:\") ||\n specifier.startsWith(\"http:\") ||\n specifier.startsWith(\"https:\") ||\n specifier.startsWith(\"file:\") ||\n specifier.startsWith(\"data:\")\n ) {\n return false\n }\n\n if (specifier.startsWith(RUNTIME_MODULE_PREFIX)) {\n return false\n }\n\n return true\n}\n\nconst registerResolveParent = (resolveParentsByRecency: string[], resolveParent: string): void => {\n const existingIndex = resolveParentsByRecency.indexOf(resolveParent)\n if (existingIndex >= 0) {\n resolveParentsByRecency.splice(existingIndex, 1)\n }\n\n resolveParentsByRecency.push(resolveParent)\n\n if (resolveParentsByRecency.length > MAX_RUNTIME_RESOLVE_PARENTS) {\n resolveParentsByRecency.shift()\n }\n}\n\nconst rewriteImportSpecifiers = (code: string, resolveReplacement: (specifier: string) => string | null): string => {\n let transformedCode = code\n\n for (const pattern of resolveImportSpecifierPatterns) {\n transformedCode = transformedCode.replace(pattern, (fullMatch, prefix, specifier, suffix) => {\n const replacement = resolveReplacement(specifier)\n if (!replacement || replacement === specifier) {\n return fullMatch\n }\n\n return `${prefix}${replacement}${suffix}`\n })\n }\n\n return transformedCode\n}\n\nconst collectImportSpecifiers = (code: string): string[] => {\n const specifiers = new Set<string>()\n\n for (const pattern of resolveImportSpecifierPatterns) {\n code.replace(pattern, (_fullMatch, _prefix, specifier) => {\n specifiers.add(specifier)\n return _fullMatch\n })\n }\n\n return [...specifiers]\n}\n\nconst resolveFromParent = (specifier: string, parent: string): string | null => {\n try {\n const resolvedSpecifier = import.meta.resolve(specifier, parent)\n if (\n resolvedSpecifier === specifier ||\n resolvedSpecifier.startsWith(\"node:\") ||\n resolvedSpecifier.startsWith(\"bun:\")\n ) {\n return null\n }\n\n return resolvedSpecifier\n } catch {\n return null\n }\n}\n\nconst resolveSourcePathFromSpecifier = (specifier: string, importer: string): string | null => {\n if (\n specifier.startsWith(\"node:\") ||\n specifier.startsWith(\"bun:\") ||\n specifier.startsWith(\"http:\") ||\n specifier.startsWith(\"https:\") ||\n specifier.startsWith(\"data:\") ||\n specifier.startsWith(RUNTIME_MODULE_PREFIX)\n ) {\n return null\n }\n\n if (specifier.startsWith(\"file:\")) {\n return sourcePath(fileURLToPath(specifier))\n }\n\n if (isAbsolute(specifier)) {\n return sourcePath(specifier)\n }\n\n const resolvedSpecifier = resolveFromParent(specifier, importer)\n if (!resolvedSpecifier) {\n return null\n }\n\n if (resolvedSpecifier.startsWith(\"file:\")) {\n return sourcePath(fileURLToPath(resolvedSpecifier))\n }\n\n if (isAbsolute(resolvedSpecifier)) {\n return sourcePath(resolvedSpecifier)\n }\n\n return null\n}\n\nconst rewriteImportsFromResolveParents = (code: string, resolveParentsByRecency: string[]): string => {\n if (resolveParentsByRecency.length === 0) {\n return code\n }\n\n const resolveFromParents = (specifier: string): string | null => {\n if (!isBareSpecifier(specifier)) {\n return null\n }\n\n for (let index = resolveParentsByRecency.length - 1; index >= 0; index -= 1) {\n const resolveParent = resolveParentsByRecency[index]\n const resolvedSpecifier = resolveFromParent(specifier, resolveParent)\n if (resolvedSpecifier) {\n return resolvedSpecifier\n }\n }\n\n return null\n }\n\n return rewriteImportSpecifiers(code, resolveFromParents)\n}\n\nconst rewriteRuntimeSpecifiers = (code: string, runtimeModuleIdsBySpecifier: Map<string, string>): string => {\n return rewriteImportSpecifiers(code, (specifier) => {\n const runtimeModuleId = runtimeModuleIdsBySpecifier.get(specifier)\n return runtimeModuleId ?? null\n })\n}\n\nexport function createRuntimePlugin(input: CreateRuntimePluginOptions = {}): BunPlugin {\n const runtimeModules = new Map<string, RuntimeModuleEntry>()\n runtimeModules.set(CORE_RUNTIME_SPECIFIER, input.core ?? (coreRuntime as RuntimeModuleExports))\n runtimeModules.set(CORE_TESTING_RUNTIME_SPECIFIER, loadCoreTestingRuntimeModule)\n const rewriteOptions = resolveRuntimePluginRewriteOptions(input.rewrite)\n\n for (const [specifier, moduleEntry] of Object.entries(input.additional ?? {})) {\n runtimeModules.set(specifier, moduleEntry)\n }\n\n const runtimeModuleIdsBySpecifier = new Map<string, string>()\n for (const specifier of runtimeModules.keys()) {\n runtimeModuleIdsBySpecifier.set(specifier, runtimeModuleIdForSpecifier(specifier))\n }\n\n return {\n name: \"bun-plugin-opentui-runtime-modules\",\n setup: (build) => {\n const resolveParentsByRecency: string[] = []\n const installedRewriteLoaders = new Set<string>()\n const nodeModulesBareRewritePackageRoots = new Set<string>()\n const packageTypeByPackageJsonPath = new Map<string, \"module\" | \"commonjs\">()\n const sourceAnalysisByPath = new Map<string, SourceAnalysis>()\n const nodeModulesRuntimeRewritePathsByPath = new Map<string, string[]>()\n\n const installRewriteLoader = (path: string): void => {\n const resolvedTargetPath = sourcePath(path)\n const canonicalTargetPath = normalizeSourcePath(resolvedTargetPath)\n\n if (installedRewriteLoaders.has(canonicalTargetPath)) {\n return\n }\n\n installedRewriteLoaders.add(canonicalTargetPath)\n\n // Register both the resolved path spelling and its canonical realpath so Bun\n // can reach the loader even if it reports the same file through a different alias.\n build.onLoad({ filter: exactPathFilter([resolvedTargetPath, canonicalTargetPath]) }, async (args) => {\n const loadedPath = normalizeSourcePath(args.path)\n if (loadedPath !== canonicalTargetPath) {\n return undefined\n }\n\n const nodeModulesPath = isNodeModulesPath(loadedPath)\n const shouldRewriteRuntimeSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesRuntimeSpecifiers\n const shouldRewriteBareSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesBareSpecifiers\n const loader = runtimeLoaderForPath(args.path)\n\n if (!loader) {\n throw new Error(`Unable to determine runtime loader for path: ${args.path}`)\n }\n\n const contents = await Bun.file(loadedPath).text()\n const runtimeRewrittenContents = shouldRewriteRuntimeSpecifiers\n ? rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier)\n : contents\n\n if (runtimeRewrittenContents !== contents && shouldRewriteBareSpecifiers) {\n registerResolveParent(resolveParentsByRecency, loadedPath)\n }\n\n const transformedContents = shouldRewriteBareSpecifiers\n ? rewriteImportsFromResolveParents(runtimeRewrittenContents, resolveParentsByRecency)\n : runtimeRewrittenContents\n\n return {\n contents: transformedContents,\n loader,\n }\n })\n }\n\n const analyzeSourcePath = (path: string): SourceAnalysis => {\n const normalizedPath = normalizeSourcePath(path)\n const cachedAnalysis = sourceAnalysisByPath.get(normalizedPath)\n if (cachedAnalysis) {\n return cachedAnalysis\n }\n\n const contents = readFileSync(normalizedPath, \"utf8\")\n const importSpecifiers = collectImportSpecifiers(contents)\n const analysis = {\n importSpecifiers,\n needsRuntimeSpecifierRewrite: importSpecifiers.some((specifier) =>\n runtimeModuleIdsBySpecifier.has(specifier),\n ),\n }\n\n sourceAnalysisByPath.set(normalizedPath, analysis)\n return analysis\n }\n\n const collectNodeModulesRuntimeRewritePaths = (path: string, visiting = new Set<string>()): string[] => {\n const normalizedPath = normalizeSourcePath(path)\n\n if (!isNodeModulesEsmPath(normalizedPath, packageTypeByPackageJsonPath)) {\n return []\n }\n\n const cachedPaths = nodeModulesRuntimeRewritePathsByPath.get(normalizedPath)\n if (cachedPaths) {\n return cachedPaths\n }\n\n if (visiting.has(normalizedPath)) {\n return []\n }\n\n visiting.add(normalizedPath)\n\n const rewritePaths = new Set<string>()\n const analysis = analyzeSourcePath(normalizedPath)\n\n if (analysis.needsRuntimeSpecifierRewrite) {\n rewritePaths.add(normalizedPath)\n }\n\n for (const specifier of analysis.importSpecifiers) {\n const resolvedPath = resolveSourcePathFromSpecifier(specifier, normalizedPath)\n if (!resolvedPath || !isNodeModulesEsmPath(resolvedPath, packageTypeByPackageJsonPath)) {\n continue\n }\n\n for (const nestedPath of collectNodeModulesRuntimeRewritePaths(resolvedPath, visiting)) {\n rewritePaths.add(nestedPath)\n }\n }\n\n visiting.delete(normalizedPath)\n\n const resolvedRewritePaths = [...rewritePaths]\n nodeModulesRuntimeRewritePathsByPath.set(normalizedPath, resolvedRewritePaths)\n return resolvedRewritePaths\n }\n\n for (const [specifier, moduleEntry] of runtimeModules.entries()) {\n const moduleId = runtimeModuleIdsBySpecifier.get(specifier)\n\n if (!moduleId) {\n continue\n }\n\n build.module(moduleId, async () => ({\n exports: await resolveRuntimeModuleExports(moduleEntry),\n loader: \"object\",\n }))\n\n build.onResolve({ filter: exactSpecifierFilter(specifier) }, () => ({ path: moduleId }))\n }\n\n build.onResolve({ filter: /.*/ }, (args) => {\n if (runtimeModuleIdsBySpecifier.has(args.path) || args.path.startsWith(RUNTIME_MODULE_PREFIX)) {\n return undefined\n }\n\n const path = resolveSourcePathFromSpecifier(args.path, args.importer)\n if (!path || !runtimeLoaderForPath(path)) {\n return undefined\n }\n\n const nodeModulesPath = isNodeModulesPath(path)\n\n if (!nodeModulesPath) {\n installRewriteLoader(path)\n return undefined\n }\n\n if (!rewriteOptions.nodeModulesRuntimeSpecifiers && !rewriteOptions.nodeModulesBareSpecifiers) {\n return undefined\n }\n\n for (const rewritePath of collectNodeModulesRuntimeRewritePaths(path)) {\n installRewriteLoader(rewritePath)\n }\n\n const packageRoot = nodeModulesPackageRootForPath(path)\n if (\n rewriteOptions.nodeModulesBareSpecifiers &&\n packageRoot &&\n nodeModulesBareRewritePackageRoots.has(packageRoot)\n ) {\n installRewriteLoader(path)\n return undefined\n }\n\n if (!rewriteOptions.nodeModulesRuntimeSpecifiers || !analyzeSourcePath(path).needsRuntimeSpecifierRewrite) {\n return undefined\n }\n\n if (rewriteOptions.nodeModulesBareSpecifiers && packageRoot) {\n nodeModulesBareRewritePackageRoots.add(packageRoot)\n }\n\n installRewriteLoader(path)\n return undefined\n })\n },\n }\n}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "5D58E30F1E057B9664756E2164756E21",
9
+ "names": []
10
+ }
@@ -5575,6 +5575,7 @@ var kittyKeyMap = {
5575
5575
  57453: "iso_level3_shift",
5576
5576
  57454: "iso_level5_shift"
5577
5577
  };
5578
+ var kittyNamedSingleStrokeKeys = [...new Set(Object.values(kittyKeyMap))];
5578
5579
  function fromKittyMods(mod) {
5579
5580
  return {
5580
5581
  shift: !!(mod & 1),
@@ -5897,6 +5898,9 @@ var keyName = {
5897
5898
  "[Z": "tab"
5898
5899
  };
5899
5900
  var nonAlphanumericKeys = [...Object.values(keyName), "backspace"];
5901
+ var terminalNamedSingleStrokeKeys = [
5902
+ ...new Set(["return", "linefeed", "tab", "escape", "space", ...nonAlphanumericKeys, ...kittyNamedSingleStrokeKeys])
5903
+ ];
5900
5904
  var isShiftKey = (code) => {
5901
5905
  return ["[a", "[b", "[c", "[d", "[e", "[2$", "[3$", "[5$", "[6$", "[7$", "[8$", "[Z"].includes(code);
5902
5906
  };
@@ -14894,6 +14898,7 @@ var RenderableEvents;
14894
14898
  ((RenderableEvents2) => {
14895
14899
  RenderableEvents2["FOCUSED"] = "focused";
14896
14900
  RenderableEvents2["BLURRED"] = "blurred";
14901
+ RenderableEvents2["DESTROYED"] = "destroyed";
14897
14902
  })(RenderableEvents ||= {});
14898
14903
  function isRenderable(obj) {
14899
14904
  return !!obj?.[BrandedRenderable];
@@ -15086,8 +15091,8 @@ class Renderable extends BaseRenderable {
15086
15091
  focus() {
15087
15092
  if (this._isDestroyed || this._focused || !this._focusable)
15088
15093
  return;
15089
- this._ctx.focusRenderable(this);
15090
15094
  this._focused = true;
15095
+ this._ctx.focusRenderable(this);
15091
15096
  this.requestRender();
15092
15097
  this.keypressHandler = (key) => {
15093
15098
  if (this._isDestroyed)
@@ -15761,8 +15766,13 @@ class Renderable extends BaseRenderable {
15761
15766
  const childLayoutNode = renderable.getLayoutNode();
15762
15767
  const insertedIndex = this._childrenInLayoutOrder.length;
15763
15768
  this._childrenInLayoutOrder.push(renderable);
15764
- if (!this._isDestroyed && !renderable.isDestroyed)
15769
+ if (!this._isDestroyed && !renderable.isDestroyed) {
15770
+ const existingParent = childLayoutNode.getParent();
15771
+ if (existingParent && existingParent !== this.yogaNode) {
15772
+ existingParent.removeChild(childLayoutNode);
15773
+ }
15765
15774
  this.yogaNode.insertChild(childLayoutNode, insertedIndex);
15775
+ }
15766
15776
  this.childrenPrimarySortDirty = true;
15767
15777
  this._shouldUpdateBefore.add(renderable);
15768
15778
  this.requestRender();
@@ -15828,8 +15838,13 @@ class Renderable extends BaseRenderable {
15828
15838
  const anchorIndex = this._childrenInLayoutOrder.indexOf(anchor);
15829
15839
  const insertedIndex = Math.max(0, Math.min(anchorIndex, this._childrenInLayoutOrder.length));
15830
15840
  this._childrenInLayoutOrder.splice(insertedIndex, 0, renderable);
15831
- if (!this._isDestroyed && !renderable.isDestroyed)
15841
+ if (!this._isDestroyed && !renderable.isDestroyed) {
15842
+ const existingParent = renderable.getLayoutNode().getParent();
15843
+ if (existingParent && existingParent !== this.yogaNode) {
15844
+ existingParent.removeChild(renderable.getLayoutNode());
15845
+ }
15832
15846
  this.yogaNode.insertChild(renderable.getLayoutNode(), insertedIndex);
15847
+ }
15833
15848
  this._shouldUpdateBefore.add(renderable);
15834
15849
  this.requestRender();
15835
15850
  return insertedIndex;
@@ -15981,6 +15996,7 @@ class Renderable extends BaseRenderable {
15981
15996
  return;
15982
15997
  }
15983
15998
  this._isDestroyed = true;
15999
+ this.emit("destroyed" /* DESTROYED */);
15984
16000
  if (this.parent) {
15985
16001
  this.parent.remove(this.id);
15986
16002
  }
@@ -18480,7 +18496,7 @@ class CapturedWritableStream extends Writable {
18480
18496
  }
18481
18497
  }
18482
18498
 
18483
- // src/lib/keymapping.ts
18499
+ // src/lib/keybinding.internal.ts
18484
18500
  var defaultKeyAliases = {
18485
18501
  enter: "return",
18486
18502
  esc: "escape",
@@ -21129,6 +21145,7 @@ var CliRenderEvents;
21129
21145
  CliRenderEvents2["RESIZE"] = "resize";
21130
21146
  CliRenderEvents2["FOCUS"] = "focus";
21131
21147
  CliRenderEvents2["BLUR"] = "blur";
21148
+ CliRenderEvents2["FOCUSED_RENDERABLE"] = "focused_renderable";
21132
21149
  CliRenderEvents2["FOCUSED_EDITOR"] = "focused_editor";
21133
21150
  CliRenderEvents2["THEME_MODE"] = "theme_mode";
21134
21151
  CliRenderEvents2["CAPABILITIES"] = "capabilities";
@@ -21526,20 +21543,29 @@ Captured external output:
21526
21543
  return Math.max(now - then, 0);
21527
21544
  }
21528
21545
  focusRenderable(renderable) {
21529
- if (this._currentFocusedRenderable === renderable)
21546
+ if (this._currentFocusedRenderable === renderable) {
21530
21547
  return;
21531
- const prev = this.currentFocusedEditor;
21532
- this._currentFocusedRenderable?.blur();
21548
+ }
21549
+ const previousRenderable = this._currentFocusedRenderable;
21550
+ const previousEditor = this.currentFocusedEditor;
21533
21551
  this._currentFocusedRenderable = renderable;
21534
- const next = this.currentFocusedEditor;
21535
- if (prev !== next) {
21536
- this.emit("focused_editor" /* FOCUSED_EDITOR */, next, prev);
21552
+ previousRenderable?.blur();
21553
+ const currentEditor = this.currentFocusedEditor;
21554
+ if (previousEditor !== currentEditor) {
21555
+ this.emit("focused_editor" /* FOCUSED_EDITOR */, currentEditor, previousEditor);
21537
21556
  }
21557
+ this.emit("focused_renderable" /* FOCUSED_RENDERABLE */, renderable, previousRenderable);
21538
21558
  }
21539
21559
  blurRenderable(renderable) {
21540
- if (this._currentFocusedRenderable === renderable) {
21541
- this._currentFocusedRenderable = null;
21560
+ if (this._currentFocusedRenderable !== renderable) {
21561
+ return;
21562
+ }
21563
+ const previousEditor = this.currentFocusedEditor;
21564
+ this._currentFocusedRenderable = null;
21565
+ if (previousEditor !== null) {
21566
+ this.emit("focused_editor" /* FOCUSED_EDITOR */, null, previousEditor);
21542
21567
  }
21568
+ this.emit("focused_renderable" /* FOCUSED_RENDERABLE */, null, renderable);
21543
21569
  }
21544
21570
  setCapturedRenderable(renderable) {
21545
21571
  if (this.capturedRenderable === renderable) {
@@ -23745,7 +23771,7 @@ Captured external output:
23745
23771
  }
23746
23772
  }
23747
23773
 
23748
- export { __toESM, __commonJS, __export, __require, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, COLOR_TAG_RGB, COLOR_TAG_DEFAULT, DEFAULT_FOREGROUND_RGB, DEFAULT_BACKGROUND_RGB, normalizeIndexedColorIndex, ansi256IndexToRgb, decodeColorTag, RGBA, normalizeColorValue, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, TargetChannel, createTextAttributes, attributesWithLink, getLinkId, visualizeRenderableTree, 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, link, t, hastToStyledText, SystemClock, nonAlphanumericKeys, parseKeypress, LinearScrollAccel, MacOSScrollAccel, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, StdinParser, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, normalizeTerminalPalette, buildTerminalPaletteSignature, decodePasteBytes, stripAnsiSequences, detectLinks, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, TextBufferView, EditBuffer, EditorView, convertThemeToStyles, SyntaxStyle, ANSI, BoxRenderable, TextBufferRenderable, CodeRenderable, isTextNodeRenderable, TextNodeRenderable, RootTextNodeRenderable, TextRenderable, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingAction, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, EditBufferRenderableEvents, isEditBufferRenderable, EditBufferRenderable, calculateRenderGeometry, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
23774
+ export { __toESM, __commonJS, __export, __require, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, COLOR_TAG_RGB, COLOR_TAG_DEFAULT, DEFAULT_FOREGROUND_RGB, DEFAULT_BACKGROUND_RGB, normalizeIndexedColorIndex, ansi256IndexToRgb, decodeColorTag, RGBA, normalizeColorValue, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, ATTRIBUTE_BASE_BITS, ATTRIBUTE_BASE_MASK, getBaseAttributes, DebugOverlayCorner, TargetChannel, createTextAttributes, attributesWithLink, getLinkId, visualizeRenderableTree, 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, link, t, hastToStyledText, SystemClock, nonAlphanumericKeys, terminalNamedSingleStrokeKeys, parseKeypress, LinearScrollAccel, MacOSScrollAccel, parseAlign, parseAlignItems, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, StdinParser, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extensionToFiletype, basenameToFiletype, extToFiletype, pathToFiletype, infoStringToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, normalizeTerminalPalette, buildTerminalPaletteSignature, decodePasteBytes, stripAnsiSequences, detectLinks, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, TextBufferView, EditBuffer, EditorView, convertThemeToStyles, SyntaxStyle, ANSI, BoxRenderable, TextBufferRenderable, CodeRenderable, isTextNodeRenderable, TextNodeRenderable, RootTextNodeRenderable, TextRenderable, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingAction, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, EditBufferRenderableEvents, isEditBufferRenderable, EditBufferRenderable, calculateRenderGeometry, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
23749
23775
 
23750
- //# debugId=D9BE2EC36AFD1FCD64756E2164756E21
23751
- //# sourceMappingURL=index-cs6ygy1c.js.map
23776
+ //# debugId=A3534BF85C8469EA64756E2164756E21
23777
+ //# sourceMappingURL=index-n2b7w731.js.map