pickem 0.2.0 → 1.0.0

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.
Files changed (104) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +4 -2
  3. package/checkbox.d.ts.map +1 -1
  4. package/checkbox.js +10 -9
  5. package/checkbox.js.map +1 -1
  6. package/core/ansi.d.ts +16 -0
  7. package/core/ansi.d.ts.map +1 -0
  8. package/core/ansi.js +21 -0
  9. package/core/ansi.js.map +1 -0
  10. package/core/chrome.d.ts +37 -0
  11. package/core/chrome.d.ts.map +1 -0
  12. package/core/chrome.js +51 -0
  13. package/core/chrome.js.map +1 -0
  14. package/core/cleanup.d.ts +5 -0
  15. package/core/cleanup.d.ts.map +1 -0
  16. package/core/cleanup.js +31 -0
  17. package/core/cleanup.js.map +1 -0
  18. package/core/colors.d.ts +24 -0
  19. package/core/colors.d.ts.map +1 -0
  20. package/core/colors.js +67 -0
  21. package/core/colors.js.map +1 -0
  22. package/core/hooks.d.ts +26 -0
  23. package/core/hooks.d.ts.map +1 -0
  24. package/core/hooks.js +80 -0
  25. package/core/hooks.js.map +1 -0
  26. package/core/index.d.ts +9 -0
  27. package/core/index.d.ts.map +1 -0
  28. package/core/index.js +9 -0
  29. package/core/index.js.map +1 -0
  30. package/core/key-reader.d.ts +6 -0
  31. package/core/key-reader.d.ts.map +1 -0
  32. package/core/key-reader.js +29 -0
  33. package/core/key-reader.js.map +1 -0
  34. package/core/keys.d.ts +17 -0
  35. package/core/keys.d.ts.map +1 -0
  36. package/core/keys.js +17 -0
  37. package/core/keys.js.map +1 -0
  38. package/core/pagination.d.ts +14 -0
  39. package/core/pagination.d.ts.map +1 -0
  40. package/core/pagination.js +36 -0
  41. package/core/pagination.js.map +1 -0
  42. package/core/runtime.d.ts +20 -0
  43. package/core/runtime.d.ts.map +1 -0
  44. package/core/runtime.js +74 -0
  45. package/core/runtime.js.map +1 -0
  46. package/core/screen.d.ts +14 -0
  47. package/core/screen.d.ts.map +1 -0
  48. package/core/screen.js +50 -0
  49. package/core/screen.js.map +1 -0
  50. package/core/status-glyph.d.ts +10 -0
  51. package/core/status-glyph.d.ts.map +1 -0
  52. package/core/status-glyph.js +18 -0
  53. package/core/status-glyph.js.map +1 -0
  54. package/core/symbols.d.ts +27 -0
  55. package/core/symbols.d.ts.map +1 -0
  56. package/core/symbols.js +41 -0
  57. package/core/symbols.js.map +1 -0
  58. package/core/testing.d.ts +15 -0
  59. package/core/testing.d.ts.map +1 -0
  60. package/core/testing.js +47 -0
  61. package/core/testing.js.map +1 -0
  62. package/core/theme.d.ts +14 -0
  63. package/core/theme.d.ts.map +1 -0
  64. package/core/theme.js +10 -0
  65. package/core/theme.js.map +1 -0
  66. package/core/width.d.ts +7 -0
  67. package/core/width.d.ts.map +1 -0
  68. package/core/width.js +46 -0
  69. package/core/width.js.map +1 -0
  70. package/package.json +4 -5
  71. package/pickem.d.ts.map +1 -1
  72. package/pickem.js +6 -5
  73. package/pickem.js.map +1 -1
  74. package/prompts/checkbox.d.ts +14 -0
  75. package/prompts/checkbox.d.ts.map +1 -0
  76. package/prompts/checkbox.js +56 -0
  77. package/prompts/checkbox.js.map +1 -0
  78. package/prompts/confirm.d.ts +6 -0
  79. package/prompts/confirm.d.ts.map +1 -0
  80. package/prompts/confirm.js +32 -0
  81. package/prompts/confirm.js.map +1 -0
  82. package/prompts/input.d.ts +7 -0
  83. package/prompts/input.d.ts.map +1 -0
  84. package/prompts/input.js +52 -0
  85. package/prompts/input.js.map +1 -0
  86. package/prompts/search.d.ts +12 -0
  87. package/prompts/search.d.ts.map +1 -0
  88. package/prompts/search.js +67 -0
  89. package/prompts/search.js.map +1 -0
  90. package/prompts/searchable-checkbox.d.ts +14 -0
  91. package/prompts/searchable-checkbox.d.ts.map +1 -0
  92. package/prompts/searchable-checkbox.js +150 -0
  93. package/prompts/searchable-checkbox.js.map +1 -0
  94. package/prompts/select.d.ts +12 -0
  95. package/prompts/select.d.ts.map +1 -0
  96. package/prompts/select.js +40 -0
  97. package/prompts/select.js.map +1 -0
  98. package/wizard.d.ts.map +1 -1
  99. package/wizard.js +7 -5
  100. package/wizard.js.map +1 -1
  101. package/prompt/searchable-checkbox.d.ts +0 -26
  102. package/prompt/searchable-checkbox.d.ts.map +0 -1
  103. package/prompt/searchable-checkbox.js +0 -173
  104. package/prompt/searchable-checkbox.js.map +0 -1
