@opentui/core 0.0.0-20260331-7396ced3 → 0.0.0-20260331-98e5d2ed

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-ah3s1ydp.js";
9
+ } from "./index-wv534m5j.js";
10
10
 
11
11
  // ../../node_modules/.bun/omggif@1.0.10/node_modules/omggif/omggif.js
12
12
  var require_omggif = __commonJS((exports) => {
@@ -1,16 +1,20 @@
1
1
  // @bun
2
2
  import {
3
3
  exports_src
4
- } from "./index-4fv469ab.js";
4
+ } from "./index-t2rqapaa.js";
5
5
  import {
6
6
  __require
7
- } from "./index-ah3s1ydp.js";
7
+ } from "./index-wv534m5j.js";
8
8
 
9
9
  // src/runtime-plugin.ts
10
10
  var CORE_RUNTIME_SPECIFIER = "@opentui/core";
11
11
  var CORE_TESTING_RUNTIME_SPECIFIER = "@opentui/core/testing";
12
12
  var RUNTIME_MODULE_PREFIX = "opentui:runtime-module:";
13
13
  var MAX_RUNTIME_RESOLVE_PARENTS = 64;
14
+ var DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS = {
15
+ nodeModulesRuntimeSpecifiers: true,
16
+ nodeModulesBareSpecifiers: false
17
+ };
14
18
  var DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS = [CORE_RUNTIME_SPECIFIER, CORE_TESTING_RUNTIME_SPECIFIER];
15
19
  var DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET = new Set(DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS);
