ink 3.1.0 → 4.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 (122) hide show
  1. package/build/colorize.d.ts +3 -3
  2. package/build/colorize.js +30 -35
  3. package/build/colorize.js.map +1 -1
  4. package/build/components/App.d.ts +12 -12
  5. package/build/components/App.js +287 -208
  6. package/build/components/App.js.map +1 -1
  7. package/build/components/AppContext.d.ts +2 -2
  8. package/build/components/AppContext.js +5 -6
  9. package/build/components/AppContext.js.map +1 -1
  10. package/build/components/Box.d.ts +5 -5
  11. package/build/components/Box.js +15 -38
  12. package/build/components/Box.js.map +1 -1
  13. package/build/components/ErrorOverview.d.ts +5 -5
  14. package/build/components/ErrorOverview.js +40 -58
  15. package/build/components/ErrorOverview.js.map +1 -1
  16. package/build/components/FocusContext.d.ts +2 -2
  17. package/build/components/FocusContext.js +13 -14
  18. package/build/components/FocusContext.js.map +1 -1
  19. package/build/components/Newline.d.ts +4 -5
  20. package/build/components/Newline.js +4 -9
  21. package/build/components/Newline.js.map +1 -1
  22. package/build/components/Spacer.d.ts +2 -3
  23. package/build/components/Spacer.js +5 -10
  24. package/build/components/Spacer.js.map +1 -1
  25. package/build/components/Static.d.ts +5 -9
  26. package/build/components/Static.js +12 -33
  27. package/build/components/Static.js.map +1 -1
  28. package/build/components/StderrContext.d.ts +4 -4
  29. package/build/components/StderrContext.js +7 -7
  30. package/build/components/StderrContext.js.map +1 -1
  31. package/build/components/StdinContext.d.ts +4 -4
  32. package/build/components/StdinContext.js +8 -7
  33. package/build/components/StdinContext.js.map +1 -1
  34. package/build/components/StdoutContext.d.ts +4 -4
  35. package/build/components/StdoutContext.js +7 -7
  36. package/build/components/StdoutContext.js.map +1 -1
  37. package/build/components/Text.d.ts +9 -10
  38. package/build/components/Text.js +14 -29
  39. package/build/components/Text.js.map +1 -1
  40. package/build/components/Transform.d.ts +4 -5
  41. package/build/components/Transform.js +4 -11
  42. package/build/components/Transform.js.map +1 -1
  43. package/build/devtools-window-polyfill.js +3 -8
  44. package/build/devtools-window-polyfill.js.map +1 -1
  45. package/build/devtools.d.ts +1 -1
  46. package/build/devtools.js +6 -6
  47. package/build/devtools.js.map +1 -1
  48. package/build/dom.d.ts +14 -17
  49. package/build/dom.js +34 -47
  50. package/build/dom.js.map +1 -1
  51. package/build/get-max-width.d.ts +2 -2
  52. package/build/get-max-width.js +7 -11
  53. package/build/get-max-width.js.map +1 -1
  54. package/build/hooks/use-app.d.ts +1 -1
  55. package/build/hooks/use-app.js +4 -9
  56. package/build/hooks/use-app.js.map +1 -1
  57. package/build/hooks/use-focus-manager.d.ts +3 -3
  58. package/build/hooks/use-focus-manager.js +4 -9
  59. package/build/hooks/use-focus-manager.js.map +1 -1
  60. package/build/hooks/use-focus.d.ts +4 -4
  61. package/build/hooks/use-focus.js +11 -16
  62. package/build/hooks/use-focus.js.map +1 -1
  63. package/build/hooks/use-input.d.ts +5 -5
  64. package/build/hooks/use-input.js +13 -14
  65. package/build/hooks/use-input.js.map +1 -1
  66. package/build/hooks/use-stderr.d.ts +1 -1
  67. package/build/hooks/use-stderr.js +4 -9
  68. package/build/hooks/use-stderr.js.map +1 -1
  69. package/build/hooks/use-stdin.d.ts +1 -1
  70. package/build/hooks/use-stdin.js +4 -9
  71. package/build/hooks/use-stdin.js.map +1 -1
  72. package/build/hooks/use-stdout.d.ts +1 -1
  73. package/build/hooks/use-stdout.js +4 -9
  74. package/build/hooks/use-stdout.js.map +1 -1
  75. package/build/index.d.ts +27 -20
  76. package/build/index.js +15 -32
  77. package/build/index.js.map +1 -1
  78. package/build/ink.d.ts +4 -4
  79. package/build/ink.js +166 -97
  80. package/build/ink.js.map +1 -1
  81. package/build/instances.d.ts +4 -2
  82. package/build/instances.js +2 -3
  83. package/build/instances.js.map +1 -1
  84. package/build/log-update.d.ts +5 -6
  85. package/build/log-update.js +8 -12
  86. package/build/log-update.js.map +1 -1
  87. package/build/measure-element.d.ts +5 -5
  88. package/build/measure-element.js +5 -9
  89. package/build/measure-element.js.map +1 -1
  90. package/build/measure-text.d.ts +4 -4
  91. package/build/measure-text.js +7 -10
  92. package/build/measure-text.js.map +1 -1
  93. package/build/output.d.ts +3 -3
  94. package/build/output.js +25 -15
  95. package/build/output.js.map +1 -1
  96. package/build/reconciler.d.ts +2 -2
  97. package/build/reconciler.js +100 -76
  98. package/build/reconciler.js.map +1 -1
  99. package/build/render-border.d.ts +4 -4
  100. package/build/render-border.js +8 -12
  101. package/build/render-border.js.map +1 -1
  102. package/build/render-node-to-output.d.ts +3 -3
  103. package/build/render-node-to-output.js +17 -24
  104. package/build/render-node-to-output.js.map +1 -1
  105. package/build/render.d.ts +8 -8
  106. package/build/render.js +23 -20
  107. package/build/render.js.map +1 -1
  108. package/build/renderer.d.ts +5 -5
  109. package/build/renderer.js +11 -16
  110. package/build/renderer.js.map +1 -1
  111. package/build/squash-text-nodes.d.ts +1 -1
  112. package/build/squash-text-nodes.js +1 -3
  113. package/build/squash-text-nodes.js.map +1 -1
  114. package/build/styles.d.ts +9 -9
  115. package/build/styles.js +39 -45
  116. package/build/styles.js.map +1 -1
  117. package/build/wrap-text.d.ts +3 -3
  118. package/build/wrap-text.js +9 -12
  119. package/build/wrap-text.js.map +1 -1
  120. package/license +1 -1
  121. package/package.json +87 -67
  122. package/readme.md +91 -49
