@jrichman/ink 7.0.0-beta.1 → 7.0.0-beta.2
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/StaticRender.d.ts +39 -2
- package/build/components/StaticRender.js +67 -10
- package/build/components/StaticRender.js.map +1 -1
- package/build/dom.d.ts +2 -4
- package/build/dom.js +20 -24
- package/build/dom.js.map +1 -1
- package/build/output.js +24 -55
- package/build/output.js.map +1 -1
- package/build/reconciler.js +0 -2
- package/build/reconciler.js.map +1 -1
- package/build/render-node-to-output.js +23 -58
- package/build/render-node-to-output.js.map +1 -1
- package/build/render-sticky.d.ts +13 -0
- package/build/render-sticky.js +92 -80
- package/build/render-sticky.js.map +1 -1
- package/build/render-text-node.js +6 -6
- package/build/render-text-node.js.map +1 -1
- package/build/squash-text-nodes.js +6 -15
- package/build/squash-text-nodes.js.map +1 -1
- package/build/styled-line.d.ts +0 -1
- package/build/styled-line.js +9 -31
- package/build/styled-line.js.map +1 -1
- package/build/terminal-buffer.d.ts +0 -1
- package/build/terminal-buffer.js +44 -132
- package/build/terminal-buffer.js.map +1 -1
- package/build/tokenize.d.ts +0 -18
- package/build/tokenize.js +1 -182
- package/build/tokenize.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +8 -27
package/build/reconciler.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -2,11 +2,13 @@ import Yoga from 'yoga-layout';
|
|
|
2
2
|
import { getCachedRegion, setCachedRegion, setCachedRender, } from './dom.js';
|
|
3
3
|
import Output, { isRectIntersectingClip, extractSelectableText, } from './output.js';
|
|
4
4
|
import { handleTextNode } from './render-text-node.js';
|
|
5
|
-
import { renderStickyNode, getStickyDescendants } from './render-sticky.js';
|
|
5
|
+
import { renderStickyNode, getStickyDescendants, resolveStickyHeaderInfo, } from './render-sticky.js';
|
|
6
6
|
import { handleContainerNode } from './render-container.js';
|
|
7
7
|
import { handleCachedRenderNode } from './render-cached.js';
|
|
8
|
-
import { getRelativeLeft, getRelativeTop } from './measure-element.js';
|
|
9
8
|
import { triggerResizeObservers } from './resize-observer.js';
|
|
9
|
+
const isRenderedStaticRenderLeaf = (node) => node.nodeName === 'ink-static-render' &&
|
|
10
|
+
Boolean(node.cachedRender) &&
|
|
11
|
+
node.childNodes.length === 0;
|
|
10
12
|
const canUseCachedRegion = (node, options) => {
|
|
11
13
|
if (node.nodeName !== 'ink-box') {
|
|
12
14
|
return false;
|
|
@@ -27,12 +29,14 @@ const canUseCachedRegion = (node, options) => {
|
|
|
27
29
|
if (overflowX === 'scroll' || overflowY === 'scroll') {
|
|
28
30
|
return false;
|
|
29
31
|
}
|
|
30
|
-
return node.childNodes.some(childNode => childNode
|
|
32
|
+
return node.childNodes.some(childNode => isRenderedStaticRenderLeaf(childNode));
|
|
31
33
|
};
|
|
32
34
|
const getOrRenderCachedRegion = (node, options) => {
|
|
33
35
|
const { width, height, transformers, skipStaticElements, isStickyRender, skipStickyHeaders, } = options;
|
|
34
|
-
const cachedRegion = getCachedRegion(node
|
|
35
|
-
if (cachedRegion &&
|
|
36
|
+
const cachedRegion = getCachedRegion(node);
|
|
37
|
+
if (cachedRegion &&
|
|
38
|
+
cachedRegion.width === width &&
|
|
39
|
+
cachedRegion.height === height) {
|
|
36
40
|
return cachedRegion;
|
|
37
41
|
}
|
|
38
42
|
const cachedOutput = new Output({
|
|
@@ -54,7 +58,7 @@ const getOrRenderCachedRegion = (node, options) => {
|
|
|
54
58
|
absoluteOffsetY: 0,
|
|
55
59
|
});
|
|
56
60
|
const region = cachedOutput.get();
|
|
57
|
-
setCachedRegion(node, region
|
|
61
|
+
setCachedRegion(node, region);
|
|
58
62
|
return region;
|
|
59
63
|
};
|
|
60
64
|
export const renderToStatic = (node, options = {}) => {
|
|
@@ -73,33 +77,17 @@ export const renderToStatic = (node, options = {}) => {
|
|
|
73
77
|
let stuckLines;
|
|
74
78
|
let naturalHeight;
|
|
75
79
|
let maxHeaderHeight;
|
|
76
|
-
|
|
77
|
-
let relativeY;
|
|
78
|
-
let parentRelativeTop;
|
|
79
|
-
let parentHeight;
|
|
80
|
-
let parentBorderTop;
|
|
81
|
-
let parentBorderBottom;
|
|
82
|
-
let nodeId;
|
|
83
|
-
const currentBorderTop = node.yogaNode?.getComputedBorder(Yoga.EDGE_TOP) ?? 0;
|
|
84
|
-
const currentBorderLeft = node.yogaNode?.getComputedBorder(Yoga.EDGE_LEFT) ?? 0;
|
|
80
|
+
const { relativeX, relativeY, parentRelativeTop, parentHeight, parentBorderTop, parentBorderBottom, nodeId, } = resolveStickyHeaderInfo(stickyNodeInfo, node);
|
|
85
81
|
if (cached && anchor) {
|
|
86
82
|
naturalLines = cached.lines;
|
|
87
83
|
stuckLines = cached.stuckLines;
|
|
88
84
|
naturalHeight = cached.endRow - cached.startRow;
|
|
89
85
|
maxHeaderHeight = cached.height;
|
|
90
|
-
const staticRenderPosTop = getRelativeTop(anchor, node) ?? 0;
|
|
91
|
-
const staticRenderPosLeft = getRelativeLeft(anchor, node) ?? 0;
|
|
92
|
-
relativeX = staticRenderPosLeft + cached.relativeX;
|
|
93
|
-
relativeY = staticRenderPosTop + cached.relativeY;
|
|
94
|
-
parentRelativeTop = staticRenderPosTop + cached.parentRelativeTop;
|
|
95
|
-
parentHeight = cached.parentHeight;
|
|
96
|
-
parentBorderTop = cached.parentBorderTop;
|
|
97
|
-
parentBorderBottom = cached.parentBorderBottom;
|
|
98
|
-
nodeId = cached.nodeId;
|
|
99
86
|
}
|
|
100
87
|
else {
|
|
101
|
-
if (!stickyNode)
|
|
88
|
+
if (!stickyNode) {
|
|
102
89
|
continue;
|
|
90
|
+
}
|
|
103
91
|
const rendered = renderStickyNode(stickyNode, {
|
|
104
92
|
skipStaticElements: options.skipStaticElements ?? false,
|
|
105
93
|
selectionMap: options.selectionMap,
|
|
@@ -110,23 +98,6 @@ export const renderToStatic = (node, options = {}) => {
|
|
|
110
98
|
stuckLines = rendered.stuckLines;
|
|
111
99
|
naturalHeight = rendered.naturalHeight;
|
|
112
100
|
maxHeaderHeight = rendered.maxHeaderHeight;
|
|
113
|
-
relativeX = (getRelativeLeft(stickyNode, node) ?? 0) - currentBorderLeft;
|
|
114
|
-
relativeY = (getRelativeTop(stickyNode, node) ?? 0) - currentBorderTop;
|
|
115
|
-
const parent = stickyNode.parentNode;
|
|
116
|
-
const parentYogaNode = parent?.yogaNode;
|
|
117
|
-
parentRelativeTop = parent
|
|
118
|
-
? (getRelativeTop(parent, node) ?? 0) - currentBorderTop
|
|
119
|
-
: 0;
|
|
120
|
-
parentHeight = parentYogaNode
|
|
121
|
-
? Math.round(parentYogaNode.getComputedHeight())
|
|
122
|
-
: Number.MAX_SAFE_INTEGER;
|
|
123
|
-
parentBorderTop = parentYogaNode
|
|
124
|
-
? parentYogaNode.getComputedBorder(Yoga.EDGE_TOP)
|
|
125
|
-
: 0;
|
|
126
|
-
parentBorderBottom = parentYogaNode
|
|
127
|
-
? parentYogaNode.getComputedBorder(Yoga.EDGE_BOTTOM)
|
|
128
|
-
: 0;
|
|
129
|
-
nodeId = stickyNode.internalId;
|
|
130
101
|
}
|
|
131
102
|
const naturalRow = relativeY;
|
|
132
103
|
const headerObj = {
|
|
@@ -249,22 +220,16 @@ function renderNodeToOutput(node, output, options) {
|
|
|
249
220
|
selectionStyle,
|
|
250
221
|
trackSelection,
|
|
251
222
|
})) {
|
|
252
|
-
const
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
isStickyRender,
|
|
263
|
-
skipStickyHeaders,
|
|
264
|
-
});
|
|
265
|
-
output.addRegionTree(cachedRegion, x, y);
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
223
|
+
const cachedRegion = getOrRenderCachedRegion(node, {
|
|
224
|
+
width,
|
|
225
|
+
height,
|
|
226
|
+
transformers: newTransformers,
|
|
227
|
+
skipStaticElements,
|
|
228
|
+
isStickyRender,
|
|
229
|
+
skipStickyHeaders,
|
|
230
|
+
});
|
|
231
|
+
output.addRegionTree(cachedRegion, x, y);
|
|
232
|
+
return;
|
|
268
233
|
}
|
|
269
234
|
if (node.nodeName === 'ink-text') {
|
|
270
235
|
handleTextNode(node, output, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAGN,eAAe,EACf,eAAe,EACf,eAAe,GAEf,MAAM,UAAU,CAAC;AAClB,OAAO,MAAM,EAAE,EACd,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,
|
|
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-sticky.d.ts
CHANGED
|
@@ -8,6 +8,19 @@ export type StickyNodeInfo = {
|
|
|
8
8
|
cached?: StickyHeader;
|
|
9
9
|
anchor?: DOMElement;
|
|
10
10
|
};
|
|
11
|
+
export type ResolvedStickyHeaderInfo = {
|
|
12
|
+
stickyNodeTop: number;
|
|
13
|
+
stickyNodeHeight: number;
|
|
14
|
+
naturalStickyNodeHeight: number;
|
|
15
|
+
parentRelativeTop: number;
|
|
16
|
+
parentHeight: number;
|
|
17
|
+
parentBorderTop: number;
|
|
18
|
+
parentBorderBottom: number;
|
|
19
|
+
relativeX: number;
|
|
20
|
+
relativeY: number;
|
|
21
|
+
nodeId: number;
|
|
22
|
+
};
|
|
23
|
+
export declare function resolveStickyHeaderInfo(stickyNodeInfo: StickyNodeInfo, node: DOMElement): ResolvedStickyHeaderInfo;
|
|
11
24
|
export declare function getStickyDescendants(node: DOMElement): StickyNodeInfo[];
|
|
12
25
|
export declare function renderStickyNode(stickyNode: DOMElement, options: {
|
|
13
26
|
transformers?: OutputTransformer[];
|
package/build/render-sticky.js
CHANGED
|
@@ -8,6 +8,82 @@ import Output from './output.js';
|
|
|
8
8
|
import renderNodeToOutput from './render-node-to-output.js';
|
|
9
9
|
import { getScrollTop } from './scroll.js';
|
|
10
10
|
import { getRelativeTop, getRelativeLeft } from './measure-element.js';
|
|
11
|
+
export function resolveStickyHeaderInfo(stickyNodeInfo, node) {
|
|
12
|
+
const { node: stickyNode, cached, anchor } = stickyNodeInfo;
|
|
13
|
+
let stickyNodeTop;
|
|
14
|
+
let stickyNodeHeight;
|
|
15
|
+
let naturalStickyNodeHeight;
|
|
16
|
+
let parentRelativeTop;
|
|
17
|
+
let parentHeight;
|
|
18
|
+
let parentBorderTop;
|
|
19
|
+
let parentBorderBottom;
|
|
20
|
+
let relativeX;
|
|
21
|
+
let relativeY;
|
|
22
|
+
let nodeId;
|
|
23
|
+
const currentBorderTop = node.yogaNode?.getComputedBorder(Yoga.EDGE_TOP) ?? 0;
|
|
24
|
+
const currentBorderLeft = node.yogaNode?.getComputedBorder(Yoga.EDGE_LEFT) ?? 0;
|
|
25
|
+
if (cached && anchor) {
|
|
26
|
+
const staticRenderPosTop = getRelativeTop(anchor, node) ?? 0;
|
|
27
|
+
const staticRenderPosLeft = getRelativeLeft(anchor, node) ?? 0;
|
|
28
|
+
const anchorBorderTop = anchor.yogaNode?.getComputedBorder(Yoga.EDGE_TOP) ?? 0;
|
|
29
|
+
const anchorBorderLeft = anchor.yogaNode?.getComputedBorder(Yoga.EDGE_LEFT) ?? 0;
|
|
30
|
+
stickyNodeTop =
|
|
31
|
+
staticRenderPosTop + anchorBorderTop + (cached.relativeY ?? 0);
|
|
32
|
+
stickyNodeHeight = cached.height;
|
|
33
|
+
naturalStickyNodeHeight = cached.endRow - cached.startRow;
|
|
34
|
+
parentRelativeTop =
|
|
35
|
+
staticRenderPosTop + anchorBorderTop + (cached.parentRelativeTop ?? 0);
|
|
36
|
+
parentHeight = cached.parentHeight;
|
|
37
|
+
parentBorderTop = cached.parentBorderTop ?? 0;
|
|
38
|
+
parentBorderBottom = cached.parentBorderBottom ?? 0;
|
|
39
|
+
relativeX =
|
|
40
|
+
staticRenderPosLeft +
|
|
41
|
+
anchorBorderLeft +
|
|
42
|
+
(cached.relativeX ?? 0) -
|
|
43
|
+
currentBorderLeft;
|
|
44
|
+
relativeY = stickyNodeTop - currentBorderTop;
|
|
45
|
+
nodeId = cached.nodeId;
|
|
46
|
+
}
|
|
47
|
+
else if (stickyNode) {
|
|
48
|
+
stickyNodeTop = getRelativeTop(stickyNode, node) ?? 0;
|
|
49
|
+
naturalStickyNodeHeight = Math.round(stickyNode.yogaNode?.getComputedHeight() ?? 0);
|
|
50
|
+
const alternateStickyNode = stickyNode.childNodes.find(childNode => childNode.internalStickyAlternate);
|
|
51
|
+
const stuckHeight = Math.round(alternateStickyNode?.yogaNode?.getComputedHeight() ?? 0);
|
|
52
|
+
stickyNodeHeight = Math.max(naturalStickyNodeHeight, stuckHeight);
|
|
53
|
+
const parent = stickyNode.parentNode;
|
|
54
|
+
const parentYogaNode = parent?.yogaNode;
|
|
55
|
+
if (parentYogaNode) {
|
|
56
|
+
parentRelativeTop = getRelativeTop(parent, node) ?? 0;
|
|
57
|
+
parentHeight = Math.round(parentYogaNode.getComputedHeight());
|
|
58
|
+
parentBorderTop = parentYogaNode.getComputedBorder(Yoga.EDGE_TOP);
|
|
59
|
+
parentBorderBottom = parentYogaNode.getComputedBorder(Yoga.EDGE_BOTTOM);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
parentRelativeTop = 0;
|
|
63
|
+
parentHeight = Number.MAX_SAFE_INTEGER;
|
|
64
|
+
parentBorderTop = 0;
|
|
65
|
+
parentBorderBottom = 0;
|
|
66
|
+
}
|
|
67
|
+
relativeX = (getRelativeLeft(stickyNode, node) ?? 0) - currentBorderLeft;
|
|
68
|
+
relativeY = stickyNodeTop - currentBorderTop;
|
|
69
|
+
nodeId = stickyNode.internalId;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw new Error('stickyNodeInfo must have a node if not using cached headers');
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
stickyNodeTop,
|
|
76
|
+
stickyNodeHeight,
|
|
77
|
+
naturalStickyNodeHeight,
|
|
78
|
+
parentRelativeTop,
|
|
79
|
+
parentHeight,
|
|
80
|
+
parentBorderTop,
|
|
81
|
+
parentBorderBottom,
|
|
82
|
+
relativeX,
|
|
83
|
+
relativeY,
|
|
84
|
+
nodeId,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
11
87
|
export function getStickyDescendants(node) {
|
|
12
88
|
const stickyDescendants = [];
|
|
13
89
|
for (const child of node.childNodes) {
|
|
@@ -79,45 +155,18 @@ export function identifyActiveStickyNodes(stickyNodes, node, scrollTop, viewport
|
|
|
79
155
|
let activeBottomStickyNodeIndex = -1;
|
|
80
156
|
let activeBottomStickyNode;
|
|
81
157
|
for (const [index, stickyNodeInfo] of stickyNodes.entries()) {
|
|
82
|
-
const {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
let parentTop;
|
|
86
|
-
let parentHeight;
|
|
87
|
-
if (cached && anchor) {
|
|
88
|
-
const staticRenderPos = getRelativeTop(anchor, node) ?? 0;
|
|
89
|
-
stickyNodeTop = staticRenderPos + cached.relativeY;
|
|
90
|
-
stickyNodeHeight = cached.height;
|
|
91
|
-
parentTop = staticRenderPos + cached.parentRelativeTop;
|
|
92
|
-
parentHeight = cached.parentHeight;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (!stickyNode)
|
|
96
|
-
continue;
|
|
97
|
-
if (!stickyNode.yogaNode)
|
|
98
|
-
continue;
|
|
99
|
-
stickyNodeTop = getRelativeTop(stickyNode, node) ?? 0;
|
|
100
|
-
stickyNodeHeight = Math.round(stickyNode.yogaNode.getComputedHeight());
|
|
101
|
-
const parent = stickyNode.parentNode;
|
|
102
|
-
if (parent?.yogaNode) {
|
|
103
|
-
parentTop = getRelativeTop(parent, node) ?? 0;
|
|
104
|
-
parentHeight = Math.round(parent.yogaNode.getComputedHeight());
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
parentTop = 0;
|
|
108
|
-
parentHeight = Number.MAX_SAFE_INTEGER;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
const stickyNodeBottom = stickyNodeTop + stickyNodeHeight;
|
|
158
|
+
const { type: stickyType } = stickyNodeInfo;
|
|
159
|
+
const { stickyNodeTop, naturalStickyNodeHeight, parentRelativeTop, parentHeight, } = resolveStickyHeaderInfo(stickyNodeInfo, node);
|
|
160
|
+
const stickyNodeBottom = stickyNodeTop + naturalStickyNodeHeight;
|
|
112
161
|
if (stickyType === 'top' &&
|
|
113
162
|
stickyNodeTop < scrollTop &&
|
|
114
|
-
|
|
163
|
+
parentRelativeTop + parentHeight > scrollTop) {
|
|
115
164
|
activeTopStickyNode = stickyNodeInfo;
|
|
116
165
|
activeTopStickyNodeIndex = index;
|
|
117
166
|
}
|
|
118
167
|
if (stickyType === 'bottom' &&
|
|
119
168
|
Math.floor(stickyNodeBottom) > Math.floor(viewportBottom) &&
|
|
120
|
-
|
|
169
|
+
parentRelativeTop < viewportBottom) {
|
|
121
170
|
activeBottomStickyNode = stickyNodeInfo;
|
|
122
171
|
activeBottomStickyNodeIndex = index;
|
|
123
172
|
}
|
|
@@ -166,55 +215,22 @@ export function identifyActiveStickyNodes(stickyNodes, node, scrollTop, viewport
|
|
|
166
215
|
return activeStickyNodes;
|
|
167
216
|
}
|
|
168
217
|
export function renderActiveStickyNodes(activeStickyNodes, node, output, options) {
|
|
169
|
-
const { x, y, newTransformers, skipStaticElements, selectionMap, selectionStyle, trackSelection, } = options;
|
|
218
|
+
const { x: _x, y, newTransformers, skipStaticElements, selectionMap, selectionStyle, trackSelection, } = options;
|
|
170
219
|
const { yogaNode } = node;
|
|
171
220
|
if (!yogaNode)
|
|
172
221
|
return;
|
|
173
222
|
for (const { stickyNode, type, nextStickyNodeInfo, cached, anchor, } of activeStickyNodes) {
|
|
174
|
-
let stickyNodeHeight;
|
|
175
|
-
let stickyNodeTop;
|
|
176
|
-
let parentTop;
|
|
177
|
-
let parentHeight;
|
|
178
|
-
let stickyOffsetX;
|
|
179
|
-
let stickyNodeId;
|
|
180
223
|
const currentBorderTop = yogaNode.getComputedBorder(Yoga.EDGE_TOP);
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
parentHeight = cached.parentHeight;
|
|
189
|
-
stickyOffsetX = x + staticRenderPosLeft + cached.relativeX;
|
|
190
|
-
stickyNodeId = cached.nodeId;
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
if (!stickyNode)
|
|
194
|
-
continue;
|
|
195
|
-
stickyNodeTop = getRelativeTop(stickyNode, node) ?? 0;
|
|
196
|
-
const naturalHeight = Math.round(stickyNode.yogaNode.getComputedHeight());
|
|
197
|
-
const alternateStickyNode = stickyNode.childNodes.find(childNode => childNode.internalStickyAlternate);
|
|
198
|
-
const stuckHeight = Math.round(alternateStickyNode?.yogaNode?.getComputedHeight() ?? 0);
|
|
199
|
-
stickyNodeHeight = Math.max(naturalHeight, stuckHeight);
|
|
200
|
-
const parent = stickyNode.parentNode;
|
|
201
|
-
if (parent?.yogaNode) {
|
|
202
|
-
parentTop = getRelativeTop(parent, node) ?? 0;
|
|
203
|
-
parentHeight = Math.round(parent.yogaNode.getComputedHeight());
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
parentTop = 0;
|
|
207
|
-
parentHeight = Number.MAX_SAFE_INTEGER;
|
|
208
|
-
}
|
|
209
|
-
stickyOffsetX = x + (getRelativeLeft(stickyNode, node) ?? 0);
|
|
210
|
-
stickyNodeId = stickyNode.internalId;
|
|
211
|
-
}
|
|
224
|
+
const stickyNodeInfo = {
|
|
225
|
+
node: stickyNode,
|
|
226
|
+
type,
|
|
227
|
+
cached,
|
|
228
|
+
anchor,
|
|
229
|
+
};
|
|
230
|
+
const { stickyNodeTop, stickyNodeHeight, parentRelativeTop, parentHeight, parentBorderTop, parentBorderBottom, relativeX, relativeY: _relativeY, nodeId: stickyNodeId, } = resolveStickyHeaderInfo(stickyNodeInfo, node);
|
|
212
231
|
const currentScrollTop = getScrollTop(node);
|
|
213
232
|
const currentClientHeight = node.internal_scrollState?.clientHeight ?? 0;
|
|
214
|
-
const
|
|
215
|
-
? (cached.parentBorderBottom ?? 0)
|
|
216
|
-
: (stickyNode.parentNode?.yogaNode?.getComputedBorder(Yoga.EDGE_BOTTOM) ?? 0);
|
|
217
|
-
const parentBottom = parentTop + parentHeight - parentBorderBottom;
|
|
233
|
+
const parentBottom = parentRelativeTop + parentHeight - parentBorderBottom;
|
|
218
234
|
let finalStickyY = 0;
|
|
219
235
|
let maxStuckY;
|
|
220
236
|
let minStuckY;
|
|
@@ -244,11 +260,7 @@ export function renderActiveStickyNodes(activeStickyNodes, node, output, options
|
|
|
244
260
|
maxStuckY = maxStickyTop - (y + currentBorderTop);
|
|
245
261
|
}
|
|
246
262
|
else {
|
|
247
|
-
|
|
248
|
-
? (cached.parentBorderTop ?? 0)
|
|
249
|
-
: (stickyNode.parentNode?.yogaNode?.getComputedBorder(Yoga.EDGE_TOP) ??
|
|
250
|
-
0);
|
|
251
|
-
let minStickyTop = y - currentScrollTop + parentTop + parentBorderTop;
|
|
263
|
+
let minStickyTop = y - currentScrollTop + parentRelativeTop + parentBorderTop;
|
|
252
264
|
const naturalStickyY = y - currentScrollTop + stickyNodeTop;
|
|
253
265
|
const stuckStickyY = y + currentBorderTop + currentClientHeight - stickyNodeHeight;
|
|
254
266
|
if (nextStickyNodeInfo) {
|
|
@@ -300,7 +312,7 @@ export function renderActiveStickyNodes(activeStickyNodes, node, output, options
|
|
|
300
312
|
lines: naturalLines,
|
|
301
313
|
stuckLines,
|
|
302
314
|
styledOutput: stuckLines ?? naturalLines,
|
|
303
|
-
x:
|
|
315
|
+
x: relativeX,
|
|
304
316
|
y: finalStickyY - (y + yogaNode.getComputedBorder(Yoga.EDGE_TOP)),
|
|
305
317
|
naturalRow,
|
|
306
318
|
startRow: naturalRow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-sticky.js","sourceRoot":"","sources":["../src/render-sticky.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ import { StyledLine } from './styled-line.js';
|
|
|
8
8
|
export const applyPaddingToStyledChars = (node, lines) => {
|
|
9
9
|
const yogaNode = node.childNodes[0]?.yogaNode;
|
|
10
10
|
if (yogaNode) {
|
|
11
|
-
const offsetX = yogaNode.getComputedLeft();
|
|
12
|
-
const offsetY = yogaNode.getComputedTop();
|
|
11
|
+
const offsetX = Math.round(yogaNode.getComputedLeft());
|
|
12
|
+
const offsetY = Math.round(yogaNode.getComputedTop());
|
|
13
13
|
if (offsetX > 0 || offsetY > 0) {
|
|
14
14
|
const paddedLines = [];
|
|
15
15
|
const paddingLeft = offsetX > 0 ? StyledLine.empty(offsetX) : undefined;
|
|
@@ -113,8 +113,8 @@ export function handleTextNode(node, output, options) {
|
|
|
113
113
|
// But padding affects the visual cursor index!
|
|
114
114
|
// If we pad, the cursor shifts. Let's do it after, but we need to shift the cursor position by the padding.
|
|
115
115
|
const yogaNode = node.childNodes[0]?.yogaNode;
|
|
116
|
-
const offsetX = yogaNode?.getComputedLeft() ?? 0;
|
|
117
|
-
const offsetY = yogaNode?.getComputedTop() ?? 0;
|
|
116
|
+
const offsetX = Math.round(yogaNode?.getComputedLeft() ?? 0);
|
|
117
|
+
const offsetY = Math.round(yogaNode?.getComputedTop() ?? 0);
|
|
118
118
|
lines = applyPaddingToStyledChars(node, lines);
|
|
119
119
|
if (node.internal_terminalCursorFocus &&
|
|
120
120
|
node.internal_terminalCursorPosition !== undefined) {
|
|
@@ -129,8 +129,8 @@ export function handleTextNode(node, output, options) {
|
|
|
129
129
|
}
|
|
130
130
|
else {
|
|
131
131
|
const yogaNode = node.childNodes[0]?.yogaNode;
|
|
132
|
-
const offsetX = yogaNode?.getComputedLeft() ?? 0;
|
|
133
|
-
const offsetY = yogaNode?.getComputedTop() ?? 0;
|
|
132
|
+
const offsetX = Math.round(yogaNode?.getComputedLeft() ?? 0);
|
|
133
|
+
const offsetY = Math.round(yogaNode?.getComputedTop() ?? 0);
|
|
134
134
|
const line = StyledLine.empty(offsetX);
|
|
135
135
|
lines = [line];
|
|
136
136
|
for (let i = 0; i < offsetY; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-text-node.js","sourceRoot":"","sources":["../src/render-text-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAEzE,OAAO,EACN,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,IAAgB,EAChB,KAAmB,EACJ,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"render-text-node.js","sourceRoot":"","sources":["../src/render-text-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,30 +19,28 @@ const squashTextNodes = (node) => {
|
|
|
19
19
|
*/
|
|
20
20
|
export const squashTextNodesWithMap = (node, map, offsetRef) => {
|
|
21
21
|
let text = '';
|
|
22
|
-
const localMap = new Map();
|
|
23
|
-
const localOffsetRef = { current: 0 };
|
|
24
22
|
for (let index = 0; index < node.childNodes.length; index++) {
|
|
25
23
|
const childNode = node.childNodes[index];
|
|
26
24
|
if (childNode === undefined) {
|
|
27
25
|
continue;
|
|
28
26
|
}
|
|
29
27
|
let nodeText = '';
|
|
30
|
-
const startOffset =
|
|
28
|
+
const startOffset = offsetRef.current;
|
|
31
29
|
if (childNode.nodeName === '#text') {
|
|
32
30
|
nodeText = childNode.nodeValue;
|
|
33
|
-
|
|
31
|
+
map.set(childNode, {
|
|
34
32
|
start: startOffset,
|
|
35
33
|
end: startOffset + nodeText.length,
|
|
36
34
|
});
|
|
37
|
-
|
|
35
|
+
offsetRef.current += nodeText.length;
|
|
38
36
|
}
|
|
39
37
|
else {
|
|
40
38
|
if (childNode.nodeName === 'ink-text' ||
|
|
41
39
|
childNode.nodeName === 'ink-virtual-text') {
|
|
42
|
-
nodeText = squashTextNodesWithMap(childNode,
|
|
43
|
-
|
|
40
|
+
nodeText = squashTextNodesWithMap(childNode, map, offsetRef);
|
|
41
|
+
map.set(childNode, {
|
|
44
42
|
start: startOffset,
|
|
45
|
-
end:
|
|
43
|
+
end: offsetRef.current,
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
46
|
// Since these text nodes are being concatenated, `Output` instance won't be able to
|
|
@@ -54,13 +52,6 @@ export const squashTextNodesWithMap = (node, map, offsetRef) => {
|
|
|
54
52
|
}
|
|
55
53
|
text += nodeText;
|
|
56
54
|
}
|
|
57
|
-
for (const [k, v] of localMap.entries()) {
|
|
58
|
-
map.set(k, {
|
|
59
|
-
start: v.start + offsetRef.current,
|
|
60
|
-
end: v.end + offsetRef.current,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
offsetRef.current += text.length;
|
|
64
55
|
return text;
|
|
65
56
|
};
|
|
66
57
|
export default squashTextNodes;
|