ink 3.2.0 → 4.1.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 +77 -5
  11. package/build/components/Box.js +20 -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 +17 -20
  49. package/build/dom.js +35 -47
  50. package/build/dom.js.map +1 -1
  51. package/build/get-max-width.d.ts +3 -3
  52. package/build/get-max-width.js +8 -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 +6 -4
  79. package/build/ink.js +188 -99
  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 +12 -4
  94. package/build/output.js +108 -31
  95. package/build/output.js.map +1 -1
  96. package/build/reconciler.d.ts +1 -1
  97. package/build/reconciler.js +104 -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 +44 -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 +9 -17
  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 +30 -9
  115. package/build/styles.js +60 -46
  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 +202 -57
@@ -1,3 +1,3 @@
1
- declare type ColorType = 'foreground' | 'background';
2
- declare const _default: (str: string, color: string | undefined, type: ColorType) => string;
3
- export default _default;
1
+ type ColorType = 'foreground' | 'background';
2
+ declare const colorize: (str: string, color: string | undefined, type: ColorType) => string;
3
+ export default colorize;
package/build/colorize.js CHANGED
@@ -1,53 +1,48 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ import chalk from 'chalk';
2
+ const rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
3
+ const ansiRegex = /^ansi256\(\s?(\d+)\s?\)$/;
4
+ const isNamedColor = (color) => {
5
+ return color in chalk;
4
6
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const RGB_LIKE_REGEX = /^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
8
- const ANSI_REGEX = /^(ansi|ansi256)\(\s?(\d+)\s?\)$/;
9
- const getMethod = (name, type) => {
10
- if (type === 'foreground') {
11
- return name;
12
- }
13
- return 'bg' + name[0].toUpperCase() + name.slice(1);
14
- };
15
- exports.default = (str, color, type) => {
7
+ const colorize = (str, color, type) => {
16
8
  if (!color) {
17
9
  return str;
18
10
  }
19
- if (color in chalk_1.default) {
20
- const method = getMethod(color, type);
21
- return chalk_1.default[method](str);
11
+ if (isNamedColor(color)) {
12
+ if (type === 'foreground') {
13
+ return chalk[color](str);
14
+ }
15
+ const methodName = `bg${color[0].toUpperCase() + color.slice(1)}`;
16
+ return chalk[methodName](str);
22
17
  }
23
18
  if (color.startsWith('#')) {
24
- const method = getMethod('hex', type);
25
- return chalk_1.default[method](color)(str);
19
+ return type === 'foreground'
20
+ ? chalk.hex(color)(str)
21
+ : chalk.bgHex(color)(str);
26
22
  }
27
- if (color.startsWith('ansi')) {
28
- const matches = ANSI_REGEX.exec(color);
23
+ if (color.startsWith('ansi256')) {
24
+ const matches = ansiRegex.exec(color);
29
25
  if (!matches) {
30
26
  return str;
31
27
  }
32
- const method = getMethod(matches[1], type);
33
- const value = Number(matches[2]);
34
- return chalk_1.default[method](value)(str);
28
+ const value = Number(matches[1]);
29
+ return type === 'foreground'
30
+ ? chalk.ansi256(value)(str)
31
+ : chalk.bgAnsi256(value)(str);
35
32
  }
36
- const isRgbLike = color.startsWith('rgb') ||
37
- color.startsWith('hsl') ||
38
- color.startsWith('hsv') ||
39
- color.startsWith('hwb');
40
- if (isRgbLike) {
41
- const matches = RGB_LIKE_REGEX.exec(color);
33
+ if (color.startsWith('rgb')) {
34
+ const matches = rgbRegex.exec(color);
42
35
  if (!matches) {
43
36
  return str;
44
37
  }
45
- const method = getMethod(matches[1], type);
46
- const firstValue = Number(matches[2]);
47
- const secondValue = Number(matches[3]);
48
- const thirdValue = Number(matches[4]);
49
- return chalk_1.default[method](firstValue, secondValue, thirdValue)(str);
38
+ const firstValue = Number(matches[1]);
39
+ const secondValue = Number(matches[2]);
40
+ const thirdValue = Number(matches[3]);
41
+ return type === 'foreground'
42
+ ? chalk.rgb(firstValue, secondValue, thirdValue)(str)
43
+ : chalk.bgRgb(firstValue, secondValue, thirdValue)(str);
50
44
  }
51
45
  return str;
52
46
  };
47
+ export default colorize;
53
48
  //# sourceMappingURL=colorize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colorize.js","sourceRoot":"","sources":["../src/colorize.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAI1B,MAAM,cAAc,GAAG,sDAAsD,CAAC;AAC9E,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAe,EAAU,EAAE;IAC3D,IAAI,IAAI,KAAK,YAAY,EAAE;QAC1B,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,kBAAe,CACd,GAAW,EACX,KAAyB,EACzB,IAAe,EACN,EAAE;IACX,IAAI,CAAC,KAAK,EAAE;QACX,OAAO,GAAG,CAAC;KACX;IAED,IAAI,KAAK,IAAI,eAAK,EAAE;QACnB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,OAAQ,eAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;KACnC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,OAAQ,eAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KAC1C;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE;YACb,OAAO,GAAG,CAAC;SACX;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjC,OAAQ,eAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KAC1C;IAED,MAAM,SAAS,GACd,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,SAAS,EAAE;QACd,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE;YACb,OAAO,GAAG,CAAC;SACX;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,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,OAAQ,eAAa,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;KACxE;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,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;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,6 +1,6 @@
1
- /// <reference types="node" />
2
- import { PureComponent, ReactNode } from 'react';
3
- interface Props {
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { PureComponent, type ReactNode } from 'react';
3
+ type Props = {
4
4
  readonly children: ReactNode;
5
5
  readonly stdin: NodeJS.ReadStream;
6
6
  readonly stdout: NodeJS.WriteStream;
@@ -9,19 +9,22 @@ interface Props {
9
9
  readonly writeToStderr: (data: string) => void;
10
10
  readonly exitOnCtrlC: boolean;
11
11
  readonly onExit: (error?: Error) => void;
12
- }
13
- interface State {
12
+ };
13
+ type State = {
14
14
  readonly isFocusEnabled: boolean;
15
15
  readonly activeFocusId?: string;
16
16
  readonly focusables: Focusable[];
17
17
  readonly error?: Error;
18
- }
19
- interface Focusable {
18
+ };
19
+ type Focusable = {
20
20
  readonly id: string;
21
21
  readonly isActive: boolean;
22
- }
22
+ };
23
23
  export default class App extends PureComponent<Props, State> {
24
24
  static displayName: string;
25
+ static getDerivedStateFromError(error: Error): {
26
+ error: Error;
27
+ };
25
28
  state: {
26
29
  isFocusEnabled: boolean;
27
30
  activeFocusId: undefined;
@@ -29,9 +32,6 @@ export default class App extends PureComponent<Props, State> {
29
32
  error: undefined;
30
33
  };
31
34
  rawModeEnabledCount: number;
32
- static getDerivedStateFromError(error: Error): {
33
- error: Error;
34
- };
35
35
  isRawModeSupported(): boolean;
36
36
  render(): JSX.Element;
37
37
  componentDidMount(): void;
@@ -39,7 +39,7 @@ export default class App extends PureComponent<Props, State> {
39
39
  componentDidCatch(error: Error): void;
40
40
  handleSetRawMode: (isEnabled: boolean) => void;
41
41
  handleInput: (input: string) => void;
42
- handleExit: (error?: Error | undefined) => void;
42
+ handleExit: (error?: Error) => void;
43
43
  enableFocus: () => void;
44
44
  disableFocus: () => void;
45
45
  focus: (id: string) => void;