ink 4.4.1 → 5.0.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.
Files changed (72) hide show
  1. package/build/apply-styles.js +175 -0
  2. package/build/build-layout.js +77 -0
  3. package/build/calculate-wrapped-text.js +53 -0
  4. package/build/colorize.js.map +1 -1
  5. package/build/components/App.d.ts +1 -1
  6. package/build/components/App.js +198 -296
  7. package/build/components/App.js.map +1 -1
  8. package/build/components/AppContext.js +1 -1
  9. package/build/components/Box.d.ts +51 -1
  10. package/build/components/Box.js +2 -2
  11. package/build/components/Color.js +62 -0
  12. package/build/components/ErrorOverview.js +1 -1
  13. package/build/components/ErrorOverview.js.map +1 -1
  14. package/build/components/FocusContext.js +1 -1
  15. package/build/components/Static.js +1 -1
  16. package/build/components/StderrContext.js +1 -1
  17. package/build/components/StdinContext.js +1 -1
  18. package/build/components/StdoutContext.js +1 -1
  19. package/build/components/Text.d.ts +1 -1
  20. package/build/components/Text.js +1 -1
  21. package/build/components/Text.js.map +1 -1
  22. package/build/components/Transform.js.map +1 -1
  23. package/build/devtools-window-polyfill.js +11 -17
  24. package/build/devtools-window-polyfill.js.map +1 -1
  25. package/build/dom.js +2 -3
  26. package/build/dom.js.map +1 -1
  27. package/build/experimental/apply-style.js +140 -0
  28. package/build/experimental/dom.js +123 -0
  29. package/build/experimental/output.js +91 -0
  30. package/build/experimental/reconciler.js +141 -0
  31. package/build/experimental/renderer.js +81 -0
  32. package/build/get-max-width.js +0 -1
  33. package/build/get-max-width.js.map +1 -1
  34. package/build/hooks/use-focus-manager.js +1 -1
  35. package/build/hooks/use-focus.d.ts +1 -1
  36. package/build/hooks/use-focus.js +2 -2
  37. package/build/hooks/use-focus.js.map +1 -1
  38. package/build/hooks/use-input.js +2 -3
  39. package/build/hooks/use-input.js.map +1 -1
  40. package/build/hooks/useInput.js +38 -0
  41. package/build/ink.js +81 -170
  42. package/build/ink.js.map +1 -1
  43. package/build/instance.js +205 -0
  44. package/build/log-update.d.ts +1 -0
  45. package/build/log-update.js.map +1 -1
  46. package/build/measure-element.js +1 -1
  47. package/build/measure-text.js +1 -1
  48. package/build/measure-text.js.map +1 -1
  49. package/build/output.js +11 -26
  50. package/build/output.js.map +1 -1
  51. package/build/parse-keypress.d.ts +1 -0
  52. package/build/parse-keypress.js +4 -4
  53. package/build/parse-keypress.js.map +1 -1
  54. package/build/reconciler.js +9 -7
  55. package/build/reconciler.js.map +1 -1
  56. package/build/render-border.js +1 -1
  57. package/build/render-border.js.map +1 -1
  58. package/build/render-node-to-output.js +2 -3
  59. package/build/render-node-to-output.js.map +1 -1
  60. package/build/render.d.ts +4 -0
  61. package/build/render.js +3 -3
  62. package/build/render.js.map +1 -1
  63. package/build/renderer.js +5 -5
  64. package/build/renderer.js.map +1 -1
  65. package/build/squash-text-nodes.js.map +1 -1
  66. package/build/styles.d.ts +1 -1
  67. package/build/styles.js +0 -1
  68. package/build/styles.js.map +1 -1
  69. package/build/wrap-text.js +1 -1
  70. package/build/wrap-text.js.map +1 -1
  71. package/package.json +35 -39
  72. package/readme.md +5 -18
