ink 4.4.0 → 5.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 (61) hide show
  1. package/build/colorize.js.map +1 -1
  2. package/build/components/App.d.ts +1 -1
  3. package/build/components/App.js +198 -295
  4. package/build/components/App.js.map +1 -1
  5. package/build/components/AppContext.js +1 -1
  6. package/build/components/Box.d.ts +51 -1
  7. package/build/components/Box.js +2 -2
  8. package/build/components/ErrorOverview.js +1 -1
  9. package/build/components/ErrorOverview.js.map +1 -1
  10. package/build/components/FocusContext.js +1 -1
  11. package/build/components/Static.js +1 -1
  12. package/build/components/StderrContext.js +1 -1
  13. package/build/components/StdinContext.js +1 -1
  14. package/build/components/StdoutContext.js +1 -1
  15. package/build/components/Text.d.ts +1 -1
  16. package/build/components/Text.js +1 -1
  17. package/build/components/Text.js.map +1 -1
  18. package/build/components/Transform.js.map +1 -1
  19. package/build/devtools-window-polyfill.js +11 -8
  20. package/build/devtools-window-polyfill.js.map +1 -1
  21. package/build/dom.js +2 -3
  22. package/build/dom.js.map +1 -1
  23. package/build/get-max-width.js +0 -1
  24. package/build/get-max-width.js.map +1 -1
  25. package/build/hooks/use-focus-manager.js +1 -1
  26. package/build/hooks/use-focus.d.ts +1 -1
  27. package/build/hooks/use-focus.js +2 -2
  28. package/build/hooks/use-focus.js.map +1 -1
  29. package/build/hooks/use-input.js +2 -3
  30. package/build/hooks/use-input.js.map +1 -1
  31. package/build/ink.js +77 -164
  32. package/build/ink.js.map +1 -1
  33. package/build/log-update.d.ts +1 -0
  34. package/build/log-update.js.map +1 -1
  35. package/build/measure-element.js +1 -1
  36. package/build/measure-text.js +1 -1
  37. package/build/measure-text.js.map +1 -1
  38. package/build/output.js +11 -26
  39. package/build/output.js.map +1 -1
  40. package/build/parse-keypress.d.ts +1 -0
  41. package/build/parse-keypress.js +4 -4
  42. package/build/parse-keypress.js.map +1 -1
  43. package/build/reconciler.js +8 -6
  44. package/build/reconciler.js.map +1 -1
  45. package/build/render-border.js +1 -1
  46. package/build/render-border.js.map +1 -1
  47. package/build/render-node-to-output.js +2 -3
  48. package/build/render-node-to-output.js.map +1 -1
  49. package/build/render.d.ts +4 -0
  50. package/build/render.js +3 -3
  51. package/build/render.js.map +1 -1
  52. package/build/renderer.js +5 -5
  53. package/build/renderer.js.map +1 -1
  54. package/build/squash-text-nodes.js.map +1 -1
  55. package/build/styles.d.ts +1 -1
  56. package/build/styles.js +0 -1
  57. package/build/styles.js.map +1 -1
  58. package/build/wrap-text.js +1 -1
  59. package/build/wrap-text.js.map +1 -1
  60. package/package.json +34 -38
  61. package/readme.md +2 -17
