jaml-ui 0.14.3 → 0.16.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 (116) hide show
  1. package/DESIGN.md +197 -0
  2. package/dist/assets.d.ts +1 -0
  3. package/dist/assets.js +2 -0
  4. package/dist/decode/motelyItemDecoder.js +27 -3
  5. package/dist/decode/motelySprite.d.ts +15 -0
  6. package/dist/decode/motelySprite.js +27 -0
  7. package/dist/motely.d.ts +1 -0
  8. package/dist/motely.js +1 -0
  9. package/dist/r3f/Card3D.js +2 -0
  10. package/dist/r3f/JimboBillboard.d.ts +10 -0
  11. package/dist/r3f/JimboBillboard.js +29 -0
  12. package/dist/r3f/JimboText3D.d.ts +9 -0
  13. package/dist/r3f/JimboText3D.js +7 -0
  14. package/dist/r3f.d.ts +2 -0
  15. package/dist/r3f.js +2 -0
  16. package/dist/sprites/spriteData.d.ts +1 -0
  17. package/dist/sprites/spriteData.js +1 -0
  18. package/dist/sprites/spriteMapper.d.ts +7 -1
  19. package/dist/sprites/spriteMapper.js +12 -0
  20. package/dist/ui/JimboBadge.d.ts +7 -0
  21. package/dist/ui/JimboBadge.js +24 -0
  22. package/dist/ui/JimboFloating.d.ts +8 -0
  23. package/dist/ui/JimboFloating.js +17 -0
  24. package/dist/ui/JimboToggleList.d.ts +11 -0
  25. package/dist/ui/JimboToggleList.js +10 -0
  26. package/dist/ui/footer.js +1 -1
  27. package/dist/ui/jimboFlankNav.js +5 -5
  28. package/dist/ui/panel.d.ts +2 -1
  29. package/dist/ui/panel.js +4 -4
  30. package/dist/ui/sprites.d.ts +14 -0
  31. package/dist/ui/sprites.js +52 -12
  32. package/dist/ui.d.ts +3 -0
  33. package/dist/ui.js +3 -0
  34. package/package.json +129 -122
  35. package/assets/Balatro Seed Curator (DesignsV2)/.design-canvas.state.json +0 -1
  36. package/assets/Balatro Seed Curator (DesignsV2)/Assets/BlindChips.png +0 -0
  37. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters/Boosters.json +0 -303
  38. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters/boosters.png +0 -0
  39. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters.png +0 -0
  40. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Bosses/BlindChips.png +0 -0
  41. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Bosses/blinds_metadata.json +0 -51
  42. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/8BitDeck.png +0 -0
  43. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/Enhancers.png +0 -0
  44. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/balatro-stake-chips.png +0 -0
  45. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/enhancers_metadata.json +0 -52
  46. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/playing_cards_metadata.json +0 -249
  47. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/stakes.json +0 -19
  48. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Editions.png +0 -0
  49. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Enhancers.png +0 -0
  50. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/Editions.png +0 -0
  51. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/Jokers.png +0 -0
  52. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/jokers.json +0 -1087
  53. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/stickers.png +0 -0
  54. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/stickers_metadata.json +0 -25
  55. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers.png +0 -0
  56. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tags/tags.json +0 -191
  57. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tags/tags.png +0 -0
  58. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/Tarots.png +0 -0
  59. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/planets.json +0 -15
  60. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/spectrals.json +0 -21
  61. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/tarots.json +0 -163
  62. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots.png +0 -0
  63. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers/Vouchers.png +0 -0
  64. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers/vouchers.json +0 -130
  65. package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers.png +0 -0
  66. package/assets/Balatro Seed Curator (DesignsV2)/Assets/blinds.json +0 -51
  67. package/assets/Balatro Seed Curator (DesignsV2)/Assets/boosters.json +0 -303
  68. package/assets/Balatro Seed Curator (DesignsV2)/Assets/fonts/m6x11plusplus.otf +0 -0
  69. package/assets/Balatro Seed Curator (DesignsV2)/Assets/jokers.json +0 -1087
  70. package/assets/Balatro Seed Curator (DesignsV2)/Assets/planets.json +0 -15
  71. package/assets/Balatro Seed Curator (DesignsV2)/Assets/spectrals.json +0 -21
  72. package/assets/Balatro Seed Curator (DesignsV2)/Assets/stakes.png +0 -0
  73. package/assets/Balatro Seed Curator (DesignsV2)/Assets/stickers.png +0 -0
  74. package/assets/Balatro Seed Curator (DesignsV2)/Assets/tags.json +0 -191
  75. package/assets/Balatro Seed Curator (DesignsV2)/Assets/tags.png +0 -0
  76. package/assets/Balatro Seed Curator (DesignsV2)/Assets/tarots.json +0 -163
  77. package/assets/Balatro Seed Curator (DesignsV2)/Assets/vouchers.json +0 -130
  78. package/assets/Balatro Seed Curator (DesignsV2)/Seed Detail v2.html +0 -40
  79. package/assets/Balatro Seed Curator (DesignsV2)/Seed Detail.html +0 -34
  80. package/assets/Balatro Seed Curator (DesignsV2)/public/fonts/m6x11plusplus.otf +0 -0
  81. package/assets/Balatro Seed Curator (DesignsV2)/src/AntePage.jsx +0 -228
  82. package/assets/Balatro Seed Curator (DesignsV2)/src/SeedDetail.jsx +0 -222
  83. package/assets/Balatro Seed Curator (DesignsV2)/src/app.jsx +0 -35
  84. package/assets/Balatro Seed Curator (DesignsV2)/src/mockData.js +0 -185
  85. package/assets/Balatro Seed Curator (DesignsV2)/src/sprites.jsx +0 -259
  86. package/assets/Balatro Seed Curator (DesignsV2)/src/tokens.js +0 -49
  87. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/AntePageV2.jsx +0 -290
  88. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/BalButton.jsx +0 -107
  89. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/JamlBuilderV2.jsx +0 -594
  90. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/JamlIde.jsx +0 -302
  91. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SearchResultsV2.jsx +0 -286
  92. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SeedDetailV2.jsx +0 -336
  93. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SeedOGCard.jsx +0 -251
  94. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/Showcase.jsx +0 -131
  95. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/app.jsx +0 -55
  96. package/assets/Balatro Seed Curator (DesignsV2)/src/v2/data.js +0 -296
  97. package/assets/Balatro Seed Curator (DesignsV2)/starters/design-canvas.jsx +0 -622
  98. package/assets/Balatro Seed Curator (DesignsV2)/uploads/8BitDeck.png +0 -0
  99. package/assets/Balatro Seed Curator (DesignsV2)/uploads/BlindChips.png +0 -0
  100. package/assets/Balatro Seed Curator (DesignsV2)/uploads/Boosters.png +0 -0
  101. package/assets/Balatro Seed Curator (DesignsV2)/uploads/Editions.png +0 -0
  102. package/assets/Balatro Seed Curator (DesignsV2)/uploads/Enhancers.png +0 -0
  103. package/assets/Balatro Seed Curator (DesignsV2)/uploads/Jokers.png +0 -0
  104. package/assets/Balatro Seed Curator (DesignsV2)/uploads/Tarots.png +0 -0
  105. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749540653-0.png +0 -0
  106. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749644934-0.png +0 -0
  107. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749661871-0.png +0 -0
  108. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749674748-0.png +0 -0
  109. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749703076-0.png +0 -0
  110. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749882759-0.png +0 -0
  111. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776750354200-0.png +0 -0
  112. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776750733265-0.png +0 -0
  113. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776751928925-0.png +0 -0
  114. package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776800975060-0.png +0 -0
  115. package/assets/Balatro Seed Curator (DesignsV2)/uploads/stickers.png +0 -0
  116. package/assets/Balatro Seed Curator (DesignsV2)/uploads/tags.png +0 -0
