@nuvin/ink 7.5.0-alpha → 7.6.0-alpha

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 (56) hide show
  1. package/build/ansi-tokenizer.js.map +1 -1
  2. package/build/components/Box.d.ts +95 -0
  3. package/build/components/Box.js +176 -140
  4. package/build/components/Box.js.map +1 -1
  5. package/build/components/Transform.js +1 -1
  6. package/build/components/Transform.js.map +1 -1
  7. package/build/components/VLBox.d.ts +87 -0
  8. package/build/components/VLBox.js +5 -0
  9. package/build/components/VLBox.js.map +1 -0
  10. package/build/dom.d.ts +45 -1
  11. package/build/dom.js +5 -0
  12. package/build/dom.js.map +1 -1
  13. package/build/hooks/use-input.js +3 -3
  14. package/build/hooks/use-input.js.map +1 -1
  15. package/build/index.d.ts +2 -0
  16. package/build/index.js +1 -0
  17. package/build/index.js.map +1 -1
  18. package/build/ink.d.ts +2 -1
  19. package/build/ink.js +42 -23
  20. package/build/ink.js.map +1 -1
  21. package/build/layout-metadata.d.ts +28 -0
  22. package/build/layout-metadata.js +302 -0
  23. package/build/layout-metadata.js.map +1 -0
  24. package/build/log-update.js +126 -4
  25. package/build/log-update.js.map +1 -1
  26. package/build/measure-text.d.ts +1 -1
  27. package/build/measure-text.js +2 -2
  28. package/build/measure-text.js.map +1 -1
  29. package/build/output.d.ts +1 -0
  30. package/build/output.js +9 -0
  31. package/build/output.js.map +1 -1
  32. package/build/reconciler.js +84 -10
  33. package/build/reconciler.js.map +1 -1
  34. package/build/render-background.d.ts +2 -2
  35. package/build/render-background.js +33 -5
  36. package/build/render-background.js.map +1 -1
  37. package/build/render-border.d.ts +2 -2
  38. package/build/render-border.js +78 -34
  39. package/build/render-border.js.map +1 -1
  40. package/build/render-node-to-output.d.ts +7 -1
  41. package/build/render-node-to-output.js +118 -27
  42. package/build/render-node-to-output.js.map +1 -1
  43. package/build/render-to-string.js +2 -1
  44. package/build/render-to-string.js.map +1 -1
  45. package/build/renderer.d.ts +1 -0
  46. package/build/renderer.js +10 -2
  47. package/build/renderer.js.map +1 -1
  48. package/build/styles.js.map +1 -1
  49. package/build/wrap-text.d.ts +1 -1
  50. package/build/wrap-text.js +2 -2
  51. package/build/wrap-text.js.map +1 -1
  52. package/package.json +2 -1
  53. package/readme.md +48 -0
  54. package/build/reflow.d.ts +0 -12
  55. package/build/reflow.js +0 -47
  56. package/build/reflow.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ import { type BoxRef, type Props } from './Box.js';
