jaml-ui 2.5.1 → 3.0.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.
- package/README.md +38 -225
- package/dist/chunks/Layer-B5y9UIAt.js +19 -0
- package/dist/chunks/Layer-B5y9UIAt.js.map +1 -0
- package/dist/chunks/motelySprite-BYsaes3N.js +753 -0
- package/dist/chunks/motelySprite-BYsaes3N.js.map +1 -0
- package/dist/chunks/spriteMapper-BiDkbZrD.js +480 -0
- package/dist/chunks/spriteMapper-BiDkbZrD.js.map +1 -0
- package/dist/components/DeckSprite.d.ts +1 -1
- package/dist/components/GameCard.d.ts +5 -4
- package/dist/components/JamlyzerView.d.ts +9 -0
- package/dist/components/StandardCard.d.ts +4 -3
- package/dist/core.d.ts +0 -1
- package/dist/core.js +38 -26
- package/dist/core.js.map +1 -1
- package/dist/decode/motelyItemDecoder.d.ts +5 -0
- package/dist/index.d.ts +5 -28
- package/dist/index.js +3180 -27606
- package/dist/index.js.map +1 -1
- package/dist/json-render/catalog.d.ts +26 -1
- package/dist/json-render/components/domain.d.ts +8 -8
- package/dist/json-render/components/game.d.ts +3 -7
- package/dist/json-render/components/jammySeedMascotImage.d.ts +1 -0
- package/dist/json-render/components/layout.d.ts +2 -1
- package/dist/json-render/components/mascot.d.ts +22 -0
- package/dist/json-render/components/reference.d.ts +7 -7
- package/dist/json-render/engine.d.ts +4 -4
- package/dist/json-render/index.d.ts +2 -0
- package/dist/motely.d.ts +2 -5
- package/dist/motely.js +22 -173
- package/dist/motely.js.map +1 -1
- package/dist/render/CanvasRenderer.d.ts +2 -1
- package/dist/render/useJamlCardRenderer.d.ts +15 -0
- package/dist/ui/jimbo.css +1 -2
- package/dist/ui.d.ts +0 -39
- package/dist/ui.js +58 -3
- package/dist/ui.js.map +1 -0
- package/package.json +13 -53
- package/dist/assets/searchPoolWorker-DA5uFkl3.js +0 -2
- package/dist/assets/searchPoolWorker-DA5uFkl3.js.map +0 -1
- package/dist/chunks/jamlSeeds-CRthre97.js +0 -69
- package/dist/chunks/jamlSeeds-CRthre97.js.map +0 -1
- package/dist/chunks/runtime-D7eHq1kP.js +0 -2060
- package/dist/chunks/runtime-D7eHq1kP.js.map +0 -1
- package/dist/chunks/searchPoolWorker-649yzf3l.js +0 -11
- package/dist/chunks/searchPoolWorker-649yzf3l.js.map +0 -1
- package/dist/chunks/spriteMapper-BqG15k6f.js +0 -2496
- package/dist/chunks/spriteMapper-BqG15k6f.js.map +0 -1
- package/dist/chunks/ui-DwggmAYr.js +0 -3399
- package/dist/chunks/ui-DwggmAYr.js.map +0 -1
- package/dist/components/CardFan.d.ts +0 -13
- package/dist/components/JamlAestheticSelector.d.ts +0 -12
- package/dist/components/JamlCodeEditor.d.ts +0 -7
- package/dist/components/JamlCurator.d.ts +0 -1
- package/dist/components/JamlIde.d.ts +0 -44
- package/dist/components/JamlIdeToolbar.d.ts +0 -14
- package/dist/components/JamlIdeVisual.d.ts +0 -30
- package/dist/components/JamlMapPreview.d.ts +0 -11
- package/dist/components/JamlSeedInput.d.ts +0 -24
- package/dist/components/JamlSeedSpinner.d.ts +0 -9
- package/dist/components/JamlSpeedometer.d.ts +0 -16
- package/dist/components/Jamlyzer.d.ts +0 -8
- package/dist/components/JimmolateEditor.d.ts +0 -47
- package/dist/components/MotelyHello.d.ts +0 -5
- package/dist/components/MotelyVersionBadge.d.ts +0 -28
- package/dist/components/PaginatedFilterBrowser.d.ts +0 -26
- package/dist/components/RunConfigModal.d.ts +0 -8
- package/dist/components/SeedFinderApp.d.ts +0 -7
- package/dist/components/jamlMap/CategoryPicker.d.ts +0 -32
- package/dist/components/jamlMap/JamlMapEditor.d.ts +0 -14
- package/dist/components/jamlMap/JokerPicker.d.ts +0 -8
- package/dist/components/jamlMap/MysterySlot.d.ts +0 -37
- package/dist/components/jamlMap/index.d.ts +0 -4
- package/dist/components/jamlMap/jokerRarity.d.ts +0 -6
- package/dist/components/jamlSeedUtils.d.ts +0 -1
- package/dist/hooks/searchPoolWorker.d.ts +0 -61
- package/dist/hooks/searchWorker.d.ts +0 -1
- package/dist/hooks/useAnalyzer.d.ts +0 -10
- package/dist/hooks/useIntersectionObserver.d.ts +0 -14
- package/dist/hooks/useJamlLibrary.d.ts +0 -13
- package/dist/hooks/useSearch.d.ts +0 -31
- package/dist/hooks/useSearchPool.d.ts +0 -43
- package/dist/hooks/useShopStream.d.ts +0 -22
- package/dist/lib/SpriteMapper.d.ts +0 -10
- package/dist/lib/cardParser.d.ts +0 -8
- package/dist/lib/classes/BuyMetaData.d.ts +0 -11
- package/dist/lib/config.d.ts +0 -13
- package/dist/lib/const.d.ts +0 -70
- package/dist/lib/data/constants.d.ts +0 -11
- package/dist/lib/hooks/useDragScroll.d.ts +0 -4
- package/dist/lib/hooks/useJamlFilter.d.ts +0 -48
- package/dist/lib/hooks/useSeedAnalyzer.d.ts +0 -5
- package/dist/lib/jaml/jamlCompletion.d.ts +0 -12
- package/dist/lib/jaml/jamlData.d.ts +0 -4
- package/dist/lib/jaml/jamlLangCodemirror.d.ts +0 -13
- package/dist/lib/jaml/jamlObjectives.d.ts +0 -13
- package/dist/lib/jaml/jamlParser.d.ts +0 -14
- package/dist/lib/jaml/jamlPresets.d.ts +0 -8
- package/dist/lib/jaml/jamlSchema.d.ts +0 -19
- package/dist/lib/jaml/jamlSeeds.d.ts +0 -7
- package/dist/lib/motely/runtime.d.ts +0 -40
- package/dist/lib/parseDailyRitual.d.ts +0 -45
- package/dist/lib/tts/getRevealPos.d.ts +0 -5
- package/dist/lib/tts/splitTtsDisplay.d.ts +0 -19
- package/dist/lib/types.d.ts +0 -122
- package/dist/lib/utils.d.ts +0 -2
- package/dist/motelyDisplay.d.ts +0 -10
- package/dist/ui/JimboBadge.d.ts +0 -12
- package/dist/ui/JimboBalatroFooter.d.ts +0 -16
- package/dist/ui/JimboCopyButton.d.ts +0 -27
- package/dist/ui/JimboDeckAndStakeSelectorModal.d.ts +0 -30
- package/dist/ui/JimboDualChip.d.ts +0 -17
- package/dist/ui/JimboIconButton.d.ts +0 -15
- package/dist/ui/JimboInlineEdit.d.ts +0 -16
- package/dist/ui/JimboInputModal.d.ts +0 -13
- package/dist/ui/JimboListItem.d.ts +0 -11
- package/dist/ui/JimboPanelSpinner.d.ts +0 -15
- package/dist/ui/JimboPanelSplitter.d.ts +0 -8
- package/dist/ui/JimboPicker.d.ts +0 -28
- package/dist/ui/JimboSeedCopyChip.d.ts +0 -16
- package/dist/ui/JimboSelect.d.ts +0 -30
- package/dist/ui/JimboSlider.d.ts +0 -11
- package/dist/ui/JimboSpinner.d.ts +0 -18
- package/dist/ui/JimboStepper.d.ts +0 -22
- package/dist/ui/JimboTextInput.d.ts +0 -5
- package/dist/ui/JimboToggleList.d.ts +0 -12
- package/dist/ui/JimboValueBadge.d.ts +0 -19
- package/dist/ui/codeBlock.d.ts +0 -11
- package/dist/ui/hooks.d.ts +0 -126
- package/dist/ui/ide/JamlEditor.d.ts +0 -7
- package/dist/ui/jimboApp.d.ts +0 -9
- package/dist/ui/jimboBackground.d.ts +0 -17
- package/dist/ui/jimboCopyRow.d.ts +0 -9
- package/dist/ui/jimboFilterBar.d.ts +0 -22
- package/dist/ui/jimboFlankNav.d.ts +0 -17
- package/dist/ui/jimboInfoCard.d.ts +0 -31
- package/dist/ui/jimboInset.d.ts +0 -9
- package/dist/ui/jimboLayout.d.ts +0 -25
- package/dist/ui/jimboLink.d.ts +0 -12
- package/dist/ui/jimboSectionHeader.d.ts +0 -11
- package/dist/ui/jimboStatGrid.d.ts +0 -13
- package/dist/ui/jimboTabs.d.ts +0 -21
- package/dist/ui/jimboText.d.ts +0 -25
- package/dist/ui/jimboTooltip.d.ts +0 -33
- package/dist/ui/jimboWordmark.d.ts +0 -10
- package/dist/ui/mascot/JammySpeechBox.d.ts +0 -9
- package/dist/ui/mascot/SeedMascot.d.ts +0 -37
- package/dist/ui/mascot/index.d.ts +0 -3
- package/dist/ui/mascot/menuConfig.d.ts +0 -102
- package/dist/ui/panel.d.ts +0 -32
- package/dist/ui/radial/RadialBadge.d.ts +0 -16
- package/dist/ui/radial/RadialBreadcrumb.d.ts +0 -12
- package/dist/ui/radial/RadialButton.d.ts +0 -60
- package/dist/ui/radial/RadialMenu.d.ts +0 -38
- package/dist/ui/radial/RadialPill.d.ts +0 -17
- package/dist/ui/radial/index.d.ts +0 -16
- package/dist/ui/radial/radialMenuStore.d.ts +0 -31
- package/dist/ui/radial/radialMenuViewport.d.ts +0 -6
- package/dist/ui/radial/useRadialMenu.d.ts +0 -35
- package/dist/ui/showcase.d.ts +0 -38
- package/dist/ui/sprites.d.ts +0 -25
- package/dist/utils/jamlMapPreview.d.ts +0 -12
- package/dist/utils/jamlVisualFilter.d.ts +0 -3
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface StreamItem {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
value?: number;
|
|
5
|
-
}
|
|
6
|
-
export interface StreamState {
|
|
7
|
-
items: StreamItem[];
|
|
8
|
-
ready: boolean;
|
|
9
|
-
loading: boolean;
|
|
10
|
-
loadingMore: boolean;
|
|
11
|
-
error: string | null;
|
|
12
|
-
pullMore: (count?: number) => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Generic stream hook for iterating any motely-wasm analyzer stream.
|
|
16
|
-
*
|
|
17
|
-
* @param initStream - called once to initialize the stream (e.g. analyzer.initShop(ante))
|
|
18
|
-
* @param nextItem - called to get the next item from the stream (e.g. analyzer.nextShopItem())
|
|
19
|
-
* @param deps - dependency array that triggers stream re-initialization
|
|
20
|
-
* @param initialItems - items already visible (cursor advances past them)
|
|
21
|
-
*/
|
|
22
|
-
export declare function useMotelyStream(initStream: (() => void) | null, nextItem: (() => StreamItem) | null, deps: unknown[], initialItems?: StreamItem[]): StreamState;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface SpritePos {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
}
|
|
5
|
-
export interface SpriteData {
|
|
6
|
-
pos: SpritePos;
|
|
7
|
-
type: 'Jokers' | 'Tarots' | 'Vouchers' | 'Boosters' | 'Enhancers' | 'Editions' | 'BlindChips' | 'Shop' | 'tags';
|
|
8
|
-
}
|
|
9
|
-
export declare function getSpriteData(name: string): SpriteData;
|
|
10
|
-
export {};
|
package/dist/lib/cardParser.d.ts
DELETED
package/dist/lib/config.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const ritualConfig: {
|
|
2
|
-
title: string;
|
|
3
|
-
tagline: string;
|
|
4
|
-
id: string;
|
|
5
|
-
defaultObjective: string;
|
|
6
|
-
/**
|
|
7
|
-
* The Weepoch (Jan 30, 2026)
|
|
8
|
-
* This is the canonical start date for Day 1.
|
|
9
|
-
*/
|
|
10
|
-
epochDate: string;
|
|
11
|
-
readonly epoch: number;
|
|
12
|
-
};
|
|
13
|
-
export declare const EPOCH: number;
|
package/dist/lib/const.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { BuyMetaData } from './classes/BuyMetaData.ts';
|
|
3
|
-
export interface Pos {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
}
|
|
7
|
-
export interface Entity {
|
|
8
|
-
name: string;
|
|
9
|
-
pos: Pos;
|
|
10
|
-
animated?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const jokers: Entity[];
|
|
13
|
-
export declare const jokerFaces: Entity[];
|
|
14
|
-
export declare const consumablesFaces: Entity[];
|
|
15
|
-
export declare const boosterPacks: Entity[];
|
|
16
|
-
export declare const tarotsAndPlanets: Entity[];
|
|
17
|
-
export declare const tags: Entity[];
|
|
18
|
-
export declare const vouchers: Entity[];
|
|
19
|
-
export declare const bosses: Entity[];
|
|
20
|
-
export declare const editionMap: Record<string, number>;
|
|
21
|
-
export declare const stickerMap: Record<string, Pos>;
|
|
22
|
-
export declare const options: string[];
|
|
23
|
-
export declare const blinds: string[];
|
|
24
|
-
export declare const blindsCamelCase: string[];
|
|
25
|
-
export declare const SeedsWithLegendary: Array<string>;
|
|
26
|
-
export declare const popularSeeds: Array<string>;
|
|
27
|
-
export interface AnalyzeOptions {
|
|
28
|
-
showCardSpoilers: boolean;
|
|
29
|
-
buys: {
|
|
30
|
-
[key: string]: BuyMetaData;
|
|
31
|
-
};
|
|
32
|
-
sells: {
|
|
33
|
-
[key: string]: BuyMetaData;
|
|
34
|
-
};
|
|
35
|
-
updates: Array<{
|
|
36
|
-
[key: string]: unknown;
|
|
37
|
-
}>;
|
|
38
|
-
unlocks: Array<string>;
|
|
39
|
-
events: Array<Event>;
|
|
40
|
-
}
|
|
41
|
-
export interface BuyWrapperProps {
|
|
42
|
-
children: ReactNode;
|
|
43
|
-
bottomOffset?: number;
|
|
44
|
-
topOffset?: number;
|
|
45
|
-
metaData?: BuyMetaData;
|
|
46
|
-
horizontal?: boolean;
|
|
47
|
-
}
|
|
48
|
-
export declare enum LOCATIONS {
|
|
49
|
-
SHOP = "SHOP",
|
|
50
|
-
PACK = "PACK",
|
|
51
|
-
MISC = "MISC",
|
|
52
|
-
VOUCHER = "VOUCHER"
|
|
53
|
-
}
|
|
54
|
-
export declare enum LOCATION_TYPES {
|
|
55
|
-
SHOP = "SHOP",
|
|
56
|
-
PACK = "PACK",
|
|
57
|
-
CARD = "CARD"
|
|
58
|
-
}
|
|
59
|
-
export interface CardEvent {
|
|
60
|
-
name: string;
|
|
61
|
-
ante: number;
|
|
62
|
-
blind: string;
|
|
63
|
-
}
|
|
64
|
-
export declare const EVENT_UNLOCKS: {
|
|
65
|
-
name: string;
|
|
66
|
-
condition: string;
|
|
67
|
-
}[];
|
|
68
|
-
export declare const tagDescriptions: {
|
|
69
|
-
[key: string]: string;
|
|
70
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const DECK_OPTIONS: string[];
|
|
2
|
-
export declare const STAKE_OPTIONS: string[];
|
|
3
|
-
export declare const EDITION_OPTIONS: string[];
|
|
4
|
-
export declare const SEAL_OPTIONS: string[];
|
|
5
|
-
export declare const ENHANCEMENT_OPTIONS: string[];
|
|
6
|
-
export declare const ANTE_OPTIONS: number[];
|
|
7
|
-
export declare const SLOT_OPTIONS: number[];
|
|
8
|
-
export declare const RANK_OPTIONS: string[];
|
|
9
|
-
export declare const SUIT_OPTIONS: string[];
|
|
10
|
-
export declare const CLAUSE_TYPES: string[];
|
|
11
|
-
export declare const SOURCE_OPTIONS: string[];
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { DECK_OPTIONS, STAKE_OPTIONS, ANTE_OPTIONS, SLOT_OPTIONS, CLAUSE_TYPES, SOURCE_OPTIONS, EDITION_OPTIONS, SEAL_OPTIONS, ENHANCEMENT_OPTIONS } from '../data/constants.js';
|
|
2
|
-
export interface JamlClause {
|
|
3
|
-
type: string;
|
|
4
|
-
value: string;
|
|
5
|
-
label?: string;
|
|
6
|
-
antes?: number[];
|
|
7
|
-
score?: number;
|
|
8
|
-
edition?: string;
|
|
9
|
-
seal?: string;
|
|
10
|
-
enhancement?: string;
|
|
11
|
-
rank?: string;
|
|
12
|
-
suit?: string;
|
|
13
|
-
sources?: string[];
|
|
14
|
-
}
|
|
15
|
-
export interface JamlFilter {
|
|
16
|
-
name: string;
|
|
17
|
-
description: string;
|
|
18
|
-
author: string;
|
|
19
|
-
deck: string;
|
|
20
|
-
stake: string;
|
|
21
|
-
defaults: {
|
|
22
|
-
antes: number[];
|
|
23
|
-
packSlots: number[];
|
|
24
|
-
shopSlots: number[];
|
|
25
|
-
score: number;
|
|
26
|
-
};
|
|
27
|
-
must: JamlClause[];
|
|
28
|
-
should: JamlClause[];
|
|
29
|
-
mustNot: JamlClause[];
|
|
30
|
-
}
|
|
31
|
-
export { DECK_OPTIONS, STAKE_OPTIONS, ANTE_OPTIONS, SLOT_OPTIONS, CLAUSE_TYPES, SOURCE_OPTIONS, EDITION_OPTIONS, SEAL_OPTIONS, ENHANCEMENT_OPTIONS };
|
|
32
|
-
export declare function useJamlFilter(initialJaml?: string): {
|
|
33
|
-
filter: JamlFilter;
|
|
34
|
-
jamlText: string;
|
|
35
|
-
setFromJaml: (text: string) => void;
|
|
36
|
-
updateFilter: (updates: Partial<JamlFilter>) => void;
|
|
37
|
-
addClause: (bucket: "must" | "should" | "mustNot", clause: JamlClause) => void;
|
|
38
|
-
editClause: (bucket: "must" | "should" | "mustNot", index: number, clause: JamlClause) => void;
|
|
39
|
-
deleteClause: (bucket: "must" | "should" | "mustNot", index: number) => void;
|
|
40
|
-
editingClause: {
|
|
41
|
-
bucket: keyof Pick<JamlFilter, "must" | "should" | "mustNot">;
|
|
42
|
-
index: number | null;
|
|
43
|
-
} | null;
|
|
44
|
-
setEditingClause: import('react').Dispatch<import('react').SetStateAction<{
|
|
45
|
-
bucket: keyof Pick<JamlFilter, "must" | "should" | "mustNot">;
|
|
46
|
-
index: number | null;
|
|
47
|
-
} | null>>;
|
|
48
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface CompletionData {
|
|
2
|
-
text: string;
|
|
3
|
-
displayText: string;
|
|
4
|
-
type: 'keyword' | 'value';
|
|
5
|
-
}
|
|
6
|
-
export interface YamlCompletionContext {
|
|
7
|
-
key?: string;
|
|
8
|
-
indent: number;
|
|
9
|
-
}
|
|
10
|
-
export declare class JamlCompletionService {
|
|
11
|
-
static getCompletions(currentValue: string): CompletionData[];
|
|
12
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CompletionContext, CompletionResult } from '@codemirror/autocomplete';
|
|
2
|
-
/**
|
|
3
|
-
* CodeMirror completion source backed by jaml-lang's context-aware completions.
|
|
4
|
-
* Tap into `joker: ` and you get the joker list; type `Blue` and it narrows to
|
|
5
|
-
* Blueprint. Keys insert `label: `, values insert the bare value.
|
|
6
|
-
*/
|
|
7
|
-
export declare function jamlCompletionSource(context: CompletionContext): CompletionResult | null;
|
|
8
|
-
/**
|
|
9
|
-
* CodeMirror lint source backed by jaml-lang diagnostics (YAML syntax + Zod
|
|
10
|
-
* structural validation). The Motely WASM engine stays the final authority;
|
|
11
|
-
* this is the fast structural gate.
|
|
12
|
-
*/
|
|
13
|
-
export declare const jamlLinter: import('@codemirror/state').Extension;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JAML Objectives Parser
|
|
3
|
-
*
|
|
4
|
-
* Extracts display-ready objective names from a JAML config string
|
|
5
|
-
* using the existing useJamlFilter parser — no hand-rolled regex.
|
|
6
|
-
*
|
|
7
|
-
* This is the ONLY place JAML → objective extraction should happen.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Parse a JAML config string and extract objectives (must-clause values).
|
|
11
|
-
* Returns an array of human-readable objective names.
|
|
12
|
-
*/
|
|
13
|
-
export declare function parseJamlToObjectives(jamlConfig: string): string[];
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface HighlightingRules {
|
|
2
|
-
highPriority: Set<string>;
|
|
3
|
-
mediumPriority: Set<string>;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Simple regex-based JAML parser for extracting highlighting rules.
|
|
7
|
-
* Handles basic YAML structure:
|
|
8
|
-
* Must:
|
|
9
|
-
* - joker: WeeJoker
|
|
10
|
-
* Should:
|
|
11
|
-
* - joker: HangingChad
|
|
12
|
-
*/
|
|
13
|
-
export declare function parseJamlHighlights(jamlContent: string | null): HighlightingRules;
|
|
14
|
-
export declare function normalizeName(name: string): string;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare const DECK_VALUES: readonly string[];
|
|
2
|
-
export declare const STAKE_VALUES: readonly string[];
|
|
3
|
-
export declare const EDITION_VALUES: readonly string[];
|
|
4
|
-
export declare const SEAL_VALUES: readonly string[];
|
|
5
|
-
export declare const ENHANCEMENT_VALUES: readonly string[];
|
|
6
|
-
export declare const CLAUSE_TYPE_KEYS: readonly string[];
|
|
7
|
-
export declare const SOURCE_KEYS: readonly string[];
|
|
8
|
-
export declare const PROPERTY_KEYS: readonly string[];
|
|
9
|
-
export declare const METADATA_KEYS: readonly string[];
|
|
10
|
-
export declare const SECTION_KEYS: readonly string[];
|
|
11
|
-
export declare const ALL_JAML_KEYWORDS: string[];
|
|
12
|
-
export declare function getValidValuesForKey(key: string): readonly string[] | null;
|
|
13
|
-
export declare function isInvalidValueForProp(value: string, prop: string): boolean;
|
|
14
|
-
export declare function getAvailablePropsForType(): readonly string[];
|
|
15
|
-
export declare function isInvalidPropForType(): boolean;
|
|
16
|
-
export interface ValidationState {
|
|
17
|
-
errors: string[];
|
|
18
|
-
warnings: string[];
|
|
19
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/** Read top-level `seeds:` entries from a JAML document. */
|
|
2
|
-
export declare function parseJamlSeeds(jaml: string): string[];
|
|
3
|
-
/**
|
|
4
|
-
* Write seeds into JAML the same way Motely CLI `--save-seeds` does:
|
|
5
|
-
* replace the top-level `seeds:` block (or append one if missing).
|
|
6
|
-
*/
|
|
7
|
-
export declare function mergeSeedsIntoJaml(jaml: string, seeds: string[], max?: number): string;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { JamlAesthetic, JamlConfig, MotelyJamlyzerSeedResult } from 'motely-wasm';
|
|
2
|
-
export type MotelyRuntimeStatus = "idle" | "booting" | "ready" | "error";
|
|
3
|
-
export declare function parseJaml(jaml: string): JamlConfig;
|
|
4
|
-
/** Column labels for a parsed filter's score tallies (was `MotelyJamlyzerResult.tallyLabels`). */
|
|
5
|
-
export declare function tallyLabelsFor(config: JamlConfig): string[];
|
|
6
|
-
type JimmolateProbe = (seed: string, deck: number, stake: number) => boolean;
|
|
7
|
-
/** Swap the active Jimmolate predicate. Safe before or after boot. */
|
|
8
|
-
export declare function setJimmolateProbe(pred: JimmolateProbe): void;
|
|
9
|
-
/** Reset the probe to pass-through (the engine's default: every survivor matches). */
|
|
10
|
-
export declare function clearJimmolateProbe(): void;
|
|
11
|
-
/** Turn the Jimmolate predicate layer on/off (was `Program.enableJimmolate()`). */
|
|
12
|
-
export declare function enableJimmolate(on?: boolean): void;
|
|
13
|
-
export type EngineSearchMode = "aesthetic" | "seedlist" | "random" | "sequential";
|
|
14
|
-
export interface RunSearchOptions {
|
|
15
|
-
seeds?: string[];
|
|
16
|
-
count?: number;
|
|
17
|
-
aesthetic?: JamlAesthetic | number;
|
|
18
|
-
startBatchIndex?: bigint;
|
|
19
|
-
endBatchIndex?: bigint;
|
|
20
|
-
batchCharacterCount?: number;
|
|
21
|
-
}
|
|
22
|
-
export declare function aestheticSeeds(aesthetic: JamlAesthetic | number): string[];
|
|
23
|
-
/**
|
|
24
|
-
* Run a search to completion against an already-parsed config.
|
|
25
|
-
*
|
|
26
|
-
* v23 searches are fire-and-forget Promises (no IMotelySearch handle, no
|
|
27
|
-
* mid-search cancel). Subscribe to MotelySearch.onProgress / onScoredResult /
|
|
28
|
-
* onSeedMatch BEFORE calling this; the returned Promise resolves when the engine
|
|
29
|
-
* finishes. Callers cancel by tearing down their runtime (e.g. terminating the
|
|
30
|
-
* worker) — there is no engine-level cancel in v23.
|
|
31
|
-
*/
|
|
32
|
-
export declare function runSearch(config: JamlConfig, mode: EngineSearchMode, opts?: RunSearchOptions): Promise<void>;
|
|
33
|
-
/** Analyze one or more seeds against a parsed config (was `Program.jamlyzer`). */
|
|
34
|
-
export declare function analyzeSeeds(config: JamlConfig): MotelyJamlyzerSeedResult[];
|
|
35
|
-
export declare const MOTELY_BIN_PATH = "/motely-wasm/bin";
|
|
36
|
-
export declare function isFileSystemReady(): boolean;
|
|
37
|
-
/** The reason the File System Access API is unavailable, or null when it's ready. */
|
|
38
|
-
export declare function getFileSystemError(): unknown;
|
|
39
|
-
export declare function ensureMotelyReady(): Promise<void>;
|
|
40
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parser for daily_ritual.json abbreviated format
|
|
3
|
-
*
|
|
4
|
-
* Expands abbreviated fields like "wj2", "hc1" into full item objects
|
|
5
|
-
*/
|
|
6
|
-
export interface ParsedItem {
|
|
7
|
-
id: string;
|
|
8
|
-
name: string;
|
|
9
|
-
type: 'joker' | 'consumable' | 'voucher';
|
|
10
|
-
ante: number;
|
|
11
|
-
}
|
|
12
|
-
export interface ParsedSeed {
|
|
13
|
-
seed: string;
|
|
14
|
-
title: string;
|
|
15
|
-
score: number;
|
|
16
|
-
twos: number;
|
|
17
|
-
items: ParsedItem[];
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Parse daily_ritual.json seed format
|
|
21
|
-
*
|
|
22
|
-
* Example input:
|
|
23
|
-
* {"id":"J4SPZMWW","t":"Twosday","j":"Joker","s":206,"w":16,"wj2":1,"hc2":1}
|
|
24
|
-
*
|
|
25
|
-
* Output:
|
|
26
|
-
* {
|
|
27
|
-
* seed: "J4SPZMWW",
|
|
28
|
-
* title: "Twosday",
|
|
29
|
-
* score: 206,
|
|
30
|
-
* twos: 16,
|
|
31
|
-
* items: [
|
|
32
|
-
* { id: 'weejoker', name: 'Wee Joker', type: 'joker', ante: 2 },
|
|
33
|
-
* { id: 'hangingchad', name: 'Hanging Chad', type: 'joker', ante: 2 }
|
|
34
|
-
* ]
|
|
35
|
-
* }
|
|
36
|
-
*/
|
|
37
|
-
export declare function parseDailyRitualSeed(raw: Record<string, unknown>): ParsedSeed;
|
|
38
|
-
/**
|
|
39
|
-
* Group items by type for rendering
|
|
40
|
-
*/
|
|
41
|
-
export declare function groupItemsByType(items: ParsedItem[]): {
|
|
42
|
-
jokers: ParsedItem[];
|
|
43
|
-
consumables: ParsedItem[];
|
|
44
|
-
vouchers: ParsedItem[];
|
|
45
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/** Strip markdown markers only — do not collapse whitespace (TTS highlight indices are raw offsets). */
|
|
2
|
-
export declare function stripMarkdownForTtsDisplay(text: string): string;
|
|
3
|
-
export type TtsDisplaySplit = {
|
|
4
|
-
prefix: string;
|
|
5
|
-
spoken: string;
|
|
6
|
-
pending: string;
|
|
7
|
-
suffix: string;
|
|
8
|
-
useWindowedView: boolean;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Split plain text into spoken vs pending regions for TTS word sync.
|
|
12
|
-
* When `stripMarkdown` is false, indices must refer to `text` as-is (matches streaming TTS offsets).
|
|
13
|
-
*/
|
|
14
|
-
export declare function splitTtsDisplay(text: string, highlightPos: number | null | undefined, activeSentenceRange: {
|
|
15
|
-
start: number;
|
|
16
|
-
end: number;
|
|
17
|
-
} | null | undefined, options?: {
|
|
18
|
-
stripMarkdown?: boolean;
|
|
19
|
-
}): TtsDisplaySplit | null;
|
package/dist/lib/types.d.ts
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { MotelyDeck, MotelyStake } from 'motely-wasm';
|
|
2
|
-
export type DeckType = MotelyDeck;
|
|
3
|
-
export type StakeType = MotelyStake;
|
|
4
|
-
/**
|
|
5
|
-
* Configuration for a Daily Ritual challenge
|
|
6
|
-
* Matches the dailyritual.schema.json structure
|
|
7
|
-
*/
|
|
8
|
-
export interface RitualConfig {
|
|
9
|
-
filterId: string;
|
|
10
|
-
searchId: string;
|
|
11
|
-
deck: DeckType;
|
|
12
|
-
stake: StakeType;
|
|
13
|
-
seeds: string;
|
|
14
|
-
name: string;
|
|
15
|
-
author: string;
|
|
16
|
-
description?: string;
|
|
17
|
-
tutorial?: string;
|
|
18
|
-
epoch?: string;
|
|
19
|
-
icon?: string;
|
|
20
|
-
color?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Seed data record from the seeds file.
|
|
24
|
-
* All scoring fields are dynamic — driven by the JAML filter's label columns.
|
|
25
|
-
*/
|
|
26
|
-
export interface SeedData {
|
|
27
|
-
seed: string;
|
|
28
|
-
score: number;
|
|
29
|
-
stake?: StakeType;
|
|
30
|
-
startingDeck?: string[];
|
|
31
|
-
relevantEvents?: RelevantEvent[];
|
|
32
|
-
[key: string]: string | number | boolean | string[] | RelevantEvent[] | undefined;
|
|
33
|
-
}
|
|
34
|
-
export interface ParsedCard {
|
|
35
|
-
rank: string;
|
|
36
|
-
suit: string;
|
|
37
|
-
enhancement: string | null;
|
|
38
|
-
seal: string | null;
|
|
39
|
-
edition: string | null;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* The type of a game event/item
|
|
43
|
-
*/
|
|
44
|
-
export type RelevantEventType = 'joker' | 'tarot' | 'spectral' | 'planet' | 'voucher';
|
|
45
|
-
/**
|
|
46
|
-
* The source/location where the event occurs in game
|
|
47
|
-
*/
|
|
48
|
-
export type EventSource = 'shop' | 'arcana_pack' | 'spectral_pack' | 'celestial_pack' | 'buffoon_pack' | 'standard_pack' | 'tag' | 'boss_blind' | 'voucher';
|
|
49
|
-
/**
|
|
50
|
-
* A "relevant" event as defined by the JAML filter's Should rules.
|
|
51
|
-
* Represents anything the ritual cares about tracking (jokers, consumables, etc.)
|
|
52
|
-
*/
|
|
53
|
-
export interface RelevantEvent {
|
|
54
|
-
/** The ante number (1, 2, 3, ...) when this event occurs */
|
|
55
|
-
ante: number;
|
|
56
|
-
/** Where this event occurs (shop, pack, tag, etc.) */
|
|
57
|
-
source: EventSource;
|
|
58
|
-
/** The category of item */
|
|
59
|
-
type: RelevantEventType;
|
|
60
|
-
/** The item's identifier (e.g., "weejoker", "temperance", "blueprint") */
|
|
61
|
-
id: string;
|
|
62
|
-
/** Optional edition modifier (e.g., "negative", "polychrome", "foil", "holographic") */
|
|
63
|
-
edition?: string;
|
|
64
|
-
/** Optional enhancement (for standard cards: "bonus", "mult", "wild", etc.) */
|
|
65
|
-
enhancement?: string;
|
|
66
|
-
/** Optional seal (for standard cards: "gold", "red", "blue", "purple") */
|
|
67
|
-
seal?: string;
|
|
68
|
-
/** Count of this item (defaults to 1 if not specified) */
|
|
69
|
-
count?: number;
|
|
70
|
-
/** Optional display name override */
|
|
71
|
-
displayName?: string;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Complete seed data as exported in a JAMZ file.
|
|
75
|
-
* This is the "rich" data format containing everything needed to render the UI.
|
|
76
|
-
*/
|
|
77
|
-
export interface JamzSeedData {
|
|
78
|
-
/** The 8-character Balatro seed string */
|
|
79
|
-
seed: string;
|
|
80
|
-
/** Calculated "goodness" score from the JAML filter */
|
|
81
|
-
score: number;
|
|
82
|
-
/** Count of Rank 2s in the starting deck (for Erratic deck display) */
|
|
83
|
-
twos?: number;
|
|
84
|
-
/** The exact 52 cards in starting deck. Format: {rank}_{suit} e.g., ["2_C", "10_H", "A_S"] */
|
|
85
|
-
startingDeck?: string[];
|
|
86
|
-
/** All relevant events matching the JAML filter's Should rules */
|
|
87
|
-
relevantEvents?: RelevantEvent[];
|
|
88
|
-
/** Legacy: individual JAML column values (for backward compatibility) */
|
|
89
|
-
[key: string]: string | number | boolean | string[] | RelevantEvent[] | undefined;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Header metadata in a JAMZ file
|
|
93
|
-
*/
|
|
94
|
-
export interface JamzHeader {
|
|
95
|
-
/** JAMZ format version (e.g., "1") */
|
|
96
|
-
version: string;
|
|
97
|
-
/** Hash of the source JAML filter for verification */
|
|
98
|
-
jamlHash: string;
|
|
99
|
-
/** Total number of seeds in this file */
|
|
100
|
-
seedCount: number;
|
|
101
|
-
/** ISO 8601 timestamp when this file was generated */
|
|
102
|
-
generatedAt: string;
|
|
103
|
-
/** Ritual metadata */
|
|
104
|
-
ritual: {
|
|
105
|
-
id: string;
|
|
106
|
-
name: string;
|
|
107
|
-
author: string;
|
|
108
|
-
description?: string;
|
|
109
|
-
tutorial?: string;
|
|
110
|
-
deck: DeckType;
|
|
111
|
-
stake: StakeType;
|
|
112
|
-
icon?: string;
|
|
113
|
-
color?: string;
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Complete JAMZ file structure (after decompression and JSON parsing)
|
|
118
|
-
*/
|
|
119
|
-
export interface JamzFile {
|
|
120
|
-
header: JamzHeader;
|
|
121
|
-
seeds: JamzSeedData[];
|
|
122
|
-
}
|
package/dist/lib/utils.d.ts
DELETED
package/dist/motelyDisplay.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare function motelyBossDisplayName(value: number): string;
|
|
2
|
-
export declare function motelyBossDisplayNameFromKey(key: string): string;
|
|
3
|
-
export declare function motelyVoucherDisplayName(value: number): string;
|
|
4
|
-
export declare function motelyVoucherDisplayNameFromKey(key: string): string;
|
|
5
|
-
export declare function motelyTagDisplayName(value: number): string;
|
|
6
|
-
export declare function motelyTagDisplayNameFromKey(key: string): string;
|
|
7
|
-
export declare function motelyBoosterPackDisplayName(value: number): string;
|
|
8
|
-
export declare function motelyBoosterPackDisplayNameFromKey(key: string): string;
|
|
9
|
-
export declare function motelyItemDisplayNameFromKey(key: string): string;
|
|
10
|
-
export declare function motelyItemDisplayNameFromValue(value: number): string;
|
package/dist/ui/JimboBadge.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type JimboBadgeTone = 'dark' | 'blue' | 'red' | 'green' | 'grey' | 'orange' | 'purple';
|
|
3
|
-
export interface JimboBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
4
|
-
size?: 'sm' | 'md';
|
|
5
|
-
tone?: JimboBadgeTone;
|
|
6
|
-
children: React.ReactNode;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Small colored label pill. Matches Balatro's in-game tag/rarity badges.
|
|
10
|
-
* All styling via jimbo.css `.j-badge` classes.
|
|
11
|
-
*/
|
|
12
|
-
export declare function JimboBadge({ size, tone, className, children, ...props }: JimboBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface JimboBalatroFooterProps {
|
|
3
|
-
/** Fade the footer out */
|
|
4
|
-
hidden?: boolean;
|
|
5
|
-
/** Extra className */
|
|
6
|
-
className?: string;
|
|
7
|
-
/** Optional inline children */
|
|
8
|
-
children?: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Fan-site attribution footer with Balatro link. The "Balatro" in the name is
|
|
12
|
-
* load-bearing — this footer is the public disclosure that the project is a
|
|
13
|
-
* non-profit, rule-following, PlayStack-aware fan site. Always rendered;
|
|
14
|
-
* required attribution for using Balatro art.
|
|
15
|
-
*/
|
|
16
|
-
export declare function JimboBalatroFooter({ hidden, className, children }: JimboBalatroFooterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { JimboTone } from './panel.js';
|
|
2
|
-
export interface JimboCopyButtonProps {
|
|
3
|
-
/** Value placed on the clipboard when the button is clicked. */
|
|
4
|
-
value: string;
|
|
5
|
-
/** Label while idle. Default "Copy". */
|
|
6
|
-
label?: string;
|
|
7
|
-
/** Label briefly shown after a successful copy. Default "Copied". */
|
|
8
|
-
copiedLabel?: string;
|
|
9
|
-
/** Button tone. Default blue for standalone copy actions; seed rows use
|
|
10
|
-
* JimboSeedCopyChip (WeeJoker harvest) instead. */
|
|
11
|
-
tone?: JimboTone;
|
|
12
|
-
/** Button size. Default "sm". */
|
|
13
|
-
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
14
|
-
/** How long to display the copied label, in ms. Default 1500. */
|
|
15
|
-
copiedDurationMs?: number;
|
|
16
|
-
/** Fired after the clipboard write resolves. */
|
|
17
|
-
onCopy?: () => void;
|
|
18
|
-
className?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* The canonical copy-to-clipboard button. Single tone (red by default —
|
|
22
|
-
* stays red through the click; only the label briefly swaps to "Copied").
|
|
23
|
-
* Reusable everywhere a copy action lives: seed copy rows, code blocks,
|
|
24
|
-
* filter sharing, etc. — instead of every consumer rolling its own
|
|
25
|
-
* `<JimboButton onClick={...}>Copy</JimboButton>` + setTimeout dance.
|
|
26
|
-
*/
|
|
27
|
-
export declare function JimboCopyButton({ value, label, copiedLabel, tone, size, copiedDurationMs, onCopy, className, }: JimboCopyButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface JimboDeckAndStakeSelectorModalProps {
|
|
3
|
-
/** Whether the modal is open. */
|
|
4
|
-
open: boolean;
|
|
5
|
-
/** Called when the user dismisses via the back button. */
|
|
6
|
-
onClose: () => void;
|
|
7
|
-
/** All decks the user can cycle through, in spinner order. */
|
|
8
|
-
decks: string[];
|
|
9
|
-
/** All stakes the user can cycle through, in spinner order. */
|
|
10
|
-
stakes: string[];
|
|
11
|
-
/** Currently selected deck name (must appear in `decks`). */
|
|
12
|
-
deck: string;
|
|
13
|
-
/** Currently selected stake name (must appear in `stakes`). */
|
|
14
|
-
stake: string;
|
|
15
|
-
onDeckChange: (next: string) => void;
|
|
16
|
-
onStakeChange: (next: string) => void;
|
|
17
|
-
/** Modal title text. Default: "Search seeds for". */
|
|
18
|
-
title?: string;
|
|
19
|
-
/** Description rendered under each deck / stake title. */
|
|
20
|
-
deckDescription?: (deck: string) => React.ReactNode;
|
|
21
|
-
stakeDescription?: (stake: string) => React.ReactNode;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Modal that lets a seed hunter pick the deck + stake combination they want
|
|
25
|
-
* to search seeds against. Pure JimboUI composition — `JimboModal`, two
|
|
26
|
-
* `JimboPanelSpinner`s, deck + stake sprites. No motely-wasm dependency; the
|
|
27
|
-
* caller passes deck/stake names as strings (convert from `MotelyDeck` /
|
|
28
|
-
* `MotelyStake` enums at the boundary).
|
|
29
|
-
*/
|
|
30
|
-
export declare function JimboDeckAndStakeSelectorModal({ open, onClose, decks, stakes, deck, stake, onDeckChange, onStakeChange, title, deckDescription, stakeDescription, }: JimboDeckAndStakeSelectorModalProps): import("react/jsx-runtime").JSX.Element;
|