package/dist/ui/panel.js CHANGED
@@ -41,10 +41,10 @@ const JIMBO_TONE_PAIRS = {
41
41
  gold: [JimboColorOption.GOLD, '#8a6a1e'],
42
42
  grey: [JimboColorOption.DARK_GREY, JimboColorOption.DARKEST],
43
43
  };
44
- export function JimboButton({ tone = 'orange', size = 'md', fullWidth = false, disabled = false, onClick, style, children, }) {
44
+ export function JimboButton({ tone = 'orange', size = 'md', fullWidth = false, disabled = false, uppercase = false, onClick, style, children, }) {
45
45
  const [pressed, setPressed] = useState(false);
46
46
  const [fg, sh] = JIMBO_TONE_PAIRS[tone] ?? JIMBO_TONE_PAIRS.orange;
47
- const pad = size === 'xs' ? '2px 8px' : size === 'sm' ? '4px 10px' : size === 'lg' ? '14px 18px' : '9px 14px';
47
+ const pad = size === 'xs' ? '2px 8px' : size === 'sm' ? '4px 10px' : size === 'lg' ? '10px 18px' : '6px 14px';
48
48
  const textSize = size === 'xs' ? 'xs' : size === 'sm' ? 'sm' : size === 'lg' ? 'lg' : 'md';
49
49
  return (_jsxs("div", { onMouseDown: () => { if (!disabled)
50
50
  setPressed(true); }, onMouseUp: () => setPressed(false), onMouseLeave: () => setPressed(false), onTouchStart: () => { if (!disabled)
@@ -54,10 +54,10 @@ export function JimboButton({ tone = 'orange', size = 'md', fullWidth = false, d
54
54
  transform: pressed ? 'translate(1px, 3px)' : 'translate(0,0)',
55
55
  transition: 'transform 55ms linear',
56
56
  textAlign: 'center',
57
- }, children: _jsx(JimboText, { size: textSize, uppercase: true, children: children }) })] }));
57
+ }, children: _jsx(JimboText, { size: textSize, uppercase: uppercase, children: children }) })] }));
58
58
  }