2
+ export type VLBoxProps = Props;
3
+ export type VLBoxRef = BoxRef;
4
+ declare const VLBox: import("react").ForwardRefExoticComponent<{
5
+ readonly position?: "absolute" | "relative" | "static" | "sticky" | undefined;
6
+ readonly top?: number | string | undefined;
7
+ readonly right?: number | string | undefined;
8
+ readonly bottom?: number | string | undefined;
9
+ readonly left?: number | string | undefined;
10
+ readonly columnGap?: number | undefined;
11
+ readonly rowGap?: number | undefined;
12
+ readonly gap?: number | undefined;
13
+ readonly margin?: number | undefined;
14
+ readonly marginX?: number | undefined;
15
+ readonly marginY?: number | undefined;
16
+ readonly marginTop?: number | undefined;
17
+ readonly marginBottom?: number | undefined;
18
+ readonly marginLeft?: number | undefined;
19
+ readonly marginRight?: number | undefined;
20
+ readonly padding?: number | undefined;
21
+ readonly paddingX?: number | undefined;
22
+ readonly paddingY?: number | undefined;
23
+ readonly paddingTop?: number | undefined;
24
+ readonly paddingBottom?: number | undefined;
25
+ readonly paddingLeft?: number | undefined;
26
+ readonly paddingRight?: number | undefined;
27
+ readonly flexGrow?: number | undefined;
28
+ readonly flexShrink?: number | undefined;
29
+ readonly flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined;
30
+ readonly flexBasis?: number | string | undefined;
31
+ readonly flexWrap?: "nowrap" | "wrap" | "wrap-reverse" | undefined;
32
+ readonly alignItems?: "flex-start" | "center" | "flex-end" | "stretch" | "baseline" | undefined;
33
+ readonly alignSelf?: "flex-start" | "center" | "flex-end" | "auto" | "stretch" | "baseline" | undefined;
34
+ readonly alignContent?: "flex-start" | "flex-end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined;
35
+ readonly justifyContent?: "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "center" | undefined;
36
+ readonly width?: number | string | undefined;
37
+ readonly height?: number | string | undefined;
38
+ readonly minWidth?: number | string | undefined;
39
+ readonly minHeight?: number | string | undefined;
40
+ readonly maxWidth?: number | string | undefined;
41
+ readonly maxHeight?: number | string | undefined;
42
+ readonly aspectRatio?: number | undefined;
43
+ readonly display?: "flex" | "none" | undefined;
44
+ readonly borderStyle?: (keyof import("cli-boxes").Boxes | import("cli-boxes").BoxStyle) | undefined;
45
+ readonly borderTop?: boolean | undefined;
46
+ readonly borderBottom?: boolean | undefined;
47
+ readonly borderLeft?: boolean | undefined;
48
+ readonly borderRight?: boolean | undefined;
49
+ readonly borderColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
50
+ readonly borderTopColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
51
+ readonly borderBottomColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
52
+ readonly borderLeftColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
53
+ readonly borderRightColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
54
+ readonly borderDimColor?: boolean | undefined;
55
+ readonly borderTopDimColor?: boolean | undefined;
56
+ readonly borderBottomDimColor?: boolean | undefined;
57
+ readonly borderLeftDimColor?: boolean | undefined;
58
+ readonly borderRightDimColor?: boolean | undefined;
59
+ readonly borderBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
60
+ readonly borderTopBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
61
+ readonly borderBottomBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
62
+ readonly borderLeftBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
63
+ readonly borderRightBackgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
64
+ readonly overflow?: "visible" | "hidden" | "scroll" | undefined;
65
+ readonly overflowX?: "visible" | "hidden" | "scroll" | undefined;
66
+ readonly overflowY?: "visible" | "hidden" | "scroll" | undefined;
67
+ readonly backgroundColor?: import("type-fest").LiteralUnion<import("ansi-styles").ForegroundColorName, string> | undefined;
68
+ readonly zIndex?: number | undefined;
69
+ } & {
70
+ readonly 'aria-label'?: string;
71
+ readonly 'aria-hidden'?: boolean;
72
+ readonly 'aria-role'?: "button" | "checkbox" | "combobox" | "list" | "listbox" | "listitem" | "menu" | "menuitem" | "option" | "progressbar" | "radio" | "radiogroup" | "tab" | "tablist" | "table" | "textbox" | "timer" | "toolbar";
73
+ readonly 'aria-state'?: {
74
+ readonly busy?: boolean;
75
+ readonly checked?: boolean;
76
+ readonly disabled?: boolean;
77
+ readonly expanded?: boolean;
78
+ readonly multiline?: boolean;
79
+ readonly multiselectable?: boolean;
80
+ readonly readonly?: boolean;
81
+ readonly required?: boolean;
82
+ readonly selected?: boolean;
83
+ };
84
+ } & {
85
+ children?: import("react").ReactNode | undefined;
86
+ } & import("react").RefAttributes<BoxRef>>;
87
+ export default VLBox;
@@ -0,0 +1,5 @@
1
+ import { createBoxComponent } from './Box.js';
2
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- public VLBox API
3
+ const VLBox = createBoxComponent('VLBox', true);
4
+ export default VLBox;
5
+ //# sourceMappingURL=VLBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VLBox.js","sourceRoot":"","sources":["../../src/components/VLBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAA0B,MAAM,UAAU,CAAC;AAOrE,oFAAoF;AACpF,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChD,eAAe,KAAK,CAAC"}
package/build/dom.d.ts CHANGED
@@ -11,6 +11,39 @@ type LayoutListener = () => void;
11
11
  export type TextName = '#text';