package/build/output.js CHANGED
@@ -1,14 +1,26 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const slice_ansi_1 = __importDefault(require("slice-ansi"));
7
- const string_width_1 = __importDefault(require("string-width"));
8
- class Output {
1
+ import sliceAnsi from 'slice-ansi';
2
+ import stringWidth from 'string-width';
3
+ export default class Output {
9
4
  constructor(options) {
5
+ Object.defineProperty(this, "width", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: void 0
10
+ });
11
+ Object.defineProperty(this, "height", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
10
17
  // Initialize output array with a specific set of rows, so that margin/padding at the bottom is preserved
11
- this.writes = [];
18
+ Object.defineProperty(this, "writes", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: []
23
+ });
12
24
  const { width, height } = options;
13
25
  this.width = width;
14
26
  this.height = height;
@@ -35,24 +47,22 @@ class Output {
35
47
  if (!currentLine) {
36
48
  continue;
37
49
  }
38
- const width = string_width_1.default(line);
50
+ const width = stringWidth(line);
39
51
  for (const transformer of transformers) {
40
52
  line = transformer(line);
41
53
  }
42
54
  output[y + offsetY] =
43
- slice_ansi_1.default(currentLine, 0, x) +
55
+ sliceAnsi(currentLine, 0, x) +
44
56
  line +
45
- slice_ansi_1.default(currentLine, x + width);
57
+ sliceAnsi(currentLine, x + width);
46
58
  offsetY++;
47
59
  }
48
60
  }
49
- // eslint-disable-next-line unicorn/prefer-trim-start-end
50
- const generatedOutput = output.map(line => line.trimRight()).join('\n');
61
+ const generatedOutput = output.map(line => line.trimEnd()).join('\n');
51
62
  return {
52
63
  output: generatedOutput,
53
64
  height: output.length
54
65
  };
55
66
  }
56
67
  }