16
20
  var isCoreRuntimeModuleSpecifier = (specifier) => {
@@ -40,6 +44,15 @@ var sourcePath = (path) => {
40
44
  const end = [searchIndex, hashIndex].filter((index) => index >= 0).sort((a, b) => a - b)[0];
41
45
  return end === undefined ? path : path.slice(0, end);
42
46
  };
47
+ var isNodeModulesPath = (path) => {
48
+ return /(?:^|[/\\])node_modules(?:[/\\])/.test(path);
49
+ };
50
+ var resolveRuntimePluginRewriteOptions = (options) => {
51
+ return {
52
+ nodeModulesRuntimeSpecifiers: options?.nodeModulesRuntimeSpecifiers ?? DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS.nodeModulesRuntimeSpecifiers,
53
+ nodeModulesBareSpecifiers: options?.nodeModulesBareSpecifiers ?? DEFAULT_RUNTIME_PLUGIN_REWRITE_OPTIONS.nodeModulesBareSpecifiers
54
+ };
55
+ };
43
56
  var runtimeLoaderForPath = (path) => {
44
57
  const cleanPath = sourcePath(path);
45
58
  if (cleanPath.endsWith(".tsx")) {
@@ -56,7 +69,7 @@ var runtimeLoaderForPath = (path) => {
56
69
  }
57
70
  return null;
58
71
  };
59
- var runtimeSourceFilter = /^(?!.*(?:\/|\\)node_modules(?:\/|\\)).*\.(?:[cm]?js|[cm]?ts|jsx|tsx)(?:[?#].*)?$/;
72
+ var runtimeSourceFilter = /\.(?:[cm]?js|[cm]?ts|jsx|tsx)(?:[?#].*)?$/;
60
73
  var resolveImportSpecifierPatterns = [
61
74
  /(from\s+["'])([^"']+)(["'])/g,
62
75
  /(import\s+["'])([^"']+)(["'])/g,
@@ -138,6 +151,7 @@ function createRuntimePlugin(input = {}) {
138
151
  const runtimeModules = new Map;
139
152
  runtimeModules.set(CORE_RUNTIME_SPECIFIER, input.core ?? exports_src);
140
153
  runtimeModules.set(CORE_TESTING_RUNTIME_SPECIFIER, loadCoreTestingRuntimeModule);
154
+ const rewriteOptions = resolveRuntimePluginRewriteOptions(input.rewrite);
141
155
  for (const [specifier, moduleEntry] of Object.entries(input.additional ?? {})) {
142
156
  runtimeModules.set(specifier, moduleEntry);
143
157
  }
@@ -162,17 +176,23 @@ function createRuntimePlugin(input = {}) {
162
176
  }
163
177
  build.onLoad({ filter: runtimeSourceFilter }, async (args) => {
164
178
  const path = sourcePath(args.path);
179
+ const nodeModulesPath = isNodeModulesPath(path);
180
+ const shouldRewriteRuntimeSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesRuntimeSpecifiers;
181
+ const shouldRewriteBareSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesBareSpecifiers;
182
+ if (!shouldRewriteRuntimeSpecifiers && !shouldRewriteBareSpecifiers) {
183
+ return;
184
+ }
165
185
  const loader = runtimeLoaderForPath(args.path);
166
186
  if (!loader) {
167
187
  throw new Error(`Unable to determine runtime loader for path: ${args.path}`);
168
188
  }
169
189
  const file = Bun.file(path);
170
190
  const contents = await file.text();
171
- const runtimeRewrittenContents = rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier);
172
- if (runtimeRewrittenContents !== contents) {
191
+ const runtimeRewrittenContents = shouldRewriteRuntimeSpecifiers ? rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier) : contents;
192
+ if (runtimeRewrittenContents !== contents && shouldRewriteBareSpecifiers) {
173
193
  registerResolveParent(resolveParentsByRecency, path);
174
194
  }
175
- const transformedContents = rewriteImportsFromResolveParents(runtimeRewrittenContents, resolveParentsByRecency);
195
+ const transformedContents = shouldRewriteBareSpecifiers ? rewriteImportsFromResolveParents(runtimeRewrittenContents, resolveParentsByRecency) : runtimeRewrittenContents;
176
196
  return {
177
197
  contents: transformedContents,
178
198
  loader
@@ -184,5 +204,5 @@ function createRuntimePlugin(input = {}) {
184
204
 
185
205
  export { isCoreRuntimeModuleSpecifier, runtimeModuleIdForSpecifier, createRuntimePlugin };
186
206
 
187
- //# debugId=320B34A5E2C7118F64756E2164756E21
188
- //# sourceMappingURL=index-mynptvjn.js.map
207
+ //# debugId=28B0B69C36E6FDF764756E2164756E21
208
+ //# sourceMappingURL=index-d991k25n.js.map
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/runtime-plugin.ts"],
4
+ "sourcesContent": [
5
+ "import { 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\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\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 isNodeModulesPath = (path: string): boolean => {\n return /(?:^|[/\\\\])node_modules(?:[/\\\\])/.test(path)\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 runtimeSourceFilter = /\\.(?:[cm]?js|[cm]?ts|jsx|tsx)(?:[?#].*)?$/\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 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 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\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.onLoad({ filter: runtimeSourceFilter }, async (args) => {\n const path = sourcePath(args.path)\n const nodeModulesPath = isNodeModulesPath(path)\n const shouldRewriteRuntimeSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesRuntimeSpecifiers\n const shouldRewriteBareSpecifiers = !nodeModulesPath || rewriteOptions.nodeModulesBareSpecifiers\n\n if (!shouldRewriteRuntimeSpecifiers && !shouldRewriteBareSpecifiers) {\n return undefined\n }\n\n const loader = runtimeLoaderForPath(args.path)\n if (!loader) {\n throw new Error(`Unable to determine runtime loader for path: ${args.path}`)\n }\n\n const file = Bun.file(path)\n const contents = await file.text()\n const runtimeRewrittenContents = shouldRewriteRuntimeSpecifiers\n ? rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier)\n : contents\n\n if (runtimeRewrittenContents !== contents && shouldRewriteBareSpecifiers) {\n registerResolveParent(resolveParentsByRecency, path)\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}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "28B0B69C36E6FDF764756E2164756E21",
9
+ "names": []
10
+ }
@@ -162,7 +162,7 @@ import {
162
162
  white,
163
163
  wrapWithDelegates,
164
164
  yellow
165
- } from "./index-ah3s1ydp.js";
165
+ } from "./index-wv534m5j.js";
166
166
 
167
167
  // src/index.ts
168
168
  var exports_src2 = {};
@@ -13339,4 +13339,4 @@ class TimeToFirstDrawRenderable extends Renderable {
13339
13339
  export { TextBufferView, EditBuffer, EditorView, convertThemeToStyles, SyntaxStyle, DistortionEffect, VignetteEffect, CloudsEffect, FlamesEffect, CRTRollingBarEffect, RainbowTextEffect, applyScanlines, applyInvert, applyNoise, applyChromaticAberration, applyAsciiArt, applyBrightness, applyGain, applySaturation, BloomEffect, SEPIA_MATRIX, PROTANOPIA_SIM_MATRIX, DEUTERANOPIA_SIM_MATRIX, TRITANOPIA_SIM_MATRIX, ACHROMATOPSIA_MATRIX, PROTANOPIA_COMP_MATRIX, DEUTERANOPIA_COMP_MATRIX, TRITANOPIA_COMP_MATRIX, TECHNICOLOR_MATRIX, SOLARIZATION_MATRIX, SYNTHWAVE_MATRIX, GREENSCALE_MATRIX, GRAYSCALE_MATRIX, INVERT_MATRIX, Timeline, engine, createTimeline, SlotRegistry, createSlotRegistry, createCoreSlotRegistry, registerCorePlugin, resolveCoreSlot, SlotRenderable, NativeSpanFeed, FrameBufferRenderable, ASCIIFontRenderable, BoxRenderable, TextBufferRenderable, CodeRenderable, isTextNodeRenderable, TextNodeRenderable, RootTextNodeRenderable, Generic, Box, Text, ASCIIFont, Input, Select, TabSelect, FrameBuffer, Code, ScrollBox, vstyles, VRenderable, LineNumberRenderable, TextRenderable, DiffRenderable, TextareaRenderable, InputRenderableEvents, InputRenderable, TextTableRenderable, MarkdownRenderable, SliderRenderable, ScrollBarRenderable, ArrowRenderable, ScrollBoxRenderable, SelectRenderableEvents, SelectRenderable, TabSelectRenderableEvents, TabSelectRenderable, TimeToFirstDrawRenderable, exports_src2 as exports_src };
13340
13340
 
13341
13341
  //# debugId=7EDA3B41AC71805164756E2164756E21
13342
- //# sourceMappingURL=index-4fv469ab.js.map
13342
+ //# sourceMappingURL=index-t2rqapaa.js.map
@@ -7014,6 +7014,28 @@ function parsePositiveDecimalPrefix(sequence, start, endExclusive) {
7014
7014
  }
7015
7015
  return sawDigit ? value : null;
7016
7016
  }
7017
+ function parseKittyFirstFieldCodepoint(sequence, start, endExclusive) {
7018
+ if (start >= endExclusive)
7019
+ return null;
7020
+ let firstColon = -1;
7021
+ for (let index = start;index < endExclusive; index += 1) {
7022
+ if (sequence[index] === 58) {
7023
+ firstColon = index;
7024
+ break;
7025
+ }
7026
+ }
7027
+ if (firstColon === -1)
7028
+ return null;
7029
+ const codepoint = parsePositiveDecimalPrefix(sequence, start, firstColon);
7030
+ if (codepoint === null)
7031
+ return null;
7032
+ for (let index = firstColon + 1;index < endExclusive; index += 1) {
7033
+ const byte = sequence[index];
7034
+ if (byte !== 58 && !isAsciiDigit(byte))
7035
+ return null;
7036
+ }
7037
+ return codepoint;
7038
+ }
7017
7039
  function canStillBeKittyU(state) {
7018
7040
  return state.semicolons >= 1;
7019
7041
  }
@@ -7483,7 +7505,12 @@ class StdinParser {
7483
7505
  continue;
7484
7506
  }
7485
7507
  if (byte === 59) {
7486
- const firstParamValue = parsePositiveDecimalPrefix(bytes, this.unitStart + 2, this.cursor);
7508
+ const firstParamStart = this.unitStart + 2;
7509
+ const firstParamEnd = this.cursor;
7510
+ let firstParamValue = parsePositiveDecimalPrefix(bytes, firstParamStart, firstParamEnd);
7511
+ if (firstParamValue === null && this.protocolContext.kittyKeyboardEnabled) {
7512
+ firstParamValue = parseKittyFirstFieldCodepoint(bytes, firstParamStart, firstParamEnd);
7513
+ }
7487
7514
  if (firstParamValue !== null) {
7488
7515
  this.cursor += 1;
7489
7516
  this.state = {
@@ -19141,5 +19168,5 @@ Captured output:
19141
19168
 
19142
19169
  export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, isValidBorderStyle, parseBorderStyle, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, 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, decodePasteBytes, stripAnsiSequences, detectLinks, TextBuffer, SpanInfoStruct, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, defaultKeyAliases, mergeKeyAliases, mergeKeyBindings, getKeyBindingKey, buildKeyBindingsMap, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, buildKittyKeyboardFlags, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
19143
19170
 
19144
- //# debugId=7D64B4A9AB8C32BD64756E2164756E21
19145
- //# sourceMappingURL=index-ah3s1ydp.js.map
19171
+ //# debugId=AAC1AF32CFE7F73F64756E2164756E21
19172
+ //# sourceMappingURL=index-wv534m5j.js.map