12
12
  export type ElementNames = 'ink-root' | 'ink-box' | 'ink-text' | 'ink-virtual-text';
13
13
  export type NodeNames = ElementNames | TextName;
14
+ export type Rect = {
15
+ left: number;
16
+ top: number;
17
+ right: number;
18
+ bottom: number;
19
+ };
20
+ export type NodeLayoutMetadata = {
21
+ epoch: number;
22
+ subtreePaintBounds: Rect;
23
+ hasUnboundedTransform: boolean;
24
+ };
25
+ export type StickyCandidate = {
26
+ node: DOMElement;
27
+ parentOffset: {
28
+ x: number;
29
+ y: number;
30
+ };
31
+ parentBounds: {
32
+ top: number;
33
+ bottom: number;
34
+ };
35
+ parentIsViewport: boolean;
36
+ transformers: OutputTransformer[];
37
+ paintOrder: number;
38
+ };
39
+ export type ScrollViewportMetadata = {
40
+ epoch: number;
41
+ contentExtent: {
42
+ width: number;
43
+ height: number;
44
+ };
45
+ stickyCandidates: StickyCandidate[];
46
+ };
14
47
  export type DOMElement = {
15
48
  nodeName: ElementNames;
16
49
  attributes: Record<string, DOMNodeAttribute>;
@@ -44,10 +77,20 @@ export type DOMElement = {
44
77
  internal_scrollVersion?: number;
45
78
  internal_paintEpoch?: number;
46
79
  internal_paintIndex?: number;
80
+ internal_layoutEpoch?: number;
81
+ internal_viewportCulling?: boolean;
82
+ internal_viewportCullingCount?: number;
83
+ internal_layoutMetadata?: NodeLayoutMetadata;
84
+ internal_layoutMetadataDirty?: boolean;
85
+ internal_scrollViewportMetadata?: ScrollViewportMetadata;
86
+ internal_transformAffectsGeometry?: boolean;
47
87
  internal_stickyRect?: {
48
88
  x: number;
49
89
  y: number;
50
90
  };
91
+ internal_lastRenderVisitCount?: number;
92
+ internal_lastSurfaceWriteCount?: number;
93
+ internal_lastSurfaceCellCount?: number;
51
94
  } & InkNode;
52
95
  export type TextNode = {
53
96
  nodeName: TextName;
@@ -60,7 +103,8 @@ export type DOMNode<T = {
60
103
  } ? U extends '#text' ? TextNode : DOMElement : never;
61
104
  export type DOMNodeAttribute = boolean | string | number;
62
105
  export declare const createNode: (nodeName: ElementNames) => DOMElement;
63
- export declare const appendChildNode: (node: DOMElement, childNode: DOMElement) => void;
106
+ export declare const incrementLayoutEpoch: (root: DOMElement) => number;
107
+ export declare const appendChildNode: (node: DOMElement, childNode: DOMNode) => void;
64
108
  export declare const insertBeforeNode: (node: DOMElement, newChildNode: DOMNode, beforeChildNode: DOMNode) => void;
65
109
  export declare const removeChildNode: (node: DOMElement, removeNode: DOMNode) => void;
66
110
  export declare const setAttribute: (node: DOMElement, key: string, value: DOMNodeAttribute) => void;
package/build/dom.js CHANGED
@@ -18,6 +18,11 @@ export const createNode = (nodeName) => {
18
18
  }
19
19
  return node;
20
20
  };
21
+ export const incrementLayoutEpoch = (root) => {
22
+ const next = (root.internal_layoutEpoch ?? 0) + 1;
23
+ root.internal_layoutEpoch = next;
24
+ return next;
25
+ };
21
26
  export const appendChildNode = (node, childNode) => {
22
27
  if (childNode.parentNode) {
23
28
  removeChildNode(childNode.parentNode, childNode);
package/build/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ const useInput = (inputHandler, options = {}) => {
32
32
  // closure bug in ink's custom React reconciler when used with forwardRef.
33
33
  const handlerRef = useRef(inputHandler);
34
34
  handlerRef.current = inputHandler;
35
- const exitOnCtrlCRef = useRef(internal_exitOnCtrlC);
36
- exitOnCtrlCRef.current = internal_exitOnCtrlC;
35
+ const exitOnCtrlC = useRef(internal_exitOnCtrlC);
36
+ exitOnCtrlC.current = internal_exitOnCtrlC;
37
37
  useEffect(() => {
38
38
  if (options.isActive === false) {
39
39
  return;
@@ -112,7 +112,7 @@ const useInput = (inputHandler, options = {}) => {
112
112
  key.shift = true;
113
113
  }
114
114
  // If app is supposed to exit on Ctrl+C, skip input listeners.
115
- if (input === 'c' && key.ctrl && exitOnCtrlCRef.current) {
115
+ if (input === 'c' && key.ctrl && exitOnCtrlC.current) {
116
116
  return;
117
117
  }
118
118
  // Use discreteUpdates to assign DiscreteEventPriority to state
@@ -1 +1 @@
1
- {"version":3,"file":"use-input.js","sourceRoot":"","sources":["../../src/hooks/use-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-input.js","sourceRoot":"","sources":["../../src/hooks/use-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,aAAa,EAAE,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACxE,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAqI/C;;;;;;;;;;;;;;;;;;;;;EAqBE;AACF,MAAM,QAAQ,GAAG,CAAC,YAAqB,EAAE,UAAmB,EAAE,EAAE,EAAE;IACjE,gEAAgE;IAChE,MAAM,EAAC,UAAU,EAAE,oBAAoB,EAAE,qBAAqB,EAAC,GAC9D,eAAe,EAAE,CAAC;IAEnB,qEAAqE;IACrE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;IAElC,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjD,WAAW,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO;QACR,CAAC;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,CAAC;YAChC,OAAO;QACR,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAQ,EAAE;YACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAErC,MAAM,GAAG,GAAQ;gBAChB,OAAO,EAAE,QAAQ,CAAC,IAAI,KAAK,IAAI;gBAC/B,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;gBACnC,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;gBACnC,UAAU,EAAE,QAAQ,CAAC,IAAI,KAAK,OAAO;gBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,KAAK,UAAU;gBACtC,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAC9B,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,KAAK;gBAC5B,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAClC,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,KAAK;gBAC5B,SAAS,EAAE,QAAQ,CAAC,IAAI,KAAK,WAAW;gBACxC,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,oCAAoC;gBACpC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;gBAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,KAAK;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;gBACpC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,KAAK;gBAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC7B,CAAC;YAEF,IAAI,KAAa,CAAC;YAClB,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,+DAA+D;gBAC/D,sEAAsE;gBACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC1B,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;gBACxC,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxD,+DAA+D;oBAC/D,kEAAkE;oBAClE,oDAAoD;oBACpD,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACP,KAAK,GAAG,EAAE,CAAC;gBACZ,CAAC;YACF,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC1B,8DAA8D;gBAC9D,+DAA+D;gBAC/D,uEAAuE;gBACvE,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC3B,CAAC;YAED,IACC,CAAC,QAAQ,CAAC,eAAe;gBACzB,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1C,CAAC;gBACF,KAAK,GAAG,EAAE,CAAC;YACZ,CAAC;YAED,4DAA4D;YAC5D,kEAAkE;YAClE,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,8DAA8D;YAC9D,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtD,OAAO;YACR,CAAC;YAED,+DAA+D;YAC/D,kEAAkE;YAClE,uCAAuC;YACvC,gGAAgG;YAChG,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE;gBAC/B,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9C,OAAO,GAAG,EAAE;YACX,qBAAqB,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/build/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export type { RenderToStringOptions } from './render-to-string.js';
4
4
  export { default as renderToString } from './render-to-string.js';
5
5
  export type { Props as BoxProps, BoxRef, PaintOrder } from './components/Box.js';
6
6
  export { default as Box } from './components/Box.js';
7
+ export type { VLBoxProps, VLBoxRef } from './components/VLBox.js';
8
+ export { default as VLBox } from './components/VLBox.js';
7
9
  export type { Props as TextProps } from './components/Text.js';
8
10
  export { default as Text } from './components/Text.js';
9
11
  export type { Props as AppProps } from './components/AppContext.js';
package/build/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as render } from './render.js';
2
2
  export { default as renderToString } from './render-to-string.js';
3
3
  export { default as Box } from './components/Box.js';
4
+ export { default as VLBox } from './components/VLBox.js';
4
5
  export { default as Text } from './components/Text.js';
5
6
  export { default as Static } from './components/Static.js';
6
7
  export { default as Transform } from './components/Transform.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAalD,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAalD,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC"}
package/build/ink.d.ts CHANGED
@@ -114,6 +114,7 @@ export default class Ink {
114
114
  private cancelKittyDetection?;
115
115
  private nextRenderCommit?;
116
116
  private readonly textSelection;
117
+ private lastLayoutWidth?;
117
118
  constructor(options: Options);
118
119
  resized: () => void;
119
120
  resolveExitPromise: (result?: unknown) => void;
@@ -131,8 +132,8 @@ export default class Ink {
131
132
  waitUntilExit(): Promise<unknown>;
132
133
  waitUntilRenderFlush(): Promise<void>;
133
134
  clear(): void;
134
- private getPhysicalEraseOptions;
135
135
  patchConsole(): void;
136
+ private getPhysicalEraseOptions;
136
137
  private setAlternateScreen;
137
138
  private resolveInteractiveOption;
138
139
  private resolveAlternateScreenOption;
package/build/ink.js CHANGED
@@ -116,7 +116,15 @@ const getReflowedLineCount = (output, columns) => {
116
116
  wordWrap: false,
117
117
  }).split('\n').length;
118
118
  };
119
- const isOutputSoftWrapped = (output, columns) => output !== '' && widestLine(output) > columns;
119
+ const isOutputSoftWrapped = (output, columns, maxVisualWidth) => {
120
+ if (output === '') {
121
+ return false;
122
+ }
123
+ if (maxVisualWidth !== undefined) {
124
+ return maxVisualWidth > columns;
125
+ }
126
+ return widestLine(output) > columns;
127
+ };
120
128
  const isErrorInput = (value) => {
121
129
  return (value instanceof Error ||
122
130
  Object.prototype.toString.call(value) === '[object Error]');
@@ -181,6 +189,7 @@ export default class Ink {
181
189
  cancelKittyDetection;
182
190
  nextRenderCommit;
183
191
  textSelection;
192
+ lastLayoutWidth;
184
193
  constructor(options) {
185
194
  autoBind(this);
186
195
  this.options = options;
@@ -328,8 +337,16 @@ export default class Ink {
328
337
  };
329
338
  calculateLayout = () => {
330
339
  const terminalWidth = getWindowSize(this.options.stdout).columns;
331
- this.rootNode.yogaNode.setWidth(terminalWidth);
332
- this.rootNode.yogaNode.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
340
+ const yoga = this.rootNode.yogaNode;
341
+ const widthChanged = this.lastLayoutWidth !== terminalWidth;
342
+ if (widthChanged) {
343
+ yoga.setWidth(terminalWidth);
344
+ this.lastLayoutWidth = terminalWidth;
345
+ }
346
+ if (!widthChanged && !yoga.isDirty())
347
+ return;
348
+ yoga.calculateLayout(undefined, undefined, Yoga.DIRECTION_LTR);
349
+ dom.incrementLayoutEpoch(this.rootNode);
333
350
  };
334
351
  onRender = () => {
335
352
  this.hasPendingThrottledRender = false;
@@ -341,7 +358,7 @@ export default class Ink {
341
358
  this.nextRenderCommit = undefined;
342
359
  }
343
360
  const startTime = performance.now();
344
- const { output, outputHeight, staticOutput } = render(this.rootNode, this.isScreenReaderEnabled,
361
+ const { output, outputHeight, staticOutput, maxVisualWidth } = render(this.rootNode, this.isScreenReaderEnabled,
345
362
  // Screen-reader rendering bypasses Output, so selection is skipped.
346
363
  this.isScreenReaderEnabled ? undefined : this.textSelection);
347
364
  this.options.onRender?.({
@@ -417,7 +434,7 @@ export default class Ink {
417
434
  if (hasStaticOutput) {
418
435
  this.fullStaticOutput += staticOutput;
419
436
  }
420
- this.renderInteractiveFrame(output, outputHeight, hasStaticOutput ? staticOutput : '');
437
+ this.renderInteractiveFrame(output, outputHeight, hasStaticOutput ? staticOutput : '', maxVisualWidth);
421
438
  };
422
439
  render(node) {
423
440
  const tree = (React.createElement(AccessibilityContext.Provider, { value: { isScreenReaderEnabled: this.isScreenReaderEnabled } },
@@ -651,20 +668,6 @@ export default class Ink {
651
668
  this.lastPhysicalFrameWasSoftWrapped = false;
652
669
  }
653
670
  }
654
- getPhysicalEraseOptions() {
655
- if (!this.options.stdout.isTTY ||
656
- !this.hasPhysicalFrame ||
657
- this.lastOutputToRender === '') {
658
- return undefined;
659
- }
660
- const terminalWidth = getWindowSize(this.options.stdout).columns;
661
- if (!isOutputSoftWrapped(this.lastOutputToRender, terminalWidth)) {
662
- return undefined;
663
- }
664
- return {
665
- eraseLineCount: getReflowedLineCount(this.lastOutputToRender, terminalWidth),
666
- };
667
- }
668
671
  patchConsole() {
669
672
  if (this.options.debug) {
670
673
  return;
@@ -681,6 +684,20 @@ export default class Ink {
681
684
  }
682
685
  });
683
686
  }
687
+ getPhysicalEraseOptions() {
688
+ if (!this.options.stdout.isTTY ||
689
+ !this.hasPhysicalFrame ||
690
+ this.lastOutputToRender === '') {
691
+ return undefined;
692
+ }
693
+ const terminalWidth = getWindowSize(this.options.stdout).columns;
694
+ if (!isOutputSoftWrapped(this.lastOutputToRender, terminalWidth)) {
695
+ return undefined;
696
+ }
697
+ return {
698
+ eraseLineCount: getReflowedLineCount(this.lastOutputToRender, terminalWidth),
699
+ };
700
+ }
684
701
  setAlternateScreen(enabled) {
685
702
  this.alternateScreen = this.resolveAlternateScreenOption(enabled, this.interactive);
686
703
  if (this.alternateScreen) {
@@ -730,7 +747,7 @@ export default class Ink {
730
747
  }
731
748
  return this.nextRenderCommit.promise;
732
749
  }
733
- renderInteractiveFrame(output, outputHeight, staticOutput) {
750
+ renderInteractiveFrame(output, outputHeight, staticOutput, maxVisualWidth) {
734
751
  const hasStaticOutput = staticOutput !== '';
735
752
  const isTty = this.options.stdout.isTTY;
736
753
  const { columns: terminalWidth, rows: terminalRows } = getWindowSize(this.options.stdout);
@@ -746,7 +763,7 @@ export default class Ink {
746
763
  const outputWillRender = hasStaticOutput || this.log.willRender(outputToRender);
747
764
  const shouldClassifyNextFrame = Boolean(isTty) && (columnsDecreased || outputWillRender);
748
765
  const nextFrameIsSoftWrapped = shouldClassifyNextFrame &&
749
- isOutputSoftWrapped(outputToRender, terminalWidth);
766
+ isOutputSoftWrapped(outputToRender, terminalWidth, maxVisualWidth);
750
767
  const shouldRepairReflow = Boolean(isTty) &&
751
768
  hasCachedPhysicalOutput &&
752
769
  (columnsDecreased ||
@@ -788,7 +805,8 @@ export default class Ink {
788
805
  this.hasPhysicalFrame = true;
789
806
  this.lastPhysicalFrameWasSoftWrapped = shouldClassifyNextFrame
790
807
  ? nextFrameIsSoftWrapped
791
- : Boolean(isTty) && isOutputSoftWrapped(outputToRender, terminalWidth);
808
+ : Boolean(isTty) &&
809
+ isOutputSoftWrapped(outputToRender, terminalWidth, maxVisualWidth);
792
810
  if (sync) {
793
811
  this.options.stdout.write(esu);
794
812
  }
@@ -833,7 +851,8 @@ export default class Ink {
833
851
  if (didWriteFrame) {
834
852
  this.lastPhysicalFrameWasSoftWrapped = shouldClassifyNextFrame
835
853
  ? nextFrameIsSoftWrapped
836
- : Boolean(isTty) && isOutputSoftWrapped(outputToRender, terminalWidth);
854
+ : Boolean(isTty) &&
855
+ isOutputSoftWrapped(outputToRender, terminalWidth, maxVisualWidth);
837
856
  }
838
857
  this.lastViewportRows = viewportRows;
839
858
  this.lastTerminalWidth = terminalWidth;
package/build/ink.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ink.js","sourceRoot":"","sources":["../src/ink.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type DOMElement, type NodeLayoutMetadata, type Rect, type ScrollViewportMetadata } from './dom.js';
2
+ export declare const invalidateLayoutMetadata: (node: DOMElement) => void;
3
+ export declare const prepareLayoutMetadata: (root: DOMElement) => void;
4
+ export declare const getNodeLayoutMetadata: (node: DOMElement) => NodeLayoutMetadata | undefined;
5
+ export declare const getScrollViewportMetadata: (node: DOMElement) => ScrollViewportMetadata | undefined;
6
+ export type CullingViewport = {
7
+ rect: Rect;
8
+ clipX: boolean;
9
+ clipY: boolean;
10
+ };
11
+ export declare const intersectsViewport: (bounds: Rect, viewport: CullingViewport) => boolean;
12
+ export declare const shouldCullNode: (node: DOMElement, nodeX: number, nodeY: number, viewport: CullingViewport | undefined) => boolean;
13
+ export declare const requestRootPaint: (node: DOMElement) => void;
14
+ export declare const sameOffset: (a: {
15
+ x: number;
16
+ y: number;
17
+ }, b: {
18
+ x: number;
19
+ y: number;
20
+ }) => boolean;
21
+ export declare const clampViewportScroll: (node: DOMElement, requested?: {
22
+ x?: number;
23
+ y?: number;
24
+ }) => {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ export declare const getChildCullingViewport: (node: DOMElement, nodeX: number, nodeY: number, inherited: CullingViewport | undefined) => CullingViewport | undefined;