@@ -1 +1 @@
1
- {"version":3,"file":"colorize.js","sourceRoot":"","sources":["../src/colorize.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAC1D,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAgC,EAAE;IACpE,OAAO,KAAK,IAAI,KAAK,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAChB,GAAW,EACX,KAAyB,EACzB,IAAe,EACN,EAAE;IACX,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,GAAG,CAAC;KACX;IAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;QACxB,IAAI,IAAI,KAAK,YAAY,EAAE;YAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;SACzB;QAED,MAAM,UAAU,GAAG,KAClB,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CACxC,EAAyB,CAAC;QAE1B,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;KAC9B;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KAC3B;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAChC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE;YACb,OAAO,GAAG,CAAC;SACX;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KAC/B;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE;YACb,OAAO,GAAG,CAAC;SACX;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;KACzD;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"colorize.js","sourceRoot":"","sources":["../src/colorize.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAC1D,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAgC,EAAE;IACpE,OAAO,KAAK,IAAI,KAAK,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAChB,GAAW,EACX,KAAyB,EACzB,IAAe,EACN,EAAE;IACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,UAAU,GAAG,KAClB,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CACxC,EAAyB,CAAC;QAE1B,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,KAAK,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -34,7 +34,7 @@ export default class App extends PureComponent<Props, State> {
34
34
  error: undefined;
35
35
  };
36
36
  rawModeEnabledCount: number;
37
- internal_eventEmitter: EventEmitter;
37
+ internal_eventEmitter: EventEmitter<[never]>;
38
38
  isRawModeSupported(): boolean;
39
39
  render(): React.JSX.Element;
40
40
  componentDidMount(): void;
@@ -15,293 +15,21 @@ const escape = '\u001B';
15
15
  // It renders stdin and stdout contexts, so that children can access them if needed
16
16
  // It also handles Ctrl+C exiting and cursor visibility
17
17
  export default class App extends PureComponent {
18
- constructor() {
19
- super(...arguments);
20
- Object.defineProperty(this, "state", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: {
25
- isFocusEnabled: true,
26
- activeFocusId: undefined,
27
- focusables: [],
28
- error: undefined
29
- }
30
- });
31
- // Count how many components enabled raw mode to avoid disabling
32
- // raw mode until all components don't need it anymore
33
- Object.defineProperty(this, "rawModeEnabledCount", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: 0
38
- });
39
- // eslint-disable-next-line @typescript-eslint/naming-convention
40
- Object.defineProperty(this, "internal_eventEmitter", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: new EventEmitter()
45
- });
46
- Object.defineProperty(this, "handleSetRawMode", {
47
- enumerable: true,
48
- configurable: true,
49
- writable: true,
50
- value: (isEnabled) => {
51
- const { stdin } = this.props;
52
- if (!this.isRawModeSupported()) {
53
- if (stdin === process.stdin) {
54
- throw new Error('Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported');
55
- }
56
- else {
57
- throw new Error('Raw mode is not supported on the stdin provided to Ink.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported');
58
- }
59
- }
60
- stdin.setEncoding('utf8');
61
- if (isEnabled) {
62
- // Ensure raw mode is enabled only once
63
- if (this.rawModeEnabledCount === 0) {
64
- stdin.setRawMode(true);
65
- stdin.addListener('readable', this.handleReadable);
66
- }
67
- this.rawModeEnabledCount++;
68
- return;
69
- }
70
- // Disable raw mode only when no components left that are using it
71
- if (--this.rawModeEnabledCount === 0) {
72
- stdin.setRawMode(false);
73
- stdin.removeListener('readable', this.handleReadable);
74
- stdin.unref();
75
- }
76
- }
77
- });
78
- Object.defineProperty(this, "handleReadable", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: () => {
83
- let chunk;
84
- // eslint-disable-next-line @typescript-eslint/ban-types
85
- while ((chunk = this.props.stdin.read()) !== null) {
86
- this.handleInput(chunk);
87
- this.internal_eventEmitter.emit('input', chunk);
88
- }
89
- }
90
- });
91
- Object.defineProperty(this, "handleInput", {
92
- enumerable: true,
93
- configurable: true,
94
- writable: true,
95
- value: (input) => {
96
- // Exit on Ctrl+C
97
- // eslint-disable-next-line unicorn/no-hex-escape
98
- if (input === '\x03' && this.props.exitOnCtrlC) {
99
- this.handleExit();
100
- }
101
- // Reset focus when there's an active focused component on Esc
102
- if (input === escape && this.state.activeFocusId) {
103
- this.setState({
104
- activeFocusId: undefined
105
- });
106
- }
107
- if (this.state.isFocusEnabled && this.state.focusables.length > 0) {
108
- if (input === tab) {
109
- this.focusNext();
110
- }
111
- if (input === shiftTab) {
112
- this.focusPrevious();
113
- }
114
- }
115
- }
116
- });
117
- Object.defineProperty(this, "handleExit", {
118
- enumerable: true,
119
- configurable: true,
120
- writable: true,
121
- value: (error) => {
122
- if (this.isRawModeSupported()) {
123
- this.handleSetRawMode(false);
124
- }
125
- this.props.onExit(error);
126
- }
127
- });
128
- Object.defineProperty(this, "enableFocus", {
129
- enumerable: true,
130
- configurable: true,
131
- writable: true,
132
- value: () => {
133
- this.setState({
134
- isFocusEnabled: true
135
- });
136
- }
137
- });
138
- Object.defineProperty(this, "disableFocus", {
139
- enumerable: true,
140
- configurable: true,
141
- writable: true,
142
- value: () => {
143
- this.setState({
144
- isFocusEnabled: false
145
- });
146
- }
147
- });
148
- Object.defineProperty(this, "focus", {
149
- enumerable: true,
150
- configurable: true,
151
- writable: true,
152
- value: (id) => {
153
- this.setState(previousState => {
154
- const hasFocusableId = previousState.focusables.some(focusable => focusable?.id === id);
155
- if (!hasFocusableId) {
156
- return previousState;
157
- }
158
- return { activeFocusId: id };
159
- });
160
- }
161
- });
162
- Object.defineProperty(this, "focusNext", {
163
- enumerable: true,
164
- configurable: true,
165
- writable: true,
166
- value: () => {
167
- this.setState(previousState => {
168
- const firstFocusableId = previousState.focusables[0]?.id;
169
- const nextFocusableId = this.findNextFocusable(previousState);
170
- return {
171
- activeFocusId: nextFocusableId ?? firstFocusableId
172
- };
173
- });
174
- }
175
- });
176
- Object.defineProperty(this, "focusPrevious", {
177
- enumerable: true,
178
- configurable: true,
179
- writable: true,
180
- value: () => {
181
- this.setState(previousState => {
182
- const lastFocusableId = previousState.focusables[previousState.focusables.length - 1]?.id;
183
- const previousFocusableId = this.findPreviousFocusable(previousState);
184
- return {
185
- activeFocusId: previousFocusableId ?? lastFocusableId
186
- };
187
- });
188
- }
189
- });
190
- Object.defineProperty(this, "addFocusable", {
191
- enumerable: true,
192
- configurable: true,
193
- writable: true,
194
- value: (id, { autoFocus }) => {
195
- this.setState(previousState => {
196
- let nextFocusId = previousState.activeFocusId;
197
- if (!nextFocusId && autoFocus) {
198
- nextFocusId = id;
199
- }
200
- return {
201
- activeFocusId: nextFocusId,
202
- focusables: [
203
- ...previousState.focusables,
204
- {
205
- id,
206
- isActive: true
207
- }
208
- ]
209
- };
210
- });
211
- }
212
- });
213
- Object.defineProperty(this, "removeFocusable", {
214
- enumerable: true,
215
- configurable: true,
216
- writable: true,
217
- value: (id) => {
218
- this.setState(previousState => ({
219
- activeFocusId: previousState.activeFocusId === id
220
- ? undefined
221
- : previousState.activeFocusId,
222
- focusables: previousState.focusables.filter(focusable => {
223
- return focusable.id !== id;
224
- })
225
- }));
226
- }
227
- });
228
- Object.defineProperty(this, "activateFocusable", {
229
- enumerable: true,
230
- configurable: true,
231
- writable: true,
232
- value: (id) => {
233
- this.setState(previousState => ({
234
- focusables: previousState.focusables.map(focusable => {
235
- if (focusable.id !== id) {
236
- return focusable;
237
- }
238
- return {
239
- id,
240
- isActive: true
241
- };
242
- })
243
- }));
244
- }
245
- });
246
- Object.defineProperty(this, "deactivateFocusable", {
247
- enumerable: true,
248
- configurable: true,
249
- writable: true,
250
- value: (id) => {
251
- this.setState(previousState => ({
252
- activeFocusId: previousState.activeFocusId === id
253
- ? undefined
254
- : previousState.activeFocusId,
255
- focusables: previousState.focusables.map(focusable => {
256
- if (focusable.id !== id) {
257
- return focusable;
258
- }
259
- return {
260
- id,
261
- isActive: false
262
- };
263
- })
264
- }));
265
- }
266
- });
267
- Object.defineProperty(this, "findNextFocusable", {
268
- enumerable: true,
269
- configurable: true,
270
- writable: true,
271
- value: (state) => {
272
- const activeIndex = state.focusables.findIndex(focusable => {
273
- return focusable.id === state.activeFocusId;
274
- });
275
- for (let index = activeIndex + 1; index < state.focusables.length; index++) {
276
- const focusable = state.focusables[index];
277
- if (focusable?.isActive) {
278
- return focusable.id;
279
- }
280
- }
281
- return undefined;
282
- }
283
- });
284
- Object.defineProperty(this, "findPreviousFocusable", {
285
- enumerable: true,
286
- configurable: true,
287
- writable: true,
288
- value: (state) => {
289
- const activeIndex = state.focusables.findIndex(focusable => {
290
- return focusable.id === state.activeFocusId;
291
- });
292
- for (let index = activeIndex - 1; index >= 0; index--) {
293
- const focusable = state.focusables[index];
294
- if (focusable?.isActive) {
295
- return focusable.id;
296
- }
297
- }
298
- return undefined;
299
- }
300
- });
301
- }
18
+ static displayName = 'InternalApp';
302
19
  static getDerivedStateFromError(error) {
303
20
  return { error };
304
21
  }
