termkit 2.4.0 → 2.4.1
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/index.js +25 -16
- package/dist/index.mjs +25 -16
- package/dist/models/MultiSelect.d.ts.map +1 -1
- package/dist/models/Select.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -639,7 +639,7 @@ var Select = class {
|
|
|
639
639
|
process.stdin.removeListener("data", onKey);
|
|
640
640
|
process.stdout.write(ENABLE_WRAP + SHOW_CURSOR);
|
|
641
641
|
});
|
|
642
|
-
const cleanup = () => {
|
|
642
|
+
const cleanup = (selectedLabel) => {
|
|
643
643
|
deregisterCleanup();
|
|
644
644
|
if (timer) {
|
|
645
645
|
clearInterval(timer);
|
|
@@ -648,7 +648,12 @@ var Select = class {
|
|
|
648
648
|
process.stdin.setRawMode(false);
|
|
649
649
|
process.stdin.pause();
|
|
650
650
|
process.stdin.removeListener("data", onKey);
|
|
651
|
-
process.stdout.write(
|
|
651
|
+
process.stdout.write(CURSOR_UP(lastDrawnLines + 1));
|
|
652
|
+
process.stdout.write("\r\x1B[0J");
|
|
653
|
+
process.stdout.write(ENABLE_WRAP);
|
|
654
|
+
process.stdout.write(`${glyph}${prompt}: ${selectedLabel ?? this.skipLabel}
|
|
655
|
+
`);
|
|
656
|
+
process.stdout.write(SHOW_CURSOR);
|
|
652
657
|
};
|
|
653
658
|
if (this._parsedColors.length >= 2) {
|
|
654
659
|
timer = setInterval(() => {
|
|
@@ -670,10 +675,19 @@ var Select = class {
|
|
|
670
675
|
selectedIndex = (selectedIndex + 1) % allItems.length;
|
|
671
676
|
renderList(true);
|
|
672
677
|
} else if (str === "\r" || str === "\n") {
|
|
673
|
-
|
|
674
|
-
|
|
678
|
+
const result = selectedIndex === filtered.length ? null : filtered[selectedIndex] ?? null;
|
|
679
|
+
cleanup(result?.label ?? null);
|
|
680
|
+
resolve(result);
|
|
675
681
|
} else if (str === "") {
|
|
676
|
-
|
|
682
|
+
deregisterCleanup();
|
|
683
|
+
if (timer) {
|
|
684
|
+
clearInterval(timer);
|
|
685
|
+
timer = null;
|
|
686
|
+
}
|
|
687
|
+
process.stdin.setRawMode(false);
|
|
688
|
+
process.stdin.pause();
|
|
689
|
+
process.stdin.removeListener("data", onKey);
|
|
690
|
+
process.stdout.write(ENABLE_WRAP + SHOW_CURSOR);
|
|
677
691
|
process.exit(130);
|
|
678
692
|
} else if (this.searchEnabled) {
|
|
679
693
|
if (str === "\x7F" || str === "\b") {
|
|
@@ -2302,7 +2316,6 @@ var MultiBar = class {
|
|
|
2302
2316
|
};
|
|
2303
2317
|
|
|
2304
2318
|
// src/models/MultiSelect.ts
|
|
2305
|
-
var CLEAR_LINE2 = "\x1B[2K";
|
|
2306
2319
|
var CURSOR_UP3 = (n) => `\x1B[${n}A`;
|
|
2307
2320
|
var DIM2 = "\x1B[2m";
|
|
2308
2321
|
var MultiSelect = class {
|
|
@@ -2425,21 +2438,17 @@ var MultiSelect = class {
|
|
|
2425
2438
|
clearInterval(timer);
|
|
2426
2439
|
timer = null;
|
|
2427
2440
|
}
|
|
2428
|
-
|
|
2429
|
-
process.stdout.write("\x1B[0J");
|
|
2441
|
+
process.stdout.write(CURSOR_UP3(lastDrawnLines + 1));
|
|
2442
|
+
process.stdout.write("\r\x1B[0J");
|
|
2430
2443
|
process.stdout.write(ENABLE_WRAP);
|
|
2431
|
-
const
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
const bullet = checked.has(i) ? `${colorText(this.promptColor, this.checkedPrefix)} ` : " ".repeat(bulletWidth);
|
|
2435
|
-
process.stdout.write(`\r${indent}${bullet}${item.label}
|
|
2444
|
+
const selectedItems = items.filter((_, i) => checked.has(i));
|
|
2445
|
+
const display = result !== null && selectedItems.length > 0 ? selectedItems.map((i) => i.label).join(", ") : "\u2014";
|
|
2446
|
+
process.stdout.write(`${glyph}${prompt}: ${display}
|
|
2436
2447
|
`);
|
|
2437
|
-
}
|
|
2438
|
-
process.stdout.write(`\r${CLEAR_LINE2}`);
|
|
2439
2448
|
process.stdin.setRawMode(false);
|
|
2440
2449
|
process.stdin.pause();
|
|
2441
2450
|
process.stdin.removeListener("data", onKey);
|
|
2442
|
-
process.stdout.write(
|
|
2451
|
+
process.stdout.write(SHOW_CURSOR);
|
|
2443
2452
|
resolve(result);
|
|
2444
2453
|
};
|
|
2445
2454
|
if (this._parsedColors.length >= 2) {
|
package/dist/index.mjs
CHANGED
|
@@ -578,7 +578,7 @@ var Select = class {
|
|
|
578
578
|
process.stdin.removeListener("data", onKey);
|
|
579
579
|
process.stdout.write(ENABLE_WRAP + SHOW_CURSOR);
|
|
580
580
|
});
|
|
581
|
-
const cleanup = () => {
|
|
581
|
+
const cleanup = (selectedLabel) => {
|
|
582
582
|
deregisterCleanup();
|
|
583
583
|
if (timer) {
|
|
584
584
|
clearInterval(timer);
|
|
@@ -587,7 +587,12 @@ var Select = class {
|
|
|
587
587
|
process.stdin.setRawMode(false);
|
|
588
588
|
process.stdin.pause();
|
|
589
589
|
process.stdin.removeListener("data", onKey);
|
|
590
|
-
process.stdout.write(
|
|
590
|
+
process.stdout.write(CURSOR_UP(lastDrawnLines + 1));
|
|
591
|
+
process.stdout.write("\r\x1B[0J");
|
|
592
|
+
process.stdout.write(ENABLE_WRAP);
|
|
593
|
+
process.stdout.write(`${glyph}${prompt}: ${selectedLabel ?? this.skipLabel}
|
|
594
|
+
`);
|
|
595
|
+
process.stdout.write(SHOW_CURSOR);
|
|
591
596
|
};
|
|
592
597
|
if (this._parsedColors.length >= 2) {
|
|
593
598
|
timer = setInterval(() => {
|
|
@@ -609,10 +614,19 @@ var Select = class {
|
|
|
609
614
|
selectedIndex = (selectedIndex + 1) % allItems.length;
|
|
610
615
|
renderList(true);
|
|
611
616
|
} else if (str === "\r" || str === "\n") {
|
|
612
|
-
|
|
613
|
-
|
|
617
|
+
const result = selectedIndex === filtered.length ? null : filtered[selectedIndex] ?? null;
|
|
618
|
+
cleanup(result?.label ?? null);
|
|
619
|
+
resolve(result);
|
|
614
620
|
} else if (str === "") {
|
|
615
|
-
|
|
621
|
+
deregisterCleanup();
|
|
622
|
+
if (timer) {
|
|
623
|
+
clearInterval(timer);
|
|
624
|
+
timer = null;
|
|
625
|
+
}
|
|
626
|
+
process.stdin.setRawMode(false);
|
|
627
|
+
process.stdin.pause();
|
|
628
|
+
process.stdin.removeListener("data", onKey);
|
|
629
|
+
process.stdout.write(ENABLE_WRAP + SHOW_CURSOR);
|
|
616
630
|
process.exit(130);
|
|
617
631
|
} else if (this.searchEnabled) {
|
|
618
632
|
if (str === "\x7F" || str === "\b") {
|
|
@@ -2241,7 +2255,6 @@ var MultiBar = class {
|
|
|
2241
2255
|
};
|
|
2242
2256
|
|
|
2243
2257
|
// src/models/MultiSelect.ts
|
|
2244
|
-
var CLEAR_LINE2 = "\x1B[2K";
|
|
2245
2258
|
var CURSOR_UP3 = (n) => `\x1B[${n}A`;
|
|
2246
2259
|
var DIM2 = "\x1B[2m";
|
|
2247
2260
|
var MultiSelect = class {
|
|
@@ -2364,21 +2377,17 @@ var MultiSelect = class {
|
|
|
2364
2377
|
clearInterval(timer);
|
|
2365
2378
|
timer = null;
|
|
2366
2379
|
}
|
|
2367
|
-
|
|
2368
|
-
process.stdout.write("\x1B[0J");
|
|
2380
|
+
process.stdout.write(CURSOR_UP3(lastDrawnLines + 1));
|
|
2381
|
+
process.stdout.write("\r\x1B[0J");
|
|
2369
2382
|
process.stdout.write(ENABLE_WRAP);
|
|
2370
|
-
const
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
const bullet = checked.has(i) ? `${colorText(this.promptColor, this.checkedPrefix)} ` : " ".repeat(bulletWidth);
|
|
2374
|
-
process.stdout.write(`\r${indent}${bullet}${item.label}
|
|
2383
|
+
const selectedItems = items.filter((_, i) => checked.has(i));
|
|
2384
|
+
const display = result !== null && selectedItems.length > 0 ? selectedItems.map((i) => i.label).join(", ") : "\u2014";
|
|
2385
|
+
process.stdout.write(`${glyph}${prompt}: ${display}
|
|
2375
2386
|
`);
|
|
2376
|
-
}
|
|
2377
|
-
process.stdout.write(`\r${CLEAR_LINE2}`);
|
|
2378
2387
|
process.stdin.setRawMode(false);
|
|
2379
2388
|
process.stdin.pause();
|
|
2380
2389
|
process.stdin.removeListener("data", onKey);
|
|
2381
|
-
process.stdout.write(
|
|
2390
|
+
process.stdout.write(SHOW_CURSOR);
|
|
2382
2391
|
resolve(result);
|
|
2383
2392
|
};
|
|
2384
2393
|
if (this._parsedColors.length >= 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../src/models/MultiSelect.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;
|
|
1
|
+
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../src/models/MultiSelect.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAKD,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,aAAa,CAAY;gBAErB,OAAO,GAAE,kBAAuB;IAmB5C,OAAO,CAAC,UAAU;IAQZ,GAAG,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;CA+PtF;AAED,wBAAsB,WAAW,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAE1I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/models/Select.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,aAAa,CAAY;gBAErB,OAAO,GAAE,aAAkB;IAgBvC,OAAO,CAAC,UAAU;IAQZ,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/models/Select.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,MAAM;IACjB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,aAAa,CAAY;gBAErB,OAAO,GAAE,aAAkB;IAgBvC,OAAO,CAAC,UAAU;IAQZ,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAgM/E;AAED,wBAAsB,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAEzH"}
|