59
59
  export function JimboBackButton({ onClick }) {
60
- return (_jsx("div", { style: { display: 'flex', justifyContent: 'center', width: '100%', padding: '8px 10px 10px' }, children: _jsx(JimboButton, { tone: "orange", size: "md", onClick: onClick, style: { width: '66.666%' }, children: "Back" }) }));
60
+ return (_jsx("div", { style: { display: 'flex', justifyContent: 'center', width: '100%', padding: '4px 0' }, children: _jsx(JimboButton, { tone: "orange", size: "md", fullWidth: true, onClick: onClick, children: "Back" }) }));
61
61
  }
62
62
  export function JimboModal({ children, open, onClose, title, className }) {
63
63
  const [visible, setVisible] = useState(open);
@@ -8,3 +8,17 @@ export interface JimboSpriteProps {
8
8
  style?: React.CSSProperties;
9
9
  }
10
10
  export declare function JimboSprite({ name, sheet, width, height, style }: JimboSpriteProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export interface StakeSpriteProps {
12
+ stake: string;
13
+ width?: number;
14
+ height?: number;
15
+ style?: React.CSSProperties;
16
+ }
17
+ export declare function StakeSprite({ stake, width, height, style }: StakeSpriteProps): import("react/jsx-runtime").JSX.Element;
18
+ export interface DeckSpriteProps {
19
+ deck: string;
20
+ width?: number;
21
+ height?: number;
22
+ style?: React.CSSProperties;
23
+ }
24
+ export declare function DeckSprite({ deck, width, height, style }: DeckSpriteProps): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +1,17 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { resolveJamlAssetUrl } from '../assets.js';
4
- import { getSpriteData } from '../sprites/spriteMapper.js';
5
- const SHEET_META = {
6
- Jokers: { cols: 10, rows: 16, assetKey: 'jokers' },
7
- Tarots: { cols: 10, rows: 6, assetKey: 'tarots' },
8
- Vouchers: { cols: 9, rows: 4, assetKey: 'vouchers' },
9
- Boosters: { cols: 4, rows: 9, assetKey: 'boosters' },
10
- BlindChips: { cols: 21, rows: 31, assetKey: 'blinds' },
11
- tags: { cols: 6, rows: 5, assetKey: 'tags' },
12
- Enhancers: { cols: 7, rows: 5, assetKey: 'enhancers' },
13
- Editions: { cols: 5, rows: 1, assetKey: 'editions' },
14
- };
4
+ import { getSpriteData, SHEET_META } from '../sprites/spriteMapper.js';
15
5
  export function JimboSprite({ name, sheet, width = 40, height, style }) {
16
6
  const sprite = getSpriteData(name);
17
7
  const resolvedSheet = sheet ?? sprite?.type ?? 'Jokers';
18
8
  const meta = SHEET_META[resolvedSheet];
19
9
  const pos = sprite?.pos ?? { x: 0, y: 0 };
20
- const h = height ?? width;
10
+ let defaultH = width;
11
+ if (["Jokers", "Tarots", "Vouchers", "Boosters", "Decks", "Enhancers", "Editions"].includes(resolvedSheet)) {
12
+ defaultH = Math.round((width * 95) / 71);
13
+ }
14
+ const h = height ?? defaultH;
21
15
  if (!meta)
22
16
  return null;
23
17
  const bgW = width * meta.cols;
@@ -34,3 +28,49 @@ export function JimboSprite({ name, sheet, width = 40, height, style }) {
34
28
  ...style,
35
29
  } }));
