jaml-ui 0.31.0 → 0.32.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +193 -61
  2. package/assets/fonts/README.md +14 -0
  3. package/assets/fonts/m6x11.ttf +0 -0
  4. package/assets/fonts/m6x11plus.ttf +0 -0
  5. package/dist/.gitkeep +0 -0
  6. package/dist/assets/searchPoolWorker-Ck5flXVS.js +40 -0
  7. package/dist/assets/searchPoolWorker-Ck5flXVS.js.map +1 -0
  8. package/dist/assets.d.ts +1 -1
  9. package/dist/chunks/{assets-D80i9sMq.js → assets-Bb6wV80_.js} +3 -3
  10. package/dist/chunks/assets-Bb6wV80_.js.map +1 -0
  11. package/dist/chunks/jamlSeeds-3ILzc_rj.js +66 -0
  12. package/dist/chunks/jamlSeeds-3ILzc_rj.js.map +1 -0
  13. package/dist/chunks/motelyItemFormats-CNrFzcCI.js +1836 -0
  14. package/dist/chunks/motelyItemFormats-CNrFzcCI.js.map +1 -0
  15. package/dist/chunks/{searchPoolWorker-DUope_8B.js → searchPoolWorker-gPdRA_pa.js} +2 -2
  16. package/dist/chunks/searchPoolWorker-gPdRA_pa.js.map +1 -0
  17. package/dist/chunks/{spriteMapper-C4_5G1Z6.js → spriteMapper-CajFGgUU.js} +2 -2
  18. package/dist/chunks/spriteMapper-CajFGgUU.js.map +1 -0
  19. package/dist/chunks/tokens-Qrhlekc4.js.map +1 -1
  20. package/dist/chunks/{ui-DRov81qO.js → ui-CgjJDJdZ.js} +1346 -1195
  21. package/dist/chunks/ui-CgjJDJdZ.js.map +1 -0
  22. package/dist/components/CardFan.d.ts +0 -9
  23. package/dist/components/JamlAestheticSelector.d.ts +3 -3
  24. package/dist/components/JamlIde.d.ts +1 -4
  25. package/dist/components/JamlSeedSpinner.d.ts +3 -1
  26. package/dist/components/Jamlyzer.d.ts +5 -8
  27. package/dist/components/MotelyHello.d.ts +5 -0
  28. package/dist/components/SeedFinderApp.d.ts +7 -0
  29. package/dist/components/StandardCard.d.ts +14 -0
  30. package/dist/components/cardEnums.d.ts +48 -0
  31. package/dist/components/jamlMap/JokerPicker.d.ts +2 -1
  32. package/dist/components/jamlMap/MysterySlot.d.ts +2 -1
  33. package/dist/core.d.ts +1 -0
  34. package/dist/core.js +7 -7
  35. package/dist/core.js.map +1 -1
  36. package/dist/hooks/useAnalyzer.d.ts +1 -1
  37. package/dist/hooks/useSearchPool.d.ts +1 -1
  38. package/dist/index.d.ts +6 -4
  39. package/dist/index.js +3870 -3591
  40. package/dist/index.js.map +1 -1
  41. package/dist/lib/data/constants.d.ts +3 -3
  42. package/dist/lib/jaml/jamlData.d.ts +1 -0
  43. package/dist/lib/jaml/jamlSchema.d.ts +10 -60
  44. package/dist/lib/jaml/jamlSeeds.d.ts +7 -0
  45. package/dist/lib/types.d.ts +3 -2
  46. package/dist/motely.d.ts +1 -2
  47. package/dist/motely.js +125 -1999
  48. package/dist/motely.js.map +1 -1
  49. package/dist/r3f.js +1 -1
  50. package/dist/r3f.js.map +1 -1
  51. package/dist/ui/JimboBadge.d.ts +1 -1
  52. package/dist/ui/{footer.d.ts → JimboBalatroFooter.d.ts} +4 -2
  53. package/dist/ui/JimboCopyButton.d.ts +27 -0
  54. package/dist/ui/JimboDeckAndStakeSelectorModal.d.ts +30 -0
  55. package/dist/ui/JimboIconButton.d.ts +8 -3
  56. package/dist/ui/JimboInlineEdit.d.ts +16 -0
  57. package/dist/ui/JimboListItem.d.ts +11 -0
  58. package/dist/ui/JimboPanelSplitter.d.ts +8 -0
  59. package/dist/ui/JimboSeedCopyChip.d.ts +16 -0
  60. package/dist/ui/JimboSelect.d.ts +15 -3
  61. package/dist/ui/JimboSpinner.d.ts +18 -0
  62. package/dist/ui/JimboStepper.d.ts +19 -7
  63. package/dist/ui/JimboValueBadge.d.ts +19 -0
  64. package/dist/ui/codeBlock.d.ts +4 -0
  65. package/dist/ui/hooks.d.ts +30 -3
  66. package/dist/ui/jimbo.css +1 -1
  67. package/dist/ui/jimboApp.d.ts +2 -2
  68. package/dist/ui/jimboBackground.d.ts +12 -5
  69. package/dist/ui/jimboCopyRow.d.ts +2 -2
  70. package/dist/ui/jimboInset.d.ts +3 -3
  71. package/dist/ui/jimboLayout.d.ts +25 -0
  72. package/dist/ui/jimboLink.d.ts +12 -0
  73. package/dist/ui/jimboTabs.d.ts +6 -6
  74. package/dist/ui/jimboText.d.ts +2 -3
  75. package/dist/ui.d.ts +12 -4
  76. package/dist/ui.js +3 -3
  77. package/fonts.css +20 -5
  78. package/package.json +7 -6
  79. package/assets/fonts/m6x11plusplus.otf +0 -0
  80. package/dist/assets/searchPoolWorker-BPJ3Mf0o.js +0 -40
  81. package/dist/assets/searchPoolWorker-BPJ3Mf0o.js.map +0 -1
  82. package/dist/chunks/Layer-Ckd_T6Fw.js +0 -17
  83. package/dist/chunks/Layer-Ckd_T6Fw.js.map +0 -1
  84. package/dist/chunks/assets-D80i9sMq.js.map +0 -1
  85. package/dist/chunks/runtime-C-It0krH.js +0 -10
  86. package/dist/chunks/runtime-C-It0krH.js.map +0 -1
  87. package/dist/chunks/searchPoolWorker-DUope_8B.js.map +0 -1
  88. package/dist/chunks/spriteMapper-C4_5G1Z6.js.map +0 -1
  89. package/dist/chunks/ui-DRov81qO.js.map +0 -1
  90. package/dist/components/CardList.d.ts +0 -8
  91. package/dist/components/Standardcard.d.ts +0 -18
  92. package/dist/config.d.ts +0 -10
  93. package/dist/fonts/m6x11plus.otf +0 -0
  94. package/dist/hooks/useMotelyRuntime.d.ts +0 -11
  95. package/dist/providers/MotelyProvider.d.ts +0 -11
  96. package/dist/ui/JimboFloating.d.ts +0 -8
  97. package/dist/ui/PanelSplitter.d.ts +0 -8
  98. package/jaml.schema.json +0 -1219
