ink 4.0.0 → 4.2.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/styles.d.ts CHANGED
@@ -1,10 +1,34 @@
1
- import { type YogaNode } from 'yoga-layout-prebuilt';
2
- import { type Boxes } from 'cli-boxes';
1
+ import { type Boxes, type BoxStyle } from 'cli-boxes';
3
2
  import { type LiteralUnion } from 'type-fest';
4
3
  import { type ForegroundColorName } from 'chalk';
4
+ import { type Node as YogaNode } from 'yoga-wasm-web/auto';
5
5
  export type Styles = {
6
6
  readonly textWrap?: 'wrap' | 'end' | 'middle' | 'truncate-end' | 'truncate' | 'truncate-middle' | 'truncate-start';
7
7
  readonly position?: 'absolute' | 'relative';
8
+ /**
9
+ * Size of the gap between an element's columns.
10
+ */
11
+ readonly columnGap?: number;
12
+ /**
13
+ * Size of the gap between element's rows.
14
+ */
15
+ readonly rowGap?: number;
16
+ /**
17
+ * Size of the gap between an element's columns and rows. Shorthand for `columnGap` and `rowGap`.
18
+ */
19
+ readonly gap?: number;
20
+ /**
21
+ * Margin on all sides. Equivalent to setting `marginTop`, `marginBottom`, `marginLeft` and `marginRight`.
22
+ */
23
+ readonly margin?: number;
24
+ /**
25
+ * Horizontal margin. Equivalent to setting `marginLeft` and `marginRight`.
26
+ */
27
+ readonly marginX?: number;
28
+ /**
29
+ * Vertical margin. Equivalent to setting `marginTop` and `marginBottom`.
30
+ */
31
+ readonly marginY?: number;
8
32
  /**
9
33
  * Top margin.
10
34
  */
@@ -21,6 +45,18 @@ export type Styles = {
21
45
  * Right margin.
22
46
  */
23
47
  readonly marginRight?: number;
48
+ /**
49
+ * Padding on all sides. Equivalent to setting `paddingTop`, `paddingBottom`, `paddingLeft` and `paddingRight`.
50
+ */
51
+ readonly padding?: number;
52
+ /**
53
+ * Horizontal padding. Equivalent to setting `paddingLeft` and `paddingRight`.
54
+ */
55
+ readonly paddingX?: number;
56
+ /**
57
+ * Vertical padding. Equivalent to setting `paddingTop` and `paddingBottom`.
58
+ */
59
+ readonly paddingY?: number;
24
60
  /**
25
61
  * Top padding.
26
62
  */
@@ -57,6 +93,11 @@ export type Styles = {
57
93
  * See [flex-basis](https://css-tricks.com/almanac/properties/f/flex-basis/).
58
94
  */
59
95
  readonly flexBasis?: number | string;
96
+ /**
97
+ * It defines whether the flex items are forced in a single line or can be flowed into multiple lines. If set to multiple lines, it also defines the cross-axis which determines the direction new lines are stacked in.
98
+ * See [flex-wrap](https://css-tricks.com/almanac/properties/f/flex-wrap/).
99
+ */
100
+ readonly flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
60
101
  /**
61
102
  * The align-items property defines the default behavior for how items are laid out along the cross axis (perpendicular to the main axis).
62
103
  * See [align-items](https://css-tricks.com/almanac/properties/a/align-items/).
@@ -98,12 +139,74 @@ export type Styles = {
98
139
  * Add a border with a specified style.
99
140
  * If `borderStyle` is `undefined` (which it is by default), no border will be added.
100
141
  */
101
- readonly borderStyle?: keyof Boxes;
142
+ readonly borderStyle?: keyof Boxes | BoxStyle;
143
+ /**
144
+ * Determines whether top border is visible.
145
+ *
146
+ * @default true
147
+ */
148
+ readonly borderTop?: boolean;
149
+ /**
150
+ * Determines whether bottom border is visible.
151
+ *
152
+ * @default true
153
+ */
154
+ readonly borderBottom?: boolean;
155
+ /**
156
+ * Determines whether left border is visible.
157
+ *
158
+ * @default true
159
+ */
160
+ readonly borderLeft?: boolean;
161
+ /**
162
+ * Determines whether right border is visible.
163
+ *
164
+ * @default true
165
+ */
166
+ readonly borderRight?: boolean;
102
167
  /**
103
168
  * Change border color.
104
- * Accepts the same values as `color` in <Text> component.
169
+ * Shorthand for setting `borderTopColor`, `borderRightColor`, `borderBottomColor` and `borderLeftColor`.
105
170
  */
106
171
  readonly borderColor?: LiteralUnion<ForegroundColorName, string>;
172
+ /**
173
+ * Change top border color.
174
+ * Accepts the same values as `color` in `Text` component.
175
+ */
176
+ readonly borderTopColor?: LiteralUnion<ForegroundColorName, string>;
177
+ /**
178
+ * Change bottom border color.
179
+ * Accepts the same values as `color` in `Text` component.
180
+ */
181
+ readonly borderBottomColor?: LiteralUnion<ForegroundColorName, string>;
182
+ /**
183
+ * Change left border color.
184
+ * Accepts the same values as `color` in `Text` component.
185
+ */
186
+ readonly borderLeftColor?: LiteralUnion<ForegroundColorName, string>;
187
+ /**
188
+ * Change right border color.
189
+ * Accepts the same values as `color` in `Text` component.
190
+ */
191
+ readonly borderRightColor?: LiteralUnion<ForegroundColorName, string>;
192
+ /**
193
+ * Behavior for an element's overflow in both directions.
194
+ *
195
+ * @default 'visible'
196
+ */
197
+ readonly overflow?: 'visible' | 'hidden';
198
+ /**
199
+ * Behavior for an element's overflow in horizontal direction.
200
+ *
201
+ * @default 'visible'
202
+ */
203
+ readonly overflowX?: 'visible' | 'hidden';
204
+ /**
205
+ * Behavior for an element's overflow in vertical direction.
206
+ *
207
+ * @default 'visible'
208
+ */
209
+ readonly overflowY?: 'visible' | 'hidden';
107
210
  };
108
211
  declare const styles: (node: YogaNode, style?: Styles) => void;
109
212
  export default styles;
package/build/styles.js CHANGED
@@ -1,5 +1,5 @@
1
- /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
2
- import Yoga from 'yoga-layout-prebuilt';
1
+ // eslint-disable-next-line n/file-extension-in-import
2
+ import Yoga from 'yoga-wasm-web/auto';
3
3
  const applyPositionStyles = (node, style) => {
4
4
  if ('position' in style) {
5
5
  node.setPositionType(style.position === 'absolute'
@@ -8,6 +8,15 @@ const applyPositionStyles = (node, style) => {
8
8
  }
9
9
  };
10
10
  const applyMarginStyles = (node, style) => {
11
+ if ('margin' in style) {
12
+ node.setMargin(Yoga.EDGE_ALL, style.margin ?? 0);
13
+ }
14
+ if ('marginX' in style) {
15
+ node.setMargin(Yoga.EDGE_HORIZONTAL, style.marginX ?? 0);
16
+ }
17
+ if ('marginY' in style) {
18
+ node.setMargin(Yoga.EDGE_VERTICAL, style.marginY ?? 0);
19
+ }
11
20
  if ('marginLeft' in style) {
12
21
  node.setMargin(Yoga.EDGE_START, style.marginLeft || 0);
13
22
  }
@@ -22,6 +31,15 @@ const applyMarginStyles = (node, style) => {
22
31
  }
23
32
  };
24
33
  const applyPaddingStyles = (node, style) => {
34
+ if ('padding' in style) {
35
+ node.setPadding(Yoga.EDGE_ALL, style.padding ?? 0);
36
+ }
37
+ if ('paddingX' in style) {
38
+ node.setPadding(Yoga.EDGE_HORIZONTAL, style.paddingX ?? 0);
39
+ }
40
+ if ('paddingY' in style) {
41
+ node.setPadding(Yoga.EDGE_VERTICAL, style.paddingY ?? 0);
42
+ }
25
43
  if ('paddingLeft' in style) {
26
44
  node.setPadding(Yoga.EDGE_LEFT, style.paddingLeft || 0);
27
45
  }
@@ -42,6 +60,17 @@ const applyFlexStyles = (node, style) => {
42
60
  if ('flexShrink' in style) {
43
61
  node.setFlexShrink(typeof style.flexShrink === 'number' ? style.flexShrink : 1);
44
62
  }
63
+ if ('flexWrap' in style) {
64
+ if (style.flexWrap === 'nowrap') {
65
+ node.setFlexWrap(Yoga.WRAP_NO_WRAP);
66
+ }
67
+ if (style.flexWrap === 'wrap') {
68
+ node.setFlexWrap(Yoga.WRAP_WRAP);
69
+ }
70
+ if (style.flexWrap === 'wrap-reverse') {
71
+ node.setFlexWrap(Yoga.WRAP_WRAP_REVERSE);
72
+ }
73
+ }
45
74
  if ('flexDirection' in style) {
46
75
  if (style.flexDirection === 'row') {
47
76
  node.setFlexDirection(Yoga.FLEX_DIRECTION_ROW);
@@ -161,11 +190,30 @@ const applyDisplayStyles = (node, style) => {
161
190
  };
162
191
  const applyBorderStyles = (node, style) => {
163
192
  if ('borderStyle' in style) {
164
- const borderWidth = typeof style.borderStyle === 'string' ? 1 : 0;
165
- node.setBorder(Yoga.EDGE_TOP, borderWidth);
166
- node.setBorder(Yoga.EDGE_BOTTOM, borderWidth);
167
- node.setBorder(Yoga.EDGE_LEFT, borderWidth);
168
- node.setBorder(Yoga.EDGE_RIGHT, borderWidth);
193
+ const borderWidth = style.borderStyle ? 1 : 0;
194
+ if (style.borderTop !== false) {
195
+ node.setBorder(Yoga.EDGE_TOP, borderWidth);
196
+ }
197
+ if (style.borderBottom !== false) {
198
+ node.setBorder(Yoga.EDGE_BOTTOM, borderWidth);
199
+ }
200
+ if (style.borderLeft !== false) {
201
+ node.setBorder(Yoga.EDGE_LEFT, borderWidth);
202
+ }
203
+ if (style.borderRight !== false) {
204
+ node.setBorder(Yoga.EDGE_RIGHT, borderWidth);
205
+ }
206
+ }
207
+ };
208
+ const applyGapStyles = (node, style) => {
209
+ if ('gap' in style) {
210
+ node.setGap(Yoga.GUTTER_ALL, style.gap ?? 0);
211
+ }
212
+ if ('columnGap' in style) {
213
+ node.setGap(Yoga.GUTTER_COLUMN, style.columnGap ?? 0);
214
+ }
215
+ if ('rowGap' in style) {
216
+ node.setGap(Yoga.GUTTER_ROW, style.rowGap ?? 0);
169
217
  }
170
218
  };
171
219
  const styles = (node, style = {}) => {
@@ -176,6 +224,7 @@ const styles = (node, style = {}) => {
176
224
  applyDimensionStyles(node, style);
177
225
  applyDisplayStyles(node, style);
178
226
  applyBorderStyles(node, style);
227
+ applyGapStyles(node, style);
179
228
  };
180
229
  export default styles;
181
230
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ink",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "React for CLI",
5
5
  "license": "MIT",
6
6
  "repository": "vadimdemedes/ink",
@@ -18,6 +18,7 @@
18
18
  "node": ">=14.16"
19
19
  },
20
20
  "scripts": {
21
+ "dev": "tsc --watch",
21
22
  "build": "tsc",
22
23
  "prepare": "npm run build",
23
24
  "test": "tsc --noEmit && xo && FORCE_COLOR=true ava",
@@ -51,26 +52,28 @@
51
52
  "code-excerpt": "^4.0.0",
52
53
  "indent-string": "^5.0.0",
53
54
  "is-ci": "^3.0.1",
54
- "lodash-es": "^4.17.21",
55
+ "is-lower-case": "^2.0.2",
56
+ "is-upper-case": "^2.0.2",
57
+ "lodash": "^4.17.21",
55
58
  "patch-console": "^2.0.0",
56
59
  "react-reconciler": "^0.29.0",
57
60
  "scheduler": "^0.23.0",
58
61
  "signal-exit": "^3.0.7",
59
- "slice-ansi": "^5.0.0",
62
+ "slice-ansi": "^6.0.0",
60
63
  "stack-utils": "^2.0.6",
61
64
  "string-width": "^5.1.2",
62
65
  "type-fest": "^0.12.0",
63
66
  "widest-line": "^4.0.1",
64
67
  "wrap-ansi": "^8.1.0",
65
68
  "ws": "^8.12.0",
66
- "yoga-layout-prebuilt": "^1.9.6"
69
+ "yoga-wasm-web": "~0.3.3"
67
70
  },
68
71
  "devDependencies": {
69
72
  "@faker-js/faker": "^7.6.0",
70
73
  "@sindresorhus/tsconfig": "3.0.1",
71
74
  "@types/benchmark": "^2.1.2",
72
75
  "@types/is-ci": "^2.0.0",
73
- "@types/lodash-es": "^4.17.6",
76
+ "@types/lodash": "^4.14.191",
74
77
  "@types/ms": "^0.7.31",
75
78
  "@types/node": "*",
76
79
  "@types/react": "^18.0.0",
@@ -147,6 +150,9 @@
147
150
  "react-hooks/exhaustive-deps": "off",
148
151
  "complexity": "off"
149
152
  },
153
+ "ignores": [
154
+ "src/parse-keypress.ts"
155
+ ],
150
156
  "overrides": [
151
157
  {
152
158
  "files": [