@code-yeongyu/senpi-tui 2026.9.19-2 → 2026.9.20
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/dist/native-module-path.d.ts.map +1 -1
- package/dist/native-module-path.js +26 -3
- package/dist/native-module-path.js.map +1 -1
- package/dist/tui-alt-screen.d.ts.map +1 -1
- package/dist/tui-alt-screen.js +13 -6
- package/dist/tui-alt-screen.js.map +1 -1
- package/dist/tui-main-screen.d.ts.map +1 -1
- package/dist/tui-main-screen.js +11 -3
- package/dist/tui-main-screen.js.map +1 -1
- package/dist/tui.d.ts +15 -2
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +45 -2
- package/dist/tui.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-module-path.d.ts","sourceRoot":"","sources":["../src/native-module-path.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,4BAA4B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"native-module-path.d.ts","sourceRoot":"","sources":["../src/native-module-path.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,4BAA4B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAqBD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,4BAAiC,GAAG,MAAM,EAAE,CAqBlH"}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
2
|
+
import { dirname, isAbsolute, join } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
const moduleRequire = createRequire(import.meta.url);
|
|
5
5
|
const TUI_PACKAGE_NAME = "@earendil-works/pi-tui";
|
|
6
|
+
/**
|
|
7
|
+
* Locate the installed TUI package entry.
|
|
8
|
+
*
|
|
9
|
+
* `import.meta.resolve` is tried first because it is the only resolver that answers correctly
|
|
10
|
+
* from an esbuild chunk under Bun: `require.resolve` there returns the bare specifier instead
|
|
11
|
+
* of throwing, and a caller that trusts it builds a relative path out of the package name.
|
|
12
|
+
*/
|
|
13
|
+
function resolvePackageEntry(resolveOverride) {
|
|
14
|
+
if (resolveOverride) {
|
|
15
|
+
return resolveOverride(TUI_PACKAGE_NAME);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
return fileURLToPath(import.meta.resolve(TUI_PACKAGE_NAME));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Older runtimes and some bundles have no usable import.meta.resolve.
|
|
22
|
+
}
|
|
23
|
+
return moduleRequire.resolve(TUI_PACKAGE_NAME);
|
|
24
|
+
}
|
|
6
25
|
export function getNativeModuleCandidates(nativePath, options = {}) {
|
|
7
26
|
const moduleDir = dirname(fileURLToPath(options.moduleUrl ?? import.meta.url));
|
|
8
27
|
const candidates = [];
|
|
9
28
|
try {
|
|
10
|
-
const packageEntry = (options.resolvePackage
|
|
11
|
-
|
|
29
|
+
const packageEntry = resolvePackageEntry(options.resolvePackage);
|
|
30
|
+
// A resolver that answers with the bare specifier would yield a relative candidate, and
|
|
31
|
+
// `require` reads that as a package id and never reaches the prebuild.
|
|
32
|
+
if (packageEntry && isAbsolute(packageEntry)) {
|
|
33
|
+
candidates.push(join(dirname(packageEntry), "..", nativePath));
|
|
34
|
+
}
|
|
12
35
|
}
|
|
13
36
|
catch {
|
|
14
37
|
// Standalone binaries do not have an installed TUI package.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-module-path.js","sourceRoot":"","sources":["../src/native-module-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"native-module-path.js","sourceRoot":"","sources":["../src/native-module-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAQlD;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,eAA+C;IAC3E,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QACJ,OAAO,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACR,sEAAsE;IACvE,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,OAAO,GAAiC,EAAE;IACvG,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjE,wFAAwF;QACxF,uEAAuE;QACvE,IAAI,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,4DAA4D;IAC7D,CAAC;IAED,UAAU,CAAC,IAAI,CACd,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EACjC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAC/D,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import { createRequire } from \"node:module\";\nimport { dirname, isAbsolute, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst moduleRequire = createRequire(import.meta.url);\nconst TUI_PACKAGE_NAME = \"@earendil-works/pi-tui\";\n\nexport interface NativeModuleCandidateOptions {\n\tmoduleUrl?: string;\n\texecPath?: string;\n\tresolvePackage?: (specifier: string) => string;\n}\n\n/**\n * Locate the installed TUI package entry.\n *\n * `import.meta.resolve` is tried first because it is the only resolver that answers correctly\n * from an esbuild chunk under Bun: `require.resolve` there returns the bare specifier instead\n * of throwing, and a caller that trusts it builds a relative path out of the package name.\n */\nfunction resolvePackageEntry(resolveOverride?: (specifier: string) => string): string | undefined {\n\tif (resolveOverride) {\n\t\treturn resolveOverride(TUI_PACKAGE_NAME);\n\t}\n\ttry {\n\t\treturn fileURLToPath(import.meta.resolve(TUI_PACKAGE_NAME));\n\t} catch {\n\t\t// Older runtimes and some bundles have no usable import.meta.resolve.\n\t}\n\treturn moduleRequire.resolve(TUI_PACKAGE_NAME);\n}\n\nexport function getNativeModuleCandidates(nativePath: string, options: NativeModuleCandidateOptions = {}): string[] {\n\tconst moduleDir = dirname(fileURLToPath(options.moduleUrl ?? import.meta.url));\n\tconst candidates: string[] = [];\n\n\ttry {\n\t\tconst packageEntry = resolvePackageEntry(options.resolvePackage);\n\t\t// A resolver that answers with the bare specifier would yield a relative candidate, and\n\t\t// `require` reads that as a package id and never reaches the prebuild.\n\t\tif (packageEntry && isAbsolute(packageEntry)) {\n\t\t\tcandidates.push(join(dirname(packageEntry), \"..\", nativePath));\n\t\t}\n\t} catch {\n\t\t// Standalone binaries do not have an installed TUI package.\n\t}\n\n\tcandidates.push(\n\t\tjoin(moduleDir, \"..\", nativePath),\n\t\tjoin(moduleDir, nativePath),\n\t\tjoin(dirname(options.execPath ?? process.execPath), nativePath),\n\t);\n\treturn Array.from(new Set(candidates));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-alt-screen.d.ts","sourceRoot":"","sources":["../src/tui-alt-screen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tui-alt-screen.d.ts","sourceRoot":"","sources":["../src/tui-alt-screen.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAY9C,OAAO,EACN,KAAK,SAAS,EAOd,OAAO,EAKP,KAAK,cAAc,EACnB,YAAY,EACZ,KAAK,WAAW,EAChB,MAAM,UAAU,CAAC;AAoHlB,MAAM,WAAW,mBAAmB;IACnC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,mDAAmD;IACnD,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACzE;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,MAAM,CAAC;IACpC,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,0GAA0G;IAC1G,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,0EAA0E;AAC1E,qBAAa,YAAa,SAAQ,OAAQ,YAAW,WAAW;IAC/D,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IACtC,QAAQ,CAAC,CAAC,YAAY,CAAC,OAAiB;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;IAC3E,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,oBAAoB,CAAC,CAA2B;IACxD,OAAO,CAAC,4BAA4B,CAAiB;IACrD,OAAO,CAAC,wBAAwB,CAAC,CAAiB;IAClD,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,wBAAwB,CAAC,CAA2B;IAC5D,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAClD,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAC,CAMzB;IACF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;IAC5D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;IACnE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6C;IACzF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAe;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAa;IAChD,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqC;IAEpE,YACC,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,mBAAwB,EAuBjC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,eAAe,IAAI,OAAO,CAEzB;IAED,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtC;IAED,6EAA6E;IAC7E,kBAAkB,IAAI,OAAO,CAE5B;IAED,wGAAwG;IAClG,8BAA8B,IAAI,OAAO,CAAC,OAAO,CAAC,CAIvD;IAED,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAKpD;IAEQ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEvC;IAED,UAAmB,eAAe,IAAI,SAAS,SAAS,EAAE,CAEzD;IAED,OAAO,CAAC,oBAAoB;IAI5B,UAAmB,mBAAmB,IAAI,IAAI,CAwC7C;IAED,UAAmB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAapE;IAED,UAAmB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAuBlE;IAED,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,kBAAkB;IAkD1B,UAAmB,gBAAgB,IAAI,IAAI,CAK1C;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG5B;IAED,WAAW,IAAI,IAAI,CAGlB;IAED,cAAc,IAAI,IAAI,CAGrB;IAED,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,8BAA8B;IAUtC,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,aAAa;IAqErB,oEAAoE;IACpE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhD;IAED,OAAO,CAAC,iCAAiC;IAIzC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,mBAAmB;IAmH3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAqExB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,oCAAoC;IAQ5C,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,yBAAyB;IA6CjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,yBAAyB;IAgFjC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,sBAAsB;YAwBhB,wBAAwB;YAMxB,mBAAmB;IAejC,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,qBAAqB;IA+D7B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,gBAAgB;IAcxB,UAAmB,QAAQ,IAAI,IAAI,CAoElC;CACD"}
|
package/dist/tui-alt-screen.js
CHANGED
|
@@ -604,10 +604,12 @@ export class TuiAltScreen extends TuiBase {
|
|
|
604
604
|
}
|
|
605
605
|
return undefined;
|
|
606
606
|
}
|
|
607
|
-
applyMouseDispatchResult(event, result) {
|
|
608
|
-
const focusTarget =
|
|
609
|
-
|
|
610
|
-
|
|
607
|
+
applyMouseDispatchResult(event, result, applyFocus = true) {
|
|
608
|
+
const focusTarget = applyFocus && result.focus
|
|
609
|
+
? this.resolveMouseFocusTarget(result.focusTarget ?? result.target.component)
|
|
610
|
+
: null;
|
|
611
|
+
const focusChanged = focusTarget !== null && this.getFocusedComponent() !== focusTarget;
|
|
612
|
+
if (focusTarget)
|
|
611
613
|
this.setFocus(focusTarget);
|
|
612
614
|
if (result.capture)
|
|
613
615
|
this.mouseCapture = result.target;
|
|
@@ -669,9 +671,14 @@ export class TuiAltScreen extends TuiBase {
|
|
|
669
671
|
const clickEvent = this.createMouseEvent("click", raw.button, raw.x, raw.y, {
|
|
670
672
|
clickCount: this.getComponentClickCount(target, raw.x, raw.y),
|
|
671
673
|
});
|
|
674
|
+
// A click handler that moves focus owns the outcome; only re-apply the click
|
|
675
|
+
// target's focus when the handler left focus untouched.
|
|
676
|
+
const focusBeforeClick = this.getFocusedComponent();
|
|
672
677
|
const clickResult = this.dispatchMouseToTarget(clickEvent, target);
|
|
673
|
-
if (clickResult)
|
|
674
|
-
|
|
678
|
+
if (clickResult) {
|
|
679
|
+
const keepHandlerFocus = this.getFocusedComponent() !== focusBeforeClick;
|
|
680
|
+
render = this.applyMouseDispatchResult(clickEvent, clickResult, !keepHandlerFocus) || render;
|
|
681
|
+
}
|
|
675
682
|
}
|
|
676
683
|
this.clearComponentMouseGesture();
|
|
677
684
|
}
|