package/wizard.js CHANGED
@@ -1,4 +1,6 @@
1
- import { select, input, confirm } from '@inquirer/prompts';
1
+ import { selectPicker } from './prompts/select.js';
2
+ import { inputPicker } from './prompts/input.js';
3
+ import { confirmPicker } from './prompts/confirm.js';
2
4
  import { pickem } from './pickem.js';
3
5
  async function executePick(step, ctx) {
4
6
  const items = typeof step.items === 'function' ? await step.items(ctx) : step.items;
@@ -16,18 +18,18 @@ async function executeCheckbox(step, ctx) {
16
18
  }
17
19
  async function executeSelect(step, ctx) {
18
20
  const choices = typeof step.choices === 'function' ? await step.choices(ctx) : step.choices;
19
- return select({
21
+ return (await selectPicker({
20
22
  message: step.message ?? 'Select:',
21
23
  choices: choices.map((c) => ({
22
24
  name: c.label,
23
25
  value: c.value,
24
26
  description: c.description,
25
27
  })),
26
- });
28
+ }));
27
29
  }
28
30
  async function executeInput(step, ctx) {
29
31
  const defaultVal = typeof step.default === 'function' ? step.default(ctx) : step.default;
30
- return input({
32
+ return inputPicker({
31
33
  message: step.message ?? 'Enter value:',
32
34
  default: defaultVal,
33
35
  validate: step.validate
@@ -36,7 +38,7 @@ async function executeInput(step, ctx) {
36
38
  });
37
39
  }
38
40
  async function executeConfirm(step) {
39
- return confirm({
41
+ return confirmPicker({
40
42
  message: step.message ?? 'Confirm?',
41
43
  default: step.default,
42
44
  });
package/wizard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../src/wizard.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { PickItem, UsageStats } from '../types.js';
2
- export interface SearchableCheckboxConfig<V = string> {
3
- message: string;
4
- items: PickItem<V>[];
5
- pageSize: number;
6
- required: boolean;
7
- defaultChecked: V[];
8
- allowFreeText: boolean;
9
- searchFn: (item: PickItem<V>, term: string) => boolean;
10
- formatFn: (item: PickItem<V>, stats: UsageStats | null) => string;
11
- usageStats: Map<V, UsageStats | null> | null;
12
- }
13
- export declare const searchableCheckbox: <V>(config: {
14
- message: string;
15
- items: PickItem<V>[];
16
- pageSize: number;
17
- required: boolean;
18
- defaultChecked: V[];
19
- allowFreeText: boolean;
20
- searchFn: (item: PickItem<V>, term: string) => boolean;
21
- formatFn: (item: PickItem<V>, stats: UsageStats | null) => string;
22
- usageStats: Map<V, UsageStats | null> | null;
23
- }, context?: import("@inquirer/type").Context) => Promise<V[]> & {
24
- cancel: () => void;
25
- };
26
- //# sourceMappingURL=searchable-checkbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchable-checkbox.d.ts","sourceRoot":"","sources":["../../src/prompt/searchable-checkbox.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,MAAM;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,CAAC,EAAE,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,MAAM,CAAA;IACjE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7C;AAgCD,eAAO,MAAM,kBAAkB,GAC5B,CAAC;aA1CO,MAAM;;cAEL,MAAM;cACN,OAAO;;mBAEF,OAAO;wCACc,MAAM,KAAK,OAAO;yCACjB,UAAU,GAAG,IAAI,KAAK,MAAM;;;;CAoMlE,CAAA"}
@@ -1,173 +0,0 @@
1
- import { createPrompt, useState, useKeypress, useMemo, usePrefix, usePagination, isUpKey, isDownKey, isSpaceKey, isEnterKey, isBackspaceKey, } from '@inquirer/core';
2
- const ANSI = {
3
- reset: '\x1b[0m',
4
- dim: '\x1b[2m',
5
- red: '\x1b[31m',
6
- green: '\x1b[32m',
7
- cyan: '\x1b[36m',
8
- bold: '\x1b[1m',
9
- };
10
- const dim = (s) => `${ANSI.dim}${s}${ANSI.reset}`;
11
- const red = (s) => `${ANSI.red}${s}${ANSI.reset}`;
12
- const green = (s) => `${ANSI.green}${s}${ANSI.reset}`;
13
- const cyan = (s) => `${ANSI.cyan}${s}${ANSI.reset}`;
14
- const bold = (s) => `${ANSI.bold}${s}${ANSI.reset}`;
15
- function reorderByPin(items) {
16
- const first = [];
17
- const last = [];
18
- const middle = [];
19
- for (const it of items) {
20
- if (it.pin === 'first')
21
- first.push(it);
22
- else if (it.pin === 'last')
23
- last.push(it);
24
- else
25
- middle.push(it);
26
- }
27
- return [...first, ...middle, ...last];
28
- }
29
- function isEscapeKey(key) {
30
- return key.name === 'escape';
31
- }
32
- export const searchableCheckbox = createPrompt((config, done) => {
33
- const [status, setStatus] = useState('idle');
34
- const [filter, setFilter] = useState('');
35
- const [cursor, setCursor] = useState(0);
36
- const [checked, setChecked] = useState(new Set(config.defaultChecked));
37
- const [extras, setExtras] = useState([]);
38
- const [error, setError] = useState(undefined);
39
- const view = useMemo(() => {
40
- const all = extras.length > 0 ? [...config.items, ...extras] : config.items;
41
- const filtered = filter
42
- ? all.filter((it) => config.searchFn(it, filter))
43
- : all;
44
- return reorderByPin(filtered);
45
- }, [filter, config.items, extras]);
46
- const prefix = usePrefix({ status });
47
- useKeypress((key, rl) => {
48
- if (status === 'done')
49
- return;
50
- if (isEnterKey(key)) {
51
- // Free-text path: filter has text, no matches, allowFreeText is on
52
- if (config.allowFreeText && filter.length > 0 && view.length === 0) {
53
- // Skip dedupe: if the typed text already exists as an extra, just clear filter
54
- const existing = extras.find((it) => it.value === filter);
55
- if (existing) {
56
- const nextChecked = new Set(checked);
57
- nextChecked.add(existing.value);
58
- setChecked(nextChecked);
59
- setFilter('');
60
- setCursor(0);
61
- setError(undefined);
62
- rl.clearLine(0);
63
- return;
64
- }
65
- const newItem = { label: filter, value: filter };
66
- setExtras([...extras, newItem]);
67
- const nextChecked = new Set(checked);
68
- nextChecked.add(newItem.value);
69
- setChecked(nextChecked);
70
- setFilter('');
71
- setCursor(0);
72
- setError(undefined);
73
- rl.clearLine(0);
74
- return;
75
- }
76
- if (config.required && checked.size === 0) {
77
- setError('At least one item must be selected.');
78
- return;
79
- }
80
- setStatus('done');
81
- done([...config.items, ...extras]
82
- .filter((it) => checked.has(it.value))
83
- .map((it) => it.value));
84
- return;
85
- }
86
- if (isSpaceKey(key)) {
87
- if (view.length === 0)
88
- return;
89
- const item = view[cursor];
90
- const next = new Set(checked);
91
- if (next.has(item.value))
92
- next.delete(item.value);
93
- else
94
- next.add(item.value);
95
- setChecked(next);
96
- setError(undefined);
97
- // Space is also a printable char in readline; restore the filter buffer
98
- // so the space doesn't get treated as filter input.
99
- rl.clearLine(0);
100
- if (filter)
101
- rl.write(filter);
102
- return;
103
- }
104
- if (isUpKey(key)) {
105
- if (view.length === 0)
106
- return;
107
- setCursor((cursor - 1 + view.length) % view.length);
108
- return;
109
- }
110
- if (isDownKey(key)) {
111
- if (view.length === 0)
112
- return;
113
- setCursor((cursor + 1) % view.length);
114
- return;
115
- }
116
- if (isBackspaceKey(key)) {
117
- if (filter.length > 0) {
118
- const next = filter.slice(0, -1);
119
- setFilter(next);
120
- setCursor(0);
121
- // Sync readline buffer with our filter string.
122
- rl.clearLine(0);
123
- if (next)
124
- rl.write(next);
125
- }
126
- return;
127
- }
128
- if (isEscapeKey(key)) {
129
- if (filter.length > 0) {
130
- setFilter('');
131
- setCursor(0);
132
- rl.clearLine(0);
133
- }
134
- return;
135
- }
136
- // Printable char: readline already updated rl.line
137
- if (rl.line !== filter) {
138
- setFilter(rl.line);
139
- setCursor(0);
140
- setError(undefined);
141
- }
142
- });
143
- if (status === 'done') {
144
- const labels = [...config.items, ...extras]
145
- .filter((it) => checked.has(it.value))
146
- .map((it) => it.label)
147
- .join(', ');
148
- return `${prefix} ${config.message} ${labels || '(none)'}`;
149
- }
150
- const header = `${prefix} ${config.message}${filter ? ` ${filter}_` : ' _'} ${dim(`(${view.length} shown, ${checked.size} selected)`)}`;
151
- if (view.length === 0) {
152
- return `${header}\n ${dim('(no matches)')}${error ? `\n ${red(error)}` : ''}`;
153
- }
154
- const renderItem = ({ item, index, }) => {
155
- const isCursor = index === cursor;
156
- const isChecked = checked.has(item.value);
157
- const box = isChecked ? green('●') : '○';
158
- const pointer = isCursor ? cyan('❯') : ' ';
159
- const stats = config.usageStats?.get(item.value) ?? null;
160
- const label = config.formatFn(item, stats);
161
- const line = `${pointer} ${box} ${label}`;
162
- return isCursor ? bold(line) : line;
163
- };
164
- const page = usePagination({
165
- items: view,
166
- active: cursor,
167
- renderItem,
168
- pageSize: config.pageSize,
169
- loop: true,
170
- });
171
- return `${header}\n${page}${error ? `\n ${red(error)}` : ''}`;
172
- });
173
- //# sourceMappingURL=searchable-checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchable-checkbox.js","sourceRoot":"","sources":["../../src/prompt/searchable-checkbox.ts"],"names":[],"mappings":"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"}