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
@@ -0,0 +1,438 @@
1
+ import { JAML_ASSET_FILES as s, resolveJamlAssetUrl as m } from "./assets.js";
2
+ function a(e, o, n) {
3
+ return {
4
+ asset: e,
5
+ fileName: s[e],
6
+ columns: o,
7
+ rows: n,
8
+ get src() {
9
+ return m(e);
10
+ }
11
+ };
12
+ }
13
+ const J = {
14
+ jokers: a("jokers", 10, 16),
15
+ tarots: a("tarots", 10, 6),
16
+ deck: a("deck", 13, 4),
17
+ enhancers: a("enhancers", 7, 5),
18
+ editions: a("editions", 5, 1),
19
+ stickers: a("stickers", 5, 3),
20
+ blinds: a("blinds", 21, 31),
21
+ vouchers: a("vouchers", 9, 4),
22
+ tags: a("tags", 6, 5),
23
+ boosters: a("boosters", 4, 9),
24
+ stakes: a("stakes", 5, 2)
25
+ }, p = [
26
+ { name: "Joker", pos: { x: 0, y: 0 } },
27
+ { name: "Greedy Joker", pos: { x: 6, y: 1 } },
28
+ { name: "Lusty Joker", pos: { x: 7, y: 1 } },
29
+ { name: "Wrathful Joker", pos: { x: 8, y: 1 } },
30
+ { name: "Gluttonous Joker", pos: { x: 9, y: 1 } },
31
+ { name: "Jolly Joker", pos: { x: 2, y: 0 } },
32
+ { name: "Zany Joker", pos: { x: 3, y: 0 } },
33
+ { name: "Mad Joker", pos: { x: 4, y: 0 } },
34
+ { name: "Crazy Joker", pos: { x: 5, y: 0 } },
35
+ { name: "Droll Joker", pos: { x: 6, y: 0 } },
36
+ { name: "Sly Joker", pos: { x: 0, y: 14 } },
37
+ { name: "Wily Joker", pos: { x: 1, y: 14 } },
38
+ { name: "Clever Joker", pos: { x: 2, y: 14 } },
39
+ { name: "Devious Joker", pos: { x: 3, y: 14 } },
40
+ { name: "Crafty Joker", pos: { x: 4, y: 14 } },
41
+ { name: "Half Joker", pos: { x: 7, y: 0 } },
42
+ { name: "Joker Stencil", pos: { x: 2, y: 5 } },
43
+ { name: "Four Fingers", pos: { x: 6, y: 6 } },
44
+ { name: "Mime", pos: { x: 4, y: 1 } },
45
+ { name: "Credit Card", pos: { x: 5, y: 1 } },
46
+ { name: "Ceremonial Dagger", pos: { x: 5, y: 5 } },
47
+ { name: "Banner", pos: { x: 1, y: 2 } },
48
+ { name: "Mystic Summit", pos: { x: 2, y: 2 } },
49
+ { name: "Marble Joker", pos: { x: 3, y: 2 } },
50
+ { name: "Loyalty Card", pos: { x: 4, y: 2 } },
51
+ { name: "8 Ball", pos: { x: 0, y: 5 } },
52
+ { name: "Misprint", pos: { x: 6, y: 2 } },
53
+ { name: "Dusk", pos: { x: 4, y: 7 } },
54
+ { name: "Raised Fist", pos: { x: 8, y: 2 } },
55
+ { name: "Chaos the Clown", pos: { x: 1, y: 0 } },
56
+ { name: "Fibonacci", pos: { x: 1, y: 5 } },
57
+ { name: "Steel Joker", pos: { x: 7, y: 2 } },
58
+ { name: "Scary Face", pos: { x: 2, y: 3 } },
59
+ { name: "Abstract Joker", pos: { x: 3, y: 3 } },
60
+ { name: "Delayed Gratification", pos: { x: 4, y: 3 } },
61
+ { name: "Hack", pos: { x: 5, y: 2 } },
62
+ { name: "Pareidolia", pos: { x: 6, y: 3 } },
63
+ { name: "Gros Michel", pos: { x: 7, y: 6 } },
64
+ { name: "Even Steven", pos: { x: 8, y: 3 } },
65
+ { name: "Odd Todd", pos: { x: 9, y: 3 } },
66
+ { name: "Scholar", pos: { x: 3, y: 6 } },
67
+ { name: "Business Card", pos: { x: 1, y: 4 } },
68
+ { name: "Supernova", pos: { x: 2, y: 4 } },
69
+ { name: "Ride the Bus", pos: { x: 1, y: 6 } },
70
+ { name: "Space Joker", pos: { x: 3, y: 5 } },
71
+ { name: "Egg", pos: { x: 0, y: 10 } },
72
+ { name: "Burglar", pos: { x: 1, y: 10 } },
73
+ { name: "Blackboard", pos: { x: 2, y: 10 } },
74
+ { name: "Runner", pos: { x: 3, y: 10 } },
75
+ { name: "Ice Cream", pos: { x: 4, y: 10 } },
76
+ { name: "DNA", pos: { x: 5, y: 10 } },
77
+ { name: "Splash", pos: { x: 6, y: 10 } },
78
+ { name: "Blue Joker", pos: { x: 7, y: 10 } },
79
+ { name: "Sixth Sense", pos: { x: 8, y: 10 } },
80
+ { name: "Constellation", pos: { x: 9, y: 10 } },
81
+ { name: "Hiker", pos: { x: 0, y: 11 } },
82
+ { name: "Faceless Joker", pos: { x: 1, y: 11 } },
83
+ { name: "Green Joker", pos: { x: 2, y: 11 } },
84
+ { name: "Superposition", pos: { x: 3, y: 11 } },
85
+ { name: "To Do List", pos: { x: 4, y: 11 } },
86
+ { name: "Cavendish", pos: { x: 5, y: 11 } },
87
+ { name: "Card Sharp", pos: { x: 6, y: 11 } },
88
+ { name: "Red Card", pos: { x: 7, y: 11 } },
89
+ { name: "Madness", pos: { x: 8, y: 11 } },
90
+ { name: "Square Joker", pos: { x: 9, y: 11 } },
91
+ { name: "Seance", pos: { x: 0, y: 12 } },
92
+ { name: "Riff-raff", pos: { x: 1, y: 12 } },
93
+ { name: "Vampire", pos: { x: 2, y: 12 } },
94
+ { name: "Shortcut", pos: { x: 3, y: 12 } },
95
+ { name: "Hologram", pos: { x: 4, y: 12 } },
96
+ { name: "Vagabond", pos: { x: 5, y: 12 } },
97
+ { name: "Baron", pos: { x: 6, y: 12 } },
98
+ { name: "Cloud 9", pos: { x: 7, y: 12 } },
99
+ { name: "Rocket", pos: { x: 8, y: 12 } },
100
+ { name: "Obelisk", pos: { x: 9, y: 12 } },
101
+ { name: "Midas Mask", pos: { x: 0, y: 13 } },
102
+ { name: "Luchador", pos: { x: 1, y: 13 } },
103
+ { name: "Photograph", pos: { x: 2, y: 13 } },
104
+ { name: "Gift Card", pos: { x: 3, y: 13 } },
105
+ { name: "Turtle Bean", pos: { x: 4, y: 13 } },
106
+ { name: "Erosion", pos: { x: 5, y: 13 } },
107
+ { name: "Reserved Parking", pos: { x: 6, y: 13 } },
108
+ { name: "Mail In Rebate", pos: { x: 7, y: 13 } },
109
+ { name: "To the Moon", pos: { x: 8, y: 13 } },
110
+ { name: "Hallucination", pos: { x: 9, y: 13 } },
111
+ { name: "Fortune Teller", pos: { x: 7, y: 5 } },
112
+ { name: "Juggler", pos: { x: 0, y: 1 } },
113
+ { name: "Drunkard", pos: { x: 1, y: 1 } },
114
+ { name: "Stone Joker", pos: { x: 9, y: 0 } },
115
+ { name: "Golden Joker", pos: { x: 9, y: 2 } },
116
+ { name: "Lucky Cat", pos: { x: 5, y: 14 } },
117
+ { name: "Baseball Card", pos: { x: 6, y: 14 } },
118
+ { name: "Bull", pos: { x: 7, y: 14 } },
119
+ { name: "Diet Cola", pos: { x: 8, y: 14 } },
120
+ { name: "Trading Card", pos: { x: 9, y: 14 } },
121
+ { name: "Flash Card", pos: { x: 0, y: 15 } },
122
+ { name: "Popcorn", pos: { x: 1, y: 15 } },
123
+ { name: "Spare Trousers", pos: { x: 4, y: 15 } },
124
+ { name: "Ancient Joker", pos: { x: 7, y: 15 } },
125
+ { name: "Ramen", pos: { x: 2, y: 15 } },
126
+ { name: "Walkie Talkie", pos: { x: 8, y: 15 } },
127
+ { name: "Seltzer", pos: { x: 3, y: 15 } },
128
+ { name: "Castle", pos: { x: 9, y: 15 } },
129
+ { name: "Smiley Face", pos: { x: 6, y: 15 } },
130
+ { name: "Campfire", pos: { x: 5, y: 15 } },
131
+ { name: "Golden Ticket", pos: { x: 5, y: 3 } },
132
+ { name: "Mr. Bones", pos: { x: 3, y: 4 } },
133
+ { name: "Acrobat", pos: { x: 2, y: 1 } },
134
+ { name: "Sock and Buskin", pos: { x: 3, y: 1 } },
135
+ { name: "Swashbuckler", pos: { x: 9, y: 5 } },
136
+ { name: "Troubadour", pos: { x: 0, y: 2 } },
137
+ { name: "Certificate", pos: { x: 8, y: 8 } },
138
+ { name: "Smeared Joker", pos: { x: 4, y: 6 } },
139
+ { name: "Throwback", pos: { x: 5, y: 7 } },
140
+ { name: "Hanging Chad", pos: { x: 9, y: 6 } },
141
+ { name: "Rough Gem", pos: { x: 9, y: 7 } },
142
+ { name: "Bloodstone", pos: { x: 0, y: 8 } },
143
+ { name: "Arrowhead", pos: { x: 1, y: 8 } },
144
+ { name: "Onyx Agate", pos: { x: 2, y: 8 } },
145
+ { name: "Glass Joker", pos: { x: 1, y: 3 } },
146
+ { name: "Showman", pos: { x: 6, y: 5 } },
147
+ { name: "Flower Pot", pos: { x: 0, y: 6 } },
148
+ { name: "Blueprint", pos: { x: 0, y: 3 } },
149
+ { name: "Wee Joker", pos: { x: 0, y: 4 } },
150
+ { name: "Merry Andy", pos: { x: 8, y: 0 } },
151
+ { name: "Oops! All 6s", pos: { x: 5, y: 6 } },
152
+ { name: "The Idol", pos: { x: 6, y: 7 } },
153
+ { name: "Seeing Double", pos: { x: 4, y: 4 } },
154
+ { name: "Matador", pos: { x: 4, y: 5 } },
155
+ { name: "Hit the Road", pos: { x: 8, y: 5 } },
156
+ { name: "The Duo", pos: { x: 5, y: 4 } },
157
+ { name: "The Trio", pos: { x: 6, y: 4 } },
158
+ { name: "The Family", pos: { x: 7, y: 4 } },
159
+ { name: "The Order", pos: { x: 8, y: 4 } },
160
+ { name: "The Tribe", pos: { x: 9, y: 4 } },
161
+ { name: "Stuntman", pos: { x: 8, y: 6 } },
162
+ { name: "Invisible Joker", pos: { x: 1, y: 7 } },
163
+ { name: "Brainstorm", pos: { x: 7, y: 7 } },
164
+ { name: "Satellite", pos: { x: 8, y: 7 } },
165
+ { name: "Shoot the Moon", pos: { x: 2, y: 6 } },
166
+ { name: "Drivers License", pos: { x: 0, y: 7 } },
167
+ { name: "Cartomancer", pos: { x: 7, y: 3 } },
168
+ { name: "Astronomer", pos: { x: 2, y: 7 } },
169
+ { name: "Burnt Joker", pos: { x: 3, y: 7 } },
170
+ { name: "Bootstraps", pos: { x: 9, y: 8 } },
171
+ { name: "Canio", pos: { x: 3, y: 8 } },
172
+ { name: "Triboulet", pos: { x: 4, y: 8 } },
173
+ { name: "Yorick", pos: { x: 5, y: 8 } },
174
+ { name: "Chicot", pos: { x: 6, y: 8 } },
175
+ { name: "Perkeo", pos: { x: 7, y: 8 } }
176
+ ], y = [
177
+ { name: "Hologram", pos: { x: 2, y: 9 }, animated: !0 },
178
+ { name: "Canio", pos: { x: 3, y: 9 }, animated: !0 },
179
+ { name: "Triboulet", pos: { x: 4, y: 9 }, animated: !0 },
180
+ { name: "Yorick", pos: { x: 5, y: 9 }, animated: !0 },
181
+ { name: "Chicot", pos: { x: 6, y: 9 }, animated: !0 },
182
+ { name: "Perkeo", pos: { x: 7, y: 9 }, animated: !0 }
183
+ ], x = [
184
+ { name: "The Soul", pos: { x: 0, y: 1 }, animated: !0 }
185
+ ], r = [
186
+ { name: "The Fool", pos: { x: 0, y: 0 } },
187
+ { name: "The Magician", pos: { x: 1, y: 0 } },
188
+ { name: "The High Priestess", pos: { x: 2, y: 0 } },
189
+ { name: "The Empress", pos: { x: 3, y: 0 } },
190
+ { name: "The Emperor", pos: { x: 4, y: 0 } },
191
+ { name: "The Hierophant", pos: { x: 5, y: 0 } },
192
+ { name: "The Lovers", pos: { x: 6, y: 0 } },
193
+ { name: "The Chariot", pos: { x: 7, y: 0 } },
194
+ { name: "Justice", pos: { x: 8, y: 0 } },
195
+ { name: "The Hermit", pos: { x: 9, y: 0 } },
196
+ { name: "The Wheel of Fortune", pos: { x: 0, y: 1 } },
197
+ { name: "Strength", pos: { x: 1, y: 1 } },
198
+ { name: "The Hanged Man", pos: { x: 2, y: 1 } },
199
+ { name: "Death", pos: { x: 3, y: 1 } },
200
+ { name: "Temperance", pos: { x: 4, y: 1 } },
201
+ { name: "The Devil", pos: { x: 5, y: 1 } },
202
+ { name: "The Tower", pos: { x: 6, y: 1 } },
203
+ { name: "The Star", pos: { x: 7, y: 1 } },
204
+ { name: "The Moon", pos: { x: 8, y: 1 } },
205
+ { name: "The Sun", pos: { x: 9, y: 1 } },
206
+ { name: "Judgement", pos: { x: 0, y: 2 } },
207
+ { name: "The World", pos: { x: 1, y: 2 } },
208
+ { name: "Mercury", pos: { x: 0, y: 3 } },
209
+ { name: "Venus", pos: { x: 1, y: 3 } },
210
+ { name: "Earth", pos: { x: 2, y: 3 } },
211
+ { name: "Mars", pos: { x: 3, y: 3 } },
212
+ { name: "Jupiter", pos: { x: 4, y: 3 } },
213
+ { name: "Saturn", pos: { x: 5, y: 3 } },
214
+ { name: "Uranus", pos: { x: 6, y: 3 } },
215
+ { name: "Neptune", pos: { x: 7, y: 3 } },
216
+ { name: "Pluto", pos: { x: 8, y: 3 } },
217
+ { name: "Planet X", pos: { x: 9, y: 2 } },
218
+ { name: "Ceres", pos: { x: 8, y: 2 } },
219
+ { name: "Eris", pos: { x: 3, y: 2 } },
220
+ { name: "Familiar", pos: { x: 0, y: 4 } },
221
+ { name: "Grim", pos: { x: 1, y: 4 } },
222
+ { name: "Incantation", pos: { x: 2, y: 4 } },
223
+ { name: "Talisman", pos: { x: 3, y: 4 } },
224
+ { name: "Aura", pos: { x: 4, y: 4 } },
225
+ { name: "Wraith", pos: { x: 5, y: 4 } },
226
+ { name: "Sigil", pos: { x: 6, y: 4 } },
227
+ { name: "Ouija", pos: { x: 7, y: 4 } },
228
+ { name: "Ectoplasm", pos: { x: 8, y: 4 } },
229
+ { name: "Immolate", pos: { x: 9, y: 4 } },
230
+ { name: "Ankh", pos: { x: 0, y: 5 } },
231
+ { name: "Deja Vu", pos: { x: 1, y: 5 } },
232
+ { name: "Hex", pos: { x: 2, y: 5 } },
233
+ { name: "Trance", pos: { x: 3, y: 5 } },
234
+ { name: "Medium", pos: { x: 4, y: 5 } },
235
+ { name: "Cryptid", pos: { x: 5, y: 5 } },
236
+ { name: "The Soul", pos: { x: 2, y: 2 } },
237
+ { name: "Black Hole", pos: { x: 9, y: 3 } }
238
+ ], t = [
239
+ { name: "Uncommon Tag", pos: { x: 0, y: 0 } },
240
+ { name: "Rare Tag", pos: { x: 1, y: 0 } },
241
+ { name: "Negative Tag", pos: { x: 2, y: 0 } },
242
+ { name: "Foil Tag", pos: { x: 3, y: 0 } },
243
+ { name: "Holographic Tag", pos: { x: 0, y: 1 } },
244
+ { name: "Polychrome Tag", pos: { x: 1, y: 1 } },
245
+ { name: "Investment Tag", pos: { x: 2, y: 1 } },
246
+ { name: "Voucher Tag", pos: { x: 3, y: 1 } },
247
+ { name: "Boss Tag", pos: { x: 0, y: 2 } },
248
+ { name: "Standard Tag", pos: { x: 1, y: 2 } },
249
+ { name: "Charm Tag", pos: { x: 2, y: 2 } },
250
+ { name: "Meteor Tag", pos: { x: 3, y: 2 } },
251
+ { name: "Buffoon Tag", pos: { x: 4, y: 2 } },
252
+ { name: "Handy Tag", pos: { x: 1, y: 3 } },
253
+ { name: "Garbage Tag", pos: { x: 2, y: 3 } },
254
+ { name: "Ethereal Tag", pos: { x: 3, y: 3 } },
255
+ { name: "Coupon Tag", pos: { x: 4, y: 0 } },
256
+ { name: "Double Tag", pos: { x: 5, y: 0 } },
257
+ { name: "Juggle Tag", pos: { x: 5, y: 1 } },
258
+ { name: "D6 Tag", pos: { x: 5, y: 3 } },
259
+ { name: "Top-up Tag", pos: { x: 4, y: 1 } },
260
+ { name: "Speed Tag", pos: { x: 0, y: 3 } },
261
+ { name: "Orbital Tag", pos: { x: 5, y: 2 } },
262
+ { name: "Economy Tag", pos: { x: 4, y: 3 } }
263
+ ], l = [
264
+ { name: "Overstock", pos: { x: 0, y: 0 } },
265
+ { name: "Clearance Sale", pos: { x: 3, y: 0 } },
266
+ { name: "Hone", pos: { x: 4, y: 0 } },
267
+ { name: "Reroll Surplus", pos: { x: 0, y: 2 } },
268
+ { name: "Crystal Ball", pos: { x: 2, y: 2 } },
269
+ { name: "Telescope", pos: { x: 3, y: 2 } },
270
+ { name: "Grabber", pos: { x: 5, y: 0 } },
271
+ { name: "Wasteful", pos: { x: 6, y: 0 } },
272
+ { name: "Tarot Merchant", pos: { x: 1, y: 0 } },
273
+ { name: "Planet Merchant", pos: { x: 2, y: 0 } },
274
+ { name: "Seed Money", pos: { x: 1, y: 2 } },
275
+ { name: "Blank", pos: { x: 7, y: 0 } },
276
+ { name: "Magic Trick", pos: { x: 4, y: 2 } },
277
+ { name: "Hieroglyph", pos: { x: 5, y: 2 } },
278
+ { name: "Director's Cut", pos: { x: 6, y: 2 } },
279
+ { name: "Paint Brush", pos: { x: 7, y: 2 } },
280
+ { name: "Overstock Plus", pos: { x: 0, y: 1 } },
281
+ { name: "Liquidation", pos: { x: 3, y: 1 } },
282
+ { name: "Glow Up", pos: { x: 4, y: 1 } },
283
+ { name: "Reroll Glut", pos: { x: 0, y: 3 } },
284
+ { name: "Omen Globe", pos: { x: 2, y: 3 } },
285
+ { name: "Observatory", pos: { x: 3, y: 3 } },
286
+ { name: "Nacho Tong", pos: { x: 5, y: 1 } },
287
+ { name: "Recyclomancy", pos: { x: 6, y: 1 } },
288
+ { name: "Tarot Tycoon", pos: { x: 1, y: 1 } },
289
+ { name: "Planet Tycoon", pos: { x: 2, y: 1 } },
290
+ { name: "Money Tree", pos: { x: 1, y: 3 } },
291
+ { name: "Antimatter", pos: { x: 7, y: 1 } },
292
+ { name: "Illusion", pos: { x: 4, y: 3 } },
293
+ { name: "Petroglyph", pos: { x: 5, y: 3 } },
294
+ { name: "Retcon", pos: { x: 6, y: 3 } },
295
+ { name: "Palette", pos: { x: 7, y: 3 } }
296
+ ], i = [
297
+ { name: "Small Blind", pos: { x: 0, y: 0 } },
298
+ { name: "Big Blind", pos: { x: 0, y: 1 } },
299
+ { name: "The Ox", pos: { x: 0, y: 2 } },
300
+ { name: "The Hook", pos: { x: 0, y: 7 } },
301
+ { name: "The Mouth", pos: { x: 0, y: 18 } },
302
+ { name: "The Fish", pos: { x: 0, y: 5 } },
303
+ { name: "The Club", pos: { x: 0, y: 4 } },
304
+ { name: "The Manacle", pos: { x: 0, y: 8 } },
305
+ { name: "The Tooth", pos: { x: 0, y: 22 } },
306
+ { name: "The Wall", pos: { x: 0, y: 9 } },
307
+ { name: "The House", pos: { x: 0, y: 3 } },
308
+ { name: "The Mark", pos: { x: 0, y: 23 } },
309
+ { name: "Cerulean Bell", pos: { x: 0, y: 26 } },
310
+ { name: "The Wheel", pos: { x: 0, y: 10 } },
311
+ { name: "The Arm", pos: { x: 0, y: 11 } },
312
+ { name: "The Psychic", pos: { x: 0, y: 12 } },
313
+ { name: "The Goad", pos: { x: 0, y: 13 } },
314
+ { name: "The Water", pos: { x: 0, y: 14 } },
315
+ { name: "The Eye", pos: { x: 0, y: 17 } },
316
+ { name: "The Plant", pos: { x: 0, y: 19 } },
317
+ { name: "The Needle", pos: { x: 0, y: 20 } },
318
+ { name: "The Head", pos: { x: 0, y: 21 } },
319
+ { name: "Verdant Leaf", pos: { x: 0, y: 28 } },
320
+ { name: "Violet Vessel", pos: { x: 0, y: 29 } },
321
+ { name: "The Window", pos: { x: 0, y: 6 } },
322
+ { name: "The Serpent", pos: { x: 0, y: 15 } },
323
+ { name: "The Pillar", pos: { x: 0, y: 16 } },
324
+ { name: "The Flint", pos: { x: 0, y: 24 } },
325
+ { name: "Amber Acorn", pos: { x: 0, y: 27 } },
326
+ { name: "Crimson Heart", pos: { x: 0, y: 25 } }
327
+ ], c = [
328
+ { name: "Arcana Pack", pos: { x: 0, y: 0 } },
329
+ { name: "Celestial Pack", pos: { x: 0, y: 1 } },
330
+ { name: "Jumbo Arcana Pack", pos: { x: 0, y: 2 } },
331
+ { name: "Mega Arcana Pack", pos: { x: 2, y: 2 } },
332
+ { name: "Jumbo Celestial Pack", pos: { x: 0, y: 3 } },
333
+ { name: "Mega Celestial Pack", pos: { x: 2, y: 3 } },
334
+ { name: "Spectral Pack", pos: { x: 0, y: 4 } },
335
+ { name: "Jumbo Spectral Pack", pos: { x: 2, y: 4 } },
336
+ { name: "Mega Spectral Pack", pos: { x: 3, y: 4 } },
337
+ { name: "Standard Pack", pos: { x: 0, y: 6 } },
338
+ { name: "Jumbo Standard Pack", pos: { x: 0, y: 7 } },
339
+ { name: "Mega Standard Pack", pos: { x: 2, y: 7 } },
340
+ { name: "Buffoon Pack", pos: { x: 0, y: 8 } },
341
+ { name: "Jumbo Buffoon Pack", pos: { x: 2, y: 8 } },
342
+ { name: "Mega Buffoon Pack", pos: { x: 3, y: 8 } }
343
+ ], P = {
344
+ Foil: 1,
345
+ Holographic: 2,
346
+ Polychrome: 3
347
+ }, f = {
348
+ Eternal: { x: 0, y: 0 },
349
+ Perishable: { x: 0, y: 2 },
350
+ Rental: { x: 1, y: 2 }
351
+ }, b = {
352
+ 2: 0,
353
+ 3: 1,
354
+ 4: 2,
355
+ 5: 3,
356
+ 6: 4,
357
+ 7: 5,
358
+ 8: 6,
359
+ 9: 7,
360
+ 10: 8,
361
+ Jack: 9,
362
+ Queen: 10,
363
+ King: 11,
364
+ Ace: 12
365
+ }, A = {
366
+ Hearts: 0,
367
+ Clubs: 1,
368
+ Diamonds: 2,
369
+ Spades: 3
370
+ }, B = {
371
+ Bonus: { x: 1, y: 1 },
372
+ Mult: { x: 2, y: 1 },
373
+ Wild: { x: 3, y: 1 },
374
+ Glass: { x: 5, y: 1 },
375
+ Steel: { x: 6, y: 1 },
376
+ Stone: { x: 5, y: 0 },
377
+ Gold: { x: 6, y: 0 },
378
+ Lucky: { x: 4, y: 1 }
379
+ }, E = {
380
+ "Gold Seal": { x: 2, y: 0 },
381
+ "Purple Seal": { x: 4, y: 4 },
382
+ "Red Seal": { x: 5, y: 4 },
383
+ "Blue Seal": { x: 6, y: 4 },
384
+ Gold: { x: 2, y: 0 },
385
+ Purple: { x: 4, y: 4 },
386
+ Red: { x: 5, y: 4 },
387
+ Blue: { x: 6, y: 4 }
388
+ }, u = new Map(p.map((e) => [e.name, e])), T = new Map(y.map((e) => [e.name, e])), h = new Map(r.map((e) => [e.name, e])), d = new Map(x.map((e) => [e.name, e])), k = new Map(t.map((e) => [e.name, e])), S = new Map(l.map((e) => [e.name, e])), g = new Map(i.map((e) => [e.name, e])), M = new Map(c.map((e) => [e.name, e]));
389
+ function R(e) {
390
+ return u.get(e);
391
+ }
392
+ function H(e) {
393
+ return T.get(e);
394
+ }
395
+ function F(e) {
396
+ return h.get(e);
397
+ }
398
+ function G(e) {
399
+ return d.get(e);
400
+ }
401
+ function D(e) {
402
+ return k.get(e);
403
+ }
404
+ function O(e) {
405
+ return S.get(e);
406
+ }
407
+ function v(e) {
408
+ return g.get(e);
409
+ }
410
+ function w(e) {
411
+ return M.get(e);
412
+ }
413
+ export {
414
+ c as BOOSTER_PACKS,
415
+ i as BOSSES,
416
+ x as CONSUMABLE_FACES,
417
+ P as EDITION_MAP,
418
+ B as ENHANCER_MAP,
419
+ p as JOKERS,
420
+ y as JOKER_FACES,
421
+ b as RANK_MAP,
422
+ E as SEAL_MAP,
423
+ J as SPRITE_SHEETS,
424
+ f as STICKER_MAP,
425
+ A as SUIT_MAP,
426
+ t as TAGS,
427
+ r as TAROTS_AND_PLANETS,
428
+ l as VOUCHERS,
429
+ w as findBooster,
430
+ v as findBoss,
431
+ F as findConsumable,
432
+ G as findConsumableFace,
433
+ R as findJoker,
434
+ H as findJokerFace,
435
+ D as findTag,
436
+ O as findVoucher
437
+ };
438
+ //# sourceMappingURL=sprites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprites.js","sources":["../src/sprites/spriteData.ts"],"sourcesContent":["/**\n * Sprite sheet position data for all Balatro game elements.\n * Extracted from Blueprint's const.ts — maps item names to {x, y} grid positions\n * within their respective sprite sheets.\n */\n\nimport { JAML_ASSET_FILES, resolveJamlAssetUrl, type JamlAssetKey } from \"../assets.js\";\n\nexport interface SpritePos {\n x: number;\n y: number;\n}\n\nexport interface SpriteEntry {\n name: string;\n pos: SpritePos;\n animated?: boolean;\n}\n\nexport interface SpriteSheetInfo {\n readonly asset: JamlAssetKey;\n readonly fileName: string;\n readonly columns: number;\n readonly rows: number;\n readonly src: string;\n}\n\nfunction defineSpriteSheet(asset: JamlAssetKey, columns: number, rows: number): SpriteSheetInfo {\n return {\n asset,\n fileName: JAML_ASSET_FILES[asset],\n columns,\n rows,\n get src() {\n return resolveJamlAssetUrl(asset);\n },\n };\n}\n\n/** Sprite sheet grid dimensions */\nexport const SPRITE_SHEETS = {\n jokers: defineSpriteSheet(\"jokers\", 10, 16),\n tarots: defineSpriteSheet(\"tarots\", 10, 6),\n deck: defineSpriteSheet(\"deck\", 13, 4),\n enhancers: defineSpriteSheet(\"enhancers\", 7, 5),\n editions: defineSpriteSheet(\"editions\", 5, 1),\n stickers: defineSpriteSheet(\"stickers\", 5, 3),\n blinds: defineSpriteSheet(\"blinds\", 21, 31),\n vouchers: defineSpriteSheet(\"vouchers\", 9, 4),\n tags: defineSpriteSheet(\"tags\", 6, 5),\n boosters: defineSpriteSheet(\"boosters\", 4, 9),\n stakes: defineSpriteSheet(\"stakes\", 5, 2),\n} as const;\n\nexport const JOKERS: SpriteEntry[] = [\n { name: \"Joker\", pos: { x: 0, y: 0 } }, { name: \"Greedy Joker\", pos: { x: 6, y: 1 } }, { name: \"Lusty Joker\", pos: { x: 7, y: 1 } }, { name: \"Wrathful Joker\", pos: { x: 8, y: 1 } }, { name: \"Gluttonous Joker\", pos: { x: 9, y: 1 } }, { name: \"Jolly Joker\", pos: { x: 2, y: 0 } }, { name: \"Zany Joker\", pos: { x: 3, y: 0 } }, { name: \"Mad Joker\", pos: { x: 4, y: 0 } }, { name: \"Crazy Joker\", pos: { x: 5, y: 0 } }, { name: \"Droll Joker\", pos: { x: 6, y: 0 } }, { name: \"Sly Joker\", pos: { x: 0, y: 14 } }, { name: \"Wily Joker\", pos: { x: 1, y: 14 } }, { name: \"Clever Joker\", pos: { x: 2, y: 14 } }, { name: \"Devious Joker\", pos: { x: 3, y: 14 } }, { name: \"Crafty Joker\", pos: { x: 4, y: 14 } }, { name: \"Half Joker\", pos: { x: 7, y: 0 } }, { name: \"Joker Stencil\", pos: { x: 2, y: 5 } }, { name: \"Four Fingers\", pos: { x: 6, y: 6 } }, { name: \"Mime\", pos: { x: 4, y: 1 } }, { name: \"Credit Card\", pos: { x: 5, y: 1 } }, { name: \"Ceremonial Dagger\", pos: { x: 5, y: 5 } }, { name: \"Banner\", pos: { x: 1, y: 2 } }, { name: \"Mystic Summit\", pos: { x: 2, y: 2 } }, { name: \"Marble Joker\", pos: { x: 3, y: 2 } }, { name: \"Loyalty Card\", pos: { x: 4, y: 2 } }, { name: \"8 Ball\", pos: { x: 0, y: 5 } }, { name: \"Misprint\", pos: { x: 6, y: 2 } }, { name: \"Dusk\", pos: { x: 4, y: 7 } }, { name: \"Raised Fist\", pos: { x: 8, y: 2 } }, { name: \"Chaos the Clown\", pos: { x: 1, y: 0 } }, { name: \"Fibonacci\", pos: { x: 1, y: 5 } }, { name: \"Steel Joker\", pos: { x: 7, y: 2 } }, { name: \"Scary Face\", pos: { x: 2, y: 3 } }, { name: \"Abstract Joker\", pos: { x: 3, y: 3 } }, { name: \"Delayed Gratification\", pos: { x: 4, y: 3 } }, { name: \"Hack\", pos: { x: 5, y: 2 } }, { name: \"Pareidolia\", pos: { x: 6, y: 3 } }, { name: \"Gros Michel\", pos: { x: 7, y: 6 } }, { name: \"Even Steven\", pos: { x: 8, y: 3 } }, { name: \"Odd Todd\", pos: { x: 9, y: 3 } }, { name: \"Scholar\", pos: { x: 3, y: 6 } }, { name: \"Business Card\", pos: { x: 1, y: 4 } }, { name: \"Supernova\", pos: { x: 2, y: 4 } }, { name: \"Ride the Bus\", pos: { x: 1, y: 6 } }, { name: \"Space Joker\", pos: { x: 3, y: 5 } }, { name: \"Egg\", pos: { x: 0, y: 10 } }, { name: \"Burglar\", pos: { x: 1, y: 10 } }, { name: \"Blackboard\", pos: { x: 2, y: 10 } }, { name: \"Runner\", pos: { x: 3, y: 10 } }, { name: \"Ice Cream\", pos: { x: 4, y: 10 } }, { name: \"DNA\", pos: { x: 5, y: 10 } }, { name: \"Splash\", pos: { x: 6, y: 10 } }, { name: \"Blue Joker\", pos: { x: 7, y: 10 } }, { name: \"Sixth Sense\", pos: { x: 8, y: 10 } }, { name: \"Constellation\", pos: { x: 9, y: 10 } }, { name: \"Hiker\", pos: { x: 0, y: 11 } }, { name: \"Faceless Joker\", pos: { x: 1, y: 11 } }, { name: \"Green Joker\", pos: { x: 2, y: 11 } }, { name: \"Superposition\", pos: { x: 3, y: 11 } }, { name: \"To Do List\", pos: { x: 4, y: 11 } }, { name: \"Cavendish\", pos: { x: 5, y: 11 } }, { name: \"Card Sharp\", pos: { x: 6, y: 11 } }, { name: \"Red Card\", pos: { x: 7, y: 11 } }, { name: \"Madness\", pos: { x: 8, y: 11 } }, { name: \"Square Joker\", pos: { x: 9, y: 11 } }, { name: \"Seance\", pos: { x: 0, y: 12 } }, { name: \"Riff-raff\", pos: { x: 1, y: 12 } }, { name: \"Vampire\", pos: { x: 2, y: 12 } }, { name: \"Shortcut\", pos: { x: 3, y: 12 } }, { name: \"Hologram\", pos: { x: 4, y: 12 } }, { name: \"Vagabond\", pos: { x: 5, y: 12 } }, { name: \"Baron\", pos: { x: 6, y: 12 } }, { name: \"Cloud 9\", pos: { x: 7, y: 12 } }, { name: \"Rocket\", pos: { x: 8, y: 12 } }, { name: \"Obelisk\", pos: { x: 9, y: 12 } }, { name: \"Midas Mask\", pos: { x: 0, y: 13 } }, { name: \"Luchador\", pos: { x: 1, y: 13 } }, { name: \"Photograph\", pos: { x: 2, y: 13 } }, { name: \"Gift Card\", pos: { x: 3, y: 13 } }, { name: \"Turtle Bean\", pos: { x: 4, y: 13 } }, { name: \"Erosion\", pos: { x: 5, y: 13 } }, { name: \"Reserved Parking\", pos: { x: 6, y: 13 } }, { name: \"Mail In Rebate\", pos: { x: 7, y: 13 } }, { name: \"To the Moon\", pos: { x: 8, y: 13 } }, { name: \"Hallucination\", pos: { x: 9, y: 13 } }, { name: \"Fortune Teller\", pos: { x: 7, y: 5 } }, { name: \"Juggler\", pos: { x: 0, y: 1 } }, { name: \"Drunkard\", pos: { x: 1, y: 1 } }, { name: \"Stone Joker\", pos: { x: 9, y: 0 } }, { name: \"Golden Joker\", pos: { x: 9, y: 2 } }, { name: \"Lucky Cat\", pos: { x: 5, y: 14 } }, { name: \"Baseball Card\", pos: { x: 6, y: 14 } }, { name: \"Bull\", pos: { x: 7, y: 14 } }, { name: \"Diet Cola\", pos: { x: 8, y: 14 } }, { name: \"Trading Card\", pos: { x: 9, y: 14 } }, { name: \"Flash Card\", pos: { x: 0, y: 15 } }, { name: \"Popcorn\", pos: { x: 1, y: 15 } }, { name: \"Spare Trousers\", pos: { x: 4, y: 15 } }, { name: \"Ancient Joker\", pos: { x: 7, y: 15 } }, { name: \"Ramen\", pos: { x: 2, y: 15 } }, { name: \"Walkie Talkie\", pos: { x: 8, y: 15 } }, { name: \"Seltzer\", pos: { x: 3, y: 15 } }, { name: \"Castle\", pos: { x: 9, y: 15 } }, { name: \"Smiley Face\", pos: { x: 6, y: 15 } }, { name: \"Campfire\", pos: { x: 5, y: 15 } }, { name: \"Golden Ticket\", pos: { x: 5, y: 3 } }, { name: \"Mr. Bones\", pos: { x: 3, y: 4 } }, { name: \"Acrobat\", pos: { x: 2, y: 1 } }, { name: \"Sock and Buskin\", pos: { x: 3, y: 1 } }, { name: \"Swashbuckler\", pos: { x: 9, y: 5 } }, { name: \"Troubadour\", pos: { x: 0, y: 2 } }, { name: \"Certificate\", pos: { x: 8, y: 8 } }, { name: \"Smeared Joker\", pos: { x: 4, y: 6 } }, { name: \"Throwback\", pos: { x: 5, y: 7 } }, { name: \"Hanging Chad\", pos: { x: 9, y: 6 } }, { name: \"Rough Gem\", pos: { x: 9, y: 7 } }, { name: \"Bloodstone\", pos: { x: 0, y: 8 } }, { name: \"Arrowhead\", pos: { x: 1, y: 8 } }, { name: \"Onyx Agate\", pos: { x: 2, y: 8 } }, { name: \"Glass Joker\", pos: { x: 1, y: 3 } }, { name: \"Showman\", pos: { x: 6, y: 5 } }, { name: \"Flower Pot\", pos: { x: 0, y: 6 } }, { name: \"Blueprint\", pos: { x: 0, y: 3 } }, { name: \"Wee Joker\", pos: { x: 0, y: 4 } }, { name: \"Merry Andy\", pos: { x: 8, y: 0 } }, { name: \"Oops! All 6s\", pos: { x: 5, y: 6 } }, { name: \"The Idol\", pos: { x: 6, y: 7 } }, { name: \"Seeing Double\", pos: { x: 4, y: 4 } }, { name: \"Matador\", pos: { x: 4, y: 5 } }, { name: \"Hit the Road\", pos: { x: 8, y: 5 } }, { name: \"The Duo\", pos: { x: 5, y: 4 } }, { name: \"The Trio\", pos: { x: 6, y: 4 } }, { name: \"The Family\", pos: { x: 7, y: 4 } }, { name: \"The Order\", pos: { x: 8, y: 4 } }, { name: \"The Tribe\", pos: { x: 9, y: 4 } }, { name: \"Stuntman\", pos: { x: 8, y: 6 } }, { name: \"Invisible Joker\", pos: { x: 1, y: 7 } }, { name: \"Brainstorm\", pos: { x: 7, y: 7 } }, { name: \"Satellite\", pos: { x: 8, y: 7 } }, { name: \"Shoot the Moon\", pos: { x: 2, y: 6 } }, { name: \"Drivers License\", pos: { x: 0, y: 7 } }, { name: \"Cartomancer\", pos: { x: 7, y: 3 } }, { name: \"Astronomer\", pos: { x: 2, y: 7 } }, { name: \"Burnt Joker\", pos: { x: 3, y: 7 } }, { name: \"Bootstraps\", pos: { x: 9, y: 8 } }, { name: \"Canio\", pos: { x: 3, y: 8 } }, { name: \"Triboulet\", pos: { x: 4, y: 8 } }, { name: \"Yorick\", pos: { x: 5, y: 8 } }, { name: \"Chicot\", pos: { x: 6, y: 8 } }, { name: \"Perkeo\", pos: { x: 7, y: 8 } },\n];\n\nexport const JOKER_FACES: SpriteEntry[] = [\n { name: \"Hologram\", pos: { x: 2, y: 9 }, animated: true },\n { name: \"Canio\", pos: { x: 3, y: 9 }, animated: true },\n { name: \"Triboulet\", pos: { x: 4, y: 9 }, animated: true },\n { name: \"Yorick\", pos: { x: 5, y: 9 }, animated: true },\n { name: \"Chicot\", pos: { x: 6, y: 9 }, animated: true },\n { name: \"Perkeo\", pos: { x: 7, y: 9 }, animated: true },\n];\n\nexport const CONSUMABLE_FACES: SpriteEntry[] = [\n { name: \"The Soul\", pos: { x: 0, y: 1 }, animated: true },\n];\n\nexport const TAROTS_AND_PLANETS: SpriteEntry[] = [\n { name: \"The Fool\", pos: { x: 0, y: 0 } }, { name: \"The Magician\", pos: { x: 1, y: 0 } }, { name: \"The High Priestess\", pos: { x: 2, y: 0 } }, { name: \"The Empress\", pos: { x: 3, y: 0 } }, { name: \"The Emperor\", pos: { x: 4, y: 0 } }, { name: \"The Hierophant\", pos: { x: 5, y: 0 } }, { name: \"The Lovers\", pos: { x: 6, y: 0 } }, { name: \"The Chariot\", pos: { x: 7, y: 0 } }, { name: \"Justice\", pos: { x: 8, y: 0 } }, { name: \"The Hermit\", pos: { x: 9, y: 0 } }, { name: \"The Wheel of Fortune\", pos: { x: 0, y: 1 } }, { name: \"Strength\", pos: { x: 1, y: 1 } }, { name: \"The Hanged Man\", pos: { x: 2, y: 1 } }, { name: \"Death\", pos: { x: 3, y: 1 } }, { name: \"Temperance\", pos: { x: 4, y: 1 } }, { name: \"The Devil\", pos: { x: 5, y: 1 } }, { name: \"The Tower\", pos: { x: 6, y: 1 } }, { name: \"The Star\", pos: { x: 7, y: 1 } }, { name: \"The Moon\", pos: { x: 8, y: 1 } }, { name: \"The Sun\", pos: { x: 9, y: 1 } }, { name: \"Judgement\", pos: { x: 0, y: 2 } }, { name: \"The World\", pos: { x: 1, y: 2 } }, { name: \"Mercury\", pos: { x: 0, y: 3 } }, { name: \"Venus\", pos: { x: 1, y: 3 } }, { name: \"Earth\", pos: { x: 2, y: 3 } }, { name: \"Mars\", pos: { x: 3, y: 3 } }, { name: \"Jupiter\", pos: { x: 4, y: 3 } }, { name: \"Saturn\", pos: { x: 5, y: 3 } }, { name: \"Uranus\", pos: { x: 6, y: 3 } }, { name: \"Neptune\", pos: { x: 7, y: 3 } }, { name: \"Pluto\", pos: { x: 8, y: 3 } }, { name: \"Planet X\", pos: { x: 9, y: 2 } }, { name: \"Ceres\", pos: { x: 8, y: 2 } }, { name: \"Eris\", pos: { x: 3, y: 2 } }, { name: \"Familiar\", pos: { x: 0, y: 4 } }, { name: \"Grim\", pos: { x: 1, y: 4 } }, { name: \"Incantation\", pos: { x: 2, y: 4 } }, { name: \"Talisman\", pos: { x: 3, y: 4 } }, { name: \"Aura\", pos: { x: 4, y: 4 } }, { name: \"Wraith\", pos: { x: 5, y: 4 } }, { name: \"Sigil\", pos: { x: 6, y: 4 } }, { name: \"Ouija\", pos: { x: 7, y: 4 } }, { name: \"Ectoplasm\", pos: { x: 8, y: 4 } }, { name: \"Immolate\", pos: { x: 9, y: 4 } }, { name: \"Ankh\", pos: { x: 0, y: 5 } }, { name: \"Deja Vu\", pos: { x: 1, y: 5 } }, { name: \"Hex\", pos: { x: 2, y: 5 } }, { name: \"Trance\", pos: { x: 3, y: 5 } }, { name: \"Medium\", pos: { x: 4, y: 5 } }, { name: \"Cryptid\", pos: { x: 5, y: 5 } }, { name: \"The Soul\", pos: { x: 2, y: 2 } }, { name: \"Black Hole\", pos: { x: 9, y: 3 } },\n];\n\nexport const TAGS: SpriteEntry[] = [\n { name: \"Uncommon Tag\", pos: { x: 0, y: 0 } }, { name: \"Rare Tag\", pos: { x: 1, y: 0 } }, { name: \"Negative Tag\", pos: { x: 2, y: 0 } }, { name: \"Foil Tag\", pos: { x: 3, y: 0 } }, { name: \"Holographic Tag\", pos: { x: 0, y: 1 } }, { name: \"Polychrome Tag\", pos: { x: 1, y: 1 } }, { name: \"Investment Tag\", pos: { x: 2, y: 1 } }, { name: \"Voucher Tag\", pos: { x: 3, y: 1 } }, { name: \"Boss Tag\", pos: { x: 0, y: 2 } }, { name: \"Standard Tag\", pos: { x: 1, y: 2 } }, { name: \"Charm Tag\", pos: { x: 2, y: 2 } }, { name: \"Meteor Tag\", pos: { x: 3, y: 2 } }, { name: \"Buffoon Tag\", pos: { x: 4, y: 2 } }, { name: \"Handy Tag\", pos: { x: 1, y: 3 } }, { name: \"Garbage Tag\", pos: { x: 2, y: 3 } }, { name: \"Ethereal Tag\", pos: { x: 3, y: 3 } }, { name: \"Coupon Tag\", pos: { x: 4, y: 0 } }, { name: \"Double Tag\", pos: { x: 5, y: 0 } }, { name: \"Juggle Tag\", pos: { x: 5, y: 1 } }, { name: \"D6 Tag\", pos: { x: 5, y: 3 } }, { name: \"Top-up Tag\", pos: { x: 4, y: 1 } }, { name: \"Speed Tag\", pos: { x: 0, y: 3 } }, { name: \"Orbital Tag\", pos: { x: 5, y: 2 } }, { name: \"Economy Tag\", pos: { x: 4, y: 3 } },\n];\n\nexport const VOUCHERS: SpriteEntry[] = [\n { name: \"Overstock\", pos: { x: 0, y: 0 } }, { name: \"Clearance Sale\", pos: { x: 3, y: 0 } }, { name: \"Hone\", pos: { x: 4, y: 0 } }, { name: \"Reroll Surplus\", pos: { x: 0, y: 2 } }, { name: \"Crystal Ball\", pos: { x: 2, y: 2 } }, { name: \"Telescope\", pos: { x: 3, y: 2 } }, { name: \"Grabber\", pos: { x: 5, y: 0 } }, { name: \"Wasteful\", pos: { x: 6, y: 0 } }, { name: \"Tarot Merchant\", pos: { x: 1, y: 0 } }, { name: \"Planet Merchant\", pos: { x: 2, y: 0 } }, { name: \"Seed Money\", pos: { x: 1, y: 2 } }, { name: \"Blank\", pos: { x: 7, y: 0 } }, { name: \"Magic Trick\", pos: { x: 4, y: 2 } }, { name: \"Hieroglyph\", pos: { x: 5, y: 2 } }, { name: \"Director's Cut\", pos: { x: 6, y: 2 } }, { name: \"Paint Brush\", pos: { x: 7, y: 2 } }, { name: \"Overstock Plus\", pos: { x: 0, y: 1 } }, { name: \"Liquidation\", pos: { x: 3, y: 1 } }, { name: \"Glow Up\", pos: { x: 4, y: 1 } }, { name: \"Reroll Glut\", pos: { x: 0, y: 3 } }, { name: \"Omen Globe\", pos: { x: 2, y: 3 } }, { name: \"Observatory\", pos: { x: 3, y: 3 } }, { name: \"Nacho Tong\", pos: { x: 5, y: 1 } }, { name: \"Recyclomancy\", pos: { x: 6, y: 1 } }, { name: \"Tarot Tycoon\", pos: { x: 1, y: 1 } }, { name: \"Planet Tycoon\", pos: { x: 2, y: 1 } }, { name: \"Money Tree\", pos: { x: 1, y: 3 } }, { name: \"Antimatter\", pos: { x: 7, y: 1 } }, { name: \"Illusion\", pos: { x: 4, y: 3 } }, { name: \"Petroglyph\", pos: { x: 5, y: 3 } }, { name: \"Retcon\", pos: { x: 6, y: 3 } }, { name: \"Palette\", pos: { x: 7, y: 3 } },\n];\n\nexport const BOSSES: SpriteEntry[] = [\n { name: \"Small Blind\", pos: { x: 0, y: 0 } }, { name: \"Big Blind\", pos: { x: 0, y: 1 } }, { name: \"The Ox\", pos: { x: 0, y: 2 } }, { name: \"The Hook\", pos: { x: 0, y: 7 } }, { name: \"The Mouth\", pos: { x: 0, y: 18 } }, { name: \"The Fish\", pos: { x: 0, y: 5 } }, { name: \"The Club\", pos: { x: 0, y: 4 } }, { name: \"The Manacle\", pos: { x: 0, y: 8 } }, { name: \"The Tooth\", pos: { x: 0, y: 22 } }, { name: \"The Wall\", pos: { x: 0, y: 9 } }, { name: \"The House\", pos: { x: 0, y: 3 } }, { name: \"The Mark\", pos: { x: 0, y: 23 } }, { name: \"Cerulean Bell\", pos: { x: 0, y: 26 } }, { name: \"The Wheel\", pos: { x: 0, y: 10 } }, { name: \"The Arm\", pos: { x: 0, y: 11 } }, { name: \"The Psychic\", pos: { x: 0, y: 12 } }, { name: \"The Goad\", pos: { x: 0, y: 13 } }, { name: \"The Water\", pos: { x: 0, y: 14 } }, { name: \"The Eye\", pos: { x: 0, y: 17 } }, { name: \"The Plant\", pos: { x: 0, y: 19 } }, { name: \"The Needle\", pos: { x: 0, y: 20 } }, { name: \"The Head\", pos: { x: 0, y: 21 } }, { name: \"Verdant Leaf\", pos: { x: 0, y: 28 } }, { name: \"Violet Vessel\", pos: { x: 0, y: 29 } }, { name: \"The Window\", pos: { x: 0, y: 6 } }, { name: \"The Serpent\", pos: { x: 0, y: 15 } }, { name: \"The Pillar\", pos: { x: 0, y: 16 } }, { name: \"The Flint\", pos: { x: 0, y: 24 } }, { name: \"Amber Acorn\", pos: { x: 0, y: 27 } }, { name: \"Crimson Heart\", pos: { x: 0, y: 25 } },\n];\n\nexport const BOOSTER_PACKS: SpriteEntry[] = [\n { name: \"Arcana Pack\", pos: { x: 0, y: 0 } }, { name: \"Celestial Pack\", pos: { x: 0, y: 1 } }, { name: \"Jumbo Arcana Pack\", pos: { x: 0, y: 2 } }, { name: \"Mega Arcana Pack\", pos: { x: 2, y: 2 } }, { name: \"Jumbo Celestial Pack\", pos: { x: 0, y: 3 } }, { name: \"Mega Celestial Pack\", pos: { x: 2, y: 3 } }, { name: \"Spectral Pack\", pos: { x: 0, y: 4 } }, { name: \"Jumbo Spectral Pack\", pos: { x: 2, y: 4 } }, { name: \"Mega Spectral Pack\", pos: { x: 3, y: 4 } }, { name: \"Standard Pack\", pos: { x: 0, y: 6 } }, { name: \"Jumbo Standard Pack\", pos: { x: 0, y: 7 } }, { name: \"Mega Standard Pack\", pos: { x: 2, y: 7 } }, { name: \"Buffoon Pack\", pos: { x: 0, y: 8 } }, { name: \"Jumbo Buffoon Pack\", pos: { x: 2, y: 8 } }, { name: \"Mega Buffoon Pack\", pos: { x: 3, y: 8 } },\n];\n\nexport const EDITION_MAP: Record<string, number> = {\n Foil: 1,\n Holographic: 2,\n Polychrome: 3,\n};\n\nexport const STICKER_MAP: Record<string, SpritePos> = {\n Eternal: { x: 0, y: 0 },\n Perishable: { x: 0, y: 2 },\n Rental: { x: 1, y: 2 },\n};\n\nexport const RANK_MAP: Record<string, number> = {\n \"2\": 0, \"3\": 1, \"4\": 2, \"5\": 3, \"6\": 4, \"7\": 5, \"8\": 6, \"9\": 7, \"10\": 8, Jack: 9, Queen: 10, King: 11, Ace: 12,\n};\n\nexport const SUIT_MAP: Record<string, number> = {\n Hearts: 0, Clubs: 1, Diamonds: 2, Spades: 3,\n};\n\nexport const ENHANCER_MAP: Record<string, SpritePos> = {\n Bonus: { x: 1, y: 1 }, Mult: { x: 2, y: 1 }, Wild: { x: 3, y: 1 }, Glass: { x: 5, y: 1 }, Steel: { x: 6, y: 1 }, Stone: { x: 5, y: 0 }, Gold: { x: 6, y: 0 }, Lucky: { x: 4, y: 1 },\n};\n\nexport const SEAL_MAP: Record<string, SpritePos> = {\n \"Gold Seal\": { x: 2, y: 0 }, \"Purple Seal\": { x: 4, y: 4 }, \"Red Seal\": { x: 5, y: 4 }, \"Blue Seal\": { x: 6, y: 4 },\n Gold: { x: 2, y: 0 }, Purple: { x: 4, y: 4 }, Red: { x: 5, y: 4 }, Blue: { x: 6, y: 4 },\n};\n\n/** Build fast lookup maps */\nconst jokerMap = new Map(JOKERS.map((j) => [j.name, j]));\nconst jokerFaceMap = new Map(JOKER_FACES.map((j) => [j.name, j]));\nconst consumableMap = new Map(TAROTS_AND_PLANETS.map((t) => [t.name, t]));\nconst consumableFaceMap = new Map(CONSUMABLE_FACES.map((c) => [c.name, c]));\nconst tagMap = new Map(TAGS.map((t) => [t.name, t]));\nconst voucherMap = new Map(VOUCHERS.map((v) => [v.name, v]));\nconst bossMap = new Map(BOSSES.map((b) => [b.name, b]));\nconst boosterMap = new Map(BOOSTER_PACKS.map((b) => [b.name, b]));\n\nexport function findJoker(name: string) { return jokerMap.get(name); }\nexport function findJokerFace(name: string) { return jokerFaceMap.get(name); }\nexport function findConsumable(name: string) { return consumableMap.get(name); }\nexport function findConsumableFace(name: string) { return consumableFaceMap.get(name); }\nexport function findTag(name: string) { return tagMap.get(name); }\nexport function findVoucher(name: string) { return voucherMap.get(name); }\nexport function findBoss(name: string) { return bossMap.get(name); }\nexport function findBooster(name: string) { return boosterMap.get(name); }\n"],"names":["defineSpriteSheet","asset","columns","rows","JAML_ASSET_FILES","resolveJamlAssetUrl","SPRITE_SHEETS","JOKERS","JOKER_FACES","CONSUMABLE_FACES","TAROTS_AND_PLANETS","TAGS","VOUCHERS","BOSSES","BOOSTER_PACKS","EDITION_MAP","STICKER_MAP","RANK_MAP","SUIT_MAP","ENHANCER_MAP","SEAL_MAP","jokerMap","j","jokerFaceMap","consumableMap","t","consumableFaceMap","c","tagMap","voucherMap","v","bossMap","b","boosterMap","findJoker","name","findJokerFace","findConsumable","findConsumableFace","findTag","findVoucher","findBoss","findBooster"],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- export type JimboAppVariant = "embed" | "page";
2
+ export type JimboAppVariant = "embed" | "phone" | "page";
3
3
  export interface JimboAppProps extends HTMLAttributes<HTMLDivElement> {
4
- /** embed = fixed 320×540 MCP shell; page = fluid full-viewport web shell */
4
+ /** embed = MCP-on-desktop 375×375 square. phone = locked portrait. page = full website. */
5
5
  variant?: JimboAppVariant;
6
- /** Main column. For embed, scrolls inside the fixed frame when scroll is true. */
6
+ /** Main column. For embed/phone, scrolls inside the frame when true. */
7
7
  scroll?: boolean;
8
8
  footer?: ReactNode;
9
9
  }
