@zakmandhro/bunti 0.1.5 → 0.2.1
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/AGENTS.md +65 -0
- package/README.md +86 -11
- package/dist/cli.d.ts +44 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +147 -0
- package/dist/cli.js.map +1 -0
- package/dist/colors.d.ts +77 -7
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +238 -39
- package/dist/colors.js.map +1 -1
- package/dist/components/Box.d.ts +6 -0
- package/dist/components/Box.d.ts.map +1 -1
- package/dist/components/Box.js +5 -0
- package/dist/components/Box.js.map +1 -1
- package/dist/components/Button.d.ts +15 -2
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +45 -25
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.d.ts +24 -2
- package/dist/components/Card.d.ts.map +1 -1
- package/dist/components/Card.js +56 -14
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Header.d.ts +11 -1
- package/dist/components/Header.d.ts.map +1 -1
- package/dist/components/Header.js +12 -8
- package/dist/components/Header.js.map +1 -1
- package/dist/components/Input.d.ts +10 -1
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +176 -41
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Link.d.ts +21 -0
- package/dist/components/Link.d.ts.map +1 -0
- package/dist/components/Link.js +38 -0
- package/dist/components/Link.js.map +1 -0
- package/dist/components/Modal.d.ts +25 -0
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Modal.js +88 -24
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/Progress.d.ts +27 -0
- package/dist/components/Progress.d.ts.map +1 -0
- package/dist/components/Progress.js +39 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/Spinner.d.ts +19 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +27 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/data/nf-glyphs.d.ts +11 -0
- package/dist/data/nf-glyphs.d.ts.map +1 -0
- package/dist/data/nf-glyphs.js +535 -0
- package/dist/data/nf-glyphs.js.map +1 -0
- package/dist/data/nf-names.d.ts +8 -0
- package/dist/data/nf-names.d.ts.map +1 -0
- package/dist/data/nf-names.js +2 -0
- package/dist/data/nf-names.js.map +1 -0
- package/dist/demo-registry.d.ts +27 -0
- package/dist/demo-registry.d.ts.map +1 -0
- package/dist/demo-registry.js +57 -0
- package/dist/demo-registry.js.map +1 -0
- package/dist/demos/2048.ts +743 -0
- package/dist/demos/animation.ts +246 -0
- package/dist/demos/demo-layout.ts +124 -0
- package/dist/demos/engine.ts +374 -0
- package/dist/demos/interaction.ts +91 -0
- package/dist/demos/login.ts +203 -0
- package/dist/demos/mission-control.ts +558 -0
- package/dist/demos/showcase.ts +224 -0
- package/dist/detect.d.ts +92 -3
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +218 -40
- package/dist/detect.js.map +1 -1
- package/dist/diagnostics.d.ts +73 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +225 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/dsl/context.d.ts +11 -0
- package/dist/dsl/context.d.ts.map +1 -0
- package/dist/dsl/context.js +658 -0
- package/dist/dsl/context.js.map +1 -0
- package/dist/dsl/hooks.d.ts +12 -0
- package/dist/dsl/hooks.d.ts.map +1 -0
- package/dist/dsl/hooks.js +148 -0
- package/dist/dsl/hooks.js.map +1 -0
- package/dist/dsl/interaction.d.ts +31 -0
- package/dist/dsl/interaction.d.ts.map +1 -0
- package/dist/dsl/interaction.js +150 -0
- package/dist/dsl/interaction.js.map +1 -0
- package/dist/dsl/layers.d.ts +14 -0
- package/dist/dsl/layers.d.ts.map +1 -0
- package/dist/dsl/layers.js +87 -0
- package/dist/dsl/layers.js.map +1 -0
- package/dist/dsl/motion.d.ts +10 -0
- package/dist/dsl/motion.d.ts.map +1 -0
- package/dist/dsl/motion.js +150 -0
- package/dist/dsl/motion.js.map +1 -0
- package/dist/dsl/render.d.ts +22 -0
- package/dist/dsl/render.d.ts.map +1 -0
- package/dist/dsl/render.js +69 -0
- package/dist/dsl/render.js.map +1 -0
- package/dist/dsl/types.d.ts +555 -0
- package/dist/dsl/types.d.ts.map +1 -0
- package/dist/dsl/types.js +33 -0
- package/dist/dsl/types.js.map +1 -0
- package/dist/dsl.d.ts +13 -154
- package/dist/dsl.d.ts.map +1 -1
- package/dist/dsl.js +12 -658
- package/dist/dsl.js.map +1 -1
- package/dist/easing.d.ts +41 -1
- package/dist/easing.d.ts.map +1 -1
- package/dist/easing.js +105 -2
- package/dist/easing.js.map +1 -1
- package/dist/geometry.d.ts +39 -0
- package/dist/geometry.d.ts.map +1 -1
- package/dist/geometry.js +20 -0
- package/dist/geometry.js.map +1 -1
- package/dist/icons-full.d.ts +5 -0
- package/dist/icons-full.d.ts.map +1 -0
- package/dist/icons-full.js +31 -0
- package/dist/icons-full.js.map +1 -0
- package/dist/icons.d.ts +426 -5
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +144 -15
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +95 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +177 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +533 -0
- package/dist/input.js.map +1 -0
- package/dist/layout.d.ts +153 -7
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +221 -34
- package/dist/layout.js.map +1 -1
- package/dist/render.d.ts +33 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +431 -116
- package/dist/render.js.map +1 -1
- package/dist/state.d.ts +156 -3
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +25 -0
- package/dist/state.js.map +1 -1
- package/dist/theme.d.ts +129 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +167 -0
- package/dist/theme.js.map +1 -0
- package/dist/themes/catppuccin-mocha.d.ts +19 -0
- package/dist/themes/catppuccin-mocha.d.ts.map +1 -0
- package/dist/themes/catppuccin-mocha.js +36 -0
- package/dist/themes/catppuccin-mocha.js.map +1 -0
- package/dist/themes/dracula.d.ts +21 -0
- package/dist/themes/dracula.d.ts.map +1 -0
- package/dist/themes/dracula.js +37 -0
- package/dist/themes/dracula.js.map +1 -0
- package/dist/themes/github-light.d.ts +21 -0
- package/dist/themes/github-light.d.ts.map +1 -0
- package/dist/themes/github-light.js +36 -0
- package/dist/themes/github-light.js.map +1 -0
- package/dist/themes/index.d.ts +19 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +17 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/nord.d.ts +23 -0
- package/dist/themes/nord.d.ts.map +1 -0
- package/dist/themes/nord.js +38 -0
- package/dist/themes/nord.js.map +1 -0
- package/dist/themes/one-dark-pro.d.ts +21 -0
- package/dist/themes/one-dark-pro.d.ts.map +1 -0
- package/dist/themes/one-dark-pro.js +36 -0
- package/dist/themes/one-dark-pro.js.map +1 -0
- package/dist/themes/tokyo-night.d.ts +20 -0
- package/dist/themes/tokyo-night.d.ts.map +1 -0
- package/dist/themes/tokyo-night.js +37 -0
- package/dist/themes/tokyo-night.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -1
- package/dist/vendor/colors.d.ts +45 -0
- package/dist/vendor/colors.d.ts.map +1 -0
- package/dist/vendor/colors.js +72 -0
- package/dist/vendor/colors.js.map +1 -0
- package/llms.txt +79 -0
- package/package.json +23 -7
- package/dist/data/glyphs.d.ts +0 -5
- package/dist/data/glyphs.d.ts.map +0 -1
- package/dist/data/glyphs.js +0 -29
- package/dist/data/glyphs.js.map +0 -1
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAkDvE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA+D7D;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOpE"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAkDvE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA+D7D;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOpE"}
|
package/dist/utils.js
CHANGED
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bunti Vendored ANSI Colors
|
|
3
|
+
*
|
|
4
|
+
* Adapted from picocolors (https://github.com/alexeyraspopov/picocolors)
|
|
5
|
+
* Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
|
|
6
|
+
* MIT License.
|
|
7
|
+
*
|
|
8
|
+
* Vendored (and typed) so Bunti ships with zero runtime dependencies. It
|
|
9
|
+
* keeps picocolors' wrap semantics: each formatter wraps text in open/close
|
|
10
|
+
* ANSI codes and re-opens the style after any nested close code, so nested
|
|
11
|
+
* styles compose correctly.
|
|
12
|
+
*/
|
|
13
|
+
/** Wraps input in ANSI codes. Non-strings are coerced via string conversion. */
|
|
14
|
+
export type ColorFormatter = (input: string | number | null | undefined) => string;
|
|
15
|
+
/**
|
|
16
|
+
* The color surface Bunti exposes on `ctx.color` (minus Bunti's own RGB
|
|
17
|
+
* helpers, which are layered on top in the DSL context).
|
|
18
|
+
*/
|
|
19
|
+
export interface BuntiColor {
|
|
20
|
+
isColorSupported: boolean;
|
|
21
|
+
reset: ColorFormatter;
|
|
22
|
+
bold: ColorFormatter;
|
|
23
|
+
dim: ColorFormatter;
|
|
24
|
+
italic: ColorFormatter;
|
|
25
|
+
underline: ColorFormatter;
|
|
26
|
+
black: ColorFormatter;
|
|
27
|
+
red: ColorFormatter;
|
|
28
|
+
green: ColorFormatter;
|
|
29
|
+
yellow: ColorFormatter;
|
|
30
|
+
blue: ColorFormatter;
|
|
31
|
+
magenta: ColorFormatter;
|
|
32
|
+
cyan: ColorFormatter;
|
|
33
|
+
white: ColorFormatter;
|
|
34
|
+
gray: ColorFormatter;
|
|
35
|
+
bgBlack: ColorFormatter;
|
|
36
|
+
bgRed: ColorFormatter;
|
|
37
|
+
bgGreen: ColorFormatter;
|
|
38
|
+
bgYellow: ColorFormatter;
|
|
39
|
+
bgBlue: ColorFormatter;
|
|
40
|
+
bgMagenta: ColorFormatter;
|
|
41
|
+
bgCyan: ColorFormatter;
|
|
42
|
+
bgWhite: ColorFormatter;
|
|
43
|
+
}
|
|
44
|
+
export declare const colors: BuntiColor;
|
|
45
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/vendor/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACtC,MAAM,CAAC;AAEZ;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;CACzB;AAoDD,eAAO,MAAM,MAAM,EAAE,UAwBpB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bunti Vendored ANSI Colors
|
|
3
|
+
*
|
|
4
|
+
* Adapted from picocolors (https://github.com/alexeyraspopov/picocolors)
|
|
5
|
+
* Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov
|
|
6
|
+
* MIT License.
|
|
7
|
+
*
|
|
8
|
+
* Vendored (and typed) so Bunti ships with zero runtime dependencies. It
|
|
9
|
+
* keeps picocolors' wrap semantics: each formatter wraps text in open/close
|
|
10
|
+
* ANSI codes and re-opens the style after any nested close code, so nested
|
|
11
|
+
* styles compose correctly.
|
|
12
|
+
*/
|
|
13
|
+
const env = process.env ?? {};
|
|
14
|
+
const argv = process.argv ?? [];
|
|
15
|
+
const isColorSupported = !(env.NO_COLOR || argv.includes('--no-color')) &&
|
|
16
|
+
Boolean(env.FORCE_COLOR ||
|
|
17
|
+
argv.includes('--color') ||
|
|
18
|
+
process.platform === 'win32' ||
|
|
19
|
+
(process.stdout?.isTTY && env.TERM !== 'dumb') ||
|
|
20
|
+
env.CI);
|
|
21
|
+
/**
|
|
22
|
+
* Replaces every occurrence of `close` inside `text` with `replace`, so an
|
|
23
|
+
* inner style's reset re-opens the outer style instead of ending it.
|
|
24
|
+
*/
|
|
25
|
+
function replaceClose(text, close, replace, index) {
|
|
26
|
+
let result = '';
|
|
27
|
+
let cursor = 0;
|
|
28
|
+
do {
|
|
29
|
+
result += text.substring(cursor, index) + replace;
|
|
30
|
+
cursor = index + close.length;
|
|
31
|
+
index = text.indexOf(close, cursor);
|
|
32
|
+
} while (index !== -1);
|
|
33
|
+
return result + text.substring(cursor);
|
|
34
|
+
}
|
|
35
|
+
function formatter(open, close, replace = open) {
|
|
36
|
+
if (!isColorSupported) {
|
|
37
|
+
return (input) => `${input}`;
|
|
38
|
+
}
|
|
39
|
+
return (input) => {
|
|
40
|
+
const text = `${input}`;
|
|
41
|
+
const index = text.indexOf(close, open.length);
|
|
42
|
+
return index !== -1
|
|
43
|
+
? open + replaceClose(text, close, replace, index) + close
|
|
44
|
+
: open + text + close;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export const colors = {
|
|
48
|
+
isColorSupported,
|
|
49
|
+
reset: formatter('\x1b[0m', '\x1b[0m'),
|
|
50
|
+
bold: formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m'),
|
|
51
|
+
dim: formatter('\x1b[2m', '\x1b[22m', '\x1b[22m\x1b[2m'),
|
|
52
|
+
italic: formatter('\x1b[3m', '\x1b[23m'),
|
|
53
|
+
underline: formatter('\x1b[4m', '\x1b[24m'),
|
|
54
|
+
black: formatter('\x1b[30m', '\x1b[39m'),
|
|
55
|
+
red: formatter('\x1b[31m', '\x1b[39m'),
|
|
56
|
+
green: formatter('\x1b[32m', '\x1b[39m'),
|
|
57
|
+
yellow: formatter('\x1b[33m', '\x1b[39m'),
|
|
58
|
+
blue: formatter('\x1b[34m', '\x1b[39m'),
|
|
59
|
+
magenta: formatter('\x1b[35m', '\x1b[39m'),
|
|
60
|
+
cyan: formatter('\x1b[36m', '\x1b[39m'),
|
|
61
|
+
white: formatter('\x1b[37m', '\x1b[39m'),
|
|
62
|
+
gray: formatter('\x1b[90m', '\x1b[39m'),
|
|
63
|
+
bgBlack: formatter('\x1b[40m', '\x1b[49m'),
|
|
64
|
+
bgRed: formatter('\x1b[41m', '\x1b[49m'),
|
|
65
|
+
bgGreen: formatter('\x1b[42m', '\x1b[49m'),
|
|
66
|
+
bgYellow: formatter('\x1b[43m', '\x1b[49m'),
|
|
67
|
+
bgBlue: formatter('\x1b[44m', '\x1b[49m'),
|
|
68
|
+
bgMagenta: formatter('\x1b[45m', '\x1b[49m'),
|
|
69
|
+
bgCyan: formatter('\x1b[46m', '\x1b[49m'),
|
|
70
|
+
bgWhite: formatter('\x1b[47m', '\x1b[49m'),
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/vendor/colors.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Bunti
|
|
2
|
+
|
|
3
|
+
> A Bun-native terminal UI engine with zero dependencies: 60fps
|
|
4
|
+
> double-buffered diff rendering, an immediate-mode contextual DSL,
|
|
5
|
+
> semantic themes (6 VS Code presets), mouse + keyboard input, motion
|
|
6
|
+
> helpers, and a 10.7k-name Nerd Font icon registry. Built to be the
|
|
7
|
+
> easiest TUI library for coding agents.
|
|
8
|
+
|
|
9
|
+
Requires the Bun runtime (>= 1.0); Node.js is not supported.
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
bun add @zakmandhro/bunti
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Mental model
|
|
18
|
+
|
|
19
|
+
- render — Starts a Bunti app: runs `callback` every frame (immediate mode — redraw the whole screen from state each call) and flushes only the changed cells to the terminal.
|
|
20
|
+
- One frame = one callback: read input, derive state with
|
|
21
|
+
ctx.useState(key, initial), draw everything. Never mutate the
|
|
22
|
+
terminal yourself.
|
|
23
|
+
- Coordinates are terminal cells, local to the current context (the
|
|
24
|
+
whole screen at the root; the padded interior inside a box).
|
|
25
|
+
padding is [vertical, horizontal]. ctx.elapsedTime is milliseconds.
|
|
26
|
+
- Root-level boxes paint directly to the screen and CENTER themselves
|
|
27
|
+
unless given x/y. Anything that must overlap other content goes in
|
|
28
|
+
ctx.layer(zIndex, cb) — draw order alone does not stack.
|
|
29
|
+
- Keyboard input ({ keyboard: true }) needs a real TTY on stdin; piped
|
|
30
|
+
input is ignored. Printable keys arrive as the literal character,
|
|
31
|
+
specials as lowercase names ('up', 'enter'), mouse as
|
|
32
|
+
'click'/'wheel_up'/'wheel_down'.
|
|
33
|
+
|
|
34
|
+
## Core API (ctx is the object your render callback receives)
|
|
35
|
+
|
|
36
|
+
- ctx.box — Draws a styled box and renders the callback inside its padded interior (a fresh sub-context).
|
|
37
|
+
- ctx.text — Appends text to the current flow at the cursor.
|
|
38
|
+
- ctx.icon — Resolves an icon name to its glyph (Nerd Font, or ASCII fallback on plain terminals).
|
|
39
|
+
- ctx.blit — Paints a (possibly multi-line, ANSI-styled) string directly into the screen buffer at absolute cell coordinates — exact-position text, sprites, labels, and ASCII art.
|
|
40
|
+
- ctx.rect — Fills a w×h cell rectangle at absolute coordinates with a style — bars, panels, charts, and backgrounds.
|
|
41
|
+
- ctx.layer — Renders the callback into a transparent buffer composited above the base content by z-index — THE primitive for modals, HUDs, popovers, and anything that must overlap other content.
|
|
42
|
+
- ctx.wallpaper — Fills the whole screen background with a color or gradient.
|
|
43
|
+
- ctx.gradient — Builds a multi-stop Gradient value for `wallpaper`/`bgColor`.
|
|
44
|
+
- ctx.split — Splits the current area into tracks from fixed sizes, percentages, and 'fr' fill units — the layout workhorse for dashboards.
|
|
45
|
+
- ctx.useState — Frame-persistent state.
|
|
46
|
+
- ctx.useAsync — Fetches async data without blocking the render loop: kicks off the fetcher (re-running every `interval` ms when set) and returns the latest { data, loading, error } snapshot each frame.
|
|
47
|
+
- ctx.lastKey — First unmodified key name of this frame, or undefined when no key arrived.
|
|
48
|
+
- ctx.keyPressed — True if `name` was pressed (or auto-repeated) this frame.
|
|
49
|
+
- ctx.isKeyHeld — True from a key's first press until its repeat stream expires (~150ms hold window) — smooth held-key movement on legacy terminals.
|
|
50
|
+
- ctx.hitbox — Registers a clickable region and returns its interaction snapshot for this frame.
|
|
51
|
+
- ctx.isClicked — True exactly one frame per click (SGR release at the press origin) — fire actions here, not on isPressed.
|
|
52
|
+
- ctx.isHovered — True while the mouse is inside the hitbox registered for `id`.
|
|
53
|
+
- ctx.list — Renders a selectable list with built-in up/down keyboard navigation, mouse hover/click selection, and theme-token highlighting.
|
|
54
|
+
- ctx.table — Renders rows of cells as an aligned table with shared borders.
|
|
55
|
+
- ctx.theme — The active semantic theme for this subtree.
|
|
56
|
+
- ctx.setTheme — Swaps the active theme live and requests a rerender.
|
|
57
|
+
- ctx.animate — 0→1 progress over `duration` ms.
|
|
58
|
+
- ctx.transition — Enter/exit progress keyed on a visibility flag.
|
|
59
|
+
- ctx.stagger — Cascading entrance progress: item `index` starts index*delay ms into the timeline and animates for `duration` ms.
|
|
60
|
+
- ctx.elapsedTime — Milliseconds elapsed since render() started.
|
|
61
|
+
- ctx.requestStop — Stops the render loop and restores the terminal (the promise returned by render() then resolves).
|
|
62
|
+
|
|
63
|
+
## Components ('@zakmandhro/bunti/components')
|
|
64
|
+
|
|
65
|
+
Box, Card, Button, Input, Modal, Spinner, Progress, Link, Header —
|
|
66
|
+
call as functions: Button(ctx, { id, label, onClick }).
|
|
67
|
+
|
|
68
|
+
## Themes ('@zakmandhro/bunti/themes')
|
|
69
|
+
|
|
70
|
+
dracula, tokyoNight, catppuccinMocha, nord, oneDarkPro, githubLight;
|
|
71
|
+
ctx.setTheme(dracula) swaps live. createTheme({...}) derives full
|
|
72
|
+
themes from sparse color specs.
|
|
73
|
+
|
|
74
|
+
## More
|
|
75
|
+
|
|
76
|
+
- Full typed API with examples ships in the package's dist/*.d.ts.
|
|
77
|
+
- Agent playbook: AGENTS.md (in this package).
|
|
78
|
+
- Starter template: https://github.com/zakmandhro/bunti/blob/main/examples/starter.ts
|
|
79
|
+
- Docs: https://zakmandhro.github.io/bunti/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zakmandhro/bunti",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "A Bun-native terminal layout engine with zero dependencies, 60fps rendering, and an agent-optimized functional API.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
"types": "./dist/icons.d.ts",
|
|
23
23
|
"import": "./dist/icons.js"
|
|
24
24
|
},
|
|
25
|
+
"./icons-full": {
|
|
26
|
+
"types": "./dist/icons-full.d.ts",
|
|
27
|
+
"import": "./dist/icons-full.js"
|
|
28
|
+
},
|
|
25
29
|
"./layout": {
|
|
26
30
|
"types": "./dist/layout.d.ts",
|
|
27
31
|
"import": "./dist/layout.js"
|
|
@@ -29,16 +33,25 @@
|
|
|
29
33
|
"./render": {
|
|
30
34
|
"types": "./dist/render.d.ts",
|
|
31
35
|
"import": "./dist/render.js"
|
|
36
|
+
},
|
|
37
|
+
"./themes": {
|
|
38
|
+
"types": "./dist/themes/index.d.ts",
|
|
39
|
+
"import": "./dist/themes/index.js"
|
|
32
40
|
}
|
|
33
41
|
},
|
|
34
42
|
"type": "module",
|
|
43
|
+
"bin": {
|
|
44
|
+
"bunti": "dist/cli.js"
|
|
45
|
+
},
|
|
35
46
|
"engines": {
|
|
36
47
|
"bun": ">=1.0.0"
|
|
37
48
|
},
|
|
38
49
|
"scripts": {
|
|
39
|
-
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
40
|
-
"
|
|
50
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && bun scripts/build-demos.ts",
|
|
51
|
+
"gen:llms": "bun scripts/gen-llms.ts",
|
|
52
|
+
"prepublishOnly": "bun run typecheck && bun run lint && bun run test && bun run gen:llms && bun run build",
|
|
41
53
|
"test": "bun test",
|
|
54
|
+
"smoke": "bun scripts/smoke-demos.ts",
|
|
42
55
|
"bench": "bun scripts/bench.ts",
|
|
43
56
|
"typecheck": "tsc --noEmit",
|
|
44
57
|
"type-check": "tsc --noEmit",
|
|
@@ -47,6 +60,10 @@
|
|
|
47
60
|
"format": "biome format --write .",
|
|
48
61
|
"demo": "bun demo/runner.ts",
|
|
49
62
|
"example": "bun demo/runner.ts",
|
|
63
|
+
"record": "vhs tapes/2048.tape",
|
|
64
|
+
"record:animation": "vhs tapes/animation.tape",
|
|
65
|
+
"record:mission-control": "vhs tapes/mission-control.tape",
|
|
66
|
+
"record:all": "vhs tapes/2048.tape && vhs tapes/animation.tape && vhs tapes/mission-control.tape",
|
|
50
67
|
"docs:dev": "vitepress dev docs",
|
|
51
68
|
"docs:build": "vitepress build docs",
|
|
52
69
|
"docs:preview": "vitepress preview docs"
|
|
@@ -64,11 +81,10 @@
|
|
|
64
81
|
"files": [
|
|
65
82
|
"dist",
|
|
66
83
|
"README.md",
|
|
67
|
-
"LICENSE"
|
|
84
|
+
"LICENSE",
|
|
85
|
+
"AGENTS.md",
|
|
86
|
+
"llms.txt"
|
|
68
87
|
],
|
|
69
|
-
"peerDependencies": {
|
|
70
|
-
"picocolors": "^1.0.0"
|
|
71
|
-
},
|
|
72
88
|
"devDependencies": {
|
|
73
89
|
"@biomejs/biome": "^2.4.15",
|
|
74
90
|
"@types/bun": "^1.3.13",
|
package/dist/data/glyphs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.d.ts","sourceRoot":"","sources":["../../src/data/glyphs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0BzC,CAAC"}
|
package/dist/data/glyphs.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bunti Curated Glyph Registry (Nerd Font v3)
|
|
3
|
-
*/
|
|
4
|
-
export const GLYPHS = {
|
|
5
|
-
// Languages & Tech
|
|
6
|
-
js: '\u{E781}', // nf-dev-javascript
|
|
7
|
-
ts: '\u{E628}', // nf-dev-typescript
|
|
8
|
-
python: '\u{E73C}', // nf-dev-python
|
|
9
|
-
rust: '\u{E7A8}', // nf-dev-rust
|
|
10
|
-
go: '\u{E627}', // nf-dev-go
|
|
11
|
-
node: '\u{E718}', // nf-dev-nodejs
|
|
12
|
-
bun: '\u{E22F}', // nf-seti-terminal (best proxy)
|
|
13
|
-
// Git & Source
|
|
14
|
-
git: '\u{F02A2}', // nf-md-git
|
|
15
|
-
branch: '\u{E725}', // nf-oct-git_branch
|
|
16
|
-
commit: '\u{E729}', // nf-oct-git_commit
|
|
17
|
-
pull: '\u{E728}', // nf-oct-git_pull_request
|
|
18
|
-
merge: '\u{E727}', // nf-oct-git_merge
|
|
19
|
-
// System & UI
|
|
20
|
-
folder: '\u{F07B}', // nf-fa-folder
|
|
21
|
-
file: '\u{F15B}', // nf-fa-file
|
|
22
|
-
lock: '\u{F023}', // nf-fa-lock
|
|
23
|
-
search: '\u{F002}', // nf-fa-search
|
|
24
|
-
settings: '\u{F013}', // nf-fa-cog
|
|
25
|
-
terminal: '\u{F489}', // nf-oct-terminal
|
|
26
|
-
heart: '\u{F004}', // nf-fa-heart
|
|
27
|
-
star: '\u{F005}', // nf-fa-star
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=glyphs.js.map
|
package/dist/data/glyphs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/data/glyphs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,mBAAmB;IACnB,EAAE,EAAE,UAAU,EAAE,oBAAoB;IACpC,EAAE,EAAE,UAAU,EAAE,oBAAoB;IACpC,MAAM,EAAE,UAAU,EAAE,gBAAgB;IACpC,IAAI,EAAE,UAAU,EAAE,cAAc;IAChC,EAAE,EAAE,UAAU,EAAE,YAAY;IAC5B,IAAI,EAAE,UAAU,EAAE,gBAAgB;IAClC,GAAG,EAAE,UAAU,EAAE,gCAAgC;IAEjD,eAAe;IACf,GAAG,EAAE,WAAW,EAAE,YAAY;IAC9B,MAAM,EAAE,UAAU,EAAE,oBAAoB;IACxC,MAAM,EAAE,UAAU,EAAE,oBAAoB;IACxC,IAAI,EAAE,UAAU,EAAE,0BAA0B;IAC5C,KAAK,EAAE,UAAU,EAAE,mBAAmB;IAEtC,cAAc;IACd,MAAM,EAAE,UAAU,EAAE,eAAe;IACnC,IAAI,EAAE,UAAU,EAAE,aAAa;IAC/B,IAAI,EAAE,UAAU,EAAE,aAAa;IAC/B,MAAM,EAAE,UAAU,EAAE,eAAe;IACnC,QAAQ,EAAE,UAAU,EAAE,YAAY;IAClC,QAAQ,EAAE,UAAU,EAAE,kBAAkB;IACxC,KAAK,EAAE,UAAU,EAAE,cAAc;IACjC,IAAI,EAAE,UAAU,EAAE,aAAa;CAChC,CAAC"}
|