@zakmandhro/bunti 0.2.1 → 0.4.0
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 +6 -5
- package/dist/cli.d.ts +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +33 -9
- package/dist/cli.js.map +1 -1
- package/dist/colors.d.ts +2 -2
- package/dist/colors.js +2 -2
- package/dist/components/Box.d.ts +1 -1
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/Button.js +2 -2
- package/dist/components/Card.d.ts +1 -1
- package/dist/components/Card.js +3 -3
- package/dist/components/Header.d.ts +1 -1
- package/dist/components/Header.js +2 -2
- package/dist/components/Input.d.ts +2 -2
- package/dist/components/Input.js +1 -1
- package/dist/components/Link.d.ts +2 -2
- package/dist/components/Link.js +2 -2
- package/dist/components/Modal.d.ts +1 -1
- package/dist/components/Modal.js +2 -2
- package/dist/components/Progress.d.ts +2 -2
- package/dist/components/Progress.js +2 -2
- package/dist/components/Spinner.d.ts +2 -2
- package/dist/components/index.d.ts +9 -9
- package/dist/components/index.js +9 -9
- package/dist/data/nf-glyphs.d.ts +2 -2
- package/dist/demo-registry.d.ts.map +1 -1
- package/dist/demo-registry.js +6 -1
- package/dist/demo-registry.js.map +1 -1
- package/dist/demos/2048.js +559 -0
- package/dist/demos/2048.ts +1 -1
- package/dist/demos/animation.js +177 -0
- package/dist/demos/animation.ts +1 -1
- package/dist/demos/demo-layout.js +85 -0
- package/dist/demos/demo-layout.ts +6 -1
- package/dist/demos/engine.js +244 -0
- package/dist/demos/interaction.js +74 -0
- package/dist/demos/interaction.ts +1 -1
- package/dist/demos/login.js +175 -0
- package/dist/demos/login.ts +1 -1
- package/dist/demos/mission-control.js +427 -0
- package/dist/demos/platformer-physics.js +122 -0
- package/dist/demos/platformer-physics.ts +284 -0
- package/dist/demos/platformer.js +519 -0
- package/dist/demos/platformer.ts +761 -0
- package/dist/demos/showcase.js +181 -0
- package/dist/demos/showcase.ts +1 -1
- package/dist/detect.d.ts +24 -7
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +73 -12
- package/dist/detect.js.map +1 -1
- package/dist/diagnostics.d.ts +8 -2
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +11 -0
- package/dist/diagnostics.js.map +1 -1
- package/dist/dsl/context.d.ts +2 -2
- package/dist/dsl/context.d.ts.map +1 -1
- package/dist/dsl/context.js +14 -14
- package/dist/dsl/context.js.map +1 -1
- package/dist/dsl/hooks.d.ts +2 -2
- package/dist/dsl/hooks.js +1 -1
- package/dist/dsl/interaction.d.ts +3 -3
- package/dist/dsl/layers.d.ts +2 -2
- package/dist/dsl/motion.d.ts +2 -2
- package/dist/dsl/motion.js +2 -2
- package/dist/dsl/render.d.ts +2 -2
- package/dist/dsl/render.d.ts.map +1 -1
- package/dist/dsl/render.js +4 -8
- package/dist/dsl/render.js.map +1 -1
- package/dist/dsl/types.d.ts +11 -10
- package/dist/dsl/types.d.ts.map +1 -1
- package/dist/dsl/types.js.map +1 -1
- package/dist/dsl.d.ts +4 -4
- package/dist/dsl.js +3 -3
- package/dist/easing.d.ts +1 -1
- package/dist/geometry.d.ts +1 -1
- package/dist/geometry.js +1 -1
- package/dist/icons-full.d.ts +2 -2
- package/dist/icons-full.js +3 -3
- package/dist/icons.d.ts +4 -4
- package/dist/icons.js +3 -3
- package/dist/index.d.ts +45 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -24
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +18 -6
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +15 -6
- package/dist/layout.js.map +1 -1
- package/dist/pixels.d.ts +51 -0
- package/dist/pixels.d.ts.map +1 -0
- package/dist/pixels.js +82 -0
- package/dist/pixels.js.map +1 -0
- package/dist/render.d.ts +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +51 -11
- package/dist/render.js.map +1 -1
- package/dist/state.d.ts +4 -4
- package/dist/state.js +1 -1
- package/dist/theme.d.ts +2 -2
- package/dist/theme.js +1 -1
- package/dist/themes/catppuccin-mocha.d.ts +1 -1
- package/dist/themes/catppuccin-mocha.js +1 -1
- package/dist/themes/dracula.d.ts +1 -1
- package/dist/themes/dracula.js +1 -1
- package/dist/themes/github-light.d.ts +1 -1
- package/dist/themes/github-light.js +1 -1
- package/dist/themes/index.d.ts +7 -7
- package/dist/themes/index.js +6 -6
- package/dist/themes/nord.d.ts +1 -1
- package/dist/themes/nord.js +1 -1
- package/dist/themes/one-dark-pro.d.ts +1 -1
- package/dist/themes/one-dark-pro.js +1 -1
- package/dist/themes/tokyo-night.d.ts +1 -1
- package/dist/themes/tokyo-night.js +1 -1
- package/dist/utils.d.ts +6 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +68 -3
- package/dist/utils.js.map +1 -1
- package/llms.txt +4 -2
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# 🥟 Bunti (Bun Terminal Interface)
|
|
2
2
|
|
|
3
|
-
**A
|
|
3
|
+
**A terminal layout engine optimized for Bun and Node.js with zero dependencies, 60fps rendering, and an agent-optimized functional API.**
|
|
4
4
|
|
|
5
|
-
Bunti (pronounced *Bun-ty*) is a zero-dependency, double-buffered layout engine for building terminal user interfaces. Unlike traditional TUI libraries, Bunti uses a **functional, state-driven architecture** and a **surgical diff-renderer** to deliver 60+ FPS layouts with minimal CPU and TTY overhead.
|
|
5
|
+
Bunti (pronounced *Bun-ty*) is a zero-dependency, double-buffered layout engine for building terminal user interfaces, optimized for Bun and Node.js. Unlike traditional TUI libraries, Bunti uses a **functional, state-driven architecture** and a **surgical diff-renderer** to deliver 60+ FPS layouts with minimal CPU and TTY overhead.
|
|
6
6
|
|
|
7
7
|
## ✨ Features
|
|
8
8
|
|
|
9
|
+
- ⚡ **Bun SIMD Acceleration**: Uses Bun's native SIMD vectorization (`Bun.stringWidth`) and buffered I/O for peak rendering speed, with automatic zero-dependency fallback on Node.js.
|
|
9
10
|
- 🏗️ **Contextual DSL**: Build complex UIs with a declarative, nested closure API.
|
|
10
11
|
- 🏎️ **Double-Buffered Diffing**: Only dirty row spans are sent to the terminal. Zero flicker.
|
|
11
12
|
- 📏 **Mathematically Absolute**: 100% precision in width, padding, and border alignment.
|
|
@@ -16,14 +17,14 @@ Bunti (pronounced *Bun-ty*) is a zero-dependency, double-buffered layout engine
|
|
|
16
17
|
|
|
17
18
|
## 📦 Installation
|
|
18
19
|
|
|
19
|
-
Bunti
|
|
20
|
+
Bunti ships compiled ESM plus TypeScript declarations with zero runtime dependencies. It runs on both **Bun** and **Node.js** (>= 22.0.0 LTS) — leveraging **Bun's native SIMD-accelerated string width APIs** (`Bun.stringWidth`) for maximum throughput, with an automatic zero-dependency fallback under Node.js.
|
|
20
21
|
|
|
21
22
|
```bash
|
|
22
23
|
bun add @zakmandhro/bunti
|
|
24
|
+
# or
|
|
25
|
+
npm install @zakmandhro/bunti
|
|
23
26
|
```
|
|
24
27
|
|
|
25
|
-
> Bunti requires the [Bun](https://bun.sh) runtime (>= 1.0). It uses Bun-native APIs for rendering, so Node.js is not supported.
|
|
26
|
-
|
|
27
28
|
## 🚀 Quick Start
|
|
28
29
|
|
|
29
30
|
```typescript
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* The `bunti` CLI — the zero-install front door:
|
|
4
4
|
*
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* time (see scripts/build-demos.ts); `demo <name>` simply imports one, which
|
|
12
12
|
* starts its render loop in-process.
|
|
13
13
|
*/
|
|
14
|
-
import { type ColorTier, type TerminalProfile } from './detect';
|
|
14
|
+
import { type ColorTier, type TerminalProfile } from './detect.js';
|
|
15
15
|
export type CliCommand = {
|
|
16
16
|
cmd: 'help';
|
|
17
17
|
} | {
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAIH,OAAO,EACL,KAAK,SAAS,EAGd,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,UAAU,GAClB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,GAClB;IAAE,GAAG,EAAE,QAAQ,CAAA;CAAE,GACjB;IAAE,GAAG,EAAE,YAAY,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoBvD;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAGxC;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAehD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAoCV"}
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* The `bunti` CLI — the zero-install front door:
|
|
4
4
|
*
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
* time (see scripts/build-demos.ts); `demo <name>` simply imports one, which
|
|
12
12
|
* starts its render loop in-process.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
15
|
+
import { findDemo, PUBLIC_DEMOS } from './demo-registry.js';
|
|
16
|
+
import { detectColorTier, identifyTerminal, } from './detect.js';
|
|
16
17
|
/** Pure argv parser (argv excludes the runtime + script entries). */
|
|
17
18
|
export function parseCliArgs(argv) {
|
|
18
19
|
const [first, second] = argv;
|
|
@@ -79,8 +80,11 @@ export function doctorReport(profile, tier, version, bunVersion) {
|
|
|
79
80
|
'assumed-no': 'assumed no - ascii fallback',
|
|
80
81
|
no: 'no - ascii fallback',
|
|
81
82
|
};
|
|
83
|
+
const runtimeDesc = bunVersion.startsWith('bun') || bunVersion.startsWith('node')
|
|
84
|
+
? bunVersion
|
|
85
|
+
: `bun ${bunVersion}`;
|
|
82
86
|
const lines = [
|
|
83
|
-
`bunti v${version} (
|
|
87
|
+
`bunti v${version} (${runtimeDesc})`,
|
|
84
88
|
`terminal ${terminal}`,
|
|
85
89
|
];
|
|
86
90
|
if (profile.multiplexer)
|
|
@@ -90,7 +94,12 @@ export function doctorReport(profile, tier, version, bunVersion) {
|
|
|
90
94
|
}
|
|
91
95
|
async function packageVersion() {
|
|
92
96
|
try {
|
|
93
|
-
const
|
|
97
|
+
const pkgUrl = new URL('../package.json', import.meta.url);
|
|
98
|
+
if (typeof Bun !== 'undefined' && typeof Bun.file === 'function') {
|
|
99
|
+
const pkg = await Bun.file(pkgUrl).json();
|
|
100
|
+
return typeof pkg.version === 'string' ? pkg.version : 'unknown';
|
|
101
|
+
}
|
|
102
|
+
const pkg = JSON.parse(readFileSync(pkgUrl, 'utf-8'));
|
|
94
103
|
return typeof pkg.version === 'string' ? pkg.version : 'unknown';
|
|
95
104
|
}
|
|
96
105
|
catch {
|
|
@@ -98,11 +107,23 @@ async function packageVersion() {
|
|
|
98
107
|
}
|
|
99
108
|
}
|
|
100
109
|
async function runDemo(file) {
|
|
101
|
-
// Published layout: dist/cli.js + dist/demos/*.ts. Dev layout (running
|
|
110
|
+
// Published layout: dist/cli.js + dist/demos/*.js (or *.ts under Bun). Dev layout (running
|
|
102
111
|
// src/cli.ts directly): ../demo/*.ts. Prefer the packaged copy.
|
|
103
|
-
const
|
|
112
|
+
const base = file.replace(/\.ts$/, '');
|
|
113
|
+
const packagedJs = new URL(`./demos/${base}.js`, import.meta.url);
|
|
114
|
+
const packagedTs = new URL(`./demos/${base}.ts`, import.meta.url);
|
|
104
115
|
const dev = new URL(`../demo/${file}`, import.meta.url);
|
|
105
|
-
|
|
116
|
+
let target;
|
|
117
|
+
if (typeof Bun === 'undefined') {
|
|
118
|
+
target = existsSync(packagedJs) ? packagedJs : dev;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
target = existsSync(packagedJs)
|
|
122
|
+
? packagedJs
|
|
123
|
+
: existsSync(packagedTs)
|
|
124
|
+
? packagedTs
|
|
125
|
+
: dev;
|
|
126
|
+
}
|
|
106
127
|
await import(target.href);
|
|
107
128
|
}
|
|
108
129
|
async function main() {
|
|
@@ -115,7 +136,10 @@ async function main() {
|
|
|
115
136
|
console.log(await packageVersion());
|
|
116
137
|
return;
|
|
117
138
|
case 'doctor': {
|
|
118
|
-
const
|
|
139
|
+
const runtimeVersion = typeof Bun !== 'undefined'
|
|
140
|
+
? `bun ${Bun.version}`
|
|
141
|
+
: `node ${process.version}`;
|
|
142
|
+
const report = doctorReport(identifyTerminal(), detectColorTier(), await packageVersion(), runtimeVersion);
|
|
119
143
|
console.log(report.join('\n'));
|
|
120
144
|
return;
|
|
121
145
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/colors.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bunti Semantic & Palette Color System
|
|
3
3
|
*/
|
|
4
|
-
import type { RGB } from './state';
|
|
5
|
-
import type { ThemeColor } from './theme';
|
|
4
|
+
import type { RGB } from './state.js';
|
|
5
|
+
import type { ThemeColor } from './theme.js';
|
|
6
6
|
/**
|
|
7
7
|
* A resolved multi-stop gradient, accepted anywhere bgColor is (rect fills,
|
|
8
8
|
* box backgrounds, wallpaper). Build one with ctx.gradient().
|
package/dist/colors.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bunti Semantic & Palette Color System
|
|
3
3
|
*/
|
|
4
|
-
import { colorTier } from './detect';
|
|
5
|
-
import { hintsSuppressed, nearestMatch, recordHint } from './diagnostics';
|
|
4
|
+
import { colorTier } from './detect.js';
|
|
5
|
+
import { hintsSuppressed, nearestMatch, recordHint } from './diagnostics.js';
|
|
6
6
|
/**
|
|
7
7
|
* Internal brand carried by ThemeColor instances so callable theme tokens can
|
|
8
8
|
* be distinguished from plain function-style border wrappers.
|
package/dist/components/Box.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BuntiContext, DSLBoxOptions } from '../dsl';
|
|
1
|
+
import type { BuntiContext, DSLBoxOptions } from '../dsl.js';
|
|
2
2
|
/** Props for Button. */
|
|
3
3
|
export interface ButtonProps extends DSLBoxOptions {
|
|
4
4
|
/** Stable id: keys the hitbox, Tab-focus slot, and hover state. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { adjustBrightness, contrastText } from '../colors';
|
|
2
|
-
import { indentBlock } from '../utils';
|
|
1
|
+
import { adjustBrightness, contrastText } from '../colors.js';
|
|
2
|
+
import { indentBlock } from '../utils.js';
|
|
3
3
|
/**
|
|
4
4
|
* Themed push button: Tab-focusable, hover/press styled from ctx.theme
|
|
5
5
|
* tokens, activated by click, Enter, or Space (onClick fires once).
|
package/dist/components/Card.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { adjustBrightness } from '../colors';
|
|
2
|
-
import { visibleWidth } from '../utils';
|
|
3
|
-
import { Box } from './Box';
|
|
1
|
+
import { adjustBrightness } from '../colors.js';
|
|
2
|
+
import { visibleWidth } from '../utils.js';
|
|
3
|
+
import { Box } from './Box.js';
|
|
4
4
|
/**
|
|
5
5
|
* Tactical Card Component
|
|
6
6
|
* A structural container with an integrated header. Colors derive from
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { box as engineBox } from '../layout';
|
|
2
|
-
import { Box } from './Box';
|
|
1
|
+
import { box as engineBox } from '../layout.js';
|
|
2
|
+
import { Box } from './Box.js';
|
|
3
3
|
/**
|
|
4
4
|
* Enterprise Tactical Header
|
|
5
5
|
* A full-width, high-signal branding bar. Colors derive from ctx.theme:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BuntiContext } from '../dsl';
|
|
2
|
-
import type { StyleOptions } from '../layout';
|
|
1
|
+
import type { BuntiContext } from '../dsl.js';
|
|
2
|
+
import type { StyleOptions } from '../layout.js';
|
|
3
3
|
/** Props for Input. */
|
|
4
4
|
export interface InputProps extends StyleOptions {
|
|
5
5
|
/** Stable id: keys the value state, focus slot, and hitbox. */
|
package/dist/components/Input.js
CHANGED
package/dist/components/Link.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { adjustBrightness, fg } from '../colors';
|
|
2
|
-
import { visibleWidth } from '../utils';
|
|
1
|
+
import { adjustBrightness, fg } from '../colors.js';
|
|
2
|
+
import { visibleWidth } from '../utils.js';
|
|
3
3
|
/**
|
|
4
4
|
* Inline hyperlink: underlined themed text with a pointer-friendly hitbox.
|
|
5
5
|
* Hover brightens the color one step (mode-aware); clicks fire once per
|
package/dist/components/Modal.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { fade, isThemeColor } from '../colors';
|
|
2
|
-
import { clamp01, easeOutCubic } from '../easing';
|
|
1
|
+
import { fade, isThemeColor } from '../colors.js';
|
|
2
|
+
import { clamp01, easeOutCubic } from '../easing.js';
|
|
3
3
|
/** Entrance animation length. */
|
|
4
4
|
const ENTRANCE_MS = 150;
|
|
5
5
|
/** A modal unseen for this long counts as closed; reopening replays the entrance. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ColorValue } from '../colors';
|
|
2
|
-
import type { BuntiContext } from '../dsl';
|
|
1
|
+
import { type ColorValue } from '../colors.js';
|
|
2
|
+
import type { BuntiContext } from '../dsl.js';
|
|
3
3
|
export interface ProgressProps {
|
|
4
4
|
/** Fill fraction 0..1 (clamped). */
|
|
5
5
|
value: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createGradient } from '../colors';
|
|
2
|
-
import { clamp01 } from '../easing';
|
|
1
|
+
import { createGradient } from '../colors.js';
|
|
2
|
+
import { clamp01 } from '../easing.js';
|
|
3
3
|
/**
|
|
4
4
|
* Themed progress bar: theme.primary fill over a theme.border track, with
|
|
5
5
|
* optional per-cell gradient fill. Appends to the current flow and returns
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ColorValue } from '../colors';
|
|
2
|
-
import type { BuntiContext } from '../dsl';
|
|
1
|
+
import type { ColorValue } from '../colors.js';
|
|
2
|
+
import type { BuntiContext } from '../dsl.js';
|
|
3
3
|
/** Braille spinner animation frames, in playback order. */
|
|
4
4
|
export declare const SPINNER_FRAMES: readonly ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
5
5
|
export interface SpinnerProps {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from './Box';
|
|
2
|
-
export * from './Button';
|
|
3
|
-
export * from './Card';
|
|
4
|
-
export * from './Header';
|
|
5
|
-
export * from './Input';
|
|
6
|
-
export * from './Link';
|
|
7
|
-
export * from './Modal';
|
|
8
|
-
export * from './Progress';
|
|
9
|
-
export * from './Spinner';
|
|
1
|
+
export * from './Box.js';
|
|
2
|
+
export * from './Button.js';
|
|
3
|
+
export * from './Card.js';
|
|
4
|
+
export * from './Header.js';
|
|
5
|
+
export * from './Input.js';
|
|
6
|
+
export * from './Link.js';
|
|
7
|
+
export * from './Modal.js';
|
|
8
|
+
export * from './Progress.js';
|
|
9
|
+
export * from './Spinner.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/components/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from './Box';
|
|
2
|
-
export * from './Button';
|
|
3
|
-
export * from './Card';
|
|
4
|
-
export * from './Header';
|
|
5
|
-
export * from './Input';
|
|
6
|
-
export * from './Link';
|
|
7
|
-
export * from './Modal';
|
|
8
|
-
export * from './Progress';
|
|
9
|
-
export * from './Spinner';
|
|
1
|
+
export * from './Box.js';
|
|
2
|
+
export * from './Button.js';
|
|
3
|
+
export * from './Card.js';
|
|
4
|
+
export * from './Header.js';
|
|
5
|
+
export * from './Input.js';
|
|
6
|
+
export * from './Link.js';
|
|
7
|
+
export * from './Modal.js';
|
|
8
|
+
export * from './Progress.js';
|
|
9
|
+
export * from './Spinner.js';
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/data/nf-glyphs.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Source: Nerd Fonts v3.4.0 glyphnames.json
|
|
5
5
|
* Regenerate: bun scripts/gen-icons.ts
|
|
6
6
|
*/
|
|
7
|
-
import type { IconName } from './nf-names';
|
|
8
|
-
export type { IconName } from './nf-names';
|
|
7
|
+
import type { IconName } from './nf-names.js';
|
|
8
|
+
export type { IconName } from './nf-names.js';
|
|
9
9
|
export declare const NF_GLYPHS: Record<IconName, string>;
|
|
10
10
|
export declare const NF_VERSION = "v3.4.0";
|
|
11
11
|
//# sourceMappingURL=nf-glyphs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-registry.d.ts","sourceRoot":"","sources":["../src/demo-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,sCAAsC;AACtC,eAAO,MAAM,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"demo-registry.d.ts","sourceRoot":"","sources":["../src/demo-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,sCAAsC;AACtC,eAAO,MAAM,YAAY,EAAE,SAAS,EA2CnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,UAA8C,CAAC;AAExE,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE5D"}
|
package/dist/demo-registry.js
CHANGED
|
@@ -19,6 +19,11 @@ export const PUBLIC_DEMOS = [
|
|
|
19
19
|
file: '2048.ts',
|
|
20
20
|
description: 'The classic game - keyboard input, merge animations',
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
name: 'platformer',
|
|
24
|
+
file: 'platformer.ts',
|
|
25
|
+
description: 'STARHOP - 60fps side-scroller, pixel sprites, parallax, coyote jumps',
|
|
26
|
+
},
|
|
22
27
|
{
|
|
23
28
|
name: 'animation',
|
|
24
29
|
file: 'animation.ts',
|
|
@@ -49,7 +54,7 @@ export const PUBLIC_DEMOS = [
|
|
|
49
54
|
* Non-demo helper modules that public demos import; copied alongside them
|
|
50
55
|
* into dist/demos/ by scripts/build-demos.ts.
|
|
51
56
|
*/
|
|
52
|
-
export const DEMO_HELPERS = ['demo-layout.ts'];
|
|
57
|
+
export const DEMO_HELPERS = ['demo-layout.ts', 'platformer-physics.ts'];
|
|
53
58
|
/** Looks up a public demo by registry name. */
|
|
54
59
|
export function findDemo(name) {
|
|
55
60
|
return PUBLIC_DEMOS.find((d) => d.name === name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-registry.js","sourceRoot":"","sources":["../src/demo-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,sCAAsC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kEAAkE;KACrE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"demo-registry.js","sourceRoot":"","sources":["../src/demo-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,sCAAsC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kEAAkE;KACrE;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,sEAAsE;KACzE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0DAA0D;KACxE;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AAExE,+CAA+C;AAC/C,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnD,CAAC"}
|