jaml-ui 4.4.0 → 6.0.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.
Files changed (105) hide show
  1. package/assets/jammy-seed-mascot.png +0 -0
  2. package/dist/assets/8BitDeck-B09C1jGy.png +0 -0
  3. package/dist/assets/BlindChips-Bnvhn76w.png +0 -0
  4. package/dist/assets/Boosters-Bqv_YhIn.png +0 -0
  5. package/dist/assets/Editions-B3YPqPOl.png +0 -0
  6. package/dist/assets/Enhancers-DhIlUuTX.png +0 -0
  7. package/dist/assets/Jokers-1egXSFFQ.png +0 -0
  8. package/dist/assets/Tarots-DkrFk7iW.png +0 -0
  9. package/dist/assets/Vouchers-Cdp8BeSE.png +0 -0
  10. package/dist/assets/balatro-stake-chips-BdO-bw7c.png +0 -0
  11. package/dist/assets/jammy-seed-mascot-BdoW3O33.png +0 -0
  12. package/dist/assets/m6x11plus-C8RqtTtG.ttf +0 -0
  13. package/dist/assets/stickers-B6y5vEyc.png +0 -0
  14. package/dist/assets/tags-BdxcVWR4.png +0 -0
  15. package/dist/assets.js +38 -0
  16. package/dist/assets.js.map +1 -0
  17. package/dist/chunks/JimboSwipeDeck-eog6nv7F.js +2122 -0
  18. package/dist/chunks/JimboSwipeDeck-eog6nv7F.js.map +1 -0
  19. package/dist/components/DailyRitualView.d.ts +17 -0
  20. package/dist/components/DeckStakePicker.d.ts +12 -0
  21. package/dist/components/JamlIdeToolbar.d.ts +2 -5
  22. package/dist/components/JamlIdeVisual.d.ts +2 -1
  23. package/dist/components/Jamlyzer.d.ts +14 -2
  24. package/dist/components/JamlyzerBulk.d.ts +5 -4
  25. package/dist/components/JamlyzerView.d.ts +1 -12
  26. package/dist/components/SeedCalculus.d.ts +17 -0
  27. package/dist/components/SeedLab.d.ts +21 -0
  28. package/dist/components/jamlSeedUtils.d.ts +1 -0
  29. package/dist/components/jamlyzer/JamlyzerAnteDetails.d.ts +4 -0
  30. package/dist/components/jamlyzer/JamlyzerErraticDeck.d.ts +2 -2
  31. package/dist/components/jamlyzer/JamlyzerPackSection.d.ts +1 -5
  32. package/dist/components/jamlyzer/JamlyzerPulls.d.ts +2 -2
  33. package/dist/components/jamlyzer/JamlyzerSeedCard.d.ts +21 -0
  34. package/dist/components/jamlyzer/JamlyzerTape.d.ts +10 -0
  35. package/dist/components/jamlyzer/highlight.d.ts +3 -3
  36. package/dist/decode/motelyItemDecoder.d.ts +1 -0
  37. package/dist/decode/motelySprite.d.ts +10 -13
  38. package/dist/decode/motelySpriteLut.generated.d.ts +2 -0
  39. package/dist/index.d.ts +14 -1
  40. package/dist/index.js +20029 -16982
  41. package/dist/index.js.map +1 -1
  42. package/dist/json-render/JimboJsonRenderer.d.ts +21 -0
  43. package/dist/json-render/catalog.d.ts +304 -180
  44. package/dist/json-render/index.d.ts +5 -30
  45. package/dist/json-render/registry.d.ts +2 -12
  46. package/dist/lib/daily/ritual.d.ts +43 -0
  47. package/dist/lib/jaml/{parseClauses.d.ts → jaml.d.ts} +17 -13
  48. package/dist/lib/jaml/rarity.d.ts +53 -0
  49. package/dist/lib/jaml/rarityData.generated.d.ts +727 -0
  50. package/dist/motely.js +688 -76
  51. package/dist/motely.js.map +1 -1
  52. package/dist/sprites.js +438 -0
  53. package/dist/sprites.js.map +1 -0
  54. package/dist/ui/JimboApp.d.ts +8 -6
  55. package/dist/ui/JimboBackground.d.ts +5 -13
  56. package/dist/ui/JimboButton.d.ts +1 -1
  57. package/dist/ui/JimboDock.d.ts +21 -0
  58. package/dist/ui/JimboMascot.d.ts +51 -5
  59. package/dist/ui/JimboOrbitalMenu.d.ts +81 -9
  60. package/dist/ui/JimboPanelSpinner.d.ts +14 -0
  61. package/dist/ui/JimboSeedCopyChip.d.ts +1 -2
  62. package/dist/ui/JimboShopBelt.d.ts +9 -0
  63. package/dist/ui/JimboSlider.d.ts +11 -0
  64. package/dist/ui/dockTree.d.ts +31 -0
  65. package/dist/ui/hooks.d.ts +1 -1
  66. package/dist/ui/jammySeedMascotImage.d.ts +1 -1
  67. package/dist/ui/jimbo.css +1 -1
  68. package/dist/ui/orbitalLayout.d.ts +149 -0
  69. package/dist/ui/orbitalMenuStore.d.ts +70 -0
  70. package/dist/ui/tokens.d.ts +9 -36
  71. package/dist/ui/useMotionPreference.d.ts +19 -0
  72. package/dist/ui.d.ts +18 -3
  73. package/dist/ui.js +78 -34
  74. package/dist/vocab.d.ts +26 -0
  75. package/package.json +136 -126
  76. package/README.md +0 -78
  77. package/assets/fonts/README.md +0 -14
  78. package/dist/chunks/JimboSwipeDeck-Cbe5Jdmw.js +0 -986
  79. package/dist/chunks/JimboSwipeDeck-Cbe5Jdmw.js.map +0 -1
  80. package/dist/chunks/Layer-B5y9UIAt.js +0 -19
  81. package/dist/chunks/Layer-B5y9UIAt.js.map +0 -1
  82. package/dist/chunks/motelyItemDecoder-Cb-RjvQ0.js +0 -692
  83. package/dist/chunks/motelyItemDecoder-Cb-RjvQ0.js.map +0 -1
  84. package/dist/chunks/spriteMapper-Dfr2_j0_.js +0 -501
  85. package/dist/chunks/spriteMapper-Dfr2_j0_.js.map +0 -1
  86. package/dist/components/jamlyzer/JamlyzerRail.d.ts +0 -14
  87. package/dist/core.d.ts +0 -5
  88. package/dist/core.js +0 -41
  89. package/dist/core.js.map +0 -1
  90. package/dist/json-render/builders/analyzer.d.ts +0 -23
  91. package/dist/json-render/builders/encyclopedia.d.ts +0 -14
  92. package/dist/json-render/builders/search.d.ts +0 -24
  93. package/dist/json-render/components/domain.d.ts +0 -59
  94. package/dist/json-render/components/game.d.ts +0 -18
  95. package/dist/json-render/components/layout.d.ts +0 -47
  96. package/dist/json-render/components/mascot.d.ts +0 -23
  97. package/dist/json-render/components/reference.d.ts +0 -39
  98. package/dist/json-render/engine.d.ts +0 -38
  99. package/dist/json-render/knowledge/bosses.d.ts +0 -18
  100. package/dist/json-render/knowledge/decks.d.ts +0 -22
  101. package/dist/json-render/knowledge/jokers.d.ts +0 -23
  102. package/dist/json-render/knowledge/synergies.d.ts +0 -21
  103. package/dist/lib/motely/jamlParse.d.ts +0 -4
  104. package/dist/lib/motely/runtime.d.ts +0 -1
  105. package/dist/motely.d.ts +0 -4
