@almadar/ui 5.81.0 → 5.83.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 +1716 -5789
- package/dist/avl/index.js +684 -4757
- package/dist/components/core/atoms/Badge.d.ts +3 -0
- package/dist/components/core/atoms/Button.d.ts +3 -1
- package/dist/components/core/molecules/Tabs.d.ts +3 -1
- package/dist/components/core/templates/index.d.ts +0 -10
- package/dist/components/game/2d/atoms/GameCard.d.ts +3 -1
- package/dist/components/game/2d/molecules/Canvas2D.d.ts +6 -5
- package/dist/components/game/2d/molecules/ControlGrid.d.ts +6 -1
- package/dist/components/game/2d/molecules/index.d.ts +0 -34
- package/dist/components/game/3d/index.cjs +3 -1
- package/dist/components/game/3d/index.js +3 -1
- package/dist/components/index.cjs +8353 -12451
- package/dist/components/index.js +4667 -8731
- package/dist/marketing/index.cjs +6 -3
- package/dist/marketing/index.d.cts +5 -1
- package/dist/marketing/index.js +7 -4
- package/dist/providers/index.cjs +1583 -5656
- package/dist/providers/index.js +660 -4733
- package/dist/runtime/index.cjs +1577 -5650
- package/dist/runtime/index.js +664 -4737
- package/package.json +1 -1
- package/dist/components/game/2d/organisms/BattleBoard.d.ts +0 -132
- package/dist/components/game/2d/organisms/BoardgameBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/CastleBoard.d.ts +0 -107
- package/dist/components/game/2d/organisms/CityBuilderBoard.d.ts +0 -64
- package/dist/components/game/2d/organisms/FishingBoard.d.ts +0 -41
- package/dist/components/game/2d/organisms/HexStrategyBoard.d.ts +0 -44
- package/dist/components/game/2d/organisms/HolidayRunnerBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/MatchPuzzleBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/MinigolfBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/PinballBoard.d.ts +0 -43
- package/dist/components/game/2d/organisms/PirateBoard.d.ts +0 -44
- package/dist/components/game/2d/organisms/PlatformerBoard.d.ts +0 -48
- package/dist/components/game/2d/organisms/RacingBoard.d.ts +0 -44
- package/dist/components/game/2d/organisms/RoguelikeBoard.d.ts +0 -62
- package/dist/components/game/2d/organisms/SokobanBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/SpaceShmupBoard.d.ts +0 -44
- package/dist/components/game/2d/organisms/SpaceStationBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/SportsBoard.d.ts +0 -37
- package/dist/components/game/2d/organisms/TanksBoard.d.ts +0 -39
- package/dist/components/game/2d/organisms/TopDownShooterBoard.d.ts +0 -65
- package/dist/components/game/2d/organisms/TowerDefenseBoard.d.ts +0 -87
- package/dist/components/game/2d/organisms/UncontrolledBattleBoard.d.ts +0 -43
- package/dist/components/game/2d/organisms/WorldMapBoard.d.ts +0 -155
- package/dist/components/game/2d/templates/BattleTemplate.d.ts +0 -34
- package/dist/components/game/2d/templates/CardBattlerTemplate.d.ts +0 -35
- package/dist/components/game/2d/templates/CastleTemplate.d.ts +0 -32
- package/dist/components/game/2d/templates/CityBuilderTemplate.d.ts +0 -40
- package/dist/components/game/2d/templates/PlatformerTemplate.d.ts +0 -27
- package/dist/components/game/2d/templates/RoguelikeTemplate.d.ts +0 -23
- package/dist/components/game/2d/templates/TopDownShooterTemplate.d.ts +0 -42
- package/dist/components/game/2d/templates/TowerDefenseTemplate.d.ts +0 -43
- package/dist/components/game/2d/templates/VisualNovelTemplate.d.ts +0 -28
- package/dist/components/game/2d/templates/WorldMapTemplate.d.ts +0 -38
- package/dist/components/game/shared/hooks/useBattleState.d.ts +0 -47
package/dist/marketing/index.cjs
CHANGED
|
@@ -3983,6 +3983,7 @@ var Button = React11__default.default.forwardRef(
|
|
|
3983
3983
|
rightIcon,
|
|
3984
3984
|
icon: iconProp,
|
|
3985
3985
|
iconRight: iconRightProp,
|
|
3986
|
+
iconAsset,
|
|
3986
3987
|
action,
|
|
3987
3988
|
actionPayload,
|
|
3988
3989
|
label,
|
|
@@ -3994,7 +3995,8 @@ var Button = React11__default.default.forwardRef(
|
|
|
3994
3995
|
const eventBus = useEventBus();
|
|
3995
3996
|
const leftIconValue = leftIcon || iconProp;
|
|
3996
3997
|
const rightIconValue = rightIcon || iconRightProp;
|
|
3997
|
-
const
|
|
3998
|
+
const px = size === "sm" ? 16 : size === "lg" ? 20 : 16;
|
|
3999
|
+
const resolvedLeftIcon = iconAsset?.url ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: iconAsset.url, alt: iconAsset.name ?? iconAsset.category ?? "", width: px, height: px, style: { imageRendering: "pixelated", objectFit: "contain", width: px, height: px }, className: "flex-shrink-0" }) : resolveIconProp(leftIconValue, iconSizeStyles[size]);
|
|
3998
4000
|
const resolvedRightIcon = resolveIconProp(rightIconValue, iconSizeStyles[size]);
|
|
3999
4001
|
const handleClick = (e) => {
|
|
4000
4002
|
if (action) {
|
|
@@ -4070,13 +4072,14 @@ var sizeStyles2 = {
|
|
|
4070
4072
|
lg: "px-3 py-1.5 text-base"
|
|
4071
4073
|
};
|
|
4072
4074
|
var Badge = React11__default.default.forwardRef(
|
|
4073
|
-
({ className, variant = "default", size = "sm", amount, label, icon, children, onRemove, removeLabel, ...props }, ref) => {
|
|
4075
|
+
({ className, variant = "default", size = "sm", amount, label, icon, iconAsset, children, onRemove, removeLabel, ...props }, ref) => {
|
|
4074
4076
|
const iconSizes = {
|
|
4075
4077
|
sm: "h-icon-default w-icon-default",
|
|
4076
4078
|
md: "h-icon-default w-icon-default",
|
|
4077
4079
|
lg: "h-icon-default w-icon-default"
|
|
4078
4080
|
};
|
|
4079
|
-
const
|
|
4081
|
+
const iconPx = size === "lg" ? 20 : 16;
|
|
4082
|
+
const resolvedIcon = iconAsset?.url ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: iconAsset.url, alt: iconAsset.name ?? iconAsset.category ?? "", width: iconPx, height: iconPx, style: { imageRendering: "pixelated", objectFit: "contain", width: iconPx, height: iconPx }, className: "flex-shrink-0" }) : typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: icon, className: iconSizes[size] }) : icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon, className: iconSizes[size] }) : null;
|
|
4080
4083
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4081
4084
|
"span",
|
|
4082
4085
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { EventKey, EventPayload, AssetUrl } from '@almadar/core';
|
|
2
|
+
import { EventKey, EventPayload, AssetUrl, Asset } from '@almadar/core';
|
|
3
3
|
import { LucideIcon } from 'lucide-react';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -259,6 +259,8 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
259
259
|
icon?: IconInput;
|
|
260
260
|
/** Alias for rightIcon */
|
|
261
261
|
iconRight?: IconInput;
|
|
262
|
+
/** Asset image rendered as the leading icon; takes precedence over icon/leftIcon when provided. */
|
|
263
|
+
iconAsset?: Asset;
|
|
262
264
|
/** Declarative event name — emits UI:{action} via eventBus on click */
|
|
263
265
|
action?: EventKey;
|
|
264
266
|
/** Payload to include with the action event */
|
|
@@ -287,6 +289,8 @@ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
287
289
|
label?: string | number;
|
|
288
290
|
/** Lucide icon component or canonical kebab-case icon name string */
|
|
289
291
|
icon?: IconInput;
|
|
292
|
+
/** Asset image rendered as the badge icon; takes precedence over icon when provided. */
|
|
293
|
+
iconAsset?: Asset;
|
|
290
294
|
/** When set, renders a small X button on the right of the badge that
|
|
291
295
|
* invokes this handler — turns the badge into a removable chip.
|
|
292
296
|
* Used by the TagInput molecule and other "list of removable values"
|
package/dist/marketing/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React11, { createContext, useCallback, useState, useRef, useEffect, useContext, useMemo, useSyncExternalStore, useId } from 'react';
|
|
2
2
|
import { createLogger } from '@almadar/logger';
|
|
3
|
-
import {
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import * as LucideIcons2 from 'lucide-react';
|
|
5
5
|
import { Loader2, X } from 'lucide-react';
|
|
6
6
|
|
|
@@ -3959,6 +3959,7 @@ var Button = React11.forwardRef(
|
|
|
3959
3959
|
rightIcon,
|
|
3960
3960
|
icon: iconProp,
|
|
3961
3961
|
iconRight: iconRightProp,
|
|
3962
|
+
iconAsset,
|
|
3962
3963
|
action,
|
|
3963
3964
|
actionPayload,
|
|
3964
3965
|
label,
|
|
@@ -3970,7 +3971,8 @@ var Button = React11.forwardRef(
|
|
|
3970
3971
|
const eventBus = useEventBus();
|
|
3971
3972
|
const leftIconValue = leftIcon || iconProp;
|
|
3972
3973
|
const rightIconValue = rightIcon || iconRightProp;
|
|
3973
|
-
const
|
|
3974
|
+
const px = size === "sm" ? 16 : size === "lg" ? 20 : 16;
|
|
3975
|
+
const resolvedLeftIcon = iconAsset?.url ? /* @__PURE__ */ jsx("img", { src: iconAsset.url, alt: iconAsset.name ?? iconAsset.category ?? "", width: px, height: px, style: { imageRendering: "pixelated", objectFit: "contain", width: px, height: px }, className: "flex-shrink-0" }) : resolveIconProp(leftIconValue, iconSizeStyles[size]);
|
|
3974
3976
|
const resolvedRightIcon = resolveIconProp(rightIconValue, iconSizeStyles[size]);
|
|
3975
3977
|
const handleClick = (e) => {
|
|
3976
3978
|
if (action) {
|
|
@@ -4046,13 +4048,14 @@ var sizeStyles2 = {
|
|
|
4046
4048
|
lg: "px-3 py-1.5 text-base"
|
|
4047
4049
|
};
|
|
4048
4050
|
var Badge = React11.forwardRef(
|
|
4049
|
-
({ className, variant = "default", size = "sm", amount, label, icon, children, onRemove, removeLabel, ...props }, ref) => {
|
|
4051
|
+
({ className, variant = "default", size = "sm", amount, label, icon, iconAsset, children, onRemove, removeLabel, ...props }, ref) => {
|
|
4050
4052
|
const iconSizes = {
|
|
4051
4053
|
sm: "h-icon-default w-icon-default",
|
|
4052
4054
|
md: "h-icon-default w-icon-default",
|
|
4053
4055
|
lg: "h-icon-default w-icon-default"
|
|
4054
4056
|
};
|
|
4055
|
-
const
|
|
4057
|
+
const iconPx = size === "lg" ? 20 : 16;
|
|
4058
|
+
const resolvedIcon = iconAsset?.url ? /* @__PURE__ */ jsx("img", { src: iconAsset.url, alt: iconAsset.name ?? iconAsset.category ?? "", width: iconPx, height: iconPx, style: { imageRendering: "pixelated", objectFit: "contain", width: iconPx, height: iconPx }, className: "flex-shrink-0" }) : typeof icon === "string" ? /* @__PURE__ */ jsx(Icon, { name: icon, className: iconSizes[size] }) : icon ? /* @__PURE__ */ jsx(Icon, { icon, className: iconSizes[size] }) : null;
|
|
4056
4059
|
return /* @__PURE__ */ jsxs(
|
|
4057
4060
|
"span",
|
|
4058
4061
|
{
|