@almadar/ui 5.47.0 → 5.49.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/dist/avl/index.cjs +2998 -443
- package/dist/avl/index.css +504 -0
- package/dist/avl/index.js +2998 -444
- package/dist/components/core/templates/index.d.ts +3 -0
- package/dist/components/game/atoms/ActionButton.d.ts +4 -1
- package/dist/components/game/atoms/ComboCounter.d.ts +4 -1
- package/dist/components/game/atoms/ControlButton.d.ts +4 -2
- package/dist/components/game/atoms/DamageNumber.d.ts +4 -1
- package/dist/components/game/atoms/ResourceCounter.d.ts +4 -1
- package/dist/components/game/atoms/ScoreDisplay.d.ts +4 -1
- package/dist/components/game/atoms/StateIndicator.d.ts +4 -7
- package/dist/components/game/atoms/StatusEffect.d.ts +4 -1
- package/dist/components/game/atoms/TurnIndicator.d.ts +4 -1
- package/dist/components/game/atoms/WaypointMarker.d.ts +4 -1
- package/dist/components/game/molecules/EnemyPlate.d.ts +4 -1
- package/dist/components/game/molecules/StatBadge.d.ts +4 -1
- package/dist/components/game/molecules/three/index.cjs +1428 -346
- package/dist/components/game/molecules/three/index.css +0 -5
- package/dist/components/game/molecules/three/index.js +1429 -347
- package/dist/components/game/organisms/CastleBoard.d.ts +10 -1
- package/dist/components/game/organisms/GameBoard3D.d.ts +62 -0
- package/dist/components/game/organisms/PlatformerBoard.d.ts +51 -0
- package/dist/components/game/organisms/RoguelikeBoard.d.ts +59 -0
- package/dist/components/game/organisms/TowerDefenseBoard.d.ts +64 -0
- package/dist/components/game/organisms/index.d.ts +4 -0
- package/dist/components/game/organisms/puzzles/event-handler/EventHandlerBoard.d.ts +9 -1
- package/dist/components/game/organisms/puzzles/state-architect/StateArchitectBoard.d.ts +14 -1
- package/dist/components/game/templates/GameCanvas3DBattleTemplate.d.ts +22 -35
- package/dist/components/game/templates/GameCanvas3DCastleTemplate.d.ts +23 -23
- package/dist/components/game/templates/GameCanvas3DWorldMapTemplate.d.ts +27 -29
- package/dist/components/game/templates/PlatformerTemplate.d.ts +26 -0
- package/dist/components/game/templates/RoguelikeTemplate.d.ts +23 -0
- package/dist/components/game/templates/TowerDefenseTemplate.d.ts +43 -0
- package/dist/components/index.cjs +2991 -422
- package/dist/components/index.css +504 -0
- package/dist/components/index.js +2985 -424
- package/dist/docs/index.css +504 -0
- package/dist/providers/index.cjs +2981 -426
- package/dist/providers/index.css +504 -0
- package/dist/providers/index.js +2981 -427
- package/dist/runtime/index.cjs +2982 -427
- package/dist/runtime/index.css +504 -0
- package/dist/runtime/index.js +2982 -428
- package/package.json +1 -1
- package/tailwind-preset.cjs +1 -0
|
@@ -8,6 +8,9 @@ export { GameShell, type GameShellProps } from '../../game/templates/GameShell';
|
|
|
8
8
|
export { BattleTemplate, type BattleTemplateProps, type BattlePhase, type BattleSlotContext, } from '../../game/templates/BattleTemplate';
|
|
9
9
|
export { CastleTemplate, type CastleTemplateProps, type CastleSlotContext, } from '../../game/templates/CastleTemplate';
|
|
10
10
|
export { WorldMapTemplate, type WorldMapTemplateProps, type WorldMapSlotContext, } from '../../game/templates/WorldMapTemplate';
|
|
11
|
+
export { PlatformerTemplate, type PlatformerTemplateProps, } from '../../game/templates/PlatformerTemplate';
|
|
12
|
+
export { TowerDefenseTemplate, type TowerDefenseTemplateProps, } from '../../game/templates/TowerDefenseTemplate';
|
|
13
|
+
export { RoguelikeTemplate, type RoguelikeTemplateProps, } from '../../game/templates/RoguelikeTemplate';
|
|
11
14
|
export { LandingPageTemplate, type LandingPageTemplateProps, type LandingPageEntity, } from '../../marketing/templates/LandingPageTemplate';
|
|
12
15
|
export { PricingPageTemplate, type PricingPageTemplateProps, type PricingPageEntity, } from '../../marketing/templates/PricingPageTemplate';
|
|
13
16
|
export { FeatureDetailPageTemplate, type FeatureDetailPageTemplateProps, type FeatureDetailPageEntity, type FeatureDetailSection, } from '../../marketing/templates/FeatureDetailPageTemplate';
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
export interface ActionButtonProps {
|
|
4
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
5
|
+
assetUrl?: AssetUrl;
|
|
3
6
|
/** Button label text */
|
|
4
7
|
label: string;
|
|
5
8
|
/** Icon displayed before the label */
|
|
@@ -19,7 +22,7 @@ export interface ActionButtonProps {
|
|
|
19
22
|
/** Additional CSS classes */
|
|
20
23
|
className?: string;
|
|
21
24
|
}
|
|
22
|
-
export declare function ActionButton({ label, icon, cooldown, disabled, hotkey, size, variant, onClick, className, }: ActionButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function ActionButton({ assetUrl, label, icon, cooldown, disabled, hotkey, size, variant, onClick, className, }: ActionButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
23
26
|
export declare namespace ActionButton {
|
|
24
27
|
var displayName: string;
|
|
25
28
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { AssetUrl } from '@almadar/core';
|
|
1
2
|
export interface ComboCounterProps {
|
|
3
|
+
/** Sprite image URL displayed alongside the combo number */
|
|
4
|
+
assetUrl?: AssetUrl;
|
|
2
5
|
/** Current combo count */
|
|
3
6
|
combo: number;
|
|
4
7
|
/** Score multiplier */
|
|
@@ -10,7 +13,7 @@ export interface ComboCounterProps {
|
|
|
10
13
|
/** Additional CSS classes */
|
|
11
14
|
className?: string;
|
|
12
15
|
}
|
|
13
|
-
export declare function ComboCounter({ combo, multiplier, streak, size, className, }: ComboCounterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
|
+
export declare function ComboCounter({ assetUrl, combo, multiplier, streak, size, className, }: ComboCounterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
17
|
export declare namespace ComboCounter {
|
|
15
18
|
var displayName: string;
|
|
16
19
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { EventKey } from "@almadar/core";
|
|
1
|
+
import type { EventKey, AssetUrl } from "@almadar/core";
|
|
2
2
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
3
3
|
export interface ControlButtonProps {
|
|
4
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
5
|
+
assetUrl?: AssetUrl;
|
|
4
6
|
/** Button label text */
|
|
5
7
|
label?: string;
|
|
6
8
|
/** Icon component or emoji */
|
|
@@ -26,7 +28,7 @@ export interface ControlButtonProps {
|
|
|
26
28
|
/** Additional CSS classes */
|
|
27
29
|
className?: string;
|
|
28
30
|
}
|
|
29
|
-
export declare function ControlButton({ label, icon, size, shape, variant, onPress, onRelease, pressEvent, releaseEvent, pressed, disabled, className, }: ControlButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare function ControlButton({ assetUrl, label, icon, size, shape, variant, onPress, onRelease, pressEvent, releaseEvent, pressed, disabled, className, }: ControlButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
30
32
|
export declare namespace ControlButton {
|
|
31
33
|
var displayName: string;
|
|
32
34
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { AssetUrl } from '@almadar/core';
|
|
1
2
|
export interface DamageNumberProps {
|
|
3
|
+
/** Sprite image URL — displayed as a hit-effect icon alongside the number */
|
|
4
|
+
assetUrl?: AssetUrl;
|
|
2
5
|
/** The damage/heal value to display */
|
|
3
6
|
value: number;
|
|
4
7
|
/** Type of number display */
|
|
@@ -8,7 +11,7 @@ export interface DamageNumberProps {
|
|
|
8
11
|
/** Additional CSS classes */
|
|
9
12
|
className?: string;
|
|
10
13
|
}
|
|
11
|
-
export declare function DamageNumber({ value, type, size, className, }: DamageNumberProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function DamageNumber({ assetUrl, value, type, size, className, }: DamageNumberProps): import("react/jsx-runtime").JSX.Element;
|
|
12
15
|
export declare namespace DamageNumber {
|
|
13
16
|
var displayName: string;
|
|
14
17
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ColorToken } from '../../core/atoms/types';
|
|
2
2
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
3
|
+
import type { AssetUrl } from '@almadar/core';
|
|
3
4
|
export interface ResourceCounterProps {
|
|
5
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
6
|
+
assetUrl?: AssetUrl;
|
|
4
7
|
/** Icon component or emoji */
|
|
5
8
|
icon?: IconInput;
|
|
6
9
|
/** Resource label */
|
|
@@ -16,7 +19,7 @@ export interface ResourceCounterProps {
|
|
|
16
19
|
/** Additional CSS classes */
|
|
17
20
|
className?: string;
|
|
18
21
|
}
|
|
19
|
-
export declare function ResourceCounter({ icon, label, value, max, color, size, className, }: ResourceCounterProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function ResourceCounter({ assetUrl, icon, label, value, max, color, size, className, }: ResourceCounterProps): import("react/jsx-runtime").JSX.Element;
|
|
20
23
|
export declare namespace ResourceCounter {
|
|
21
24
|
var displayName: string;
|
|
22
25
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
export interface ScoreDisplayProps {
|
|
4
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
5
|
+
assetUrl?: AssetUrl;
|
|
3
6
|
/** Current score value */
|
|
4
7
|
value: number;
|
|
5
8
|
/** Label to display before score */
|
|
@@ -15,7 +18,7 @@ export interface ScoreDisplayProps {
|
|
|
15
18
|
/** Number formatting locale */
|
|
16
19
|
locale?: string;
|
|
17
20
|
}
|
|
18
|
-
export declare function ScoreDisplay({ value, label, icon, size, className, animated, locale, ...rest }: ScoreDisplayProps & Record<string, unknown>): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function ScoreDisplay({ assetUrl, value, label, icon, size, className, animated, locale, ...rest }: ScoreDisplayProps & Record<string, unknown>): import("react/jsx-runtime").JSX.Element;
|
|
19
22
|
export declare namespace ScoreDisplay {
|
|
20
23
|
var displayName: string;
|
|
21
24
|
}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* StateIndicator — animated game-entity state pill (distinct from core Badge atom).
|
|
3
|
-
* Badge is a static text label. StateIndicator maps a state string (idle/active/
|
|
4
|
-
* moving/…) to icon + bg colour + optional pulse via a style registry that callers
|
|
5
|
-
* can extend. Use it in game HUDs where the entity state machine drives the display.
|
|
6
|
-
*/
|
|
7
1
|
import React from 'react';
|
|
8
2
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
3
|
+
import type { AssetUrl } from '@almadar/core';
|
|
9
4
|
export interface StateStyle {
|
|
10
5
|
icon: IconInput;
|
|
11
6
|
bgClass: string;
|
|
12
7
|
}
|
|
13
8
|
export interface StateIndicatorProps {
|
|
9
|
+
/** Sprite image URL — takes precedence over the state icon when provided */
|
|
10
|
+
assetUrl?: AssetUrl;
|
|
14
11
|
/** The current state name */
|
|
15
12
|
state: string;
|
|
16
13
|
/** Optional label override (defaults to capitalized state name) */
|
|
@@ -24,7 +21,7 @@ export interface StateIndicatorProps {
|
|
|
24
21
|
/** Additional CSS classes */
|
|
25
22
|
className?: string;
|
|
26
23
|
}
|
|
27
|
-
export declare function StateIndicator({ state, label, size, animated, stateStyles, className, }: StateIndicatorProps): React.JSX.Element;
|
|
24
|
+
export declare function StateIndicator({ assetUrl, state, label, size, animated, stateStyles, className, }: StateIndicatorProps): React.JSX.Element;
|
|
28
25
|
export declare namespace StateIndicator {
|
|
29
26
|
var displayName: string;
|
|
30
27
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
export interface StatusEffectProps {
|
|
4
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
5
|
+
assetUrl?: AssetUrl;
|
|
3
6
|
/** Lucide icon name or component */
|
|
4
7
|
icon: IconInput;
|
|
5
8
|
/** Label describing the effect */
|
|
@@ -15,7 +18,7 @@ export interface StatusEffectProps {
|
|
|
15
18
|
/** Additional CSS classes */
|
|
16
19
|
className?: string;
|
|
17
20
|
}
|
|
18
|
-
export declare function StatusEffect({ icon, label, duration, stacks, variant, size, className, }: StatusEffectProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function StatusEffect({ assetUrl, icon, label, duration, stacks, variant, size, className, }: StatusEffectProps): import("react/jsx-runtime").JSX.Element;
|
|
19
22
|
export declare namespace StatusEffect {
|
|
20
23
|
var displayName: string;
|
|
21
24
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type { AssetUrl } from '@almadar/core';
|
|
1
2
|
export interface TurnIndicatorProps {
|
|
3
|
+
/** Sprite image URL — takes precedence over the dot indicator when provided */
|
|
4
|
+
assetUrl?: AssetUrl;
|
|
2
5
|
/** Current turn number */
|
|
3
6
|
currentTurn: number;
|
|
4
7
|
/** Maximum number of turns */
|
|
@@ -12,7 +15,7 @@ export interface TurnIndicatorProps {
|
|
|
12
15
|
/** Additional CSS classes */
|
|
13
16
|
className?: string;
|
|
14
17
|
}
|
|
15
|
-
export declare function TurnIndicator({ currentTurn, maxTurns, activeTeam, phase, size, className, }: TurnIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function TurnIndicator({ assetUrl, currentTurn, maxTurns, activeTeam, phase, size, className, }: TurnIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
16
19
|
export declare namespace TurnIndicator {
|
|
17
20
|
var displayName: string;
|
|
18
21
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
export interface WaypointMarkerProps {
|
|
4
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
5
|
+
assetUrl?: AssetUrl;
|
|
3
6
|
/** Label text below the marker */
|
|
4
7
|
label?: string;
|
|
5
8
|
/** Custom icon to render inside the marker */
|
|
@@ -13,7 +16,7 @@ export interface WaypointMarkerProps {
|
|
|
13
16
|
/** Additional CSS classes */
|
|
14
17
|
className?: string;
|
|
15
18
|
}
|
|
16
|
-
export declare function WaypointMarker({ label, icon, active, completed, size, className, }: WaypointMarkerProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function WaypointMarker({ assetUrl, label, icon, active, completed, size, className, }: WaypointMarkerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
20
|
export declare namespace WaypointMarker {
|
|
18
21
|
var displayName: string;
|
|
19
22
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IconInput } from '../../core/atoms';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
export interface EnemyPlateEffect {
|
|
3
4
|
/** Effect icon */
|
|
4
5
|
icon: IconInput;
|
|
@@ -8,6 +9,8 @@ export interface EnemyPlateEffect {
|
|
|
8
9
|
variant?: 'buff' | 'debuff' | 'neutral';
|
|
9
10
|
}
|
|
10
11
|
export interface EnemyPlateProps {
|
|
12
|
+
/** Portrait sprite URL — takes precedence over the default avatar slot */
|
|
13
|
+
assetUrl?: AssetUrl;
|
|
11
14
|
/** Enemy name */
|
|
12
15
|
name: string;
|
|
13
16
|
/** Current health */
|
|
@@ -21,7 +24,7 @@ export interface EnemyPlateProps {
|
|
|
21
24
|
/** Additional CSS classes */
|
|
22
25
|
className?: string;
|
|
23
26
|
}
|
|
24
|
-
export declare function EnemyPlate({ name, health, maxHealth, level, effects, className, }: EnemyPlateProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function EnemyPlate({ assetUrl, name, health, maxHealth, level, effects, className, }: EnemyPlateProps): import("react/jsx-runtime").JSX.Element;
|
|
25
28
|
export declare namespace EnemyPlate {
|
|
26
29
|
var displayName: string;
|
|
27
30
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IconInput } from '../../core/atoms/Icon';
|
|
2
|
+
import type { AssetUrl } from '@almadar/core';
|
|
2
3
|
/**
|
|
3
4
|
* StatBadge — game stat display molecule (distinct from core Badge atom).
|
|
4
5
|
* Badge shows a text label/status token. StatBadge shows a numeric value
|
|
@@ -6,6 +7,8 @@ import { type IconInput } from '../../core/atoms/Icon';
|
|
|
6
7
|
* a named label — purpose-built for HUD stat rows, not general status tags.
|
|
7
8
|
*/
|
|
8
9
|
export interface StatBadgeProps {
|
|
10
|
+
/** Sprite image URL — takes precedence over icon when provided */
|
|
11
|
+
assetUrl?: AssetUrl;
|
|
9
12
|
/** Stat label */
|
|
10
13
|
label: string;
|
|
11
14
|
/** Current value (defaults to 0 if not provided) */
|
|
@@ -27,7 +30,7 @@ export interface StatBadgeProps {
|
|
|
27
30
|
/** Additional CSS classes */
|
|
28
31
|
className?: string;
|
|
29
32
|
}
|
|
30
|
-
export declare function StatBadge({ label, value, max, format, icon, size, variant, className, source: _source, field: _field, }: StatBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export declare function StatBadge({ assetUrl, label, value, max, format, icon, size, variant, className, source: _source, field: _field, }: StatBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
31
34
|
export declare namespace StatBadge {
|
|
32
35
|
var displayName: string;
|
|
33
36
|
}
|