@@ -15,294 +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.ref();
65
- stdin.setRawMode(true);
66
- stdin.addListener('readable', this.handleReadable);
67
- }
68
- this.rawModeEnabledCount++;
69
- return;
70
- }
71
- // Disable raw mode only when no components left that are using it
72
- if (--this.rawModeEnabledCount === 0) {
73
- stdin.setRawMode(false);
74
- stdin.removeListener('readable', this.handleReadable);
75
- stdin.unref();
76
- }
77
- }
78
- });
79
- Object.defineProperty(this, "handleReadable", {
80
- enumerable: true,
81
- configurable: true,
82
- writable: true,
83
- value: () => {
84
- let chunk;
85
- // eslint-disable-next-line @typescript-eslint/ban-types
86
- while ((chunk = this.props.stdin.read()) !== null) {
87
- this.handleInput(chunk);
88
- this.internal_eventEmitter.emit('input', chunk);
89
- }
90
- }
91
- });
92
- Object.defineProperty(this, "handleInput", {
93
- enumerable: true,
94
- configurable: true,
95
- writable: true,
96
- value: (input) => {
97
- // Exit on Ctrl+C
98
- // eslint-disable-next-line unicorn/no-hex-escape
99
- if (input === '\x03' && this.props.exitOnCtrlC) {
100
- this.handleExit();
101
- }
102
- // Reset focus when there's an active focused component on Esc
103
- if (input === escape && this.state.activeFocusId) {
104
- this.setState({
105
- activeFocusId: undefined
106
- });
107
- }
108
- if (this.state.isFocusEnabled && this.state.focusables.length > 0) {
109
- if (input === tab) {
110
- this.focusNext();
111
- }
112
- if (input === shiftTab) {
113
- this.focusPrevious();
114
- }
115
- }
116
- }
117
- });
118
- Object.defineProperty(this, "handleExit", {
119
- enumerable: true,
120
- configurable: true,
121
- writable: true,
122
- value: (error) => {
123
- if (this.isRawModeSupported()) {
124
- this.handleSetRawMode(false);
125
- }
126
- this.props.onExit(error);
127
- }
128
- });
129
- Object.defineProperty(this, "enableFocus", {
130
- enumerable: true,
131
- configurable: true,
132
- writable: true,
133
- value: () => {
134
- this.setState({
135
- isFocusEnabled: true
136
- });
137
- }
138
- });
139
- Object.defineProperty(this, "disableFocus", {
140
- enumerable: true,
141
- configurable: true,
142
- writable: true,
143
- value: () => {
144
- this.setState({
145
- isFocusEnabled: false
146
- });
147
- }
148
- });
149
- Object.defineProperty(this, "focus", {
150
- enumerable: true,
151
- configurable: true,
152
- writable: true,
153
- value: (id) => {
154
- this.setState(previousState => {
155
- const hasFocusableId = previousState.focusables.some(focusable => focusable?.id === id);
156
- if (!hasFocusableId) {
157
- return previousState;
158
- }
159
- return { activeFocusId: id };
160
- });
161
- }
162
- });
163
- Object.defineProperty(this, "focusNext", {
164
- enumerable: true,
165
- configurable: true,
166
- writable: true,
167
- value: () => {
168
- this.setState(previousState => {
169
- const firstFocusableId = previousState.focusables[0]?.id;
170
- const nextFocusableId = this.findNextFocusable(previousState);
171
- return {
172
- activeFocusId: nextFocusableId ?? firstFocusableId
173
- };
174
- });
175
- }
176
- });
177
- Object.defineProperty(this, "focusPrevious", {
178
- enumerable: true,
179
- configurable: true,
180
- writable: true,
181
- value: () => {
182
- this.setState(previousState => {
183
- const lastFocusableId = previousState.focusables[previousState.focusables.length - 1]?.id;
184
- const previousFocusableId = this.findPreviousFocusable(previousState);
185
- return {
186
- activeFocusId: previousFocusableId ?? lastFocusableId
187
- };
188
- });
189
- }
190
- });
191
- Object.defineProperty(this, "addFocusable", {
192
- enumerable: true,
193
- configurable: true,
194
- writable: true,
195
- value: (id, { autoFocus }) => {
196
- this.setState(previousState => {
197
- let nextFocusId = previousState.activeFocusId;
198
- if (!nextFocusId && autoFocus) {
199
- nextFocusId = id;
200
- }
201
- return {
202
- activeFocusId: nextFocusId,
203
- focusables: [
204
- ...previousState.focusables,
205
- {
206
- id,
207
- isActive: true
208
- }
209
- ]
210
- };
211
- });
212
- }
213
- });
214
- Object.defineProperty(this, "removeFocusable", {
215
- enumerable: true,
216
- configurable: true,
217
- writable: true,
218
- value: (id) => {
219
- this.setState(previousState => ({
220
- activeFocusId: previousState.activeFocusId === id
221
- ? undefined
222
- : previousState.activeFocusId,
223
- focusables: previousState.focusables.filter(focusable => {
224
- return focusable.id !== id;
225
- })
226
- }));
227
- }
228
- });
229
- Object.defineProperty(this, "activateFocusable", {
230
- enumerable: true,
231
- configurable: true,
232
- writable: true,
233
- value: (id) => {
234
- this.setState(previousState => ({
235
- focusables: previousState.focusables.map(focusable => {
236
- if (focusable.id !== id) {
237
- return focusable;
238
- }
239
- return {
240
- id,
241
- isActive: true
242
- };
243
- })
244
- }));
245
- }
246
- });
247
- Object.defineProperty(this, "deactivateFocusable", {
248
- enumerable: true,
249
- configurable: true,
250
- writable: true,
251
- value: (id) => {
252
- this.setState(previousState => ({
253
- activeFocusId: previousState.activeFocusId === id
254
- ? undefined
255
- : previousState.activeFocusId,
256
- focusables: previousState.focusables.map(focusable => {
257
- if (focusable.id !== id) {
258
- return focusable;
259
- }
260
- return {
261
- id,
262
- isActive: false
263
- };
264
- })
265
- }));
266
- }
267
- });
268
- Object.defineProperty(this, "findNextFocusable", {
269
- enumerable: true,
270
- configurable: true,
271
- writable: true,
272
- value: (state) => {
273
- const activeIndex = state.focusables.findIndex(focusable => {
274
- return focusable.id === state.activeFocusId;
275
- });
276
- for (let index = activeIndex + 1; index < state.focusables.length; index++) {
277
- const focusable = state.focusables[index];
278
- if (focusable?.isActive) {
279
- return focusable.id;
280
- }
281
- }
282
- return undefined;
283
- }
284
- });
285
- Object.defineProperty(this, "findPreviousFocusable", {
286
- enumerable: true,
287
- configurable: true,
288
- writable: true,
289
- value: (state) => {
290
- const activeIndex = state.focusables.findIndex(focusable => {
291
- return focusable.id === state.activeFocusId;
292
- });
293
- for (let index = activeIndex - 1; index >= 0; index--) {
294
- const focusable = state.focusables[index];
295
- if (focusable?.isActive) {
296
- return focusable.id;
297
- }
298
- }
299
- return undefined;
300
- }
301
- });
302
- }
18
+ static displayName = 'InternalApp';
303
19
  static getDerivedStateFromError(error) {
304
20
  return { error };
305
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();
306
33
  // Determines if TTY is supported on the provided stdin
307
34
  isRawModeSupported() {
308
35
  return this.props.stdin.isTTY;
@@ -313,7 +40,7 @@ export default class App extends PureComponent {
313
40
  , {
314
41
  // eslint-disable-next-line react/jsx-no-constructed-context-values
315
42
  value: {
316
- exit: this.handleExit
43
+ exit: this.handleExit,
317
44
  } },
318
45
  React.createElement(StdinContext.Provider
319
46
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -326,7 +53,7 @@ export default class App extends PureComponent {
326
53
  // eslint-disable-next-line @typescript-eslint/naming-convention
327
54
  internal_exitOnCtrlC: this.props.exitOnCtrlC,
328
55
  // eslint-disable-next-line @typescript-eslint/naming-convention
329
- internal_eventEmitter: this.internal_eventEmitter
56
+ internal_eventEmitter: this.internal_eventEmitter,
330
57
  } },
331
58
  React.createElement(StdoutContext.Provider
332
59
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -334,7 +61,7 @@ export default class App extends PureComponent {
334
61
  // eslint-disable-next-line react/jsx-no-constructed-context-values
335
62
  value: {
336
63
  stdout: this.props.stdout,
337
- write: this.props.writeToStdout
64
+ write: this.props.writeToStdout,
338
65
  } },
339
66
  React.createElement(StderrContext.Provider
340
67
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -342,7 +69,7 @@ export default class App extends PureComponent {
342
69
  // eslint-disable-next-line react/jsx-no-constructed-context-values
343
70
  value: {
344
71
  stderr: this.props.stderr,
345
- write: this.props.writeToStderr
72
+ write: this.props.writeToStderr,
346
73
  } },
347
74
  React.createElement(FocusContext.Provider
348
75
  // eslint-disable-next-line react/jsx-no-constructed-context-values
@@ -358,7 +85,7 @@ export default class App extends PureComponent {
358
85
  disableFocus: this.disableFocus,
359
86
  focusNext: this.focusNext,
360
87
  focusPrevious: this.focusPrevious,
361
- focus: this.focus
88
+ focus: this.focus,
362
89
  } }, this.state.error ? (React.createElement(ErrorOverview, { error: this.state.error })) : (this.props.children)))))));
