pickem 1.0.3 → 1.0.5
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/CHANGELOG.md +14 -0
- package/core/chrome.d.ts +10 -7
- package/core/chrome.d.ts.map +1 -1
- package/core/chrome.js +18 -24
- package/core/chrome.js.map +1 -1
- package/core/cleanup.js +2 -2
- package/core/cleanup.js.map +1 -1
- package/core/colors.d.ts +1 -0
- package/core/colors.d.ts.map +1 -1
- package/core/colors.js +4 -0
- package/core/colors.js.map +1 -1
- package/core/hooks.d.ts +10 -1
- package/core/hooks.d.ts.map +1 -1
- package/core/hooks.js +11 -1
- package/core/hooks.js.map +1 -1
- package/core/pagination.d.ts +13 -1
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.js +24 -16
- package/core/pagination.js.map +1 -1
- package/core/runtime.d.ts.map +1 -1
- package/core/runtime.js +1 -1
- package/core/runtime.js.map +1 -1
- package/core/status-glyph.d.ts.map +1 -1
- package/core/status-glyph.js +10 -4
- package/core/status-glyph.js.map +1 -1
- package/core/testing.d.ts +4 -1
- package/core/testing.d.ts.map +1 -1
- package/core/testing.js +6 -1
- package/core/testing.js.map +1 -1
- package/core/theme.d.ts.map +1 -1
- package/core/theme.js +2 -1
- package/core/theme.js.map +1 -1
- package/core/width.d.ts.map +1 -1
- package/core/width.js +111 -6
- package/core/width.js.map +1 -1
- package/display/format.js +1 -1
- package/display/format.js.map +1 -1
- package/package.json +1 -4
- package/pickem.d.ts.map +1 -1
- package/pickem.js +17 -9
- package/pickem.js.map +1 -1
- package/prompts/checkbox.d.ts.map +1 -1
- package/prompts/checkbox.js +6 -5
- package/prompts/checkbox.js.map +1 -1
- package/prompts/input.d.ts.map +1 -1
- package/prompts/input.js +1 -2
- package/prompts/input.js.map +1 -1
- package/prompts/search.d.ts.map +1 -1
- package/prompts/search.js +6 -5
- package/prompts/search.js.map +1 -1
- package/prompts/searchable-checkbox.d.ts.map +1 -1
- package/prompts/searchable-checkbox.js +18 -15
- package/prompts/searchable-checkbox.js.map +1 -1
- package/prompts/select.js +7 -7
- package/prompts/select.js.map +1 -1
- package/wizard.d.ts.map +1 -1
- package/wizard.js +13 -16
- package/wizard.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to pickem will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.5] — 2026-06-14
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Garbled menu in short terminals.** A picker frame (header + search box +
|
|
13
|
+
list + footer) was rendered without regard for the terminal height. In a
|
|
14
|
+
pane shorter than the frame, the terminal scrolled and the line-diff
|
|
15
|
+
renderer's relative `cursorUp` saturated at the viewport top, so every
|
|
16
|
+
repaint landed at a misaligned origin — producing duplicate rows, duplicate
|
|
17
|
+
active chevrons, ghost lines below the footer, and an unreadable filter while
|
|
18
|
+
typing. Page size is now clamped to the viewport height (`select`, `search`,
|
|
19
|
+
`searchable-checkbox`, and `checkbox` prompts), so the list shows fewer rows
|
|
20
|
+
instead of overflowing. No API change; behavior off a real TTY is unchanged.
|
|
21
|
+
|
|
8
22
|
## [1.0.0] — 2026-05-31
|
|
9
23
|
|
|
10
24
|
The picker engine is now fully native. The public API
|
package/core/chrome.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { Symbols } from './symbols.js';
|
|
|
3
3
|
export interface ChromeDeps {
|
|
4
4
|
colors: Colors;
|
|
5
5
|
symbols: Symbols;
|
|
6
|
+
/** Terminal column count, snapshotted once per render to avoid per-row reads. */
|
|
7
|
+
columns?: number;
|
|
6
8
|
}
|
|
7
9
|
export interface RowArgs {
|
|
8
10
|
label: string;
|
|
@@ -11,8 +13,6 @@ export interface RowArgs {
|
|
|
11
13
|
glyph?: string;
|
|
12
14
|
/** Filter term to highlight inside the label on inactive rows. */
|
|
13
15
|
term?: string;
|
|
14
|
-
/** Row width for right-aligning the active chevron. Defaults to the terminal width. */
|
|
15
|
-
width?: number;
|
|
16
16
|
}
|
|
17
17
|
export interface SearchBoxArgs {
|
|
18
18
|
value: string;
|
|
@@ -35,12 +35,15 @@ export declare function makeChrome({ colors, symbols }: ChromeDeps): {
|
|
|
35
35
|
*/
|
|
36
36
|
searchBox({ value, placeholder, focused, width }: SearchBoxArgs): string;
|
|
37
37
|
/**
|
|
38
|
-
* One columnar list row.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* One columnar list row. Every row begins with the same `❯` chevron cell, so
|
|
39
|
+
* the column is reserved identically on every row and the label NEVER shifts
|
|
40
|
+
* as the cursor moves — the chevron is simply concealed (invisible) on
|
|
41
|
+
* inactive rows and lit in accent on the active row. The active label is also
|
|
42
|
+
* recolored to accent (bold); the caller's own ANSI is stripped first so the
|
|
43
|
+
* accent always wins (an embedded reset can't cancel it), which is why the
|
|
44
|
+
* highlight shows on colored rows too. Inactive rows highlight matched `term`.
|
|
42
45
|
*/
|
|
43
|
-
row({ label, meta, active, glyph, term
|
|
46
|
+
row({ label, meta, active, glyph, term }: RowArgs): string;
|
|
44
47
|
/** Dim pagination/summary footer. */
|
|
45
48
|
footer({ moreAbove, moreBelow, summary }: FooterArgs): string;
|
|
46
49
|
};
|
package/core/chrome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/core/chrome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/core/chrome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAOD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU;IAKtD,0DAA0D;kBAC5C,MAAM,UAAS,MAAM,EAAE,GAAQ,MAAM;IAMnD;;;;OAIG;sDACgE,aAAa,GAAG,MAAM;IAYzF;;;;;;;;OAQG;8CAC8D,OAAO,GAAG,MAAM;IAYjF,qCAAqC;8CACkB,UAAU,GAAG,MAAM;EAQ7E;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
package/core/chrome.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { displayWidth } from './width.js';
|
|
1
|
+
import { displayWidth, stripAnsi } from './width.js';
|
|
2
2
|
function padToWidth(str, width) {
|
|
3
3
|
const w = displayWidth(str);
|
|
4
4
|
return w >= width ? str : str + ' '.repeat(width - w);
|
|
5
5
|
}
|
|
6
|
-
function terminalWidth() {
|
|
7
|
-
return (typeof process !== 'undefined' && process.stdout && process.stdout.columns) || 80;
|
|
8
|
-
}
|
|
9
6
|
export function makeChrome({ colors, symbols }) {
|
|
10
7
|
const dot = colors.dim(' · ');
|
|
11
8
|
const accent = colors.accent;
|
|
@@ -34,29 +31,26 @@ export function makeChrome({ colors, symbols }) {
|
|
|
34
31
|
return `${top}\n${mid}\n${bot}`;
|
|
35
32
|
},
|
|
36
33
|
/**
|
|
37
|
-
* One columnar list row.
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
34
|
+
* One columnar list row. Every row begins with the same `❯` chevron cell, so
|
|
35
|
+
* the column is reserved identically on every row and the label NEVER shifts
|
|
36
|
+
* as the cursor moves — the chevron is simply concealed (invisible) on
|
|
37
|
+
* inactive rows and lit in accent on the active row. The active label is also
|
|
38
|
+
* recolored to accent (bold); the caller's own ANSI is stripped first so the
|
|
39
|
+
* accent always wins (an embedded reset can't cancel it), which is why the
|
|
40
|
+
* highlight shows on colored rows too. Inactive rows highlight matched `term`.
|
|
41
41
|
*/
|
|
42
|
-
row({ label, meta = [], active = false, glyph = '', term = ''
|
|
43
|
-
const
|
|
44
|
-
if (active)
|
|
45
|
-
return accent(text);
|
|
46
|
-
if (!term)
|
|
47
|
-
return text;
|
|
48
|
-
const i = text.toLowerCase().indexOf(term.toLowerCase());
|
|
49
|
-
if (i < 0)
|
|
50
|
-
return text;
|
|
51
|
-
return text.slice(0, i) + accent(text.slice(i, i + term.length)) + text.slice(i + term.length);
|
|
52
|
-
};
|
|
42
|
+
row({ label, meta = [], active = false, glyph = '', term = '' }) {
|
|
43
|
+
const chevron = active ? `${accent(symbols.pointer)} ` : `${colors.conceal(symbols.pointer)} `;
|
|
53
44
|
const g = glyph ? `${glyph} ` : '';
|
|
54
45
|
const m = meta.length ? dot + colors.dim(meta.join(' · ')) : '';
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
46
|
+
if (active)
|
|
47
|
+
return `${chevron}${g}${colors.bold(accent(stripAnsi(label)))}${m}`;
|
|
48
|
+
if (!term)
|
|
49
|
+
return `${chevron}${g}${label}${m}`;
|
|
50
|
+
const i = label.toLowerCase().indexOf(term.toLowerCase());
|
|
51
|
+
const hl = i < 0 ? label
|
|
52
|
+
: label.slice(0, i) + accent(label.slice(i, i + term.length)) + label.slice(i + term.length);
|
|
53
|
+
return `${chevron}${g}${hl}${m}`;
|
|
60
54
|
},
|
|
61
55
|
/** Dim pagination/summary footer. */
|
|
62
56
|
footer({ moreAbove = 0, moreBelow = 0, summary = '' }) {
|
package/core/chrome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/core/chrome.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA+
|
|
1
|
+
{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/core/chrome.ts"],"names":[],"mappings":"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"}
|
package/core/cleanup.js
CHANGED
|
@@ -14,9 +14,9 @@ function install() {
|
|
|
14
14
|
if (installed)
|
|
15
15
|
return;
|
|
16
16
|
installed = true;
|
|
17
|
-
process.
|
|
17
|
+
process.on('exit', fireAll);
|
|
18
18
|
for (const sig of ['SIGINT', 'SIGTERM', 'SIGHUP']) {
|
|
19
|
-
process.
|
|
19
|
+
process.on(sig, () => {
|
|
20
20
|
fireAll();
|
|
21
21
|
process.exit(sig === 'SIGINT' ? 130 : 1);
|
|
22
22
|
});
|
package/core/cleanup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/core/cleanup.ts"],"names":[],"mappings":"AACA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAW,CAAA;AACnC,IAAI,SAAS,GAAG,KAAK,CAAA;AAErB,SAAS,OAAO;IACd,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,CAAC,EAAE,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO;IACd,IAAI,SAAS;QAAE,OAAM;IACrB,SAAS,GAAG,IAAI,CAAA;IAChB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/core/cleanup.ts"],"names":[],"mappings":"AACA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAW,CAAA;AACnC,IAAI,SAAS,GAAG,KAAK,CAAA;AAErB,SAAS,OAAO;IACd,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,CAAC,EAAE,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO;IACd,IAAI,SAAS;QAAE,OAAM;IACrB,SAAS,GAAG,IAAI,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3B,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;YACnB,OAAO,EAAE,CAAA;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,MAAM,CAAC,EAAW;IAChC,OAAO,EAAE,CAAA;IACT,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChB,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAClC,CAAC"}
|
package/core/colors.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare function makeColors(opts?: ColorOptions): {
|
|
|
11
11
|
italic: (s: string) => string;
|
|
12
12
|
underline: (s: string) => string;
|
|
13
13
|
inverse: (s: string) => string;
|
|
14
|
+
conceal: (s: string) => string;
|
|
14
15
|
cyan: (s: string) => string;
|
|
15
16
|
green: (s: string) => string;
|
|
16
17
|
red: (s: string) => string;
|
package/core/colors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/core/colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAajF;AAQD,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAiB;;cAEb,MAAM;aAAN,MAAM;gBAAN,MAAM;mBAAN,MAAM;iBAAN,MAAM;cAAN,MAAM;eAAN,MAAM;aAAN,MAAM;gBAAN,MAAM;cAAN,MAAM;gBACY,MAAM;aAA3C,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,GAAG,MAAM;qBAMnC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/core/colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAajF;AAQD,wBAAgB,UAAU,CAAC,IAAI,GAAE,YAAiB;;cAEb,MAAM;aAAN,MAAM;gBAAN,MAAM;mBAAN,MAAM;iBAAN,MAAM;iBAAN,MAAM;cAAN,MAAM;eAAN,MAAM;aAAN,MAAM;gBAAN,MAAM;cAAN,MAAM;gBACY,MAAM;aAA3C,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,GAAG,MAAM;qBAMnC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM;EAiC9F;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
package/core/colors.js
CHANGED
|
@@ -52,6 +52,10 @@ export function makeColors(opts = {}) {
|
|
|
52
52
|
italic: wrap('3'),
|
|
53
53
|
underline: wrap('4'),
|
|
54
54
|
inverse: wrap('7'),
|
|
55
|
+
// SGR 8 — occupies its normal cell width but renders invisibly (where the
|
|
56
|
+
// terminal supports it). Used for the always-present active-row chevron so
|
|
57
|
+
// inactive rows reserve the exact same column without showing the glyph.
|
|
58
|
+
conceal: wrap('8'),
|
|
55
59
|
cyan: wrap('36'),
|
|
56
60
|
green: wrap('32'),
|
|
57
61
|
red: wrap('31'),
|
package/core/colors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/core/colors.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CAAC,GAAsB,EAAE,KAAc;IAChE,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;QAAE,OAAO,CAAC,CAAA;IACtD,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAkB,CAAA;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAA;IACpB,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;IAC9B,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IAC3B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IACxC,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC/E,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAqB,EAAE;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtG,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5F,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE;QAC7D,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACzB,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QAC7D,OAAO,aAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IACrD,CAAC,CAAA;IACD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAE,EAA4B,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE;QAC/F,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACzB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACpB,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACxD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAA6B,CAAA;YACvG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAA;IACb,CAAC,CAAA;IACD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QACf,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;QACpB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;QACjB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;QACf,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAChB,oFAAoF;QACpF,gDAAgD;QAChD,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAC1B,GAAG;QACH,QAAQ;KACT,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/core/colors.ts"],"names":[],"mappings":"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"}
|
package/core/hooks.d.ts
CHANGED
|
@@ -9,11 +9,13 @@ export interface HookStore {
|
|
|
9
9
|
slots: Slot[];
|
|
10
10
|
cursor: number;
|
|
11
11
|
scheduleRender: () => void;
|
|
12
|
+
/** Current terminal height in rows (Infinity when the output is not a sized TTY). */
|
|
13
|
+
getRows: () => number;
|
|
12
14
|
keypressHandlers: ((key: KeyEvent, input: PickerInput) => void)[];
|
|
13
15
|
effects: (() => void)[];
|
|
14
16
|
reset(): void;
|
|
15
17
|
}
|
|
16
|
-
export declare function createHookStore(scheduleRender: () => void): HookStore;
|
|
18
|
+
export declare function createHookStore(scheduleRender: () => void, getRows?: () => number): HookStore;
|
|
17
19
|
export declare function withHookStore<T>(store: HookStore, fn: () => T): T;
|
|
18
20
|
export declare function useState<T>(initial: T): [T, (next: T) => void];
|
|
19
21
|
export declare function useRef<T>(initial: T): {
|
|
@@ -22,5 +24,12 @@ export declare function useRef<T>(initial: T): {
|
|
|
22
24
|
export declare function useMemo<T>(factory: () => T, deps: unknown[]): T;
|
|
23
25
|
export declare function useEffect(effect: () => void | (() => void), deps: unknown[]): void;
|
|
24
26
|
export declare function useKeypress(handler: (key: KeyEvent, input: PickerInput) => void): void;
|
|
27
|
+
/**
|
|
28
|
+
* Current terminal height in rows, or `Infinity` when the output is not a sized TTY
|
|
29
|
+
* (tests, pipes). Read each render so resize is picked up. Prompts use this to clamp
|
|
30
|
+
* page size so a frame never grows taller than the viewport — a frame that overflows
|
|
31
|
+
* scrolls the terminal and desyncs the line-diff renderer (see src/core/screen.ts).
|
|
32
|
+
*/
|
|
33
|
+
export declare function useTerminalRows(): number;
|
|
25
34
|
export {};
|
|
26
35
|
//# sourceMappingURL=hooks.d.ts.map
|
package/core/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,UAAU,IAAI;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAE,CAAA;IACjE,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACvB,KAAK,IAAI,IAAI,CAAA;CACd;AAID,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,UAAU,IAAI;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,qFAAqF;IACrF,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAAE,CAAA;IACjE,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IACvB,KAAK,IAAI,IAAI,CAAA;CACd;AAID,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,IAAI,EAC1B,OAAO,GAAE,MAAM,MAAuB,GACrC,SAAS,CAeX;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEjE;AAeD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAU9D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAIpD;AAOD,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAO/D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAWlF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
|
package/core/hooks.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
2
|
const als = new AsyncLocalStorage();
|
|
3
|
-
export function createHookStore(scheduleRender) {
|
|
3
|
+
export function createHookStore(scheduleRender, getRows = () => Infinity) {
|
|
4
4
|
const store = {
|
|
5
5
|
slots: [],
|
|
6
6
|
cursor: 0,
|
|
7
7
|
scheduleRender,
|
|
8
|
+
getRows,
|
|
8
9
|
keypressHandlers: [],
|
|
9
10
|
effects: [],
|
|
10
11
|
reset() {
|
|
@@ -77,4 +78,13 @@ export function useEffect(effect, deps) {
|
|
|
77
78
|
export function useKeypress(handler) {
|
|
78
79
|
current().keypressHandlers.push(handler);
|
|
79
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Current terminal height in rows, or `Infinity` when the output is not a sized TTY
|
|
83
|
+
* (tests, pipes). Read each render so resize is picked up. Prompts use this to clamp
|
|
84
|
+
* page size so a frame never grows taller than the viewport — a frame that overflows
|
|
85
|
+
* scrolls the terminal and desyncs the line-diff renderer (see src/core/screen.ts).
|
|
86
|
+
*/
|
|
87
|
+
export function useTerminalRows() {
|
|
88
|
+
return current().getRows();
|
|
89
|
+
}
|
|
80
90
|
//# sourceMappingURL=hooks.js.map
|
package/core/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/core/hooks.ts"],"names":[],"mappings":"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"}
|
package/core/pagination.d.ts
CHANGED
|
@@ -10,5 +10,17 @@ export interface PaginationArgs<T> {
|
|
|
10
10
|
loop?: boolean;
|
|
11
11
|
renderItem: (args: RenderItemArgs<T>) => string;
|
|
12
12
|
}
|
|
13
|
-
export
|
|
13
|
+
export interface PaginationResult {
|
|
14
|
+
lines: string;
|
|
15
|
+
windowTop: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Clamp a requested page size so the whole frame fits the terminal viewport.
|
|
19
|
+
* `chromeRows` is the number of non-list lines the prompt draws (header, search box,
|
|
20
|
+
* blank separators, footer). A frame taller than the viewport scrolls the terminal and
|
|
21
|
+
* desyncs the line-diff renderer, so we keep `chromeRows + page ≤ rows` (with a 1-row
|
|
22
|
+
* safety margin). `rows = Infinity` (non-TTY: tests, pipes) leaves the request untouched.
|
|
23
|
+
*/
|
|
24
|
+
export declare function fitPageSize(requested: number, rows: number, chromeRows: number, min?: number): number;
|
|
25
|
+
export declare function usePagination<T>({ items, active, pageSize, loop, renderItem, }: PaginationArgs<T>): PaginationResult;
|
|
14
26
|
//# sourceMappingURL=pagination.d.ts.map
|
package/core/pagination.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/core/pagination.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;CAChD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAW,EACX,UAAU,GACX,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/core/pagination.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,MAAM,CAGhG;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAW,EACX,UAAU,GACX,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CA2BtC"}
|
package/core/pagination.js
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
import { useRef } from './hooks.js';
|
|
2
|
+
/**
|
|
3
|
+
* Clamp a requested page size so the whole frame fits the terminal viewport.
|
|
4
|
+
* `chromeRows` is the number of non-list lines the prompt draws (header, search box,
|
|
5
|
+
* blank separators, footer). A frame taller than the viewport scrolls the terminal and
|
|
6
|
+
* desyncs the line-diff renderer, so we keep `chromeRows + page ≤ rows` (with a 1-row
|
|
7
|
+
* safety margin). `rows = Infinity` (non-TTY: tests, pipes) leaves the request untouched.
|
|
8
|
+
*/
|
|
9
|
+
export function fitPageSize(requested, rows, chromeRows, min = 1) {
|
|
10
|
+
if (!Number.isFinite(rows))
|
|
11
|
+
return requested;
|
|
12
|
+
return Math.max(min, Math.min(requested, rows - chromeRows - 1));
|
|
13
|
+
}
|
|
2
14
|
export function usePagination({ items, active, pageSize, loop = true, renderItem, }) {
|
|
3
15
|
const pointer = useRef(0); // active row position within the visible window
|
|
4
16
|
const size = Math.min(pageSize, items.length);
|
|
5
17
|
if (items.length === 0)
|
|
6
|
-
return '';
|
|
7
|
-
// Keep the
|
|
18
|
+
return { lines: '', windowTop: 0 };
|
|
19
|
+
// Keep the window stable: only scroll when the active item would leave the visible region.
|
|
20
|
+
// Both loop and non-loop modes use the same edge-clamping logic so the window doesn't
|
|
21
|
+
// shift on every keypress — the cursor moves to the edge first, then the list scrolls.
|
|
8
22
|
if (size < items.length) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
pointer.current =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
pointer.current = active;
|
|
17
|
-
else if (active >= items.length - half)
|
|
18
|
-
pointer.current = size - (items.length - active);
|
|
19
|
-
else
|
|
20
|
-
pointer.current = half;
|
|
21
|
-
}
|
|
23
|
+
const half = Math.floor(size / 2);
|
|
24
|
+
if (active < half)
|
|
25
|
+
pointer.current = active;
|
|
26
|
+
else if (active >= items.length - half)
|
|
27
|
+
pointer.current = size - (items.length - active);
|
|
28
|
+
else
|
|
29
|
+
pointer.current = half;
|
|
22
30
|
}
|
|
23
31
|
else {
|
|
24
32
|
pointer.current = active;
|
|
@@ -31,6 +39,6 @@ export function usePagination({ items, active, pageSize, loop = true, renderItem
|
|
|
31
39
|
const index = loop ? (top + i) % items.length : top + i;
|
|
32
40
|
lines.push(renderItem({ item: items[index], index, isActive: index === active }));
|
|
33
41
|
}
|
|
34
|
-
return lines.join('\n');
|
|
42
|
+
return { lines: lines.join('\n'), windowTop: top };
|
|
35
43
|
}
|
|
36
44
|
//# sourceMappingURL=pagination.js.map
|
package/core/pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/core/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/core/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAqBnC;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,IAAY,EAAE,UAAkB,EAAE,GAAG,GAAG,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,EAC/B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,UAAU,GACQ;IAClB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA,CAAC,gDAAgD;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IAE1D,2FAA2F;IAC3F,sFAAsF;IACtF,uFAAuF;IACvF,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QACjC,IAAI,MAAM,GAAG,IAAI;YAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAA;aACtC,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;;YACnF,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,GAAG,MAAM,CAAA;IAC1B,CAAC;IAED,MAAM,GAAG,GAAG,IAAI;QACd,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;QAC1D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IAExE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;AACpD,CAAC"}
|
package/core/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAA;AAE7D,2FAA2F;AAC3F,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,IAAI,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KACzB,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE9B,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;CAC5B;AAED,qBAAa,WAAY,SAAQ,KAAK;;CAKrC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAC3D,QAAQ,MAAM,EAAE,OAAM,UAAe,KAAG,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAA;AAE7D,2FAA2F;AAC3F,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,IAAI,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KACzB,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE9B,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;CAC5B;AAED,qBAAa,WAAY,SAAQ,KAAK;;CAKrC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAC3D,QAAQ,MAAM,EAAE,OAAM,UAAe,KAAG,OAAO,CAAC,KAAK,CAAC,CAmE/D"}
|
package/core/runtime.js
CHANGED
package/core/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAA;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAyBnC,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAgB,IAAyB;IACnE,OAAO,CAAC,MAAc,EAAE,OAAmB,EAAE,EAAkB,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAA;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAErC,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,KAAgB,CAAA;YACpB,IAAI,WAAW,GAAG,EAAE,CAAA;YACpB,IAAI,QAAQ,GAAG,KAAK,CAAA;YAEpB,MAAM,WAAW,GAAgB;gBAC/B,IAAI,IAAI;oBACN,OAAO,WAAW,CAAA;gBACpB,CAAC;gBACD,OAAO,CAAC,KAAa;oBACnB,WAAW,GAAG,KAAK,CAAA;gBACrB,CAAC;gBACD,SAAS;oBACP,WAAW,GAAG,EAAE,CAAA;gBAClB,CAAC;aACF,CAAA;YAED,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC,CAAA;YAED,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC5B,IAAI,QAAQ;oBAAE,OAAM;gBACpB,QAAQ,GAAG,IAAI,CAAA;gBACf,MAAM,EAAE,CAAA,CAAC,8BAA8B;gBACvC,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAA;YAED,MAAM,MAAM,GAAG,GAAG,EAAE;gBAClB,KAAK,CAAC,KAAK,EAAE,CAAA;gBACb,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC5D,sCAAsC;gBACtC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO;oBAAE,MAAM,EAAE,CAAA;gBAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;gBACjE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC7B,CAAC,CAAA;YAED,KAAK,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-glyph.d.ts","sourceRoot":"","sources":["../../src/core/status-glyph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"status-glyph.d.ts","sourceRoot":"","sources":["../../src/core/status-glyph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,GAAG,MAAM,CAkBnF"}
|
package/core/status-glyph.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import { useState, useEffect } from './hooks.js';
|
|
1
|
+
import { useState, useEffect, useRef } from './hooks.js';
|
|
2
2
|
export function useStatusGlyph({ status, colors, symbols }) {
|
|
3
|
-
const
|
|
3
|
+
const frameRef = useRef(0);
|
|
4
|
+
// _tick is only read by useState to trigger re-renders; frame value lives in frameRef.
|
|
5
|
+
const [_tick, forceRender] = useState(0);
|
|
4
6
|
useEffect(() => {
|
|
5
7
|
if (status !== 'loading')
|
|
6
8
|
return;
|
|
7
|
-
|
|
9
|
+
let tick = 0;
|
|
10
|
+
const id = setInterval(() => {
|
|
11
|
+
frameRef.current = (frameRef.current + 1) % symbols.spinnerFrames.length;
|
|
12
|
+
forceRender(++tick);
|
|
13
|
+
}, 80);
|
|
8
14
|
return () => clearInterval(id);
|
|
9
15
|
}, [status]);
|
|
10
16
|
if (status === 'loading')
|
|
11
|
-
return colors.cyan(symbols.spinnerFrames[
|
|
17
|
+
return colors.cyan(symbols.spinnerFrames[frameRef.current]);
|
|
12
18
|
if (status === 'done')
|
|
13
19
|
return colors.green(symbols.stepDone);
|
|
14
20
|
if (status === 'canceled')
|
package/core/status-glyph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-glyph.js","sourceRoot":"","sources":["../../src/core/status-glyph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"status-glyph.js","sourceRoot":"","sources":["../../src/core/status-glyph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWxD,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAmB;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1B,uFAAuF;IACvF,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,SAAS;YAAE,OAAM;QAChC,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,QAAQ,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAA;YACxE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;QACrB,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACrF,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC5D,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AACxC,CAAC"}
|
package/core/testing.d.ts
CHANGED
|
@@ -11,5 +11,8 @@ export interface TestHandle<V> {
|
|
|
11
11
|
export declare function renderTest<Config, V>(picker: (config: Config, opts: {
|
|
12
12
|
input?: any;
|
|
13
13
|
output?: any;
|
|
14
|
-
}) => Promise<V>, config: Config
|
|
14
|
+
}) => Promise<V>, config: Config, opts?: {
|
|
15
|
+
rows?: number;
|
|
16
|
+
columns?: number;
|
|
17
|
+
}): Promise<TestHandle<V>>;
|
|
15
18
|
//# sourceMappingURL=testing.d.ts.map
|
package/core/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/core/testing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/core/testing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AA2HzC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,IAAI,MAAM,CAAA;CACpB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,EACxC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3E,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7C,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAkBxB"}
|
package/core/testing.js
CHANGED
|
@@ -20,6 +20,7 @@ class FakeInput extends EventEmitter {
|
|
|
20
20
|
*/
|
|
21
21
|
class FakeOutput extends EventEmitter {
|
|
22
22
|
columns = 80;
|
|
23
|
+
rows;
|
|
23
24
|
isTTY = true;
|
|
24
25
|
writes = '';
|
|
25
26
|
write(s) {
|
|
@@ -114,9 +115,13 @@ class FakeOutput extends EventEmitter {
|
|
|
114
115
|
return lines.join('\n');
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
|
-
export async function renderTest(picker, config) {
|
|
118
|
+
export async function renderTest(picker, config, opts = {}) {
|
|
118
119
|
const input = new FakeInput();
|
|
119
120
|
const output = new FakeOutput();
|
|
121
|
+
if (opts.rows !== undefined)
|
|
122
|
+
output.rows = opts.rows;
|
|
123
|
+
if (opts.columns !== undefined)
|
|
124
|
+
output.columns = opts.columns;
|
|
120
125
|
const answer = picker(config, { input: input, output: output });
|
|
121
126
|
const events = {
|
|
122
127
|
keypress(name, mods = {}) {
|
package/core/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/core/testing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/core/testing.ts"],"names":[],"mappings":"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"}
|
package/core/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,GAAE,YAAiB,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,SAAS,CAAC,IAAI,GAAE,YAAiB,GAAG,KAAK,CAMxD"}
|
package/core/theme.js
CHANGED
|
@@ -4,7 +4,8 @@ import { makeChrome } from './chrome.js';
|
|
|
4
4
|
export function makeTheme(opts = {}) {
|
|
5
5
|
const colors = makeColors(opts.colorLevel != null ? { level: opts.colorLevel } : {});
|
|
6
6
|
const symbols = makeSymbols(opts.unicode ?? isUnicodeSupported());
|
|
7
|
-
const
|
|
7
|
+
const columns = (typeof process !== 'undefined' && process.stdout?.columns) || 80;
|
|
8
|
+
const chrome = makeChrome({ colors, symbols, columns });
|
|
8
9
|
return { colors, symbols, chrome };
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=theme.js.map
|
package/core/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAA;AAerD,MAAM,UAAU,SAAS,CAAC,OAAqB,EAAE;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/core/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAA;AAerD,MAAM,UAAU,SAAS,CAAC,OAAqB,EAAE;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IACjF,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACpC,CAAC"}
|
package/core/width.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../src/core/width.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../src/core/width.ts"],"names":[],"mappings":"AA6EA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyBhD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAYhF;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D"}
|