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.
- package/DESIGN.md +197 -0
- package/dist/assets.d.ts +1 -0
- package/dist/assets.js +2 -0
- package/dist/decode/motelyItemDecoder.js +27 -3
- package/dist/decode/motelySprite.d.ts +15 -0
- package/dist/decode/motelySprite.js +27 -0
- package/dist/motely.d.ts +1 -0
- package/dist/motely.js +1 -0
- package/dist/r3f/Card3D.js +2 -0
- package/dist/r3f/JimboBillboard.d.ts +10 -0
- package/dist/r3f/JimboBillboard.js +29 -0
- package/dist/r3f/JimboText3D.d.ts +9 -0
- package/dist/r3f/JimboText3D.js +7 -0
- package/dist/r3f.d.ts +2 -0
- package/dist/r3f.js +2 -0
- package/dist/sprites/spriteData.d.ts +1 -0
- package/dist/sprites/spriteData.js +1 -0
- package/dist/sprites/spriteMapper.d.ts +7 -1
- package/dist/sprites/spriteMapper.js +12 -0
- package/dist/ui/JimboBadge.d.ts +7 -0
- package/dist/ui/JimboBadge.js +24 -0
- package/dist/ui/JimboFloating.d.ts +8 -0
- package/dist/ui/JimboFloating.js +17 -0
- package/dist/ui/JimboToggleList.d.ts +11 -0
- package/dist/ui/JimboToggleList.js +10 -0
- package/dist/ui/footer.js +1 -1
- package/dist/ui/jimboFlankNav.js +5 -5
- package/dist/ui/panel.d.ts +2 -1
- package/dist/ui/panel.js +4 -4
- package/dist/ui/sprites.d.ts +14 -0
- package/dist/ui/sprites.js +52 -12
- package/dist/ui.d.ts +3 -0
- package/dist/ui.js +3 -0
- package/package.json +129 -122
- package/assets/Balatro Seed Curator (DesignsV2)/.design-canvas.state.json +0 -1
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/BlindChips.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters/Boosters.json +0 -303
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters/boosters.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Boosters.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Bosses/BlindChips.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Bosses/blinds_metadata.json +0 -51
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/8BitDeck.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/Enhancers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/balatro-stake-chips.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/enhancers_metadata.json +0 -52
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/playing_cards_metadata.json +0 -249
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Decks/stakes.json +0 -19
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Editions.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Enhancers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/Editions.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/Jokers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/jokers.json +0 -1087
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/stickers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers/stickers_metadata.json +0 -25
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Jokers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tags/tags.json +0 -191
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tags/tags.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/Tarots.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/planets.json +0 -15
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/spectrals.json +0 -21
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots/tarots.json +0 -163
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Tarots.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers/Vouchers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers/vouchers.json +0 -130
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/Vouchers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/blinds.json +0 -51
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/boosters.json +0 -303
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/fonts/m6x11plusplus.otf +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/jokers.json +0 -1087
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/planets.json +0 -15
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/spectrals.json +0 -21
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/stakes.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/stickers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/tags.json +0 -191
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/tags.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/tarots.json +0 -163
- package/assets/Balatro Seed Curator (DesignsV2)/Assets/vouchers.json +0 -130
- package/assets/Balatro Seed Curator (DesignsV2)/Seed Detail v2.html +0 -40
- package/assets/Balatro Seed Curator (DesignsV2)/Seed Detail.html +0 -34
- package/assets/Balatro Seed Curator (DesignsV2)/public/fonts/m6x11plusplus.otf +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/src/AntePage.jsx +0 -228
- package/assets/Balatro Seed Curator (DesignsV2)/src/SeedDetail.jsx +0 -222
- package/assets/Balatro Seed Curator (DesignsV2)/src/app.jsx +0 -35
- package/assets/Balatro Seed Curator (DesignsV2)/src/mockData.js +0 -185
- package/assets/Balatro Seed Curator (DesignsV2)/src/sprites.jsx +0 -259
- package/assets/Balatro Seed Curator (DesignsV2)/src/tokens.js +0 -49
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/AntePageV2.jsx +0 -290
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/BalButton.jsx +0 -107
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/JamlBuilderV2.jsx +0 -594
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/JamlIde.jsx +0 -302
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SearchResultsV2.jsx +0 -286
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SeedDetailV2.jsx +0 -336
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/SeedOGCard.jsx +0 -251
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/Showcase.jsx +0 -131
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/app.jsx +0 -55
- package/assets/Balatro Seed Curator (DesignsV2)/src/v2/data.js +0 -296
- package/assets/Balatro Seed Curator (DesignsV2)/starters/design-canvas.jsx +0 -622
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/8BitDeck.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/BlindChips.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/Boosters.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/Editions.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/Enhancers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/Jokers.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/Tarots.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749540653-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749644934-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749661871-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749674748-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749703076-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776749882759-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776750354200-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776750733265-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776751928925-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/pasted-1776800975060-0.png +0 -0
- package/assets/Balatro Seed Curator (DesignsV2)/uploads/stickers.png +0 -0
- 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' ? '
|
|
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:
|
|
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: '
|
|
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);
|
package/dist/ui/sprites.d.ts
CHANGED
|
@@ -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;
|
package/dist/ui/sprites.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"@
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"react
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"@react-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"@react-three
|
|
90
|
-
"optional": true
|
|
91
|
-
},
|
|
92
|
-
"
|
|
93
|
-
"optional": true
|
|
94
|
-
},
|
|
95
|
-
"
|
|
96
|
-
"optional": true
|
|
97
|
-
},
|
|
98
|
-
"
|
|
99
|
-
"optional": true
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"@react-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"@
|
|
110
|
-
"monaco-editor": "^
|
|
111
|
-
"
|
|
112
|
-
"react": "^
|
|
113
|
-
"react
|
|
114
|
-
"react-
|
|
115
|
-
"three": "^0.184.0",
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"
|
|
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"}}}}
|
|
Binary file
|