ink 4.1.0 → 4.3.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.
- package/build/components/App.d.ts +2 -2
- package/build/components/App.js.map +1 -1
- package/build/components/Box.d.ts +2 -148
- package/build/components/Box.js +5 -17
- package/build/components/Box.js.map +1 -1
- package/build/components/ErrorOverview.d.ts +2 -2
- package/build/components/Newline.d.ts +2 -2
- package/build/components/Spacer.d.ts +2 -2
- package/build/components/Static.d.ts +2 -2
- package/build/components/Text.d.ts +2 -2
- package/build/components/Transform.d.ts +2 -2
- package/build/devtools.js +1 -0
- package/build/devtools.js.map +1 -1
- package/build/dom.js +0 -4
- package/build/dom.js.map +1 -1
- package/build/hooks/use-input.js +34 -34
- package/build/hooks/use-input.js.map +1 -1
- package/build/output.js +35 -7
- package/build/output.js.map +1 -1
- package/build/parse-keypress.d.ts +14 -0
- package/build/parse-keypress.js +225 -0
- package/build/parse-keypress.js.map +1 -0
- package/build/reconciler.js +53 -60
- package/build/reconciler.js.map +1 -1
- package/build/render-border.js +64 -10
- package/build/render-border.js.map +1 -1
- package/build/render-node-to-output.js +2 -2
- package/build/render-node-to-output.js.map +1 -1
- package/build/render.d.ts +2 -3
- package/build/render.js.map +1 -1
- package/build/styles.d.ts +118 -5
- package/build/styles.js +34 -5
- package/build/styles.js.map +1 -1
- package/package.json +12 -3
- package/readme.md +191 -21
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { PureComponent, type ReactNode } from 'react';
|
|
2
|
+
import React, { PureComponent, type ReactNode } from 'react';
|
|
3
3
|
type Props = {
|
|
4
4
|
readonly children: ReactNode;
|
|
5
5
|
readonly stdin: NodeJS.ReadStream;
|
|
@@ -33,7 +33,7 @@ export default class App extends PureComponent<Props, State> {
|
|
|
33
33
|
};
|
|
34
34
|
rawModeEnabledCount: number;
|
|
35
35
|
isRawModeSupported(): boolean;
|
|
36
|
-
render(): JSX.Element;
|
|
36
|
+
render(): React.JSX.Element;
|
|
37
37
|
componentDidMount(): void;
|
|
38
38
|
componentWillUnmount(): void;
|
|
39
39
|
componentDidCatch(error: Error): void;
|
|
@@ -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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"}
|
|
@@ -2,157 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { type Except } from 'type-fest';
|
|
3
3
|
import { type Styles } from '../styles.js';
|
|
4
4
|
import { type DOMElement } from '../dom.js';
|
|
5
|
-
export type Props = Except<Styles, 'textWrap'
|
|
6
|
-
/**
|
|
7
|
-
* Size of the gap between an element's columns.
|
|
8
|
-
*
|
|
9
|
-
* @default 0
|
|
10
|
-
*/
|
|
11
|
-
readonly columnGap?: number;
|
|
12
|
-
/**
|
|
13
|
-
* Size of the gap between element's rows.
|
|
14
|
-
*
|
|
15
|
-
* @default 0
|
|
16
|
-
*/
|
|
17
|
-
readonly rowGap?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Size of the gap between an element's columns and rows. Shorthand for `columnGap` and `rowGap`.
|
|
20
|
-
*
|
|
21
|
-
* @default 0
|
|
22
|
-
*/
|
|
23
|
-
readonly gap?: number;
|
|
24
|
-
/**
|
|
25
|
-
* Margin on all sides. Equivalent to setting `marginTop`, `marginBottom`, `marginLeft` and `marginRight`.
|
|
26
|
-
*
|
|
27
|
-
* @default 0
|
|
28
|
-
*/
|
|
29
|
-
readonly margin?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Horizontal margin. Equivalent to setting `marginLeft` and `marginRight`.
|
|
32
|
-
*
|
|
33
|
-
* @default 0
|
|
34
|
-
*/
|
|
35
|
-
readonly marginX?: number;
|
|
36
|
-
/**
|
|
37
|
-
* Vertical margin. Equivalent to setting `marginTop` and `marginBottom`.
|
|
38
|
-
*
|
|
39
|
-
* @default 0
|
|
40
|
-
*/
|
|
41
|
-
readonly marginY?: number;
|
|
42
|
-
/**
|
|
43
|
-
* Padding on all sides. Equivalent to setting `paddingTop`, `paddingBottom`, `paddingLeft` and `paddingRight`.
|
|
44
|
-
*
|
|
45
|
-
* @default 0
|
|
46
|
-
*/
|
|
47
|
-
readonly padding?: number;
|
|
48
|
-
/**
|
|
49
|
-
* Horizontal padding. Equivalent to setting `paddingLeft` and `paddingRight`.
|
|
50
|
-
*
|
|
51
|
-
* @default 0
|
|
52
|
-
*/
|
|
53
|
-
readonly paddingX?: number;
|
|
54
|
-
/**
|
|
55
|
-
* Vertical padding. Equivalent to setting `paddingTop` and `paddingBottom`.
|
|
56
|
-
*
|
|
57
|
-
* @default 0
|
|
58
|
-
*/
|
|
59
|
-
readonly paddingY?: number;
|
|
60
|
-
/**
|
|
61
|
-
* Behavior for an element's overflow in both directions.
|
|
62
|
-
*
|
|
63
|
-
* @default 'visible'
|
|
64
|
-
*/
|
|
65
|
-
readonly overflow?: 'visible' | 'hidden';
|
|
66
|
-
/**
|
|
67
|
-
* Behavior for an element's overflow in horizontal direction.
|
|
68
|
-
*
|
|
69
|
-
* @default 'visible'
|
|
70
|
-
*/
|
|
71
|
-
readonly overflowX?: 'visible' | 'hidden';
|
|
72
|
-
/**
|
|
73
|
-
* Behavior for an element's overflow in vertical direction.
|
|
74
|
-
*
|
|
75
|
-
* @default 'visible'
|
|
76
|
-
*/
|
|
77
|
-
readonly overflowY?: 'visible' | 'hidden';
|
|
78
|
-
};
|
|
5
|
+
export type Props = Except<Styles, 'textWrap'>;
|
|
79
6
|
/**
|
|
80
7
|
* `<Box>` is an essential Ink component to build your layout. It's like `<div style="display: flex">` in the browser.
|
|
81
8
|
*/
|
|
82
|
-
declare const Box: React.ForwardRefExoticComponent<
|
|
83
|
-
/**
|
|
84
|
-
* Size of the gap between an element's columns.
|
|
85
|
-
*
|
|
86
|
-
* @default 0
|
|
87
|
-
*/
|
|
88
|
-
readonly columnGap?: number | undefined;
|
|
89
|
-
/**
|
|
90
|
-
* Size of the gap between element's rows.
|
|
91
|
-
*
|
|
92
|
-
* @default 0
|
|
93
|
-
*/
|
|
94
|
-
readonly rowGap?: number | undefined;
|
|
95
|
-
/**
|
|
96
|
-
* Size of the gap between an element's columns and rows. Shorthand for `columnGap` and `rowGap`.
|
|
97
|
-
*
|
|
98
|
-
* @default 0
|
|
99
|
-
*/
|
|
100
|
-
readonly gap?: number | undefined;
|
|
101
|
-
/**
|
|
102
|
-
* Margin on all sides. Equivalent to setting `marginTop`, `marginBottom`, `marginLeft` and `marginRight`.
|
|
103
|
-
*
|
|
104
|
-
* @default 0
|
|
105
|
-
*/
|
|
106
|
-
readonly margin?: number | undefined;
|
|
107
|
-
/**
|
|
108
|
-
* Horizontal margin. Equivalent to setting `marginLeft` and `marginRight`.
|
|
109
|
-
*
|
|
110
|
-
* @default 0
|
|
111
|
-
*/
|
|
112
|
-
readonly marginX?: number | undefined;
|
|
113
|
-
/**
|
|
114
|
-
* Vertical margin. Equivalent to setting `marginTop` and `marginBottom`.
|
|
115
|
-
*
|
|
116
|
-
* @default 0
|
|
117
|
-
*/
|
|
118
|
-
readonly marginY?: number | undefined;
|
|
119
|
-
/**
|
|
120
|
-
* Padding on all sides. Equivalent to setting `paddingTop`, `paddingBottom`, `paddingLeft` and `paddingRight`.
|
|
121
|
-
*
|
|
122
|
-
* @default 0
|
|
123
|
-
*/
|
|
124
|
-
readonly padding?: number | undefined;
|
|
125
|
-
/**
|
|
126
|
-
* Horizontal padding. Equivalent to setting `paddingLeft` and `paddingRight`.
|
|
127
|
-
*
|
|
128
|
-
* @default 0
|
|
129
|
-
*/
|
|
130
|
-
readonly paddingX?: number | undefined;
|
|
131
|
-
/**
|
|
132
|
-
* Vertical padding. Equivalent to setting `paddingTop` and `paddingBottom`.
|
|
133
|
-
*
|
|
134
|
-
* @default 0
|
|
135
|
-
*/
|
|
136
|
-
readonly paddingY?: number | undefined;
|
|
137
|
-
/**
|
|
138
|
-
* Behavior for an element's overflow in both directions.
|
|
139
|
-
*
|
|
140
|
-
* @default 'visible'
|
|
141
|
-
*/
|
|
142
|
-
readonly overflow?: "visible" | "hidden" | undefined;
|
|
143
|
-
/**
|
|
144
|
-
* Behavior for an element's overflow in horizontal direction.
|
|
145
|
-
*
|
|
146
|
-
* @default 'visible'
|
|
147
|
-
*/
|
|
148
|
-
readonly overflowX?: "visible" | "hidden" | undefined;
|
|
149
|
-
/**
|
|
150
|
-
* Behavior for an element's overflow in vertical direction.
|
|
151
|
-
*
|
|
152
|
-
* @default 'visible'
|
|
153
|
-
*/
|
|
154
|
-
readonly overflowY?: "visible" | "hidden" | undefined;
|
|
155
|
-
} & {
|
|
9
|
+
declare const Box: React.ForwardRefExoticComponent<Props & {
|
|
156
10
|
children?: React.ReactNode;
|
|
157
11
|
} & React.RefAttributes<DOMElement>>;
|
|
158
12
|
export default Box;
|
package/build/components/Box.js
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
|
|
2
1
|
import React, { forwardRef } from 'react';
|
|
3
2
|
/**
|
|
4
3
|
* `<Box>` is an essential Ink component to build your layout. It's like `<div style="display: flex">` in the browser.
|
|
5
4
|
*/
|
|
6
5
|
const Box = forwardRef(({ children, ...style }, ref) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
marginRight: style.marginRight || style.marginX || style.margin || 0,
|
|
13
|
-
marginTop: style.marginTop || style.marginY || style.margin || 0,
|
|
14
|
-
marginBottom: style.marginBottom || style.marginY || style.margin || 0,
|
|
15
|
-
paddingLeft: style.paddingLeft || style.paddingX || style.padding || 0,
|
|
16
|
-
paddingRight: style.paddingRight || style.paddingX || style.padding || 0,
|
|
17
|
-
paddingTop: style.paddingTop || style.paddingY || style.padding || 0,
|
|
18
|
-
paddingBottom: style.paddingBottom || style.paddingY || style.padding || 0,
|
|
19
|
-
overflowX: style.overflowX || style.overflow || 'visible',
|
|
20
|
-
overflowY: style.overflowY || style.overflow || 'visible'
|
|
21
|
-
};
|
|
22
|
-
return (React.createElement("ink-box", { ref: ref, style: transformedStyle }, children));
|
|
6
|
+
return (React.createElement("ink-box", { ref: ref, style: {
|
|
7
|
+
...style,
|
|
8
|
+
overflowX: style.overflowX ?? style.overflow ?? 'visible',
|
|
9
|
+
overflowY: style.overflowY ?? style.overflow ?? 'visible'
|
|
10
|
+
} }, children));
|
|
23
11
|
});
|
|
24
12
|
Box.displayName = 'Box';
|
|
25
13
|
Box.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAyB,MAAM,OAAO,CAAC;AAOhE;;GAEG;AACH,MAAM,GAAG,GAAG,UAAU,CACrB,CAAC,EAAC,QAAQ,EAAE,GAAG,KAAK,EAAC,EAAE,GAAG,EAAE,EAAE;IAC7B,OAAO,CACN,iCACC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACN,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS;YACzD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS;SACzD,IAEA,QAAQ,CACA,CACV,CAAC;AACH,CAAC,CACD,CAAC;AAEF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;AAExB,GAAG,CAAC,YAAY,GAAG;IAClB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;CACb,CAAC;AAEF,eAAe,GAAG,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
type Props = {
|
|
3
3
|
readonly error: Error;
|
|
4
4
|
};
|
|
5
|
-
export default function ErrorOverview({ error }: Props): JSX.Element;
|
|
5
|
+
export default function ErrorOverview({ error }: Props): React.JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export type Props = {
|
|
3
3
|
/**
|
|
4
4
|
* Number of newlines to insert.
|
|
@@ -10,4 +10,4 @@ export type Props = {
|
|
|
10
10
|
/**
|
|
11
11
|
* Adds one or more newline (\n) characters. Must be used within <Text> components.
|
|
12
12
|
*/
|
|
13
|
-
export default function Newline({ count }: Props): JSX.Element;
|
|
13
|
+
export default function Newline({ count }: Props): React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
/**
|
|
3
3
|
* A flexible space that expands along the major axis of its containing layout.
|
|
4
4
|
* It's useful as a shortcut for filling all the available spaces between elements.
|
|
5
5
|
*/
|
|
6
|
-
export default function Spacer(): JSX.Element;
|
|
6
|
+
export default function Spacer(): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
import { type Styles } from '../styles.js';
|
|
3
3
|
export type Props<T> = {
|
|
4
4
|
/**
|
|
@@ -28,4 +28,4 @@ export type Props<T> = {
|
|
|
28
28
|
* a list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it
|
|
29
29
|
* to display a list of generated pages, while still displaying a live progress bar.
|
|
30
30
|
*/
|
|
31
|
-
export default function Static<T>(props: Props<T>): JSX.Element;
|
|
31
|
+
export default function Static<T>(props: Props<T>): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
import { type ForegroundColorName } from 'chalk';
|
|
3
3
|
import { type LiteralUnion } from 'type-fest';
|
|
4
4
|
import { type Styles } from '../styles.js';
|
|
@@ -46,4 +46,4 @@ export type Props = {
|
|
|
46
46
|
/**
|
|
47
47
|
* This component can display text, and change its style to make it colorful, bold, underline, italic or strikethrough.
|
|
48
48
|
*/
|
|
49
|
-
export default function Text({ color, backgroundColor, dimColor, bold, italic, underline, strikethrough, inverse, wrap, children }: Props): JSX.Element | null;
|
|
49
|
+
export default function Text({ color, backgroundColor, dimColor, bold, italic, underline, strikethrough, inverse, wrap, children }: Props): React.JSX.Element | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
export type Props = {
|
|
3
3
|
/**
|
|
4
4
|
* Function which transforms children output. It accepts children and must return transformed children too.
|
|
@@ -12,4 +12,4 @@ export type Props = {
|
|
|
12
12
|
* These use cases can't accept React nodes as input, they are expecting a string.
|
|
13
13
|
* That's what <Transform> component does, it gives you an output string of its child components and lets you transform it in any way.
|
|
14
14
|
*/
|
|
15
|
-
export default function Transform({ children, transform }: Props): JSX.Element | null;
|
|
15
|
+
export default function Transform({ children, transform }: Props): React.JSX.Element | null;
|
package/build/devtools.js
CHANGED
package/build/devtools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,+BAA+B,CAAC;AAEvC,6DAA6D;AAC7D,mBAAmB;AACnB,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,6DAA6D;AAC5D,QAAgB,CAAC,iBAAiB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,uDAAuD;AACvD,OAAO,+BAA+B,CAAC;AAEvC,6DAA6D;AAC7D,mBAAmB;AACnB,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,6DAA6D;AAC5D,QAAgB,CAAC,iBAAiB,EAAE,CAAC"}
|
package/build/dom.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line n/file-extension-in-import
|
|
2
2
|
import Yoga from 'yoga-wasm-web/auto';
|
|
3
3
|
import measureText from './measure-text.js';
|
|
4
|
-
import applyStyles from './styles.js';
|
|
5
4
|
import wrapText from './wrap-text.js';
|
|
6
5
|
import squashTextNodes from './squash-text-nodes.js';
|
|
7
6
|
export const createNode = (nodeName) => {
|
|
@@ -70,9 +69,6 @@ export const setAttribute = (node, key, value) => {
|
|
|
70
69
|
};
|
|
71
70
|
export const setStyle = (node, style) => {
|
|
72
71
|
node.style = style;
|
|
73
|
-
if (node.yogaNode) {
|
|
74
|
-
applyStyles(node.yogaNode, style);
|
|
75
|
-
}
|
|
76
72
|
};
|
|
77
73
|
export const createTextNode = (text) => {
|
|
78
74
|
const node = {
|
package/build/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,IAA6B,MAAM,oBAAoB,CAAC;AAC/D,OAAO,WAAW,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
|
package/build/hooks/use-input.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
+
import { isUpperCase } from 'is-upper-case';
|
|
3
|
+
import parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';
|
|
4
|
+
import reconciler from '../reconciler.js';
|
|
2
5
|
import useStdin from './use-stdin.js';
|
|
3
6
|
/**
|
|
4
7
|
* This hook is used for handling user input.
|
|
@@ -41,50 +44,47 @@ const useInput = (inputHandler, options = {}) => {
|
|
|
41
44
|
return;
|
|
42
45
|
}
|
|
43
46
|
const handleData = (data) => {
|
|
44
|
-
|
|
47
|
+
const keypress = parseKeypress(data);
|
|
45
48
|
const key = {
|
|
46
|
-
upArrow:
|
|
47
|
-
downArrow:
|
|
48
|
-
leftArrow:
|
|
49
|
-
rightArrow:
|
|
50
|
-
pageDown:
|
|
51
|
-
pageUp:
|
|
52
|
-
return:
|
|
53
|
-
escape:
|
|
54
|
-
ctrl:
|
|
55
|
-
shift:
|
|
56
|
-
tab:
|
|
57
|
-
backspace:
|
|
58
|
-
delete:
|
|
59
|
-
meta
|
|
49
|
+
upArrow: keypress.name === 'up',
|
|
50
|
+
downArrow: keypress.name === 'down',
|
|
51
|
+
leftArrow: keypress.name === 'left',
|
|
52
|
+
rightArrow: keypress.name === 'right',
|
|
53
|
+
pageDown: keypress.name === 'pagedown',
|
|
54
|
+
pageUp: keypress.name === 'pageup',
|
|
55
|
+
return: keypress.name === 'return',
|
|
56
|
+
escape: keypress.name === 'escape',
|
|
57
|
+
ctrl: keypress.ctrl,
|
|
58
|
+
shift: keypress.shift,
|
|
59
|
+
tab: keypress.name === 'tab',
|
|
60
|
+
backspace: keypress.name === 'backspace',
|
|
61
|
+
delete: keypress.name === 'delete',
|
|
62
|
+
// `parseKeypress` parses \u001B\u001B[A (meta + up arrow) as meta = false
|
|
63
|
+
// but with option = true, so we need to take this into account here
|
|
64
|
+
// to avoid breaking changes in Ink.
|
|
65
|
+
// TODO(vadimdemedes): consider removing this in the next major version.
|
|
66
|
+
meta: keypress.meta || keypress.name === 'escape' || keypress.option
|
|
60
67
|
};
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
input = String.fromCharCode(
|
|
65
|
-
// eslint-disable-next-line unicorn/prefer-code-point
|
|
66
|
-
input.charCodeAt(0) + 'a'.charCodeAt(0) - 1);
|
|
67
|
-
key.ctrl = true;
|
|
68
|
+
let input = keypress.ctrl ? keypress.name : keypress.sequence;
|
|
69
|
+
if (nonAlphanumericKeys.includes(keypress.name)) {
|
|
70
|
+
input = '';
|
|
68
71
|
}
|
|
72
|
+
// Strip meta if it's still remaining after `parseKeypress`
|
|
73
|
+
// TODO(vadimdemedes): remove this in the next major version.
|
|
69
74
|
if (input.startsWith('\u001B')) {
|
|
70
75
|
input = input.slice(1);
|
|
71
|
-
key.meta = true;
|
|
72
|
-
}
|
|
73
|
-
const isLatinUppercase = input >= 'A' && input <= 'Z';
|
|
74
|
-
const isCyrillicUppercase = input >= 'А' && input <= 'Я';
|
|
75
|
-
if (input.length === 1 && (isLatinUppercase || isCyrillicUppercase)) {
|
|
76
|
-
key.shift = true;
|
|
77
76
|
}
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
if (input.length === 1 &&
|
|
78
|
+
typeof input[0] === 'string' &&
|
|
79
|
+
isUpperCase(input[0])) {
|
|
80
80
|
key.shift = true;
|
|
81
81
|
}
|
|
82
|
-
if (key.tab || key.backspace || key.delete) {
|
|
83
|
-
input = '';
|
|
84
|
-
}
|
|
85
82
|
// If app is not supposed to exit on Ctrl+C, then let input listener handle it
|
|
86
83
|
if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {
|
|
87
|
-
|
|
84
|
+
// @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as exepected.
|
|
85
|
+
reconciler.batchedUpdates(() => {
|
|
86
|
+
inputHandler(input, key);
|
|
87
|
+
});
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
stdin?.on('data', handleData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-input.js","sourceRoot":"","sources":["../../src/hooks/use-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAyFtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,QAAQ,GAAG,CAAC,YAAqB,EAAE,UAAmB,EAAE,EAAE,EAAE;IACjE,gEAAgE;IAChE,MAAM,EAAC,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC/B,OAAO;SACP;QAED,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACX,UAAU,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC/B,OAAO;SACP;QAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;YACnC,
|
|
1
|
+
{"version":3,"file":"use-input.js","sourceRoot":"","sources":["../../src/hooks/use-input.ts"],"names":[],"mappings":"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"}
|
package/build/output.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import sliceAnsi from 'slice-ansi';
|
|
2
2
|
import stringWidth from 'string-width';
|
|
3
3
|
import widestLine from 'widest-line';
|
|
4
|
+
import { styledCharsFromTokens, styledCharsToString, tokenize } from '@alcalzone/ansi-tokenize';
|
|
4
5
|
export default class Output {
|
|
5
6
|
constructor(options) {
|
|
6
7
|
Object.defineProperty(this, "width", {
|
|
@@ -53,7 +54,16 @@ export default class Output {
|
|
|
53
54
|
// Initialize output array with a specific set of rows, so that margin/padding at the bottom is preserved
|
|
54
55
|
const output = [];
|
|
55
56
|
for (let y = 0; y < this.height; y++) {
|
|
56
|
-
|
|
57
|
+
const row = [];
|
|
58
|
+
for (let x = 0; x < this.width; x++) {
|
|
59
|
+
row.push({
|
|
60
|
+
type: 'char',
|
|
61
|
+
value: ' ',
|
|
62
|
+
fullWidth: false,
|
|
63
|
+
styles: []
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
output.push(row);
|
|
57
67
|
}
|
|
58
68
|
const clips = [];
|
|
59
69
|
for (const operation of this.operations) {
|
|
@@ -113,19 +123,37 @@ export default class Output {
|
|
|
113
123
|
if (!currentLine) {
|
|
114
124
|
continue;
|
|
115
125
|
}
|
|
116
|
-
const width = stringWidth(line);
|
|
117
126
|
for (const transformer of transformers) {
|
|
118
127
|
line = transformer(line);
|
|
119
128
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
const characters = styledCharsFromTokens(tokenize(line));
|
|
130
|
+
let offsetX = x;
|
|
131
|
+
for (const character of characters) {
|
|
132
|
+
currentLine[offsetX] = character;
|
|
133
|
+
// Some characters take up more than one column. In that case, the following
|
|
134
|
+
// pixels need to be cleared to avoid printing extra characters
|
|
135
|
+
const isWideCharacter = character.fullWidth || character.value.length > 1;
|
|
136
|
+
if (isWideCharacter) {
|
|
137
|
+
currentLine[offsetX + 1] = {
|
|
138
|
+
type: 'char',
|
|
139
|
+
value: '',
|
|
140
|
+
fullWidth: false,
|
|
141
|
+
styles: character.styles
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
offsetX += isWideCharacter ? 2 : 1;
|
|
145
|
+
}
|
|
124
146
|
offsetY++;
|
|
125
147
|
}
|
|
126
148
|
}
|
|
127
149
|
}
|
|
128
|
-
const generatedOutput = output
|
|
150
|
+
const generatedOutput = output
|
|
151
|
+
.map(line => {
|
|
152
|
+
// See https://github.com/vadimdemedes/ink/pull/564#issuecomment-1637022742
|
|
153
|
+
const lineWithoutEmptyItems = line.filter(item => item !== undefined);
|
|
154
|
+
return styledCharsToString(lineWithoutEmptyItems).trimEnd();
|
|
155
|
+
})
|
|
156
|
+
.join('\n');
|
|
129
157
|
return {
|
|
130
158
|
output: generatedOutput,
|
|
131
159
|
height: output.length
|
package/build/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AACvC,OAAO,UAAU,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
2
|
+
export declare const nonAlphanumericKeys: string[];
|
|
3
|
+
type ParsedKey = {
|
|
4
|
+
name: string;
|
|
5
|
+
ctrl: boolean;
|
|
6
|
+
meta: boolean;
|
|
7
|
+
shift: boolean;
|
|
8
|
+
option: boolean;
|
|
9
|
+
sequence: string;
|
|
10
|
+
raw: string | undefined;
|
|
11
|
+
code?: string;
|
|
12
|
+
};
|
|
13
|
+
declare const parseKeypress: (s?: Buffer | string) => ParsedKey;
|
|
14
|
+
export default parseKeypress;
|