363
90
  }
364
91
  componentDidMount() {
@@ -374,11 +101,186 @@ export default class App extends PureComponent {
374
101
  componentDidCatch(error) {
375
102
  this.handleExit(error);
376
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.find(focusable => focusable.isActive)?.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.findLast(focusable => focusable.isActive)?.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
+ };
377
285
  }
378
- Object.defineProperty(App, "displayName", {
379
- enumerable: true,
380
- configurable: true,
381
- writable: true,
382
- value: 'InternalApp'
383
- });
384
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;
@@ -6,7 +6,57 @@ export type Props = Except<Styles, 'textWrap'>;
6
6
  /**
7
7
  * `<Box>` is an essential Ink component to build your layout. It's like `<div style="display: flex">` in the browser.
8
8
  */
9
- declare const Box: React.ForwardRefExoticComponent<Props & {
9
+ declare const Box: React.ForwardRefExoticComponent<{
10
+ readonly position?: "absolute" | "relative" | undefined;
11
+ readonly columnGap?: number | undefined;
12
+ readonly rowGap?: number | undefined;
13
+ readonly gap?: number | undefined;
14
+ readonly margin?: number | undefined;
15
+ readonly marginX?: number | undefined;
16
+ readonly marginY?: number | undefined;
17
+ readonly marginTop?: number | undefined;
18
+ readonly marginBottom?: number | undefined;
19
+ readonly marginLeft?: number | undefined;
20
+ readonly marginRight?: number | undefined;
21
+ readonly padding?: number | undefined;
22
+ readonly paddingX?: number | undefined;
23
+ readonly paddingY?: number | undefined;
24
+ readonly paddingTop?: number | undefined;
25
+ readonly paddingBottom?: number | undefined;
26
+ readonly paddingLeft?: number | undefined;
27
+ readonly paddingRight?: number | undefined;
28
+ readonly flexGrow?: number | undefined;
29
+ readonly flexShrink?: number | undefined;
30
+ readonly flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined;
31
+ readonly flexBasis?: string | number | undefined;
32
+ readonly flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined;
33
+ readonly alignItems?: "flex-start" | "center" | "flex-end" | "stretch" | undefined;
34
+ readonly alignSelf?: "flex-start" | "center" | "flex-end" | "auto" | undefined;
35
+ readonly justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around" | undefined;
36
+ readonly width?: string | number | undefined;
37
+ readonly height?: string | number | undefined;
38
+ readonly minWidth?: string | number | undefined;
39
+ readonly minHeight?: string | number | undefined;
40
+ readonly display?: "flex" | "none" | undefined;
41
+ readonly borderStyle?: import("cli-boxes").BoxStyle | keyof import("cli-boxes").Boxes | undefined;
42
+ readonly borderTop?: boolean | undefined;
43
+ readonly borderBottom?: boolean | undefined;
44
+ readonly borderLeft?: boolean | undefined;
45
+ readonly borderRight?: boolean | undefined;
46
+ readonly borderColor?: import("type-fest").LiteralUnion<keyof import("ansi-styles").ForegroundColor, string> | undefined;
47
+ readonly borderTopColor?: import("type-fest").LiteralUnion<keyof import("ansi-styles").ForegroundColor, string> | undefined;
48
+ readonly borderBottomColor?: import("type-fest").LiteralUnion<keyof import("ansi-styles").ForegroundColor, string> | undefined;
49
+ readonly borderLeftColor?: import("type-fest").LiteralUnion<keyof import("ansi-styles").ForegroundColor, string> | undefined;
50
+ readonly borderRightColor?: import("type-fest").LiteralUnion<keyof import("ansi-styles").ForegroundColor, string> | undefined;
51
+ readonly borderDimColor?: boolean | undefined;
52
+ readonly borderTopDimColor?: boolean | undefined;
53
+ readonly borderBottomDimColor?: boolean | undefined;
54
+ readonly borderLeftDimColor?: boolean | undefined;
55
+ readonly borderRightDimColor?: boolean | undefined;
56
+ readonly overflow?: "visible" | "hidden" | undefined;
57
+ readonly overflowX?: "visible" | "hidden" | undefined;
58
+ readonly overflowY?: "visible" | "hidden" | undefined;
59
+ } & {
10
60
  children?: React.ReactNode;
11
61
  } & React.RefAttributes<DOMElement>>;
12
62
  export default Box;
@@ -6,7 +6,7 @@ const Box = forwardRef(({ children, ...style }, ref) => {
6
6
  return (React.createElement("ink-box", { ref: ref, style: {
7
7
  ...style,
8
8
  overflowX: style.overflowX ?? style.overflow ?? 'visible',
9
- overflowY: style.overflowY ?? style.overflow ?? 'visible'
9
+ overflowY: style.overflowY ?? style.overflow ?? 'visible',
10
10
  } }, children));
11
11
  });
12
12
  Box.displayName = 'Box';
@@ -14,7 +14,7 @@ Box.defaultProps = {
14
14
  flexWrap: 'nowrap',
15
15
  flexDirection: 'row',
16
16
  flexGrow: 0,
17
- flexShrink: 1
17
+ flexShrink: 1,
18
18
  };
19
19
  export default Box;
20
20
  //# sourceMappingURL=Box.js.map