@alchemy.run/sigil 0.0.0-alpha.1 → 0.0.0-alpha.11
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/README.md +499 -313
- package/THIRD_PARTY_NOTICES.md +98 -23
- package/dist/Text-DV9CuzAT.d.ts +452 -0
- package/dist/ansi.d.ts +217 -0
- package/dist/ansi.js +87 -0
- package/dist/capabilities.d.ts +5 -0
- package/dist/capabilities.js +3 -0
- package/dist/cell-_ZVhbfl0.js +44 -0
- package/dist/color-CkbalRqK.js +2 -0
- package/dist/color-policy-BAC9-TZX.js +592 -0
- package/dist/color-policy-CCxuHIdD.d.ts +22 -0
- package/dist/color-profile-CyeHnG1T.d.ts +97 -0
- package/dist/color-profile-DHhQHY55.js +36 -0
- package/dist/color.d.ts +21 -0
- package/dist/color.js +3 -0
- package/dist/cursor-position-D2LAkRG0.d.ts +7 -0
- package/dist/detect-B3dL4Q11.js +374 -0
- package/dist/detect-Db6GbKOm.d.ts +195 -0
- package/dist/{devtools-QpCMm9JH.mjs → devtools-DbthxoD1.js} +23 -24
- package/dist/env-YVw64yZS.js +9 -0
- package/dist/escapes-CB_6CWOE.d.ts +72 -0
- package/dist/geometry-BxXOzJgo.d.ts +11 -0
- package/dist/index-D48vQhhe.d.ts +21 -0
- package/dist/index-DDVME65c.d.ts +919 -0
- package/dist/index.d.ts +1310 -0
- package/dist/index.js +3211 -0
- package/dist/jsx-dev-runtime.d.ts +2 -0
- package/dist/jsx-dev-runtime.js +227 -0
- package/dist/jsx-runtime-XtwIVFsg.js +255 -0
- package/dist/jsx-runtime.d.ts +2 -0
- package/dist/jsx-runtime.js +8 -0
- package/dist/osc-BFKKSqpg.js +71 -0
- package/dist/osc-Cn0fw77g.d.ts +23 -0
- package/dist/paint-Cx-zC_sX.d.ts +81 -0
- package/dist/query-BNc2B8GD.d.ts +152 -0
- package/dist/react-CTZ_8dwh.js +1197 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +49 -0
- package/dist/router.d.ts +392 -0
- package/dist/router.js +711 -0
- package/dist/sample-Cqw1bjUL.js +445 -0
- package/dist/screen-CgC2WlVM.d.ts +49 -0
- package/dist/screen-CiPytswf.js +342 -0
- package/dist/screen.d.ts +5 -0
- package/dist/screen.js +5 -0
- package/dist/semantic-text-style-DIMzC7xt.js +91 -0
- package/dist/serialize-BTkAZgw1.js +79 -0
- package/dist/session-DDQ5V300.js +723 -0
- package/dist/sgr-BhwaWAJB.js +246 -0
- package/dist/store-C1P5fOUi.d.ts +72 -0
- package/dist/string-width-CijQwpIk.js +69 -0
- package/dist/strip-BvU4toXG.js +6 -0
- package/dist/terminal.d.ts +121 -0
- package/dist/terminal.js +2 -0
- package/dist/tokenize-AjqbvtiT.js +1242 -0
- package/dist/tokenize-Dx1y_l5H.d.ts +57 -0
- package/dist/truncate-D31fhU6i.js +562 -0
- package/dist/use-focus-B5npZrJU.js +18736 -0
- package/dist/yoga-5jKhYCJC.js +3465 -0
- package/dist/yoga.d.ts +2 -0
- package/dist/yoga.js +2 -0
- package/package.json +89 -29
- package/src/ansi/chalk.ts +138 -0
- package/src/ansi/cursor.ts +46 -0
- package/src/ansi/east-asian-width.ts +259 -0
- package/src/ansi/escapes.ts +120 -0
- package/src/ansi/graphemes.ts +8 -0
- package/src/ansi/hyperlink.ts +44 -0
- package/src/ansi/index.ts +27 -0
- package/src/ansi/osc.ts +77 -0
- package/src/ansi/sgr.ts +234 -0
- package/src/ansi/slice.ts +43 -0
- package/src/ansi/string-width.ts +121 -0
- package/src/ansi/strip.ts +13 -0
- package/src/ansi/tokenize.ts +380 -0
- package/src/ansi/truncate.ts +196 -0
- package/src/ansi/wrap.ts +765 -0
- package/src/ansi-tokenizer.ts +510 -0
- package/src/capabilities/color-policy.ts +34 -0
- package/src/capabilities/detect.ts +608 -0
- package/src/capabilities/index.ts +37 -0
- package/src/capabilities/query.ts +679 -0
- package/src/capabilities/store.ts +394 -0
- package/src/code-excerpt.ts +39 -0
- package/src/color/index.ts +3 -0
- package/src/color/paint.ts +169 -0
- package/src/color/palette.ts +48 -0
- package/src/color/sample.ts +323 -0
- package/src/color.ts +1 -0
- package/src/components/AccessibilityContext.ts +5 -0
- package/src/components/AnimationContext.ts +24 -0
- package/src/components/AnsiText.tsx +42 -0
- package/src/components/App.tsx +878 -0
- package/src/components/AppContext.ts +111 -0
- package/src/components/BackgroundContext.ts +7 -0
- package/src/components/Box.tsx +100 -0
- package/src/components/CursorContext.ts +19 -0
- package/src/components/ErrorBoundary.tsx +39 -0
- package/src/components/ErrorOverview.tsx +135 -0
- package/src/components/FocusContext.ts +30 -0
- package/src/components/Hyperlink.tsx +56 -0
- package/src/components/Newline.tsx +16 -0
- package/src/components/Spacer.tsx +11 -0
- package/src/components/Static.tsx +60 -0
- package/src/components/StderrContext.ts +24 -0
- package/src/components/StdinContext.ts +48 -0
- package/src/components/StdoutContext.ts +26 -0
- package/src/components/TerminalOscContext.ts +25 -0
- package/src/components/Text.tsx +122 -0
- package/src/components/Transform.tsx +38 -0
- package/src/components/VirtualList.tsx +128 -0
- package/src/cursor-position.ts +103 -0
- package/src/devtools.ts +103 -0
- package/src/dom.ts +301 -0
- package/src/env.ts +12 -0
- package/src/get-max-width.ts +11 -0
- package/src/global.d.ts +38 -0
- package/src/glyphs.ts +99 -0
- package/src/hooks/use-animation.ts +142 -0
- package/src/hooks/use-app.ts +8 -0
- package/src/hooks/use-box-metrics.ts +134 -0
- package/src/hooks/use-capabilities.ts +73 -0
- package/src/hooks/use-cursor.ts +33 -0
- package/src/hooks/use-focus-manager.ts +62 -0
- package/src/hooks/use-focus.ts +82 -0
- package/src/hooks/use-input.ts +267 -0
- package/src/hooks/use-is-screen-reader-enabled.ts +12 -0
- package/src/hooks/use-paste.ts +78 -0
- package/src/hooks/use-stderr.ts +8 -0
- package/src/hooks/use-stdin.ts +10 -0
- package/src/hooks/use-stdout.ts +8 -0
- package/src/hooks/use-terminal-osc.ts +59 -0
- package/src/hooks/use-virtual-scroll.ts +84 -0
- package/src/hooks/use-window-size.ts +37 -0
- package/src/index.ts +96 -0
- package/src/ink.tsx +1452 -0
- package/src/input-parser.ts +303 -0
- package/src/instances.ts +9 -0
- package/src/jsx-dev-runtime.ts +3 -0
- package/src/jsx-runtime.ts +6 -0
- package/src/kitty-keyboard.ts +185 -0
- package/src/measure-element.ts +62 -0
- package/src/measure-text.ts +31 -0
- package/src/paint-tree.ts +220 -0
- package/src/parse-keypress.ts +515 -0
- package/src/parse-stack-line.ts +138 -0
- package/src/patch-console.ts +106 -0
- package/src/quick-lru.ts +85 -0
- package/src/react.ts +53 -0
- package/src/reconciler.ts +476 -0
- package/src/render-background.ts +59 -0
- package/src/render-border.ts +167 -0
- package/src/render-frame.ts +83 -0
- package/src/render-to-string.ts +146 -0
- package/src/render.ts +284 -0
- package/src/router/components.tsx +343 -0
- package/src/router/context.ts +41 -0
- package/src/router/history.ts +194 -0
- package/src/router/hooks.tsx +391 -0
- package/src/router/index.ts +34 -0
- package/src/router/matcher.ts +571 -0
- package/src/sanitize-ansi.ts +33 -0
- package/src/screen/ansi.ts +184 -0
- package/src/screen/canvas.ts +160 -0
- package/src/screen/cell.ts +138 -0
- package/src/screen/color-profile.ts +47 -0
- package/src/screen/geometry.ts +9 -0
- package/src/screen/index.ts +6 -0
- package/src/screen/screen.ts +305 -0
- package/src/screen/serialize.ts +129 -0
- package/src/screen.ts +1 -0
- package/src/semantic-text-style.ts +118 -0
- package/src/signal-exit.ts +106 -0
- package/src/squash-text-nodes.ts +37 -0
- package/src/stream.ts +28 -0
- package/src/structured-text.ts +325 -0
- package/src/styles.ts +753 -0
- package/src/terminal/index.ts +2 -0
- package/src/terminal/inline-presenter.ts +120 -0
- package/src/terminal/input.ts +92 -0
- package/src/terminal/render-scheduler.ts +37 -0
- package/src/terminal/screen-presenter.ts +242 -0
- package/src/terminal/session.ts +408 -0
- package/src/terminal-size.ts +58 -0
- package/src/terminal.ts +1 -0
- package/src/testing/browser.ts +588 -0
- package/src/testing/emulators.ts +205 -0
- package/src/testing/explorer-app/index.html +12 -0
- package/src/testing/explorer-app/main.ts +381 -0
- package/src/testing/explorer-app/style.css +194 -0
- package/src/testing/explorer-app/tsconfig.json +15 -0
- package/src/testing/explorer-app/vite-env.d.ts +1 -0
- package/src/testing/index.ts +26 -0
- package/src/testing/keys.ts +56 -0
- package/src/testing/live.ts +85 -0
- package/src/testing/matchers.ts +70 -0
- package/src/testing/public.ts +94 -0
- package/src/testing/terminal.ts +361 -0
- package/src/testing/vitest.ts +157 -0
- package/src/throttle.ts +73 -0
- package/src/transform-adapter.ts +14 -0
- package/src/types.ts +10 -0
- package/src/virtual-scroll.ts +133 -0
- package/src/wrap-text.ts +54 -0
- package/src/yoga/config.ts +57 -0
- package/src/yoga/core/absoluteLayout.ts +626 -0
- package/src/yoga/core/baseline.ts +66 -0
- package/src/yoga/core/cache.ts +136 -0
- package/src/yoga/core/calculateLayout.ts +2926 -0
- package/src/yoga/core/config.ts +104 -0
- package/src/yoga/core/flexLine.ts +177 -0
- package/src/yoga/core/helpers.ts +293 -0
- package/src/yoga/core/layoutResults.ts +167 -0
- package/src/yoga/core/node.ts +611 -0
- package/src/yoga/core/numeric.ts +44 -0
- package/src/yoga/core/pixelGrid.ts +151 -0
- package/src/yoga/core/style.ts +887 -0
- package/src/yoga/core/types.ts +224 -0
- package/src/yoga/generated/YGEnums.ts +263 -0
- package/src/yoga/index.ts +19 -0
- package/src/yoga/node.ts +1140 -0
- package/dist/index.d.mts +0 -2379
- package/dist/index.mjs +0 -10072
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Derived from Yoga. See THIRD_PARTY_NOTICES.md.
|
|
3
|
+
|
|
4
|
+
// Port of yoga/algorithm/Cache.cpp.
|
|
5
|
+
|
|
6
|
+
import type { Config } from "#/yoga/core/config.ts";
|
|
7
|
+
import { SizingMode } from "#/yoga/core/helpers.ts";
|
|
8
|
+
import { inexactEquals, isDefined } from "#/yoga/core/numeric.ts";
|
|
9
|
+
import { roundValueToPixelGrid } from "#/yoga/core/pixelGrid.ts";
|
|
10
|
+
|
|
11
|
+
function sizeIsExactAndMatchesOldMeasuredSize(
|
|
12
|
+
sizeMode: SizingMode,
|
|
13
|
+
size: number,
|
|
14
|
+
lastComputedSize: number,
|
|
15
|
+
): boolean {
|
|
16
|
+
return sizeMode === SizingMode.StretchFit && inexactEquals(size, lastComputedSize);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function oldSizeIsMaxContentAndStillFits(
|
|
20
|
+
sizeMode: SizingMode,
|
|
21
|
+
size: number,
|
|
22
|
+
lastSizeMode: SizingMode,
|
|
23
|
+
lastComputedSize: number,
|
|
24
|
+
): boolean {
|
|
25
|
+
return (
|
|
26
|
+
sizeMode === SizingMode.FitContent &&
|
|
27
|
+
lastSizeMode === SizingMode.MaxContent &&
|
|
28
|
+
(size >= lastComputedSize || inexactEquals(size, lastComputedSize))
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function newSizeIsStricterAndStillValid(
|
|
33
|
+
sizeMode: SizingMode,
|
|
34
|
+
size: number,
|
|
35
|
+
lastSizeMode: SizingMode,
|
|
36
|
+
lastSize: number,
|
|
37
|
+
lastComputedSize: number,
|
|
38
|
+
): boolean {
|
|
39
|
+
return (
|
|
40
|
+
lastSizeMode === SizingMode.FitContent &&
|
|
41
|
+
sizeMode === SizingMode.FitContent &&
|
|
42
|
+
isDefined(lastSize) &&
|
|
43
|
+
isDefined(size) &&
|
|
44
|
+
isDefined(lastComputedSize) &&
|
|
45
|
+
lastSize > size &&
|
|
46
|
+
(lastComputedSize <= size || inexactEquals(size, lastComputedSize))
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function canUseCachedMeasurement(
|
|
51
|
+
widthMode: SizingMode,
|
|
52
|
+
availableWidth: number,
|
|
53
|
+
heightMode: SizingMode,
|
|
54
|
+
availableHeight: number,
|
|
55
|
+
lastWidthMode: SizingMode,
|
|
56
|
+
lastAvailableWidth: number,
|
|
57
|
+
lastHeightMode: SizingMode,
|
|
58
|
+
lastAvailableHeight: number,
|
|
59
|
+
lastComputedWidth: number,
|
|
60
|
+
lastComputedHeight: number,
|
|
61
|
+
marginRow: number,
|
|
62
|
+
marginColumn: number,
|
|
63
|
+
config: Config,
|
|
64
|
+
): boolean {
|
|
65
|
+
if (
|
|
66
|
+
(isDefined(lastComputedHeight) && lastComputedHeight < 0) ||
|
|
67
|
+
(isDefined(lastComputedWidth) && lastComputedWidth < 0)
|
|
68
|
+
) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const pointScaleFactor = config.getPointScaleFactor();
|
|
73
|
+
|
|
74
|
+
const useRoundedComparison = pointScaleFactor !== 0;
|
|
75
|
+
const effectiveWidth = useRoundedComparison
|
|
76
|
+
? roundValueToPixelGrid(availableWidth, pointScaleFactor, false, false)
|
|
77
|
+
: availableWidth;
|
|
78
|
+
const effectiveHeight = useRoundedComparison
|
|
79
|
+
? roundValueToPixelGrid(availableHeight, pointScaleFactor, false, false)
|
|
80
|
+
: availableHeight;
|
|
81
|
+
const effectiveLastWidth = useRoundedComparison
|
|
82
|
+
? roundValueToPixelGrid(lastAvailableWidth, pointScaleFactor, false, false)
|
|
83
|
+
: lastAvailableWidth;
|
|
84
|
+
const effectiveLastHeight = useRoundedComparison
|
|
85
|
+
? roundValueToPixelGrid(lastAvailableHeight, pointScaleFactor, false, false)
|
|
86
|
+
: lastAvailableHeight;
|
|
87
|
+
|
|
88
|
+
const hasSameWidthSpec =
|
|
89
|
+
lastWidthMode === widthMode && inexactEquals(effectiveLastWidth, effectiveWidth);
|
|
90
|
+
const hasSameHeightSpec =
|
|
91
|
+
lastHeightMode === heightMode && inexactEquals(effectiveLastHeight, effectiveHeight);
|
|
92
|
+
|
|
93
|
+
const widthIsCompatible =
|
|
94
|
+
hasSameWidthSpec ||
|
|
95
|
+
sizeIsExactAndMatchesOldMeasuredSize(
|
|
96
|
+
widthMode,
|
|
97
|
+
availableWidth - marginRow,
|
|
98
|
+
lastComputedWidth,
|
|
99
|
+
) ||
|
|
100
|
+
oldSizeIsMaxContentAndStillFits(
|
|
101
|
+
widthMode,
|
|
102
|
+
availableWidth - marginRow,
|
|
103
|
+
lastWidthMode,
|
|
104
|
+
lastComputedWidth,
|
|
105
|
+
) ||
|
|
106
|
+
newSizeIsStricterAndStillValid(
|
|
107
|
+
widthMode,
|
|
108
|
+
availableWidth - marginRow,
|
|
109
|
+
lastWidthMode,
|
|
110
|
+
lastAvailableWidth,
|
|
111
|
+
lastComputedWidth,
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
const heightIsCompatible =
|
|
115
|
+
hasSameHeightSpec ||
|
|
116
|
+
sizeIsExactAndMatchesOldMeasuredSize(
|
|
117
|
+
heightMode,
|
|
118
|
+
availableHeight - marginColumn,
|
|
119
|
+
lastComputedHeight,
|
|
120
|
+
) ||
|
|
121
|
+
oldSizeIsMaxContentAndStillFits(
|
|
122
|
+
heightMode,
|
|
123
|
+
availableHeight - marginColumn,
|
|
124
|
+
lastHeightMode,
|
|
125
|
+
lastComputedHeight,
|
|
126
|
+
) ||
|
|
127
|
+
newSizeIsStricterAndStillValid(
|
|
128
|
+
heightMode,
|
|
129
|
+
availableHeight - marginColumn,
|
|
130
|
+
lastHeightMode,
|
|
131
|
+
lastAvailableHeight,
|
|
132
|
+
lastComputedHeight,
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
return widthIsCompatible && heightIsCompatible;
|
|
136
|
+
}
|