package/package.json CHANGED
@@ -1,126 +1,136 @@
1
- {
2
- "name": "jaml-ui",
3
- "version": "4.4.0",
4
- "description": "Zero-dependency json-render engine + Balatro card sprites for MCP Apps.",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "default": "./dist/index.js"
12
- },
13
- "./ui": {
14
- "types": "./dist/ui.d.ts",
15
- "default": "./dist/ui.js"
16
- },
17
- "./core": {
18
- "types": "./dist/core.d.ts",
19
- "default": "./dist/core.js"
20
- },
21
- "./motely": {
22
- "types": "./dist/motely.d.ts",
23
- "default": "./dist/motely.js"
24
- },
25
- "./jimbo.css": "./dist/ui/jimbo.css",
26
- "./fonts.css": "./fonts.css",
27
- "./assets/*": "./assets/*"
28
- },
29
- "sideEffects": [
30
- "./fonts.css",
31
- "./dist/ui/jimbo.css",
32
- "./dist/index.js"
33
- ],
34
- "files": [
35
- "dist",
36
- "assets/*.png",
37
- "assets/fonts",
38
- "fonts.css",
39
- "README.md",
40
- "LICENSE"
41
- ],
42
- "scripts": {
43
- "build": "vite build",
44
- "dev": "storybook dev",
45
- "dev:watch": "vite build --watch",
46
- "jaml:mcp": "node scripts/jaml-mcp-server.mjs",
47
- "typecheck": "tsc --noEmit --pretty false",
48
- "typecheck:all": "pnpm typecheck && pnpm -r --if-present run typecheck",
49
- "prepack": "npm run build",
50
- "storybook": "pnpm run build && storybook dev -p 3141",
51
- "build-storybook": "pnpm run build && storybook build",
52
- "lint": "eslint ."
53
- },
54
- "engines": {
55
- "node": ">=18"
56
- },
57
- "pnpm": {
58
- "onlyBuiltDependencies": [
59
- "esbuild"
60
- ]
61
- },
62
- "publishConfig": {
63
- "access": "public"
64
- },
65
- "repository": {
66
- "type": "git",
67
- "url": "https://github.com/OptimusPi/jaml-ui"
68
- },
69
- "homepage": "https://github.com/OptimusPi/jaml-ui#readme",
70
- "bugs": {
71
- "url": "https://github.com/OptimusPi/jaml-ui/issues"
72
- },
73
- "keywords": [
74
- "balatro",
75
- "jaml",
76
- "motely",
77
- "seed",
78
- "card",
79
- "sprite",
80
- "ui",
81
- "json-render",
82
- "mcp"
83
- ],
84
- "author": "pifreak",
85
- "license": "MIT",
86
- "dependencies": {
87
- "jaml-lang": "^3.14.2",
88
- "react-icons": "^5.7.0",
89
- "yaml": "^2.9.0"
90
- },
91
- "peerDependencies": {
92
- "motely-wasm": "^25.0.0",
93
- "react": "^18.2.0 || ^19.0.0",
94
- "react-dom": "^18.2.0 || ^19.0.0"
95
- },
96
- "devDependencies": {
97
- "@codemirror/autocomplete": "^6.20.3",
98
- "@codemirror/commands": "^6.10.4",
99
- "@codemirror/language": "^6.12.4",
100
- "@codemirror/lint": "^6.9.7",
101
- "@codemirror/state": "^6.7.1",
102
- "@codemirror/view": "^6.43.7",
103
- "@eslint/js": "^10.0.1",
104
- "@lezer/highlight": "^1.2.3",
105
- "@storybook/addon-docs": "^10.5.5",
106
- "@storybook/react": "^10.5.5",
107
- "@storybook/react-vite": "^10.5.5",
108
- "@types/node": "^25.9.5",
109
- "@types/react": "^19.2.17",
110
- "@types/react-dom": "^19.2.3",
111
- "@vitejs/plugin-react": "^5.2.0",
112
- "eslint": "^10.8.0",
113
- "eslint-plugin-react-hooks": "^7.1.1",
114
- "eslint-plugin-react-refresh": "^0.5.3",
115
- "eslint-plugin-storybook": "10.4.6",
116
- "globals": "^17.8.0",
117
- "motely-wasm": "25.0.3",
118
- "react": "^19.2.8",
119
- "react-dom": "^19.2.8",
120
- "storybook": "^10.5.5",
121
- "typescript": "^5.9.3",
122
- "typescript-eslint": "^8.65.0",
123
- "vite": "^6.4.3",
124
- "vite-plugin-dts": "^5.0.3"
125
- }
126
- }
1
+ {
2
+ "name": "jaml-ui",
3
+ "version": "6.0.0",
4
+ "description": "Balatro card sprites and the Jimbo design system for MCP Apps, with a @json-render (Vercel Labs) catalog.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./ui": {
14
+ "types": "./dist/ui.d.ts",
15
+ "default": "./dist/ui.js"
16
+ },
17
+ "./sprites": {
18
+ "types": "./dist/sprites/spriteData.d.ts",
19
+ "default": "./dist/sprites.js"
20
+ },
21
+ "./assets": {
22
+ "types": "./dist/assets.d.ts",
23
+ "default": "./dist/assets.js"
24
+ },
25
+ "./motely": {
26
+ "types": "./dist/decode/motelyItemDecoder.d.ts",
27
+ "default": "./dist/motely.js"
28
+ },
29
+ "./jimbo.css": "./dist/ui/jimbo.css",
30
+ "./fonts.css": "./fonts.css",
31
+ "./assets/*": "./assets/*"
32
+ },
33
+ "sideEffects": [
34
+ "./fonts.css",
35
+ "./dist/ui/jimbo.css",
36
+ "./dist/index.js"
37
+ ],
38
+ "files": [
39
+ "dist",
40
+ "assets/*.png",
41
+ "assets/fonts",
42
+ "fonts.css",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
46
+ "scripts": {
47
+ "build": "vite build",
48
+ "dev": "storybook dev",
49
+ "dev:watch": "vite build --watch",
50
+ "jaml:mcp": "node scripts/jaml-mcp-server.mjs",
51
+ "typecheck": "tsc --noEmit --pretty false",
52
+ "vocab:check": "node --experimental-strip-types scripts/check-vocab-drift.mjs",
53
+ "lut:emit": "node scripts/emit-motely-sprite-lut.mjs",
54
+ "typecheck:all": "pnpm typecheck && pnpm -r --if-present run typecheck",
55
+ "prepack": "npm run build",
56
+ "storybook": "pnpm run build && storybook dev -p 3141",
57
+ "build-storybook": "pnpm run build && storybook build",
58
+ "lint": "eslint .",
59
+ "design:detect": "node .agents/skills/impeccable/scripts/detect.mjs --json src",
60
+ "design:doctor": "node .agents/skills/impeccable/scripts/doctor.mjs"
61
+ },
62
+ "engines": {
63
+ "node": ">=18"
64
+ },
65
+ "pnpm": {
66
+ "onlyBuiltDependencies": [
67
+ "esbuild"
68
+ ]
69
+ },
70
+ "publishConfig": {
71
+ "access": "public"
72
+ },
73
+ "repository": {
74
+ "type": "git",
75
+ "url": "https://github.com/OptimusPi/jaml-ui"
76
+ },
77
+ "homepage": "https://github.com/OptimusPi/jaml-ui#readme",
78
+ "bugs": {
79
+ "url": "https://github.com/OptimusPi/jaml-ui/issues"
80
+ },
81
+ "keywords": [
82
+ "balatro",
83
+ "jaml",
84
+ "motely",
85
+ "seed",
86
+ "card",
87
+ "sprite",
88
+ "ui",
89
+ "json-render",
90
+ "mcp"
91
+ ],
92
+ "author": "pifreak",
93
+ "license": "MIT",
94
+ "dependencies": {
95
+ "@json-render/core": "^0.20.0",
96
+ "@json-render/react": "^0.20.0",
97
+ "jaml-lang": "^3.14.2",
98
+ "react-icons": "^5.7.0",
99
+ "zod": "^4.5.4"
100
+ },
101
+ "peerDependencies": {
102
+ "motely-wasm": "^26.0.0",
103
+ "react": "^18.2.0 || ^19.0.0",
104
+ "react-dom": "^18.2.0 || ^19.0.0"
105
+ },
106
+ "devDependencies": {
107
+ "@codemirror/autocomplete": "^6.20.3",
108
+ "@codemirror/commands": "^6.11.0",
109
+ "@codemirror/language": "^6.12.4",
110
+ "@codemirror/lint": "^6.9.7",
111
+ "@codemirror/state": "^6.7.2",
112
+ "@codemirror/view": "^6.43.10",
113
+ "@eslint/js": "^10.0.1",
114
+ "@lezer/highlight": "^1.2.3",
115
+ "@storybook/addon-docs": "^10.5.10",
116
+ "@storybook/react": "^10.5.10",
117
+ "@storybook/react-vite": "^10.5.10",
118
+ "@types/node": "^25.9.5",
119
+ "@types/react": "^19.2.18",
120
+ "@types/react-dom": "^19.2.5",
121
+ "@vitejs/plugin-react": "^5.2.0",
122
+ "eslint": "^10.9.1",
123
+ "eslint-plugin-react-hooks": "^7.1.1",
124
+ "eslint-plugin-react-refresh": "^0.5.5",
125
+ "eslint-plugin-storybook": "10.4.6",
126
+ "globals": "^17.11.0",
127
+ "motely-wasm": "^26.0.0",
128
+ "react": "^19.2.8",
129
+ "react-dom": "^19.2.8",
130
+ "storybook": "^10.5.10",
131
+ "typescript": "^5.9.3",
132
+ "typescript-eslint": "^8.69.0",
133
+ "vite": "^6.4.3",
134
+ "vite-plugin-dts": "^5.0.3"
135
+ }
136
+ }
package/README.md DELETED
@@ -1,78 +0,0 @@
1
- # jaml-ui
2
-
3
- Zero-dependency JSON-to-React engine (`json-render`) + Balatro card sprite rendering for MCP Apps.
4
-
5
- ## What's inside
6
-
7
- - **`json-render`** — a tiny, zero-dep JSON-to-React engine in `src/json-render`. A JsonNode tree + a registry = rendered UI. Ships with a Balatro catalog (`Panel`, `Stack`, `Grid`, `SeedCard`, `SearchStats`, `JamlGameCard`, ...).
8
- - **Balatro card sprites** — canvas-based `JamlGameCard`, `StandardCard`, `DeckSprite`, plus sprite metadata.
9
- - **MCP App example** — `examples/mcp-seed-finder` is a single-file MCP App that talks to an MCP server and renders search results with `json-render`.
10
-
11
- ## Install
12
-
13
- ```bash
14
- npm install jaml-ui motely-wasm react react-dom
15
- ```
16
-
17
- `motely-wasm` is a peer dependency — boot it once before rendering.
18
-
19
- ## Quick start — render JSON UI
20
-
21
- ```tsx
22
- import { render, balatroRegistry } from "jaml-ui";
23
-
24
- const spec = {
25
- type: "Panel",
26
- props: { title: "Hello" },
27
- children: [
28
- { type: "Text", props: { body: "Seed: ALEEB", variant: "title" } },
29
- { type: "JamlGameCard", props: { type: "joker", card: { name: "Blueprint" } } },
30
- ],
31
- };
32
-
33
- export default function App() {
34
- return <div>{render(spec, balatroRegistry)}</div>;
35
- }
36
- ```
37
-
38
- ## Boot motely-wasm
39
-
40
- `motely-wasm` ships embedded — the boot resources travel inside the module, so `boot()` takes no argument.
41
-
42
- ```tsx
43
- import bootsharp from "motely-wasm";
44
-
45
- if (bootsharp.getStatus() === bootsharp.BootStatus.Standby) await bootsharp.boot();
46
- ```
47
-
48
- Boot once per JS realm. Each web worker is its own realm, so a worker fleet boots one engine apiece — see the fleet section in the [motely-wasm README](https://www.npmjs.com/package/motely-wasm) for the module-worker and `MessagePort` rules that keep a worker from hanging.
49
-
50
- ## MCP App example
51
-
52
- ```bash
53
- cd examples/mcp-seed-finder
54
- pnpm install
55
- pnpm dev
56
- ```
57
-
58
- ## Package exports
59
-
60
- | Entry | What's in it |
61
- | ----- | ------------ |
62
- | `jaml-ui` | json-render engine, Balatro registry/catalog, card components |
63
- | `jaml-ui/ui` | Jimbo CSS tokens only |
64
- | `jaml-ui/core` | Sprite metadata, asset URLs, canvas `Layer` — no React, no motely-wasm |
65
- | `jaml-ui/motely` | `bootsharp` + `Motely` re-exports, item decoders |
66
-
67
- ## Scripts
68
-
69
- ```bash
70
- pnpm build # Vite library build → dist/
71
- pnpm dev # vite build --watch
72
- pnpm typecheck # tsc --noEmit
73
- pnpm lint # ESLint
74
- ```
75
-
76
- ## License
77
-
78
- MIT — see [LICENSE](LICENSE). Font files in `assets/fonts/` are third-party assets by Daniel Linssen; attribution required when redistributing or displaying the pixel fonts.
@@ -1,14 +0,0 @@
1
- # Fonts
2
-
3
- | File | Family | Notes |
4
- |------|--------|--------|
5
- | `m6x11.ttf` | `m6x11` | Base pixel font. Prefer sizes 16, 32, 48, … |
6
- | `m6x11plus.ttf` | `m6x11plus` | Extended charset (+6 width, taller metrics). Prefer 18, 36, 54, … |
7
-
8
- `m6x11plusplus.otf` is a legacy bundle copy; **do not use** for new work — use the `.ttf` files above.
9
-
10
- ## Attribution
11
-
12
- UI fonts by [Daniel Linssen](https://managore.itch.io/) — free to use with attribution.
13
-
14
- Include credit in your app README or notices when shipping jaml-ui consumers (for example: “UI fonts by Daniel Linssen — https://managore.itch.io/”).