@alchemy.run/sigil 0.0.0-alpha.1 → 0.0.0-alpha.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/README.md +299 -299
- package/dist/ansi.d.ts +223 -0
- package/dist/ansi.js +2 -0
- package/dist/{devtools-QpCMm9JH.mjs → devtools-BhYGjb7h.js} +1 -1
- package/dist/index-DDVME65c.d.ts +919 -0
- package/dist/index.d.ts +1657 -0
- package/dist/index.js +4643 -0
- package/dist/sgr-CMfEpjSk.d.ts +91 -0
- package/dist/truncate-CBiyyZzw.js +2156 -0
- package/dist/yoga-5jKhYCJC.js +3465 -0
- package/dist/yoga.d.ts +2 -0
- package/dist/yoga.js +2 -0
- package/package.json +37 -17
- package/src/ansi/chalk.ts +179 -0
- package/src/ansi/cursor.ts +48 -0
- package/src/ansi/east-asian-width.ts +215 -0
- package/src/ansi/escapes.ts +128 -0
- package/src/ansi/index.ts +27 -0
- package/src/ansi/sgr.ts +237 -0
- package/src/ansi/slice.ts +43 -0
- package/src/ansi/string-width.ts +236 -0
- package/src/ansi/strip.ts +33 -0
- package/src/ansi/supports-color.ts +213 -0
- package/src/ansi/tokenize.ts +453 -0
- package/src/ansi/truncate.ts +194 -0
- package/src/ansi/widest-line.ts +12 -0
- package/src/ansi/wrap.ts +766 -0
- package/src/ansi-tokenizer.ts +510 -0
- package/src/auto-bind.ts +41 -0
- package/src/boxes.ts +100 -0
- package/src/code-excerpt.ts +39 -0
- package/src/colorize.ts +60 -0
- package/src/components/AccessibilityContext.ts +5 -0
- package/src/components/AnimationContext.ts +24 -0
- package/src/components/App.tsx +781 -0
- package/src/components/AppContext.ts +111 -0
- package/src/components/BackgroundContext.ts +8 -0
- package/src/components/Box.tsx +116 -0
- package/src/components/CursorContext.ts +19 -0
- package/src/components/ErrorBoundary.tsx +38 -0
- package/src/components/ErrorOverview.tsx +133 -0
- package/src/components/FocusContext.ts +30 -0
- package/src/components/Newline.tsx +15 -0
- package/src/components/Spacer.tsx +10 -0
- package/src/components/Static.tsx +59 -0
- package/src/components/StderrContext.ts +26 -0
- package/src/components/StdinContext.ts +49 -0
- package/src/components/StdoutContext.ts +28 -0
- package/src/components/Text.tsx +144 -0
- package/src/components/Transform.tsx +37 -0
- package/src/cursor-position.ts +103 -0
- package/src/devtools-window-polyfill.ts +73 -0
- package/src/devtools.ts +43 -0
- package/src/dom.ts +292 -0
- package/src/get-max-width.ts +11 -0
- package/src/global.d.ts +36 -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-cursor.ts +33 -0
- package/src/hooks/use-focus-manager.ts +62 -0
- package/src/hooks/use-focus.ts +83 -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-window-size.ts +41 -0
- package/src/indent-string.ts +16 -0
- package/src/index.ts +44 -0
- package/src/ink.tsx +1506 -0
- package/src/input-parser.ts +283 -0
- package/src/instances.ts +9 -0
- package/src/is-in-ci.ts +7 -0
- package/src/kitty-keyboard.ts +57 -0
- package/src/log-update.ts +370 -0
- package/src/measure-element.ts +62 -0
- package/src/measure-text.ts +31 -0
- package/src/output.ts +308 -0
- package/src/parse-keypress.ts +516 -0
- package/src/parse-stack-line.ts +139 -0
- package/src/patch-console.ts +62 -0
- package/src/quick-lru.ts +85 -0
- package/src/reconciler.ts +451 -0
- package/src/render-background.ts +38 -0
- package/src/render-border.ts +134 -0
- package/src/render-node-to-output.ts +191 -0
- package/src/render-to-string.ts +131 -0
- package/src/render.ts +276 -0
- package/src/renderer.ts +73 -0
- package/src/sanitize-ansi.ts +33 -0
- package/src/signal-exit.ts +107 -0
- package/src/squash-text-nodes.ts +40 -0
- package/src/stream.ts +30 -0
- package/src/styles.ts +748 -0
- package/src/terminal-size.ts +57 -0
- package/src/throttle.ts +73 -0
- package/src/types.ts +15 -0
- package/src/utils.ts +40 -0
- package/src/wrap-text.ts +50 -0
- package/src/write-synchronized.ts +9 -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 +2920 -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
package/src/colorize.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { chalk, type ForegroundColorName, type BackgroundColorName } from "./ansi/chalk.ts";
|
|
2
|
+
|
|
3
|
+
type ColorType = "foreground" | "background";
|
|
4
|
+
|
|
5
|
+
const rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
|
|
6
|
+
const ansiRegex = /^ansi256\(\s?(\d+)\s?\)$/;
|
|
7
|
+
|
|
8
|
+
const isNamedColor = (color: string): color is ForegroundColorName => {
|
|
9
|
+
return color in chalk;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const colorize = (str: string, color: string | undefined, type: ColorType): string => {
|
|
13
|
+
if (!color) {
|
|
14
|
+
return str;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (isNamedColor(color)) {
|
|
18
|
+
if (type === "foreground") {
|
|
19
|
+
return chalk[color](str);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const methodName = `bg${color[0]!.toUpperCase() + color.slice(1)}` as BackgroundColorName;
|
|
23
|
+
|
|
24
|
+
return chalk[methodName](str);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (color.startsWith("#")) {
|
|
28
|
+
return type === "foreground" ? chalk.hex(color)(str) : chalk.bgHex(color)(str);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (color.startsWith("ansi256")) {
|
|
32
|
+
const matches = ansiRegex.exec(color);
|
|
33
|
+
|
|
34
|
+
if (!matches) {
|
|
35
|
+
return str;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const value = Number(matches[1]);
|
|
39
|
+
|
|
40
|
+
return type === "foreground" ? chalk.ansi256(value)(str) : chalk.bgAnsi256(value)(str);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (color.startsWith("rgb")) {
|
|
44
|
+
const matches = rgbRegex.exec(color);
|
|
45
|
+
|
|
46
|
+
if (!matches) {
|
|
47
|
+
return str;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const firstValue = Number(matches[1]);
|
|
51
|
+
const secondValue = Number(matches[2]);
|
|
52
|
+
const thirdValue = Number(matches[3]);
|
|
53
|
+
|
|
54
|
+
return type === "foreground"
|
|
55
|
+
? chalk.rgb(firstValue, secondValue, thirdValue)(str)
|
|
56
|
+
: chalk.bgRgb(firstValue, secondValue, thirdValue)(str);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return str;
|
|
60
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createContext } from "react";
|
|
2
|
+
|
|
3
|
+
type AnimationContextValue = {
|
|
4
|
+
readonly renderThrottleMs: number;
|
|
5
|
+
readonly subscribe: (
|
|
6
|
+
callback: (currentTime: number) => void,
|
|
7
|
+
interval: number,
|
|
8
|
+
) => {
|
|
9
|
+
readonly startTime: number;
|
|
10
|
+
readonly unsubscribe: () => void;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const animationContext = createContext<AnimationContextValue>({
|
|
15
|
+
renderThrottleMs: 0,
|
|
16
|
+
subscribe() {
|
|
17
|
+
return {
|
|
18
|
+
startTime: 0,
|
|
19
|
+
unsubscribe() {},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
animationContext.displayName = "InternalAnimationContext";
|