36
30
  }
31
+ const STAKE_MAP = ["White", "Red", "Green", "Black", "Blue", "Purple", "Orange", "Gold"];
32
+ export function StakeSprite({ stake, width = 29, height, style }) {
33
+ const index = STAKE_MAP.indexOf(stake.replace(" Stake", ""));
34
+ const idx = index >= 0 ? index : 0;
35
+ const x = idx % 5;
36
+ const y = Math.floor(idx / 5);
37
+ const h = height ?? width;
38
+ const bgW = width * 5;
39
+ const bgH = h * 2;
40
+ return (_jsx("div", { style: {
41
+ width, height: h, flexShrink: 0,
42
+ backgroundImage: `url(${resolveJamlAssetUrl('stakes')})`,
43
+ backgroundSize: `${bgW}px ${bgH}px`,
44
+ backgroundPosition: `-${x * width}px -${y * h}px`,
45
+ backgroundRepeat: 'no-repeat',
46
+ imageRendering: 'pixelated',
47
+ ...style,
48
+ } }));
49
+ }
50
+ const DECK_ROWS = {
51
+ Red: 0,
52
+ Blue: 1,
53
+ Yellow: 2,
54
+ Green: 3,
55
+ Black: 0,
56
+ Magic: 1,
57
+ Nebula: 2,
58
+ Ghost: 3,
59
+ };
60
+ export function DeckSprite({ deck, width = 71, height, style }) {
61
+ const baseDeck = deck.replace(" Deck", "");
62
+ const y = DECK_ROWS[baseDeck] ?? 0;
63
+ const x = 12;
64
+ const h = height ?? (width * 95 / 71);
65
+ const bgW = width * 13;
66
+ const bgH = h * 4;
67
+ return (_jsx("div", { style: {
68
+ width, height: h, flexShrink: 0,
69
+ backgroundImage: `url(${resolveJamlAssetUrl('deck')})`,
70
+ backgroundSize: `${bgW}px ${bgH}px`,
71
+ backgroundPosition: `-${x * width}px -${y * h}px`,
72
+ backgroundRepeat: 'no-repeat',
73
+ imageRendering: 'pixelated',
74
+ ...style,
75
+ } }));
76
+ }
package/dist/ui.d.ts CHANGED
@@ -2,6 +2,9 @@ export * from './ui/tokens.js';
2
2
  export * from './ui/jimboText.js';
3
3
  export * from './ui/panel.js';
4
4
  export * from './ui/jimboTabs.js';
5
+ export * from './ui/JimboFloating.js';
6
+ export * from './ui/JimboToggleList.js';
7
+ export * from './ui/JimboBadge.js';
5
8
  export * from './ui/jimboFlankNav.js';
6
9
  export * from './ui/jimboFilterBar.js';
7
10
  export * from './ui/jimboBackground.js';
package/dist/ui.js CHANGED
@@ -2,6 +2,9 @@ export * from './ui/tokens.js';
2
2
  export * from './ui/jimboText.js';
3
3
  export * from './ui/panel.js';
4
4
  export * from './ui/jimboTabs.js';
5
+ export * from './ui/JimboFloating.js';
6
+ export * from './ui/JimboToggleList.js';
7
+ export * from './ui/JimboBadge.js';
5
8
  export * from './ui/jimboFlankNav.js';