22
+ state = {
23
+ isFocusEnabled: true,
24
+ activeFocusId: undefined,
25
+ focusables: [],
26
+ error: undefined,
27
+ };
28
+ // Count how many components enabled raw mode to avoid disabling
29
+ // raw mode until all components don't need it anymore
30
+ rawModeEnabledCount = 0;
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention
32
+ internal_eventEmitter = new EventEmitter();
305
33
  // Determines if TTY is supported on the provided stdin
306
34
  isRawModeSupported() {
307
35
  return this.props.stdin.isTTY;
@@ -312,7 +40,7 @@ export default class App extends PureComponent {
312
40
  , {
313
41
  // eslint-disable-next-line react/jsx-no-constructed-context-values
314
42
  value: {
315
- exit: this.handleExit
43
+ exit: this.handleExit,
316
44
  } },
317
45
  React.createElement(StdinContext.Provider
318
46
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -325,7 +53,7 @@ export default class App extends PureComponent {
325
53
  // eslint-disable-next-line @typescript-eslint/naming-convention
326
54
  internal_exitOnCtrlC: this.props.exitOnCtrlC,
327
55
  // eslint-disable-next-line @typescript-eslint/naming-convention
328
- internal_eventEmitter: this.internal_eventEmitter
56
+ internal_eventEmitter: this.internal_eventEmitter,
329
57
  } },
330
58
  React.createElement(StdoutContext.Provider
331
59
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -333,7 +61,7 @@ export default class App extends PureComponent {
333
61
  // eslint-disable-next-line react/jsx-no-constructed-context-values
334
62
  value: {
335
63
  stdout: this.props.stdout,
336
- write: this.props.writeToStdout
64
+ write: this.props.writeToStdout,
337
65
  } },
338
66
  React.createElement(StderrContext.Provider
339
67
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -341,7 +69,7 @@ export default class App extends PureComponent {
341
69
  // eslint-disable-next-line react/jsx-no-constructed-context-values
342
70
  value: {
343
71
  stderr: this.props.stderr,
344
- write: this.props.writeToStderr
72
+ write: this.props.writeToStderr,
345
73
  } },
346
74
  React.createElement(FocusContext.Provider
347
75
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -357,7 +85,7 @@ export default class App extends PureComponent {
357
85
  disableFocus: this.disableFocus,
358
86
  focusNext: this.focusNext,
359
87
  focusPrevious: this.focusPrevious,
360
- focus: this.focus
88
+ focus: this.focus,
361
89
  } }, this.state.error ? (React.createElement(ErrorOverview, { error: this.state.error })) : (this.props.children)))))));
