jaml-ui 2.5.1 → 3.0.1
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 +3176 -27604
- 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/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
package/dist/ui/jimboText.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type JimboTextTone = 'default' | 'mult' | 'chips' | 'gold' | 'green' | 'red' | 'blue' | 'orange' | 'purple' | 'grey' | 'white';
|
|
3
|
-
export type JimboTextSize = 'micro' | 'label' | 'xs' | 'body' | 'sm' | 'md' | 'heading' | 'lg' | 'xl' | 'display';
|
|
4
|
-
export interface JimboTextProps extends React.HTMLAttributes<HTMLElement> {
|
|
5
|
-
tone?: JimboTextTone;
|
|
6
|
-
size?: JimboTextSize;
|
|
7
|
-
/** Canonical Balatro drop shadow (1px right, 1px down, ${BLACK}cc). Default true. */
|
|
8
|
-
shadow?: boolean;
|
|
9
|
-
/** Letter-spacing override */
|
|
10
|
-
letterSpacing?: number | string;
|
|
11
|
-
/** Whether to animate letters with a dancing effect */
|
|
12
|
-
dance?: boolean;
|
|
13
|
-
as?: 'span' | 'p' | 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'label';
|
|
14
|
-
children?: React.ReactNode;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Canonical pixel-font text wrapper. Uses `m6x11plus` as its family and
|
|
18
|
-
* applies the authentic Balatro drop shadow by default. Prefer this over
|
|
19
|
-
* hand-rolling `fontFamily: 'm6x11plus, monospace'` + `textShadow` strings
|
|
20
|
-
* throughout consumers — it keeps the styling drift-free.
|
|
21
|
-
*
|
|
22
|
-
* Fonts load via `jaml-ui/fonts.css` (imported from `jimbo.css`). Consumers
|
|
23
|
-
* importing `jaml-ui` or `jaml-ui/ui` get @font-face automatically.
|
|
24
|
-
*/
|
|
25
|
-
export declare function JimboText({ tone, size, shadow, dance, letterSpacing, as: Tag, className, style, children, ...rest }: JimboTextProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { JimboTooltipMode, JimboTooltipPlacement } from './hooks.js';
|
|
3
|
-
export type JimboTooltipBadgeTone = 'red' | 'blue' | 'green' | 'gold' | 'orange' | 'purple' | 'dark';
|
|
4
|
-
export interface JimboTooltipBadge {
|
|
5
|
-
tone: JimboTooltipBadgeTone;
|
|
6
|
-
label: string;
|
|
7
|
-
}
|
|
8
|
-
export interface JimboTooltipProps {
|
|
9
|
-
/** Content rendered inside the tooltip panel. Typically a card's ability text, joker description, etc. */
|
|
10
|
-
content: React.ReactNode;
|
|
11
|
-
/** Optional colored chip pinned to the bottom of the tooltip — Balatro card label pattern (Bonus Card, Mult Card, etc.). */
|
|
12
|
-
badge?: JimboTooltipBadge;
|
|
13
|
-
/** Tooltip surface style. `dark` (default) — silver-bordered dark panel. `card` — white card with dark text, used for in-game card descriptions. */
|
|
14
|
-
variant?: 'dark' | 'card';
|
|
15
|
-
/** The target element the tooltip anchors to. */
|
|
16
|
-
children: React.ReactElement;
|
|
17
|
-
/** `snap` (default): tooltip sits above/below the target's bounding rect.
|
|
18
|
-
* `mouse`: tooltip follows the mouse position while hovering. */
|
|
19
|
-
mode?: JimboTooltipMode;
|
|
20
|
-
/** Only used in `snap` mode. Default `auto` picks top if there's room, else bottom. */
|
|
21
|
-
placement?: JimboTooltipPlacement;
|
|
22
|
-
/** Hover delay in ms before the tooltip appears. Default 80. */
|
|
23
|
-
delay?: number;
|
|
24
|
-
/** Max width of the tooltip panel (px). Default 280. */
|
|
25
|
-
maxWidth?: number;
|
|
26
|
-
/** Disable the tooltip entirely (e.g. when the target is disabled). */
|
|
27
|
-
disabled?: boolean;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Canonical Balatro-style tooltip: dark panel, silver border, pixel font.
|
|
31
|
-
* Wrap any target to get a hover/focus popover.
|
|
32
|
-
*/
|
|
33
|
-
export declare function JimboTooltip({ content, badge, variant, children, mode, placement, delay, maxWidth, disabled, }: JimboTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface JimboWordmarkProps {
|
|
2
|
-
title: string;
|
|
3
|
-
subtitle?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Title + subtitle hero block. Gold title, grey subtitle.
|
|
8
|
-
* All styling via jimbo.css `.j-wordmark` classes.
|
|
9
|
-
*/
|
|
10
|
-
export declare function JimboWordmark({ title, subtitle, className }: JimboWordmarkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare function JammySpeechBox({ text, highlightPos, activeSentenceRange, className, }: {
|
|
2
|
-
text: string | null;
|
|
3
|
-
highlightPos?: number | null;
|
|
4
|
-
activeSentenceRange?: {
|
|
5
|
-
start: number;
|
|
6
|
-
end: number;
|
|
7
|
-
} | null;
|
|
8
|
-
className?: string;
|
|
9
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { MenuItem } from './menuConfig.js';
|
|
3
|
-
export interface SeedMascotProps {
|
|
4
|
-
/** Hit target size for the mascot image (px). Default 160. */
|
|
5
|
-
size?: number;
|
|
6
|
-
/** Vertical translation for keyboard dodge (px). */
|
|
7
|
-
mascotTranslateY?: number;
|
|
8
|
-
/** Extra translateY (px) for welcome entrance sliding animation. */
|
|
9
|
-
welcomeEntranceLift?: number;
|
|
10
|
-
/** CSS class for mascot animations (boing, dance, talking, etc.) */
|
|
11
|
-
mascotMotionClass?: string;
|
|
12
|
-
/** Callback when the mascot itself is tapped. */
|
|
13
|
-
onTap?: () => void;
|
|
14
|
-
/** Whether to show the radial menu ring. */
|
|
15
|
-
showRadialMenu?: boolean;
|
|
16
|
-
/** Whether the radial menu is currently animating out. */
|
|
17
|
-
showClosingRadialMenu?: boolean;
|
|
18
|
-
/** Menu items to display. */
|
|
19
|
-
radialItems?: MenuItem[];
|
|
20
|
-
/** Key for the current menu stack level. */
|
|
21
|
-
currentMenu?: string;
|
|
22
|
-
/** Callback when a menu item is clicked. */
|
|
23
|
-
onItemClick?: (item: MenuItem) => void;
|
|
24
|
-
/** Callback for the Back button. */
|
|
25
|
-
onBack?: () => void;
|
|
26
|
-
/** Show pagination controls. */
|
|
27
|
-
showPageControls?: boolean;
|
|
28
|
-
/** Go to previous orbital menu page. */
|
|
29
|
-
onPagePrev?: () => void;
|
|
30
|
-
/** Go to next orbital menu page. */
|
|
31
|
-
onPageNext?: () => void;
|
|
32
|
-
/** Breadcrumb trail label. */
|
|
33
|
-
breadcrumb?: React.ReactNode;
|
|
34
|
-
/** Base radius for orbit (will scale up if there are many items). */
|
|
35
|
-
baseOrbitRadius?: number;
|
|
36
|
-
}
|
|
37
|
-
export declare const SeedMascot: React.NamedExoticComponent<SeedMascotProps>;
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
export declare const MenuColors: {
|
|
2
|
-
SUBMENU: "red";
|
|
3
|
-
CHAT: "blue";
|
|
4
|
-
TOGGLE: "orange";
|
|
5
|
-
ACTION: "red";
|
|
6
|
-
START: "green";
|
|
7
|
-
UPLOAD: "orange";
|
|
8
|
-
};
|
|
9
|
-
export interface IndicatorLightBadge {
|
|
10
|
-
label: string;
|
|
11
|
-
state: "loading" | "success" | "error" | "info" | "warning";
|
|
12
|
-
detail?: string;
|
|
13
|
-
}
|
|
14
|
-
export interface SubmenuItem {
|
|
15
|
-
label: string;
|
|
16
|
-
color: typeof MenuColors.SUBMENU;
|
|
17
|
-
badge?: IndicatorLightBadge;
|
|
18
|
-
tooltip?: string;
|
|
19
|
-
active?: never;
|
|
20
|
-
action?: never;
|
|
21
|
-
_dim?: boolean;
|
|
22
|
-
_south?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface ChatItem {
|
|
25
|
-
label: string;
|
|
26
|
-
action: string;
|
|
27
|
-
color: typeof MenuColors.CHAT;
|
|
28
|
-
badge?: never;
|
|
29
|
-
tooltip?: string;
|
|
30
|
-
active?: never;
|
|
31
|
-
_dim?: boolean;
|
|
32
|
-
_south?: boolean;
|
|
33
|
-
/** Structured payload — passed through onMenuAction so handlers don't parse action strings. */
|
|
34
|
-
data?: Record<string, unknown>;
|
|
35
|
-
}
|
|
36
|
-
export interface ToggleItem {
|
|
37
|
-
label: string;
|
|
38
|
-
action: string;
|
|
39
|
-
color: typeof MenuColors.TOGGLE;
|
|
40
|
-
active?: boolean;
|
|
41
|
-
tooltip?: string;
|
|
42
|
-
badge?: never;
|
|
43
|
-
_dim?: boolean;
|
|
44
|
-
_south?: boolean;
|
|
45
|
-
disabled?: boolean;
|
|
46
|
-
}
|
|
47
|
-
export interface ActionItem {
|
|
48
|
-
label: string;
|
|
49
|
-
action: string;
|
|
50
|
-
color: typeof MenuColors.ACTION;
|
|
51
|
-
badge?: never;
|
|
52
|
-
tooltip?: string;
|
|
53
|
-
active?: never;
|
|
54
|
-
_dim?: boolean;
|
|
55
|
-
_south?: boolean;
|
|
56
|
-
/** Structured payload — passed through onMenuAction so handlers don't parse action strings. */
|
|
57
|
-
data?: Record<string, unknown>;
|
|
58
|
-
}
|
|
59
|
-
export interface StartItem {
|
|
60
|
-
label: string;
|
|
61
|
-
action: string;
|
|
62
|
-
color: typeof MenuColors.START;
|
|
63
|
-
badge?: never;
|
|
64
|
-
tooltip?: "start";
|
|
65
|
-
active?: never;
|
|
66
|
-
_dim?: never;
|
|
67
|
-
_south?: boolean;
|
|
68
|
-
}
|
|
69
|
-
export interface SeedItem {
|
|
70
|
-
label: string;
|
|
71
|
-
action: string;
|
|
72
|
-
color: "seed-top" | "seed-low" | "seed-zero";
|
|
73
|
-
tooltip?: string;
|
|
74
|
-
badge?: never;
|
|
75
|
-
active?: never;
|
|
76
|
-
_south?: boolean;
|
|
77
|
-
count?: number;
|
|
78
|
-
icon?: string;
|
|
79
|
-
}
|
|
80
|
-
export interface CountIndicatorButtonItem {
|
|
81
|
-
label: string;
|
|
82
|
-
action?: string;
|
|
83
|
-
color: typeof MenuColors.SUBMENU | typeof MenuColors.ACTION | "seed-top" | "seed-low" | "seed-zero";
|
|
84
|
-
count: number;
|
|
85
|
-
tooltip?: string;
|
|
86
|
-
badge?: never;
|
|
87
|
-
active?: never;
|
|
88
|
-
_dim?: boolean;
|
|
89
|
-
_south?: boolean;
|
|
90
|
-
icon?: string;
|
|
91
|
-
}
|
|
92
|
-
export interface UploadItem {
|
|
93
|
-
label: string;
|
|
94
|
-
action: string;
|
|
95
|
-
color: typeof MenuColors.UPLOAD;
|
|
96
|
-
badge?: never;
|
|
97
|
-
tooltip?: string;
|
|
98
|
-
active?: never;
|
|
99
|
-
_dim?: boolean;
|
|
100
|
-
_south?: boolean;
|
|
101
|
-
}
|
|
102
|
-
export type MenuItem = SubmenuItem | ChatItem | ToggleItem | ActionItem | StartItem | SeedItem | CountIndicatorButtonItem | UploadItem;
|
package/dist/ui/panel.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface JimboPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
sway?: boolean;
|
|
4
|
-
onBack?: () => void;
|
|
5
|
-
hideBack?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare const JimboPanel: React.MemoExoticComponent<({ children, className, sway, onBack, hideBack, style, ...props }: JimboPanelProps) => import("react/jsx-runtime").JSX.Element>;
|
|
8
|
-
export type JimboInnerPanelProps = React.HTMLAttributes<HTMLDivElement>;
|
|
9
|
-
export declare const JimboInnerPanel: React.MemoExoticComponent<({ children, className, style, ...props }: JimboInnerPanelProps) => import("react/jsx-runtime").JSX.Element>;
|
|
10
|
-
export type JimboTone = 'orange' | 'red' | 'blue' | 'green' | 'tarot' | 'planet' | 'spectral' | 'grey';
|
|
11
|
-
export interface JimboButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
12
|
-
tone?: JimboTone;
|
|
13
|
-
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
14
|
-
fullWidth?: boolean;
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
onClick?: () => void;
|
|
17
|
-
children?: React.ReactNode;
|
|
18
|
-
}
|
|
19
|
-
export declare function JimboButton({ tone, size, fullWidth, disabled, onClick, style, className, children, ...buttonProps }: JimboButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
export declare function JimboBackButton({ onClick, size }: {
|
|
21
|
-
onClick?: () => void;
|
|
22
|
-
size?: 'sm' | 'md' | 'lg';
|
|
23
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
export interface JimboModalProps {
|
|
25
|
-
children: React.ReactNode;
|
|
26
|
-
open: boolean;
|
|
27
|
-
onClose: () => void;
|
|
28
|
-
title?: string;
|
|
29
|
-
className?: string;
|
|
30
|
-
showBack?: boolean;
|
|
31
|
-
}
|
|
32
|
-
export declare function JimboModal({ children, open, onClose, title, className, showBack }: JimboModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { RadialButtonColor } from './RadialButton.js';
|
|
2
|
-
export type RadialBadgeState = "loading" | "success" | "error" | "info" | "warning";
|
|
3
|
-
export interface RadialBadgeProps {
|
|
4
|
-
label: string;
|
|
5
|
-
state: RadialBadgeState;
|
|
6
|
-
color?: RadialButtonColor;
|
|
7
|
-
tooltip?: string;
|
|
8
|
-
className?: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Display-only radial status indicator.
|
|
12
|
-
*
|
|
13
|
-
* Visually matches RadialButton but rendered as a `<div>` with no click handler.
|
|
14
|
-
* Shows a status dot (green/red/grey) + label text.
|
|
15
|
-
*/
|
|
16
|
-
export declare function RadialBadge({ label, state, color, tooltip, className }: RadialBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface RadialBreadcrumbProps {
|
|
2
|
-
label: string;
|
|
3
|
-
title?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Breadcrumb nav pill — "currently viewing" indicator.
|
|
8
|
-
*
|
|
9
|
-
* Sits above the Back button to show the user's position in the menu tree.
|
|
10
|
-
* Non-interactive, dark styling, same pill family as orbital buttons.
|
|
11
|
-
*/
|
|
12
|
-
export declare function RadialBreadcrumb({ label, title, className }: RadialBreadcrumbProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type RadialButtonColor = "orange" | "purple" | "red" | "green" | "blue" | "seed-zero" | "seed-low" | "seed-top";
|
|
3
|
-
interface ButtonTheme {
|
|
4
|
-
bg: string;
|
|
5
|
-
shadow: string;
|
|
6
|
-
text: string;
|
|
7
|
-
}
|
|
8
|
-
declare const BUTTON_THEMES: Record<RadialButtonColor, ButtonTheme>;
|
|
9
|
-
export interface RadialButtonActionProps {
|
|
10
|
-
variant?: "action";
|
|
11
|
-
label: string;
|
|
12
|
-
color?: RadialButtonColor;
|
|
13
|
-
tooltip?: string;
|
|
14
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
15
|
-
className?: string;
|
|
16
|
-
style?: React.CSSProperties;
|
|
17
|
-
}
|
|
18
|
-
export interface RadialButtonToggleProps {
|
|
19
|
-
variant: "toggle";
|
|
20
|
-
label: string;
|
|
21
|
-
active: boolean;
|
|
22
|
-
color?: RadialButtonColor;
|
|
23
|
-
tooltip?: string;
|
|
24
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
25
|
-
className?: string;
|
|
26
|
-
disabled?: boolean;
|
|
27
|
-
style?: React.CSSProperties;
|
|
28
|
-
}
|
|
29
|
-
export interface RadialButtonCountProps {
|
|
30
|
-
variant: "count";
|
|
31
|
-
label: string;
|
|
32
|
-
count: number;
|
|
33
|
-
icon?: string;
|
|
34
|
-
color?: RadialButtonColor;
|
|
35
|
-
tooltip?: string;
|
|
36
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
37
|
-
className?: string;
|
|
38
|
-
style?: React.CSSProperties;
|
|
39
|
-
}
|
|
40
|
-
export interface RadialButtonBackProps {
|
|
41
|
-
variant: "back" | "start";
|
|
42
|
-
label: string;
|
|
43
|
-
color?: RadialButtonColor;
|
|
44
|
-
tooltip?: string;
|
|
45
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
46
|
-
className?: string;
|
|
47
|
-
style?: React.CSSProperties;
|
|
48
|
-
}
|
|
49
|
-
export type RadialButtonProps = RadialButtonActionProps | RadialButtonToggleProps | RadialButtonCountProps | RadialButtonBackProps;
|
|
50
|
-
/**
|
|
51
|
-
* Polymorphic radial navigation button.
|
|
52
|
-
*
|
|
53
|
-
* Replaces four separate components (Button, CountIndicator, Toggle, Back/Start)
|
|
54
|
-
* with a single component using a `variant` prop.
|
|
55
|
-
*
|
|
56
|
-
* All variants share the Balatro-styled pill: 3D bottom-edge shadow, press-down on active.
|
|
57
|
-
*/
|
|
58
|
-
export declare function RadialButton(props: RadialButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
-
export { BUTTON_THEMES };
|
|
60
|
-
export type { ButtonTheme };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { MenuItem } from '../mascot/menuConfig.js';
|
|
3
|
-
export interface RadialMenuProps {
|
|
4
|
-
/** Menu items to display. The item flagged _south is always pinned at the bottom. */
|
|
5
|
-
items: MenuItem[];
|
|
6
|
-
/** When true, pills animate out to center. */
|
|
7
|
-
showClosing: boolean;
|
|
8
|
-
/** Jammy hit target / image size (px) — used so pills clear the seed graphic. */
|
|
9
|
-
mascotSizePx: number;
|
|
10
|
-
/** Horizontal radius for the orbit (px). */
|
|
11
|
-
orbitRadiusX: number;
|
|
12
|
-
/** Vertical radius (typically same or slightly larger than horizontal). */
|
|
13
|
-
orbitRadiusY: number;
|
|
14
|
-
/** Vertical translation for keyboard dodge (px). */
|
|
15
|
-
mascotTranslateY: number;
|
|
16
|
-
/** Current menu name — used for stable React keys. */
|
|
17
|
-
currentMenu: string;
|
|
18
|
-
/** Callback when a menu item is clicked. */
|
|
19
|
-
onItemClick: (item: MenuItem) => void;
|
|
20
|
-
/** Callback for the Back button. */
|
|
21
|
-
onBack: () => void;
|
|
22
|
-
/** Optional breadcrumb rendered above the Back button position. */
|
|
23
|
-
breadcrumb?: ReactNode;
|
|
24
|
-
/** Show dedicated page controls near the south back/start button. */
|
|
25
|
-
showPageControls?: boolean;
|
|
26
|
-
/** Go to previous orbital menu page. */
|
|
27
|
-
onPagePrev?: () => void;
|
|
28
|
-
/** Go to next orbital menu page. */
|
|
29
|
-
onPageNext?: () => void;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Orbital radial menu layout engine.
|
|
33
|
-
*
|
|
34
|
-
* South (`_south`) stays pinned under the mascot. Everyone else sits on an ellipse
|
|
35
|
-
* at equal angle steps, with a single radial push if a pill would overlap the
|
|
36
|
-
* center — no iterative “solver” (that was causing mushy, uneven layouts).
|
|
37
|
-
*/
|
|
38
|
-
export declare function RadialMenu({ items, showClosing, mascotSizePx, orbitRadiusX, orbitRadiusY, mascotTranslateY, currentMenu, onItemClick, onBack, breadcrumb, showPageControls, onPagePrev, onPageNext, }: RadialMenuProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface RadialPillProps {
|
|
3
|
-
/** Horizontal offset from center (px). */
|
|
4
|
-
x: number;
|
|
5
|
-
/** Vertical offset from center (px). */
|
|
6
|
-
y: number;
|
|
7
|
-
/** When true, pill collapses to center (exit animation). */
|
|
8
|
-
hiding: boolean;
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Absolutely-positioned wrapper for a radial menu item.
|
|
13
|
-
*
|
|
14
|
-
* Uses CSS custom properties + a shared `@starting-style` rule
|
|
15
|
-
* instead of injecting per-instance `<style>` tags.
|
|
16
|
-
*/
|
|
17
|
-
export declare function RadialPill({ x, y, hiding, children }: RadialPillProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export { RadialMenu } from './RadialMenu.js';
|
|
2
|
-
export type { RadialMenuProps } from './RadialMenu.js';
|
|
3
|
-
export { RadialPill } from './RadialPill.js';
|
|
4
|
-
export type { RadialPillProps } from './RadialPill.js';
|
|
5
|
-
export { RadialButton } from './RadialButton.js';
|
|
6
|
-
export type { RadialButtonProps, RadialButtonColor, RadialButtonActionProps, RadialButtonToggleProps, RadialButtonCountProps, RadialButtonBackProps, } from './RadialButton.js';
|
|
7
|
-
export { RadialBadge } from './RadialBadge.js';
|
|
8
|
-
export type { RadialBadgeProps, RadialBadgeState } from './RadialBadge.js';
|
|
9
|
-
export { RadialBreadcrumb } from './RadialBreadcrumb.js';
|
|
10
|
-
export type { RadialBreadcrumbProps } from './RadialBreadcrumb.js';
|
|
11
|
-
export { useRadialMenu } from './useRadialMenu.js';
|
|
12
|
-
export type { UseRadialMenuProps, RadialMenuState } from './useRadialMenu.js';
|
|
13
|
-
export { RadialButton as JimboRadialNavigationButton } from './RadialButton.js';
|
|
14
|
-
export { RadialBadge as JimboRadialNavigationBadge } from './RadialBadge.js';
|
|
15
|
-
export { RadialBreadcrumb as BreadcrumNavPill } from './RadialBreadcrumb.js';
|
|
16
|
-
export { RadialPill as JimboOrbitalPill } from './RadialPill.js';
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/** Clears pending close/navigate animation timeout (e.g. unmount). */
|
|
2
|
-
export declare function clearRadialMenuTimers(): void;
|
|
3
|
-
/** Full reset when `SeedMascot` unmounts — Zustand survives the component; hook `useState` did not. */
|
|
4
|
-
export declare function resetRadialMenuState(): void;
|
|
5
|
-
export interface RadialMenuNav {
|
|
6
|
-
stack: string[];
|
|
7
|
-
page: number;
|
|
8
|
-
}
|
|
9
|
-
interface RadialMenuSlice {
|
|
10
|
-
nav: RadialMenuNav;
|
|
11
|
-
breadcrumbStack: string[];
|
|
12
|
-
isClosing: boolean;
|
|
13
|
-
announcementPrimedForDismiss: boolean;
|
|
14
|
-
prevMaxScore: number;
|
|
15
|
-
prevResultCount: number;
|
|
16
|
-
}
|
|
17
|
-
export interface RadialMenuStore extends RadialMenuSlice {
|
|
18
|
-
open: (isWelcome: boolean) => void;
|
|
19
|
-
close: () => void;
|
|
20
|
-
back: () => void;
|
|
21
|
-
navigateTo: (submenuLabel: string) => void;
|
|
22
|
-
nextPage: (totalPages: number) => void;
|
|
23
|
-
prevPage: (totalPages: number) => void;
|
|
24
|
-
setAnnouncementPrimedForDismiss: (v: boolean) => void;
|
|
25
|
-
resetAnnouncementPrimed: () => void;
|
|
26
|
-
updateSeedResults: (seedResults: Array<{
|
|
27
|
-
score: number;
|
|
28
|
-
}>) => void;
|
|
29
|
-
}
|
|
30
|
-
export declare const useRadialMenuStore: import('zustand').UseBoundStore<import('zustand').StoreApi<RadialMenuStore>>;
|
|
31
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export interface RadialViewportSnapshot {
|
|
2
|
-
baseRadius: number;
|
|
3
|
-
keyboardHeight: number;
|
|
4
|
-
}
|
|
5
|
-
/** Keyboard dodge + narrow-orbit radius — `useSyncExternalStore` (stable snapshot identity). */
|
|
6
|
-
export declare function useRadialViewportGeometry(): RadialViewportSnapshot;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface UseRadialMenuProps {
|
|
2
|
-
isWelcome: boolean;
|
|
3
|
-
announcementActive: boolean;
|
|
4
|
-
isTalking: boolean;
|
|
5
|
-
seedResults: {
|
|
6
|
-
seed: string;
|
|
7
|
-
score: number;
|
|
8
|
-
}[];
|
|
9
|
-
onDismissAnnouncement: () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface RadialMenuState {
|
|
12
|
-
menuStack: string[];
|
|
13
|
-
breadcrumbStack: string[];
|
|
14
|
-
currentMenu: string;
|
|
15
|
-
isClosing: boolean;
|
|
16
|
-
showMenu: boolean;
|
|
17
|
-
showClosing: boolean;
|
|
18
|
-
showBack: boolean;
|
|
19
|
-
menuPage: number;
|
|
20
|
-
baseRadius: number;
|
|
21
|
-
keyboardHeight: number;
|
|
22
|
-
mascotTranslateY: number;
|
|
23
|
-
open: () => void;
|
|
24
|
-
close: () => void;
|
|
25
|
-
back: () => void;
|
|
26
|
-
navigateTo: (submenuLabel: string) => void;
|
|
27
|
-
nextPage: (totalPages: number) => void;
|
|
28
|
-
prevPage: (totalPages: number) => void;
|
|
29
|
-
handleTap: () => void;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Radial menu: **Zustand** (`useRadialMenuStore`) for stack / pagination / animations;
|
|
33
|
-
* **useSyncExternalStore** (`useRadialViewportGeometry`) for keyboard + narrow-width radius.
|
|
34
|
-
*/
|
|
35
|
-
export declare function useRadialMenu({ isWelcome, announcementActive, isTalking, seedResults, onDismissAnnouncement, }: UseRadialMenuProps): RadialMenuState;
|
package/dist/ui/showcase.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { JimboSectionTone } from './jimboSectionHeader.js';
|
|
2
|
-
export interface ShowcaseFilter {
|
|
3
|
-
name: string;
|
|
4
|
-
author: string;
|
|
5
|
-
hits: string;
|
|
6
|
-
tone: JimboSectionTone;
|
|
7
|
-
sample: string[];
|
|
8
|
-
}
|
|
9
|
-
export interface ShowcaseRecentFind {
|
|
10
|
-
seed: string;
|
|
11
|
-
filterName: string;
|
|
12
|
-
score: number;
|
|
13
|
-
}
|
|
14
|
-
export interface ShowcaseLiveStats {
|
|
15
|
-
searched: string;
|
|
16
|
-
matches: string;
|
|
17
|
-
speed: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ShowcaseMcpInfo {
|
|
20
|
-
runtime: string;
|
|
21
|
-
engine: string;
|
|
22
|
-
features: string;
|
|
23
|
-
}
|
|
24
|
-
export interface ShowcaseProps {
|
|
25
|
-
title?: string;
|
|
26
|
-
subtitle?: string;
|
|
27
|
-
hotFilters?: ShowcaseFilter[];
|
|
28
|
-
recentFinds?: ShowcaseRecentFind[];
|
|
29
|
-
mcpInfo?: ShowcaseMcpInfo;
|
|
30
|
-
onNewSearch?: () => void;
|
|
31
|
-
onBrowseFilters?: () => void;
|
|
32
|
-
onFilterClick?: (filter: ShowcaseFilter, index: number) => void;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Landing/showcase screen — 320×568, NO SCROLL.
|
|
36
|
-
* Every pixel accounted for. No flex stretching. No gaps.
|
|
37
|
-
*/
|
|
38
|
-
export declare function Showcase({ title, subtitle, hotFilters, recentFinds, mcpInfo, onNewSearch, onBrowseFilters, onFilterClick, }: ShowcaseProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/ui/sprites.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { SpriteSheetType } from '../sprites/spriteMapper.js';
|
|
3
|
-
export interface JimboSpriteProps {
|
|
4
|
-
name: string;
|
|
5
|
-
sheet?: SpriteSheetType;
|
|
6
|
-
width?: number;
|
|
7
|
-
height?: number;
|
|
8
|
-
style?: React.CSSProperties;
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function JimboSprite({ name, sheet, width, height, style, className }: JimboSpriteProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
-
export interface StakeSpriteProps {
|
|
13
|
-
stake: string;
|
|
14
|
-
width?: number;
|
|
15
|
-
height?: number;
|
|
16
|
-
style?: React.CSSProperties;
|
|
17
|
-
}
|
|
18
|
-
export declare function StakeSprite({ stake, width, height, style }: StakeSpriteProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export interface DeckSpriteProps {
|
|
20
|
-
deck: string;
|
|
21
|
-
width?: number;
|
|
22
|
-
height?: number;
|
|
23
|
-
style?: React.CSSProperties;
|
|
24
|
-
}
|
|
25
|
-
export declare function DeckSprite({ deck, width, height, style }: DeckSpriteProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type JamlPreviewSection = "must" | "should" | "mustNot";
|
|
2
|
-
export type JamlPreviewVisualType = "joker" | "consumable" | "voucher" | "tag" | "boss";
|
|
3
|
-
export interface JamlPreviewItem {
|
|
4
|
-
id: string;
|
|
5
|
-
section: JamlPreviewSection;
|
|
6
|
-
clauseKey: string;
|
|
7
|
-
visualType: JamlPreviewVisualType;
|
|
8
|
-
value: string;
|
|
9
|
-
source: string;
|
|
10
|
-
}
|
|
11
|
-
export type JamlPreviewGroups = Record<JamlPreviewSection, JamlPreviewItem[]>;
|
|
12
|
-
export declare function extractVisualJamlItems(jaml: string): JamlPreviewGroups;
|