6
9
  export * from './ui/jimboFilterBar.js';
7
10
  export * from './ui/jimboBackground.js';
package/package.json CHANGED
@@ -1,122 +1,129 @@
1
- {
2
- "name": "jaml-ui",
3
- "version": "0.14.3",
4
- "description": "Balatro rendering components, sprite metadata, and optional Motely helpers for React 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
- "import": "./dist/index.js"
12
- },
13
- "./core": {
14
- "types": "./dist/core.d.ts",
15
- "import": "./dist/core.js"
16
- },
17
- "./motely": {
18
- "types": "./dist/motely.d.ts",
19
- "import": "./dist/motely.js"
20
- },
21
- "./ui": {
22
- "types": "./dist/ui.d.ts",
23
- "import": "./dist/ui.js"
24
- },
25
- "./r3f": {
26
- "types": "./dist/r3f.d.ts",
27
- "import": "./dist/r3f.js"
28
- },
29
- "./fonts.css": "./fonts.css",
30
- "./package.json": "./package.json"
31
- },
32
- "sideEffects": [
33
- "./fonts.css"
34
- ],
35
- "files": [
36
- "dist",
37
- "assets",
38
- "fonts.css",
39
- "README.md",
40
- "LICENSE"
41
- ],
42
- "scripts": {
43
- "build": "tsc --pretty false",
44
- "dev": "tsc --watch",
45
- "demo": "vite --config demo/vite.config.ts",
46
- "typecheck": "tsc --noEmit --pretty false",
47
- "prepack": "npm run build"
48
- },
49
- "engines": {
50
- "node": ">=18"
51
- },
52
- "publishConfig": {
53
- "access": "public"
54
- },
55
- "repository": {
56
- "type": "git",
57
- "url": "https://github.com/OptimusPi/jaml-ui"
58
- },
59
- "homepage": "https://github.com/OptimusPi/jaml-ui#readme",
60
- "bugs": {
61
- "url": "https://github.com/OptimusPi/jaml-ui/issues"
62
- },
63
- "keywords": [
64
- "balatro",
65
- "jaml",
66
- "motely",
67
- "seed",
68
- "card",
69
- "sprite",
70
- "ui"
71
- ],
72
- "author": "pifreak",
73
- "license": "MIT",
74
- "peerDependencies": {
75
- "@monaco-editor/react": ">=4.0.0",
76
- "@react-spring/three": ">=9.0.0",
77
- "@react-three/fiber": ">=8.0.0",
78
- "monaco-editor": ">=0.50.0",
79
- "motely-wasm": "^10.2.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
80
- "react": "^18.2.0 || ^19.0.0",
81
- "react-dom": "^18.2.0 || ^19.0.0",
82
- "react-icons": ">=5.0.0",
83
- "three": ">=0.150.0"
84
- },
85
- "peerDependenciesMeta": {
86
- "@react-spring/three": {
87
- "optional": true
88
- },
89
- "@react-three/fiber": {
90
- "optional": true
91
- },
92
- "motely-wasm": {
93
- "optional": true
94
- },
95
- "react-icons": {
96
- "optional": true
97
- },
98
- "three": {
99
- "optional": true
100
- }
101
- },
102
- "devDependencies": {
103
- "@monaco-editor/react": "^4.7.0",
104
- "@react-spring/three": "^10.0.3",
105
- "@react-three/fiber": "^9.6.0",
106
- "@types/react": "^19.2.14",
107
- "@types/react-dom": "^19.2.3",
108
- "@types/three": "^0.184.0",
109
- "@vitejs/plugin-react": "^5.0.4",
110
- "monaco-editor": "^0.55.1",
111
- "motely-wasm": "^14.0.2",
112
- "react": "^19.2.4",
113
- "react-dom": "^19.2.4",
114
- "react-icons": "^5.6.0",
115
- "three": "^0.184.0",
116
- "typescript": "^5.9.3",
117
- "vite": "^8.0.9"
118
- },
119
- "dependencies": {
120
- "@google/design.md": "^0.1.1"
121
- }
122
- }
1
+ {
2
+ "name": "jaml-ui",
3
+ "version": "0.16.0",
4
+ "description": "Balatro rendering components, sprite metadata, and optional Motely helpers for React 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
+ "import": "./dist/index.js"
12
+ },
13
+ "./core": {
14
+ "types": "./dist/core.d.ts",
15
+ "import": "./dist/core.js"
16
+ },
17
+ "./motely": {
18
+ "types": "./dist/motely.d.ts",
19
+ "import": "./dist/motely.js"
20
+ },
21
+ "./ui": {
22
+ "types": "./dist/ui.d.ts",
23
+ "import": "./dist/ui.js"
24
+ },
25
+ "./r3f": {
26
+ "types": "./dist/r3f.d.ts",
27
+ "import": "./dist/r3f.js"
28
+ },
29
+ "./fonts.css": "./fonts.css",
30
+ "./package.json": "./package.json"
31
+ },
32
+ "sideEffects": [
33
+ "./fonts.css"
34
+ ],
35
+ "files": [
36
+ "dist",
37
+ "assets/*.png",
38
+ "assets/fonts",
39
+ "fonts.css",
40
+ "README.md",
41
+ "DESIGN.md",
42
+ "LICENSE"
43
+ ],
44
+ "scripts": {
45
+ "build": "tsc --pretty false",
46
+ "dev": "tsc --watch",
47
+ "demo": "vite --config demo/vite.config.ts",
48
+ "typecheck": "tsc --noEmit --pretty false",
49
+ "prepack": "npm run build"
50
+ },
51
+ "engines": {
52
+ "node": ">=18"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "https://github.com/OptimusPi/jaml-ui"
60
+ },
61
+ "homepage": "https://github.com/OptimusPi/jaml-ui#readme",
62
+ "bugs": {
63
+ "url": "https://github.com/OptimusPi/jaml-ui/issues"
64
+ },
65
+ "keywords": [
66
+ "balatro",
67
+ "jaml",
68
+ "motely",
69
+ "seed",
70
+ "card",
71
+ "sprite",
72
+ "ui"
73
+ ],
74
+ "author": "pifreak",
75
+ "license": "MIT",
76
+ "peerDependencies": {
77
+ "@monaco-editor/react": ">=4.0.0",
78
+ "@react-spring/three": ">=9.0.0",
79
+ "@react-three/fiber": ">=8.0.0",
80
+ "monaco-editor": ">=0.50.0",
81
+ "motely-wasm": "^10.2.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0",
82
+ "react": "^18.2.0 || ^19.0.0",
83
+ "react-dom": "^18.2.0 || ^19.0.0",
84
+ "react-icons": ">=5.0.0",
85
+ "three": ">=0.150.0",
86
+ "@react-three/drei": ">=9.0.0"
87
+ },
88
+ "peerDependenciesMeta": {
89
+ "@react-spring/three": {
90
+ "optional": true
91
+ },
92
+ "@react-three/fiber": {
93
+ "optional": true
94
+ },
95
+ "motely-wasm": {
96
+ "optional": true
97
+ },
98
+ "react-icons": {
99
+ "optional": true
100
+ },
101
+ "three": {
102
+ "optional": true
103
+ },
104
+ "@react-three/drei": {
105
+ "optional": true
106
+ }
107
+ },
108
+ "devDependencies": {
109
+ "@google/design.md": "^0.1.1",
110
+ "@monaco-editor/react": "^4.7.0",
111
+ "@react-spring/three": "^10.0.3",
112
+ "@react-three/fiber": "^9.6.0",
113
+ "@types/react": "^19.2.14",
114
+ "@types/react-dom": "^19.2.3",
115
+ "@types/three": "^0.184.0",
116
+ "@vitejs/plugin-react": "^5.0.4",
117
+ "monaco-editor": "^0.55.1",
118
+ "motely-wasm": "^14.0.2",
119
+ "react": "^19.2.4",
120
+ "react-dom": "^19.2.4",
121
+ "react-icons": "^5.6.0",
122
+ "three": "^0.184.0",
123
+ "typescript": "^5.9.3",
124
+ "vite": "^8.0.9"
125
+ },
126
+ "dependencies": {
127
+ "@react-three/drei": "^10.7.7"
128
+ }
129
+ }
@@ -1 +0,0 @@
1
- {"sections":{"seed-detail":{"labels":{"hifi":"Hi-fi · Balatro native"}}}}