10
10
  /**
11
- * App chrome. Embed = Balatro-toy / MCP rectangle. Page = fan-site / seedfinder shell.
12
- * Both set the Jimbo font stack and color; neither paints a second background
13
- * (use JimboBackground behind).
11
+ * App chrome.
12
+ * embed = MCP host iframe (square, funny on purpose).
13
+ * phone = mobile portrait, 375×667 (iPhone SE) / 100dvh — not the MCP square.
14
+ * page = desktop website, full viewport.
15
+ * None paints a second background (use JimboBackground behind).
14
16
  */
15
17
  export declare function JimboApp({ variant, scroll, footer, className, children, ...rest }: JimboAppProps): import("react").JSX.Element;
@@ -1,15 +1,7 @@
1
- import { default as React } from 'react';
1
+ import { JimboBackgroundConfig } from './hooks.js';
2
+ export type { JimboBackgroundConfig, JimboBackgroundColor } from './hooks.js';
2
3
  /**
3
- * Fullscreen WebGL CRT/spin background — the authentic Balatro hypnotic
4
- * swirl, pixelated and animated. Ported from weejoker.app's
5
- * BackgroundShader.tsx; no config required.
6
- *
7
- * Renders a fixed-position canvas at z-index: -10 that fills the viewport
8
- * and ignores pointer events. Drop it once at the root of your page:
9
- *
10
- * <JimboBackground />
11
- * <YourAppContent />
12
- *
13
- * Resizes automatically. Disposes the animation frame + shader on unmount.
4
+ * Fullscreen WebGL CRT/spin background. Shader knobs are uniforms
5
+ * (`useBalatroBackground`) so Storybook can drive swirl / pixel / RGB.
14
6
  */