57
- exports.default = Output;
58
68
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,gEAAuC;AAwBvC,MAAqB,MAAM;IAO1B,YAAY,OAAgB;QAH5B,yGAAyG;QACxF,WAAM,GAAa,EAAE,CAAC;QAGtC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;QAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CACJ,CAAS,EACT,CAAS,EACT,IAAY,EACZ,OAA4C;QAE5C,MAAM,EAAC,YAAY,EAAC,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,IAAI,EAAE;YACV,OAAO;SACP;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACpC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAChC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACvB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;gBAExC,uFAAuF;gBACvF,IAAI,CAAC,WAAW,EAAE;oBACjB,SAAS;iBACT;gBAED,MAAM,KAAK,GAAG,sBAAW,CAAC,IAAI,CAAC,CAAC;gBAEhC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACvC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;iBACzB;gBAED,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;oBAClB,oBAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC5B,IAAI;wBACJ,oBAAS,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBAEnC,OAAO,EAAE,CAAC;aACV;SACD;QAED,yDAAyD;QACzD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExE,OAAO;YACN,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACH,CAAC;CACD;AAxED,yBAwEC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,WAAW,MAAM,cAAc,CAAC;AAwBvC,MAAM,CAAC,OAAO,OAAO,MAAM;IAO1B,YAAY,OAAgB;QAN5B;;;;;WAAc;QACd;;;;;WAAe;QAEf,yGAAyG;QACzG;;;;mBAAoC,EAAE;WAAC;QAGtC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;QAEhC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CACJ,CAAS,EACT,CAAS,EACT,IAAY,EACZ,OAA4C;QAE5C,MAAM,EAAC,YAAY,EAAC,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,IAAI,EAAE;YACV,OAAO;SACP;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;IAC9C,CAAC;IAED,GAAG;QACF,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACpC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAChC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACvB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;gBAExC,uFAAuF;gBACvF,IAAI,CAAC,WAAW,EAAE;oBACjB,SAAS;iBACT;gBAED,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEhC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;oBACvC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;iBACzB;gBAED,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;oBAClB,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC5B,IAAI;wBACJ,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBAEnC,OAAO,EAAE,CAAC;aACV;SACD;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtE,OAAO;YACN,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACH,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
1
  import createReconciler from 'react-reconciler';
2
- import { TextNode, DOMElement } from './dom';
3
- declare const _default: createReconciler.Reconciler<DOMElement, DOMElement | TextNode, DOMElement, unknown>;
2
+ import { type TextNode, type DOMElement } from './dom.js';
3
+ declare const _default: createReconciler.Reconciler<DOMElement, DOMElement, TextNode, DOMElement, unknown>;
4
4
  export default _default;
@@ -1,33 +1,42 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const scheduler_1 = require("scheduler");
7
- const react_reconciler_1 = __importDefault(require("react-reconciler"));
8
- const yoga_layout_prebuilt_1 = __importDefault(require("yoga-layout-prebuilt"));
9
- const dom_1 = require("./dom");
1
+ import process from 'node:process';
2
+ import createReconciler from 'react-reconciler';
3
+ import { DefaultEventPriority } from 'react-reconciler/constants.js';
4
+ import Yoga from 'yoga-layout-prebuilt';
5
+ import { createTextNode, appendChildNode, insertBeforeNode, removeChildNode, setStyle, setTextNodeValue, createNode, setAttribute } from './dom.js';
10
6
  // We need to conditionally perform devtools connection to avoid
11
7
  // accidentally breaking other third-party code.
12
8
  // See https://github.com/vadimdemedes/ink/issues/384