362
90
  }
363
91
  componentDidMount() {
@@ -373,11 +101,186 @@ export default class App extends PureComponent {
373
101
  componentDidCatch(error) {
374
102
  this.handleExit(error);
375
103
  }
104
+ handleSetRawMode = (isEnabled) => {
105
+ const { stdin } = this.props;
106
+ if (!this.isRawModeSupported()) {
107
+ if (stdin === process.stdin) {
108
+ throw new Error('Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported');
109
+ }
110
+ else {
111
+ throw new Error('Raw mode is not supported on the stdin provided to Ink.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported');
112
+ }
113
+ }
114
+ stdin.setEncoding('utf8');
115
+ if (isEnabled) {
116
+ // Ensure raw mode is enabled only once
117
+ if (this.rawModeEnabledCount === 0) {
118
+ stdin.ref();
119
+ stdin.setRawMode(true);
120
+ stdin.addListener('readable', this.handleReadable);
121
+ }
122
+ this.rawModeEnabledCount++;
123
+ return;
124
+ }
125
+ // Disable raw mode only when no components left that are using it
126
+ if (--this.rawModeEnabledCount === 0) {
127
+ stdin.setRawMode(false);
128
+ stdin.removeListener('readable', this.handleReadable);
129
+ stdin.unref();
130
+ }
131
+ };
132
+ handleReadable = () => {
133
+ let chunk;
134
+ // eslint-disable-next-line @typescript-eslint/ban-types
135
+ while ((chunk = this.props.stdin.read()) !== null) {
136
+ this.handleInput(chunk);
137
+ this.internal_eventEmitter.emit('input', chunk);
138
+ }
139
+ };
140
+ handleInput = (input) => {
141
+ // Exit on Ctrl+C
142
+ // eslint-disable-next-line unicorn/no-hex-escape
143
+ if (input === '\x03' && this.props.exitOnCtrlC) {
144
+ this.handleExit();
145
+ }
146
+ // Reset focus when there's an active focused component on Esc
147
+ if (input === escape && this.state.activeFocusId) {
148
+ this.setState({
149
+ activeFocusId: undefined,
150
+ });
151
+ }
152
+ if (this.state.isFocusEnabled && this.state.focusables.length > 0) {
153
+ if (input === tab) {
154
+ this.focusNext();
155
+ }
156
+ if (input === shiftTab) {
157
+ this.focusPrevious();
158
+ }
159
+ }
160
+ };
161
+ handleExit = (error) => {
162
+ if (this.isRawModeSupported()) {
163
+ this.handleSetRawMode(false);
164
+ }
165
+ this.props.onExit(error);
166
+ };
167
+ enableFocus = () => {
168
+ this.setState({
169
+ isFocusEnabled: true,
170
+ });
171
+ };
172
+ disableFocus = () => {
173
+ this.setState({
174
+ isFocusEnabled: false,
175
+ });
176
+ };
177
+ focus = (id) => {
178
+ this.setState(previousState => {
179
+ const hasFocusableId = previousState.focusables.some(focusable => focusable?.id === id);
180
+ if (!hasFocusableId) {
181
+ return previousState;
182
+ }
183
+ return { activeFocusId: id };
184
+ });
185
+ };
186
+ focusNext = () => {
187
+ this.setState(previousState => {
188
+ const firstFocusableId = previousState.focusables[0]?.id;
189
+ const nextFocusableId = this.findNextFocusable(previousState);
190
+ return {
191
+ activeFocusId: nextFocusableId ?? firstFocusableId,
192
+ };
193
+ });
194
+ };
195
+ focusPrevious = () => {
196
+ this.setState(previousState => {
197
+ const lastFocusableId = previousState.focusables.at(-1)?.id;
198
+ const previousFocusableId = this.findPreviousFocusable(previousState);
199
+ return {
200
+ activeFocusId: previousFocusableId ?? lastFocusableId,
201
+ };
202
+ });
203
+ };
204
+ addFocusable = (id, { autoFocus }) => {
205
+ this.setState(previousState => {
206
+ let nextFocusId = previousState.activeFocusId;
207
+ if (!nextFocusId && autoFocus) {
208
+ nextFocusId = id;
209
+ }
210
+ return {
211
+ activeFocusId: nextFocusId,
212
+ focusables: [
213
+ ...previousState.focusables,
214
+ {
215
+ id,
216
+ isActive: true,
217
+ },
218
+ ],
219
+ };
220
+ });
221
+ };
222
+ removeFocusable = (id) => {
223
+ this.setState(previousState => ({
224
+ activeFocusId: previousState.activeFocusId === id
225
+ ? undefined
226
+ : previousState.activeFocusId,
227
+ focusables: previousState.focusables.filter(focusable => {
228
+ return focusable.id !== id;
229
+ }),
230
+ }));
231
+ };
232
+ activateFocusable = (id) => {
233
+ this.setState(previousState => ({
234
+ focusables: previousState.focusables.map(focusable => {
235
+ if (focusable.id !== id) {
236
+ return focusable;
237
+ }
238
+ return {
239
+ id,
240
+ isActive: true,
241
+ };
242
+ }),
243
+ }));
244
+ };
245
+ deactivateFocusable = (id) => {
246
+ this.setState(previousState => ({
247
+ activeFocusId: previousState.activeFocusId === id
248
+ ? undefined
249
+ : previousState.activeFocusId,
250
+ focusables: previousState.focusables.map(focusable => {
251
+ if (focusable.id !== id) {
252
+ return focusable;
253
+ }
254
+ return {
255
+ id,
256
+ isActive: false,
257
+ };
258
+ }),
259
+ }));
260
+ };
261
+ findNextFocusable = (state) => {
262
+ const activeIndex = state.focusables.findIndex(focusable => {
263
+ return focusable.id === state.activeFocusId;
264
+ });
265
+ for (let index = activeIndex + 1; index < state.focusables.length; index++) {
266
+ const focusable = state.focusables[index];
267
+ if (focusable?.isActive) {
268
+ return focusable.id;
269
+ }
270
+ }
271
+ return undefined;
272
+ };
273
+ findPreviousFocusable = (state) => {
274
+ const activeIndex = state.focusables.findIndex(focusable => {
275
+ return focusable.id === state.activeFocusId;
276
+ });
277
+ for (let index = activeIndex - 1; index >= 0; index--) {
278
+ const focusable = state.focusables[index];
279
+ if (focusable?.isActive) {
280
+ return focusable.id;
281
+ }
282
+ }
283
+ return undefined;
284
+ };
376
285
  }
377
- Object.defineProperty(App, "displayName", {
378
- enumerable: true,
379
- configurable: true,
380
- writable: true,
381
- value: 'InternalApp'
382
- });
383
286
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { createContext } from 'react';
4
4
  */
5
5
  // eslint-disable-next-line @typescript-eslint/naming-convention
6
6
  const AppContext = createContext({
7
- exit() { }
7
+ exit() { },
8
8
  });
9
9
  AppContext.displayName = 'InternalAppContext';
10
10
  export default AppContext;