15
- export declare function JimboBackground(): React.JSX.Element;
7
+ export declare function JimboBackground(config?: JimboBackgroundConfig): import("react").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
2
  export interface JimboButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  size?: "xs" | "sm" | "md" | "lg";
4
- tone?: "orange" | "red" | "blue" | "green";
4
+ tone?: "orange" | "red" | "blue" | "green" | "purple" | "grey";
5
5
  fullWidth?: boolean;
6
6
  label?: string;
7
7
  }
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ import { JimboOuterTabTone } from './JimboOuterTab.js';
3
+ export { defaultPyramidDock, dockActivate, type DockNode, } from './dockTree.js';
4
+ export interface JimboDockPane {
5
+ label: string;
6
+ tone: JimboOuterTabTone;
7
+ content: ReactNode;
8
+ }
9
+ export interface JimboDockProps {
10
+ panes: Record<string, JimboDockPane>;
11
+ /** Filter / search / results / jamlyze keys for the pyramid default. */
12
+ pyramid?: {
13
+ filter: string;
14
+ search: string;
15
+ results: string;
16
+ jamlyze: string;
17
+ };
18
+ storageKey?: string;
19
+ className?: string;
20
+ }
21
+ export declare function JimboDock({ panes, pyramid, storageKey, className, }: JimboDockProps): import("react").JSX.Element;