13
- if (process.env.DEV === 'true') {
14
- // eslint-disable-next-line import/no-unassigned-import
15
- require('./devtools');
9
+ if (process.env['DEV'] === 'true') {
10
+ try {
11
+ await import('./devtools.js');
12
+ // eslint-disable-next-line @typescript-eslint/no-implicit-any-catch
13
+ }
14
+ catch (error) {
15
+ if (error.code === 'MODULE_NOT_FOUND') {
16
+ console.warn(`
17
+ Debugging with React Devtools requires \`react-devtools-core\` dependency to be installed.
18
+
19
+ $ npm install --save-dev react-devtools-core
20
+ `.trim() + '\n');
21
+ }
22
+ else {
23
+ // eslint-disable-next-line @typescript-eslint/no-throw-literal
24
+ throw error;
25
+ }
26
+ }
16
27
  }
17
28
  const cleanupYogaNode = (node) => {
18
- node === null || node === void 0 ? void 0 : node.unsetMeasureFunc();
19
- node === null || node === void 0 ? void 0 : node.freeRecursive();
29
+ node?.unsetMeasureFunc();
30
+ node?.freeRecursive();
20
31
  };
21
- exports.default = react_reconciler_1.default({
22
- // @ts-ignore
23
- schedulePassiveEffects: scheduler_1.unstable_scheduleCallback,
24
- cancelPassiveEffects: scheduler_1.unstable_cancelCallback,
25
- now: Date.now,
32
+ export default createReconciler({
26
33
  getRootHostContext: () => ({
27
34
  isInsideText: false
28
35
  }),
29
- prepareForCommit: () => { },
30
- resetAfterCommit: rootNode => {
36
+ prepareForCommit: () => null,
37
+ preparePortalMount: () => null,
38
+ clearContainer: () => false,
39
+ resetAfterCommit(rootNode) {
31
40
  // Since renders are throttled at the instance level and <Static> component children
32
41
  // are rendered only once and then get deleted, we need an escape hatch to
33
42
  // trigger an immediate render to ensure <Static> children are written to output before they get erased
@@ -42,7 +51,7 @@ exports.default = react_reconciler_1.default({
42
51
  rootNode.onRender();
43
52
  }
44
53
  },
45
- getChildHostContext: (parentHostContext, type) => {
54
+ getChildHostContext(parentHostContext, type) {
46
55
  const previousIsInsideText = parentHostContext.isInsideText;
47
56
  const isInsideText = type === 'ink-text' || type === 'ink-virtual-text';
48
57
  if (previousIsInsideText === isInsideText) {
@@ -51,59 +60,58 @@ exports.default = react_reconciler_1.default({
51
60
  return { isInsideText };
52
61
  },
53
62
  shouldSetTextContent: () => false,
54
- createInstance: (originalType, newProps, _root, hostContext) => {
63
+ createInstance(originalType, newProps, _root, hostContext) {
55
64
  if (hostContext.isInsideText && originalType === 'ink-box') {
56
65
  throw new Error(`<Box> can’t be nested inside <Text> component`);
57
66
  }
58
67
  const type = originalType === 'ink-text' && hostContext.isInsideText
59
68
  ? 'ink-virtual-text'
60
69
  : originalType;
61
- const node = dom_1.createNode(type);
70
+ const node = createNode(type);
62
71
  for (const [key, value] of Object.entries(newProps)) {
63
72
  if (key === 'children') {
64
73
  continue;
65
74
  }
66
- else if (key === 'style') {
67
- dom_1.setStyle(node, value);
75
+ if (key === 'style') {
76
+ setStyle(node, value);
77
+ continue;
68
78
  }
69
- else if (key === 'internal_transform') {
79
+ if (key === 'internal_transform') {
70
80
  node.internal_transform = value;
81
+ continue;
71
82
  }
72
- else if (key === 'internal_static') {
83
+ if (key === 'internal_static') {
73
84
  node.internal_static = true;
85
+ continue;
74
86
  }
75
- else {
76
- dom_1.setAttribute(node, key, value);
77
- }
87
+ setAttribute(node, key, value);
78
88
  }
79
89
  return node;
80
90
  },
81
- createTextInstance: (text, _root, hostContext) => {
91
+ createTextInstance(text, _root, hostContext) {
82
92
  if (!hostContext.isInsideText) {
83
93
  throw new Error(`Text string "${text}" must be rendered inside <Text> component`);
84
94
  }
85
- return dom_1.createTextNode(text);
95
+ return createTextNode(text);
86
96
  },
87
- resetTextContent: () => { },
88
- hideTextInstance: (node) => {
89
- dom_1.setTextNodeValue(node, '');
97
+ resetTextContent() { },
98
+ hideTextInstance(node) {
99
+ setTextNodeValue(node, '');
90
100
  },
91
- unhideTextInstance: (node, text) => {
92
- dom_1.setTextNodeValue(node, text);
101
+ unhideTextInstance(node, text) {
102
+ setTextNodeValue(node, text);
93
103
  },
94
104
  getPublicInstance: instance => instance,
95
- hideInstance: (node) => {
96
- var _a;
97
- (_a = node.yogaNode) === null || _a === void 0 ? void 0 : _a.setDisplay(yoga_layout_prebuilt_1.default.DISPLAY_NONE);
105
+ hideInstance(node) {
106
+ node.yogaNode?.setDisplay(Yoga.DISPLAY_NONE);
98
107
  },
99
- unhideInstance: (node) => {
100
- var _a;
101
- (_a = node.yogaNode) === null || _a === void 0 ? void 0 : _a.setDisplay(yoga_layout_prebuilt_1.default.DISPLAY_FLEX);
108
+ unhideInstance(node) {
109
+ node.yogaNode?.setDisplay(Yoga.DISPLAY_FLEX);
102
110
  },
103
- appendInitialChild: dom_1.appendChildNode,
104
- appendChild: dom_1.appendChildNode,
105
- insertBefore: dom_1.insertBeforeNode,
106
- finalizeInitialChildren: (node, _type, _props, rootNode) => {
111
+ appendInitialChild: appendChildNode,
112
+ appendChild: appendChildNode,
113
+ insertBefore: insertBeforeNode,
114
+ finalizeInitialChildren(node, _type, _props, rootNode) {
107
115
  if (node.internal_static) {
108
116
  rootNode.isStaticDirty = true;
109
117
  // Save reference to <Static> node to skip traversal of entire
@@ -112,14 +120,27 @@ exports.default = react_reconciler_1.default({
112
120
  }
113
121
  return false;
114
122
  },
123
+ isPrimaryRenderer: true,
115
124
  supportsMutation: true,
116
- appendChildToContainer: dom_1.appendChildNode,
117
- insertInContainerBefore: dom_1.insertBeforeNode,
118
- removeChildFromContainer: (node, removeNode) => {
119
- dom_1.removeChildNode(node, removeNode);
125
+ supportsPersistence: false,
126
+ supportsHydration: false,
127
+ scheduleTimeout: setTimeout,
128
+ cancelTimeout: clearTimeout,
129
+ noTimeout: -1,
130
+ getCurrentEventPriority: () => DefaultEventPriority,
131
+ beforeActiveInstanceBlur() { },
132
+ afterActiveInstanceBlur() { },
133
+ detachDeletedInstance() { },
134
+ getInstanceFromNode: () => null,
135
+ prepareScopeUpdate() { },
136
+ getInstanceFromScope: () => null,
137
+ appendChildToContainer: appendChildNode,
138
+ insertInContainerBefore: insertBeforeNode,
139
+ removeChildFromContainer(node, removeNode) {
140
+ removeChildNode(node, removeNode);
120
141
  cleanupYogaNode(removeNode.yogaNode);
121
142
  },
122
- prepareUpdate: (node, _type, oldProps, newProps, rootNode) => {
143
+ prepareUpdate(node, _type, oldProps, newProps, rootNode) {
123
144
  if (node.internal_static) {
124
145
  rootNode.isStaticDirty = true;
125
146
  }
@@ -128,32 +149,34 @@ exports.default = react_reconciler_1.default({
128
149
  for (const key of keys) {
129
150
  if (newProps[key] !== oldProps[key]) {
130
151
  const isStyle = key === 'style' &&
131
- typeof newProps.style === 'object' &&
132
- typeof oldProps.style === 'object';
152
+ typeof newProps['style'] === 'object' &&
153
+ typeof oldProps['style'] === 'object';
133
154
  if (isStyle) {
134
- const newStyle = newProps.style;
135
- const oldStyle = oldProps.style;
155
+ const newStyle = newProps['style'];
156
+ const oldStyle = oldProps['style'];
136
157
  const styleKeys = Object.keys(newStyle);
137
158
  for (const styleKey of styleKeys) {
138
159
  // Always include `borderColor` and `borderStyle` to ensure border is rendered,
139
160
  // otherwise resulting `updatePayload` may not contain them
140
161
  // if they weren't changed during this update
141
162
  if (styleKey === 'borderStyle' || styleKey === 'borderColor') {
142
- if (typeof updatePayload.style !== 'object') {
163
+ if (typeof updatePayload['style'] !== 'object') {
143
164
  // Linter didn't like `= {} as Style`
144
165
  const style = {};
145
- updatePayload.style = style;
166
+ updatePayload['style'] = style;
146
167
  }
147
- updatePayload.style.borderStyle = newStyle.borderStyle;
148
- updatePayload.style.borderColor = newStyle.borderColor;
168
+ updatePayload['style'].borderStyle =
169
+ newStyle.borderStyle;
170
+ updatePayload['style'].borderColor =
171
+ newStyle.borderColor;
149
172
  }
150
173
  if (newStyle[styleKey] !== oldStyle[styleKey]) {
151
- if (typeof updatePayload.style !== 'object') {
174
+ if (typeof updatePayload['style'] !== 'object') {
152
175
  // Linter didn't like `= {} as Style`
153
176
  const style = {};
154
- updatePayload.style = style;
177
+ updatePayload['style'] = style;
155
178
  }
156
- updatePayload.style[styleKey] = newStyle[styleKey];
179
+ updatePayload['style'][styleKey] = newStyle[styleKey];
157
180
  }
158
181
  }
159
182
  continue;
@@ -163,30 +186,31 @@ exports.default = react_reconciler_1.default({
163
186
  }
164
187
  return updatePayload;
165
188
  },
166
- commitUpdate: (node, updatePayload) => {
189
+ commitUpdate(node, updatePayload) {
167
190
  for (const [key, value] of Object.entries(updatePayload)) {
168
191
  if (key === 'children') {
169
192
  continue;
170
193
  }
171
- else if (key === 'style') {
172
- dom_1.setStyle(node, value);
194
+ if (key === 'style') {
195
+ setStyle(node, value);
196
+ continue;
173
197
  }
174
- else if (key === 'internal_transform') {
198
+ if (key === 'internal_transform') {
175
199
  node.internal_transform = value;
200
+ continue;
176
201
  }
177
- else if (key === 'internal_static') {
202
+ if (key === 'internal_static') {
178
203
  node.internal_static = true;
204
+ continue;
179
205
  }
180
- else {
181
- dom_1.setAttribute(node, key, value);
182
- }
206
+ setAttribute(node, key, value);
183
207
  }
184
208
  },
185
- commitTextUpdate: (node, _oldText, newText) => {
186
- dom_1.setTextNodeValue(node, newText);
209
+ commitTextUpdate(node, _oldText, newText) {
210
+ setTextNodeValue(node, newText);
187
211
  },
188
- removeChild: (node, removeNode) => {
189
- dom_1.removeChildNode(node, removeNode);
212
+ removeChild(node, removeNode) {
213
+ removeChildNode(node, removeNode);
190
214
  cleanupYogaNode(removeNode.yogaNode);
191
215
  }
192
216
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DOMNode } from './dom';
2
- import Output from './output';
3
- declare const _default: (x: number, y: number, node: DOMNode, output: Output) => void;
4
- export default _default;
1
+ import { type DOMNode } from './dom.js';
2
+ import type Output from './output.js';
3
+ declare const renderBorder: (x: number, y: number, node: DOMNode, output: Output) => void;
4
+ export default renderBorder;
@@ -1,23 +1,19 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const cli_boxes_1 = __importDefault(require("cli-boxes"));
7
- const colorize_1 = __importDefault(require("./colorize"));
8
- exports.default = (x, y, node, output) => {
1
+ import cliBoxes from 'cli-boxes';
2
+ import colorize from './colorize.js';
3
+ const renderBorder = (x, y, node, output) => {
9
4
  if (typeof node.style.borderStyle === 'string') {
10
5
  const width = node.yogaNode.getComputedWidth();
11
6
  const height = node.yogaNode.getComputedHeight();
12
7
  const color = node.style.borderColor;
13
- const box = cli_boxes_1.default[node.style.borderStyle];
14
- const topBorder = colorize_1.default(box.topLeft + box.horizontal.repeat(width - 2) + box.topRight, color, 'foreground');
15
- const verticalBorder = (colorize_1.default(box.vertical, color, 'foreground') + '\n').repeat(height - 2);
16
- const bottomBorder = colorize_1.default(box.bottomLeft + box.horizontal.repeat(width - 2) + box.bottomRight, color, 'foreground');
8
+ const box = cliBoxes[node.style.borderStyle];
9
+ const topBorder = colorize(box.topLeft + box.top.repeat(width - 2) + box.topRight, color, 'foreground');
10
+ const verticalBorder = (colorize(box.left, color, 'foreground') + '\n').repeat(height - 2);
11
+ const bottomBorder = colorize(box.bottomLeft + box.bottom.repeat(width - 2) + box.bottomRight, color, 'foreground');
17
12
  output.write(x, y, topBorder, { transformers: [] });
18
13
  output.write(x, y + 1, verticalBorder, { transformers: [] });
19
14
  output.write(x + width - 1, y + 1, verticalBorder, { transformers: [] });
20
15
  output.write(x, y + height - 1, bottomBorder, { transformers: [] });
21
16
  }
22
17
  };
18
+ export default renderBorder;
23
19
  //# sourceMappingURL=render-border.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-border.js","sourceRoot":"","sources":["../src/render-border.ts"],"names":[],"mappings":";;;;;AAAA,0DAAiC;AACjC,0DAAkC;AAIlC,kBAAe,CAAC,CAAS,EAAE,CAAS,EAAE,IAAa,EAAE,MAAc,EAAQ,EAAE;IAC5E,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAS,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,GAAG,GAAG,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,kBAAQ,CACzB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAC7D,KAAK,EACL,YAAY,CACZ,CAAC;QAEF,MAAM,cAAc,GAAG,CACtB,kBAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,CAClD,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErB,MAAM,YAAY,GAAG,kBAAQ,CAC5B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,EACnE,KAAK,EACL,YAAY,CACZ,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;KAClE;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"render-border.js","sourceRoot":"","sources":["../src/render-border.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,QAAQ,MAAM,eAAe,CAAC;AAIrC,MAAM,YAAY,GAAG,CACpB,CAAS,EACT,CAAS,EACT,IAAa,EACb,MAAc,EACP,EAAE;IACT,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAS,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,QAAQ,CACzB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EACtD,KAAK,EACL,YAAY,CACZ,CAAC;QAEF,MAAM,cAAc,GAAG,CACtB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,IAAI,CAC9C,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErB,MAAM,YAAY,GAAG,QAAQ,CAC5B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,EAC/D,KAAK,EACL,YAAY,CACZ,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,EAAC,YAAY,EAAE,EAAE,EAAC,CAAC,CAAC;KAClE;AACF,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
- import { DOMElement } from './dom';
2
- import Output from './output';
3
- export declare type OutputTransformer = (s: string) => string;
1
+ import { type DOMElement } from './dom.js';
2
+ import type Output from './output.js';
3
+ export type OutputTransformer = (s: string) => string;
4
4
  declare const renderNodeToOutput: (node: DOMElement, output: Output, options: {
5
5
  offsetX?: number;
6
6
  offsetY?: number;
@@ -1,15 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const yoga_layout_prebuilt_1 = __importDefault(require("yoga-layout-prebuilt"));
7
- const widest_line_1 = __importDefault(require("widest-line"));
8
- const indent_string_1 = __importDefault(require("indent-string"));
9
- const wrap_text_1 = __importDefault(require("./wrap-text"));
10
- const get_max_width_1 = __importDefault(require("./get-max-width"));
11
- const squash_text_nodes_1 = __importDefault(require("./squash-text-nodes"));
12
- const render_border_1 = __importDefault(require("./render-border"));
1
+ import Yoga from 'yoga-layout-prebuilt';
2
+ import widestLine from 'widest-line';
3
+ import indentString from 'indent-string';
4
+ import wrapText from './wrap-text.js';
5
+ import getMaxWidth from './get-max-width.js';
6
+ import squashTextNodes from './squash-text-nodes.js';
7
+ import renderBorder from './render-border.js';
13
8
  // If parent container is `<Box>`, text nodes will be treated as separate nodes in
14
9
  // the tree and will have their own coordinates in the layout.
15
10
  // To ensure text nodes are aligned correctly, take X and Y of the first text node
@@ -17,25 +12,23 @@ const render_border_1 = __importDefault(require("./render-border"));
17
12
  // Only first node is taken into account, because other text nodes can't have margin or padding,
18
13
  // so their coordinates will be relative to the first node anyway
19
14
  const applyPaddingToText = (node, text) => {
20
- var _a;
21
- const yogaNode = (_a = node.childNodes[0]) === null || _a === void 0 ? void 0 : _a.yogaNode;
15
+ const yogaNode = node.childNodes[0]?.yogaNode;
22
16
  if (yogaNode) {
23
17
  const offsetX = yogaNode.getComputedLeft();
24
18
  const offsetY = yogaNode.getComputedTop();
25
- text = '\n'.repeat(offsetY) + indent_string_1.default(text, offsetX);
19
+ text = '\n'.repeat(offsetY) + indentString(text, offsetX);
26
20
  }
27
21
  return text;
28
22
  };
29
23
  // After nodes are laid out, render each to output object, which later gets rendered to terminal
30
24
  const renderNodeToOutput = (node, output, options) => {
31
- var _a;
32
25
  const { offsetX = 0, offsetY = 0, transformers = [], skipStaticElements } = options;
33
26
  if (skipStaticElements && node.internal_static) {
34
27
  return;
35
28
  }
36
29
  const { yogaNode } = node;
37
30
  if (yogaNode) {
38
- if (yogaNode.getDisplay() === yoga_layout_prebuilt_1.default.DISPLAY_NONE) {
31
+ if (yogaNode.getDisplay() === Yoga.DISPLAY_NONE) {
39
32
  return;
40
33
  }
41
34
  // Left and top positions in Yoga are relative to their parent node
@@ -48,13 +41,13 @@ const renderNodeToOutput = (node, output, options) => {
48
41
  newTransformers = [node.internal_transform, ...transformers];
49
42
  }
50
43
  if (node.nodeName === 'ink-text') {
51
- let text = squash_text_nodes_1.default(node);
44
+ let text = squashTextNodes(node);
52
45
  if (text.length > 0) {
53
- const currentWidth = widest_line_1.default(text);
54
- const maxWidth = get_max_width_1.default(yogaNode);
46
+ const currentWidth = widestLine(text);
47
+ const maxWidth = getMaxWidth(yogaNode);
55
48
  if (currentWidth > maxWidth) {
56
- const textWrap = (_a = node.style.textWrap) !== null && _a !== void 0 ? _a : 'wrap';
57
- text = wrap_text_1.default(text, maxWidth, textWrap);
49
+ const textWrap = node.style.textWrap ?? 'wrap';
50
+ text = wrapText(text, maxWidth, textWrap);
58
51
  }
59
52
  text = applyPaddingToText(node, text);
60
53
  output.write(x, y, text, { transformers: newTransformers });
@@ -62,7 +55,7 @@ const renderNodeToOutput = (node, output, options) => {
62
55
  return;
63
56
  }
64
57
  if (node.nodeName === 'ink-box') {
65
- render_border_1.default(x, y, node, output);
58
+ renderBorder(x, y, node, output);
66
59
  }
67
60
  if (node.nodeName === 'ink-root' || node.nodeName === 'ink-box') {
68
61
  for (const childNode of node.childNodes) {
@@ -76,5 +69,5 @@ const renderNodeToOutput = (node, output, options) => {
76
69
  }
77
70
  }
78
71
  };
79
- exports.default = renderNodeToOutput;
72
+ export default renderNodeToOutput;
80
73
  //# sourceMappingURL=render-node-to-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"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"}
package/build/render.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- /// <reference types="node" />
2
- import { ReactElement } from 'react';
3
- import Ink from './ink';
4
- export interface RenderOptions {
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { type ReactElement } from 'react';
3
+ import Ink from './ink.js';
4
+ export type RenderOptions = {
5
5
  /**
6
6
  * Output stream where app will be rendered.
7
7
  *
@@ -37,8 +37,8 @@ export interface RenderOptions {
37
37
  * @default true
38
38
  */
39
39
  patchConsole?: boolean;
40
- }
41
- export interface Instance {
40
+ };
41
+ export type Instance = {
42
42
  /**
43
43
  * Replace previous root node with a new one or update props of the current root node.
44
44
  */
@@ -56,8 +56,8 @@ export interface Instance {
56
56
  * Clear output.
57
57
  */
58
58
  clear: () => void;
59
- }
60
- declare type RenderFunction = <Props, K extends NodeJS.WriteStream | RenderOptions>(tree: ReactElement<Props>, options?: K) => Instance;
59
+ };
60
+ type RenderFunction = <Props, K extends NodeJS.WriteStream | RenderOptions>(tree: ReactElement<Props>, options?: K) => Instance;
61
61
  /**
62
62
  * Mount a component and render the output.
63
63
  */