@@ -1,10 +0,0 @@
1
- import e from "motely-wasm";
2
- //#region src/lib/motely/runtime.ts
3
- var t = "/motely-wasm/bin";
4
- async function n() {
5
- e.getStatus() === e.BootStatus.Standby && await e.boot(t);
6
- }
7
- //#endregion
8
- export { n as t };
9
-
10
- //# sourceMappingURL=runtime-C-It0krH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-C-It0krH.js","names":[],"sources":["../../src/lib/motely/runtime.ts"],"sourcesContent":["import bootsharp from \"motely-wasm\";\n\nexport type MotelyRuntimeStatus = \"idle\" | \"booting\" | \"ready\" | \"error\";\n\n// Must match the path the host serves motely-wasm's bin/ at.\n// Used by main-thread hooks, workers, and Storybook staticDir alike.\n// The Storybook staticDir in .storybook/main.ts serves it here.\n// Next.js consumers must serve it at this path too (e.g. via a catch-all route).\n// A bare \"/bin\" would 404 in every deployment context.\nexport const MOTELY_BIN_PATH = \"/motely-wasm/bin\";\n\nexport async function ensureMotelyReady(): Promise<void> {\n if (bootsharp.getStatus() === bootsharp.BootStatus.Standby) {\n await bootsharp.boot(MOTELY_BIN_PATH);\n }\n}\n"],"mappings":";;AASA,IAAa,IAAkB;AAE/B,eAAsB,IAAmC;CACrD,AAAI,EAAU,UAAU,MAAM,EAAU,WAAW,WAC/C,MAAM,EAAU,KAAK,CAAe;AAE5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchPoolWorker-DUope_8B.js","names":[],"sources":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"spriteMapper-C4_5G1Z6.js","names":[],"sources":["../../src/sprites/spriteData.ts","../../src/sprites/spriteMapper.ts"],"sourcesContent":["/**\r\n * Sprite sheet position data for all Balatro game elements.\r\n * Extracted from Blueprint's const.ts — maps item names to {x, y} grid positions\r\n * within their respective sprite sheets.\r\n */\r\n\r\nimport { JAML_ASSET_FILES, resolveJamlAssetUrl, type JamlAssetKey } from \"../assets.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface SpriteEntry {\r\n name: string;\r\n pos: SpritePos;\r\n animated?: boolean;\r\n}\r\n\r\nexport interface SpriteSheetInfo {\r\n readonly asset: JamlAssetKey;\r\n readonly fileName: string;\r\n readonly columns: number;\r\n readonly rows: number;\r\n readonly src: string;\r\n}\r\n\r\nfunction defineSpriteSheet(asset: JamlAssetKey, columns: number, rows: number): SpriteSheetInfo {\r\n return {\r\n asset,\r\n fileName: JAML_ASSET_FILES[asset],\r\n columns,\r\n rows,\r\n get src() {\r\n return resolveJamlAssetUrl(asset);\r\n },\r\n };\r\n}\r\n\r\n/** Sprite sheet grid dimensions */\r\nexport const SPRITE_SHEETS = {\r\n jokers: defineSpriteSheet(\"jokers\", 10, 16),\r\n tarots: defineSpriteSheet(\"tarots\", 10, 6),\r\n deck: defineSpriteSheet(\"deck\", 13, 4),\r\n enhancers: defineSpriteSheet(\"enhancers\", 7, 5),\r\n editions: defineSpriteSheet(\"editions\", 5, 1),\r\n stickers: defineSpriteSheet(\"stickers\", 5, 3),\r\n blinds: defineSpriteSheet(\"blinds\", 21, 31),\r\n vouchers: defineSpriteSheet(\"vouchers\", 9, 4),\r\n tags: defineSpriteSheet(\"tags\", 6, 5),\r\n boosters: defineSpriteSheet(\"boosters\", 4, 9),\r\n stakes: defineSpriteSheet(\"stakes\", 5, 2),\r\n} as const;\r\n\r\nexport const JOKERS: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const JOKER_FACES: SpriteEntry[] = [\r\n { name: \"Hologram\", pos: { x: 2, y: 9 }, animated: true },\r\n { name: \"Canio\", pos: { x: 3, y: 9 }, animated: true },\r\n { name: \"Triboulet\", pos: { x: 4, y: 9 }, animated: true },\r\n { name: \"Yorick\", pos: { x: 5, y: 9 }, animated: true },\r\n { name: \"Chicot\", pos: { x: 6, y: 9 }, animated: true },\r\n { name: \"Perkeo\", pos: { x: 7, y: 9 }, animated: true },\r\n];\r\n\r\nexport const CONSUMABLE_FACES: SpriteEntry[] = [\r\n { name: \"The Soul\", pos: { x: 0, y: 1 }, animated: true },\r\n];\r\n\r\nexport const TAROTS_AND_PLANETS: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const TAGS: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const VOUCHERS: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const BOSSES: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const BOOSTER_PACKS: SpriteEntry[] = [\r\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 } },\r\n];\r\n\r\nexport const EDITION_MAP: Record<string, number> = {\r\n Foil: 1,\r\n Holographic: 2,\r\n Polychrome: 3,\r\n};\r\n\r\nexport const STICKER_MAP: Record<string, SpritePos> = {\r\n Eternal: { x: 0, y: 0 },\r\n Perishable: { x: 0, y: 2 },\r\n Rental: { x: 1, y: 2 },\r\n};\r\n\r\nexport const RANK_MAP: Record<string, number> = {\r\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,\r\n};\r\n\r\nexport const SUIT_MAP: Record<string, number> = {\r\n Hearts: 0, Clubs: 1, Diamonds: 2, Spades: 3,\r\n};\r\n\r\nexport const ENHANCER_MAP: Record<string, SpritePos> = {\r\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 },\r\n};\r\n\r\nexport const SEAL_MAP: Record<string, SpritePos> = {\r\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 },\r\n Gold: { x: 2, y: 0 }, Purple: { x: 4, y: 4 }, Red: { x: 5, y: 4 }, Blue: { x: 6, y: 4 },\r\n};\r\n\r\n/** Build fast lookup maps */\r\nconst jokerMap = new Map(JOKERS.map((j) => [j.name, j]));\r\nconst jokerFaceMap = new Map(JOKER_FACES.map((j) => [j.name, j]));\r\nconst consumableMap = new Map(TAROTS_AND_PLANETS.map((t) => [t.name, t]));\r\nconst consumableFaceMap = new Map(CONSUMABLE_FACES.map((c) => [c.name, c]));\r\nconst tagMap = new Map(TAGS.map((t) => [t.name, t]));\r\nconst voucherMap = new Map(VOUCHERS.map((v) => [v.name, v]));\r\nconst bossMap = new Map(BOSSES.map((b) => [b.name, b]));\r\nconst boosterMap = new Map(BOOSTER_PACKS.map((b) => [b.name, b]));\r\n\r\nexport function findJoker(name: string) { return jokerMap.get(name); }\r\nexport function findJokerFace(name: string) { return jokerFaceMap.get(name); }\r\nexport function findConsumable(name: string) { return consumableMap.get(name); }\r\nexport function findConsumableFace(name: string) { return consumableFaceMap.get(name); }\r\nexport function findTag(name: string) { return tagMap.get(name); }\r\nexport function findVoucher(name: string) { return voucherMap.get(name); }\r\nexport function findBoss(name: string) { return bossMap.get(name); }\r\nexport function findBooster(name: string) { return boosterMap.get(name); }\r\n","import {\r\n JOKERS, JOKER_FACES, TAROTS_AND_PLANETS, CONSUMABLE_FACES,\r\n VOUCHERS, BOSSES, TAGS, BOOSTER_PACKS,\r\n type SpriteEntry,\r\n} from \"./spriteData.js\";\r\n\r\nexport interface SpritePos {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport type SpriteSheetType =\r\n | \"Jokers\" | \"Tarots\" | \"Vouchers\" | \"Boosters\"\r\n | \"Enhancers\" | \"Editions\" | \"BlindChips\" | \"tags\"\r\n | \"Stakes\" | \"Decks\";\r\n\r\nimport type { JamlAssetKey } from '../assets.js';\r\n\r\nexport const SHEET_META: Record<SpriteSheetType, { cols: number; rows: number; assetKey: JamlAssetKey }> = {\r\n Jokers: { cols: 10, rows: 16, assetKey: 'jokers' },\r\n Tarots: { cols: 10, rows: 6, assetKey: 'tarots' },\r\n Vouchers: { cols: 9, rows: 4, assetKey: 'vouchers' },\r\n Boosters: { cols: 4, rows: 9, assetKey: 'boosters' },\r\n BlindChips:{ cols: 21, rows: 31, assetKey: 'blinds' },\r\n tags: { cols: 6, rows: 5, assetKey: 'tags' },\r\n Enhancers: { cols: 7, rows: 5, assetKey: 'enhancers' },\r\n Editions: { cols: 5, rows: 1, assetKey: 'editions' },\r\n Stakes: { cols: 5, rows: 2, assetKey: 'stakes' },\r\n Decks: { cols: 13, rows: 4, assetKey: 'deck' },\r\n};\r\n\r\nexport interface SpriteData {\r\n pos: SpritePos;\r\n type: SpriteSheetType;\r\n}\r\n\r\nconst normalize = (name: string): string => name.toLowerCase().replace(/\\s+/g, \"\");\r\nconst stripPrefix = (name: string): string =>\r\n name.replace(/^(Joker|Tarot|Planet|Voucher|Pack|Edition|Tag) [|:] /i, \"\").trim();\r\n\r\nconst ITEM_MAP = new Map<string, SpriteData>();\r\n\r\nfunction registerAll(items: SpriteEntry[], type: SpriteSheetType) {\r\n for (const item of items) {\r\n if (!item.name || !item.pos) continue;\r\n const key = normalize(item.name);\r\n if (!ITEM_MAP.has(key)) {\r\n ITEM_MAP.set(key, { pos: item.pos, type });\r\n }\r\n }\r\n}\r\n\r\nregisterAll(JOKERS, \"Jokers\");\r\nregisterAll(JOKER_FACES, \"Jokers\");\r\nregisterAll(TAROTS_AND_PLANETS, \"Tarots\");\r\nregisterAll(CONSUMABLE_FACES ?? [], \"Tarots\");\r\nregisterAll(VOUCHERS, \"Vouchers\");\r\nregisterAll(BOSSES, \"BlindChips\");\r\nregisterAll(TAGS, \"tags\");\r\nregisterAll(BOOSTER_PACKS ?? [], \"Boosters\");\r\n\r\n/**\r\n * Per-sheet mystery/back card positions for unknown items.\r\n * Used as fallback when an item name can't be resolved.\r\n */\r\nexport const MYSTERY_SPRITES: Partial<Record<SpriteSheetType, SpritePos>> = {\r\n Jokers: { x: 9, y: 9 }, // grey card back (legendary face row)\r\n Tarots: { x: 4, y: 2 }, // blank consumable\r\n Vouchers: { x: 8, y: 2 }, // mystery voucher\r\n Boosters: { x: 0, y: 5 }, // grey empty pack\r\n tags: { x: 3, y: 4 }, // grey ? tag\r\n BlindChips: { x: 0, y: 30 }, // grey ? blind\r\n};\r\n\r\n/** Get the mystery/fallback sprite for a given sheet type. */\r\nexport function getMysterySprite(sheet: SpriteSheetType): SpriteData {\r\n return { pos: MYSTERY_SPRITES[sheet] ?? { x: 0, y: 0 }, type: sheet };\r\n}\r\n\r\n/** Look up sprite data by name. Accepts display names (\"Icy Joker\"), enum keys (\"IcyJoker\"), and \"Joker | Name\" prefixed forms. */\r\nexport function getSpriteData(name: string): SpriteData | null {\r\n return ITEM_MAP.get(normalize(stripPrefix(name))) ?? ITEM_MAP.get(normalize(name)) ?? null;\r\n}\r\n\r\n/**\r\n * Wildcard \"Any\" sprites from the Enhancers sheet.\r\n * Used in the JAML visual editor when a clause value is \"Any\" (e.g. `legendaryJoker: Any`).\r\n */\r\nexport const WILDCARD_SPRITES = {\r\n /** Grey silhouette — Enhancers row 3 col 5. For generic \"Any\" items. */\r\n anySilhouette: { pos: { x: 5, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Grey ? circle — Enhancers row 3 col 6. For \"boss: Any\" etc. */\r\n anyMystery: { pos: { x: 6, y: 3 }, type: \"Enhancers\" as SpriteSheetType },\r\n /** Red X debuff — Editions row 0 col 4. For mustNot zone indicator. */\r\n mustNotDebuff: { pos: { x: 4, y: 0 }, type: \"Editions\" as SpriteSheetType },\r\n /** The Soul card — Tarots row 2 col 2. Base for \"legendaryJoker: Any\" (they spawn from Soul). */\r\n anyLegendary: { pos: { x: 2, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank spectral back — Tarots row 2 col 5. For \"spectralCard: Any\". */\r\n anySpectral: { pos: { x: 5, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank tarot back — Tarots row 2 col 6. For \"tarotCard: Any\". */\r\n anyTarot: { pos: { x: 6, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n /** Blank planet back — Tarots row 2 col 7. For \"planetCard: Any\". */\r\n anyPlanet: { pos: { x: 7, y: 2 }, type: \"Tarots\" as SpriteSheetType },\r\n} as const;\r\n\r\n/** Look up sprite data by name, falling back to the mystery card for the given sheet if not found. */\r\nexport function getSpriteDataOrMystery(name: string, fallbackSheet: SpriteSheetType = \"Jokers\"): SpriteData {\r\n return getSpriteData(name) ?? getMysterySprite(fallbackSheet);\r\n}\r\n"],"mappings":"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"}