@joydle/icons 0.1.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.
Files changed (57) hide show
  1. package/dist/Icon.d.ts +19 -0
  2. package/dist/Icon.d.ts.map +1 -0
  3. package/dist/Icon.js +30 -0
  4. package/dist/Icon.js.map +1 -0
  5. package/dist/game/combat.d.ts +19 -0
  6. package/dist/game/combat.d.ts.map +1 -0
  7. package/dist/game/combat.js +40 -0
  8. package/dist/game/combat.js.map +1 -0
  9. package/dist/game/equipment.d.ts +13 -0
  10. package/dist/game/equipment.d.ts.map +1 -0
  11. package/dist/game/equipment.js +28 -0
  12. package/dist/game/equipment.js.map +1 -0
  13. package/dist/game/index.d.ts +8 -0
  14. package/dist/game/index.d.ts.map +1 -0
  15. package/dist/game/index.js +18 -0
  16. package/dist/game/index.js.map +1 -0
  17. package/dist/game/items.d.ts +29 -0
  18. package/dist/game/items.d.ts.map +1 -0
  19. package/dist/game/items.js +60 -0
  20. package/dist/game/items.js.map +1 -0
  21. package/dist/game/projectiles.d.ts +13 -0
  22. package/dist/game/projectiles.d.ts.map +1 -0
  23. package/dist/game/projectiles.js +28 -0
  24. package/dist/game/projectiles.js.map +1 -0
  25. package/dist/game/resources.d.ts +11 -0
  26. package/dist/game/resources.d.ts.map +1 -0
  27. package/dist/game/resources.js +24 -0
  28. package/dist/game/resources.js.map +1 -0
  29. package/dist/game/status.d.ts +15 -0
  30. package/dist/game/status.d.ts.map +1 -0
  31. package/dist/game/status.js +32 -0
  32. package/dist/game/status.js.map +1 -0
  33. package/dist/game/ui-map.d.ts +19 -0
  34. package/dist/game/ui-map.d.ts.map +1 -0
  35. package/dist/game/ui-map.js +40 -0
  36. package/dist/game/ui-map.js.map +1 -0
  37. package/dist/index.d.ts +6 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +12 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/lucide.d.ts +2 -0
  42. package/dist/lucide.d.ts.map +1 -0
  43. package/dist/lucide.js +5 -0
  44. package/dist/lucide.js.map +1 -0
  45. package/dist/registry.d.ts +3 -0
  46. package/dist/registry.d.ts.map +1 -0
  47. package/dist/registry.js +117 -0
  48. package/dist/registry.js.map +1 -0
  49. package/dist/resolve.d.ts +13 -0
  50. package/dist/resolve.d.ts.map +1 -0
  51. package/dist/resolve.js +22 -0
  52. package/dist/resolve.js.map +1 -0
  53. package/dist/types.d.ts +28 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/dist/types.js +5 -0
  56. package/dist/types.js.map +1 -0
  57. package/package.json +39 -0
package/dist/Icon.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import type { JSX } from 'preact';
2
+ import type { JoydleIconProps, IconName } from './types.js';
3
+ export interface IconWrapperProps extends JoydleIconProps {
4
+ /** Icon name for string-based lookup. */
5
+ name: IconName;
6
+ }
7
+ /**
8
+ * Universal icon component with string-based lookup.
9
+ *
10
+ * Useful for AI-generated code and data-driven UIs where icon names
11
+ * come from configuration rather than imports.
12
+ *
13
+ * ```tsx
14
+ * <Icon name="heart" size={16} color="var(--joydle-accent)" glow />
15
+ * <Icon name="sword" size={20} color="var(--joydle-gold)" />
16
+ * ```
17
+ */
18
+ export declare function Icon({ name, glow, style, ...rest }: IconWrapperProps): JSX.Element | null;
19
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../src/Icon.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,yCAAyC;IACzC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAoBzF"}
package/dist/Icon.js ADDED
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "preact/jsx-runtime";
2
+ import { ICON_REGISTRY } from './registry.js';
3
+ /**
4
+ * Universal icon component with string-based lookup.
5
+ *
6
+ * Useful for AI-generated code and data-driven UIs where icon names
7
+ * come from configuration rather than imports.
8
+ *
9
+ * ```tsx
10
+ * <Icon name="heart" size={16} color="var(--joydle-accent)" glow />
11
+ * <Icon name="sword" size={20} color="var(--joydle-gold)" />
12
+ * ```
13
+ */
14
+ export function Icon({ name, glow, style, ...rest }) {
15
+ const Comp = ICON_REGISTRY[name];
16
+ if (!Comp)
17
+ return null;
18
+ // Apply glow via wrapping span for Lucide icons that don't handle it.
19
+ if (glow) {
20
+ const glowColor = typeof glow === 'string' ? glow : (rest.color ?? 'currentColor');
21
+ const wrapStyle = {
22
+ display: 'inline-flex',
23
+ filter: `drop-shadow(0 0 4px ${glowColor})`,
24
+ ...style,
25
+ };
26
+ return (_jsx("span", { style: wrapStyle, children: _jsx(Comp, { ...rest }) }));
27
+ }
28
+ return _jsx(Comp, { style: style, ...rest });
29
+ }
30
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../src/Icon.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAoB;IACnE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,sEAAsE;IACtE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;QACnF,MAAM,SAAS,GAAsB;YACnC,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,uBAAuB,SAAS,GAAG;YAC3C,GAAG,KAAK;SACT,CAAC;QACF,OAAO,CACL,eAAM,KAAK,EAAE,SAAS,YACpB,KAAC,IAAI,OAAK,IAAI,GAAI,GACb,CACR,CAAC;IACJ,CAAC;IAED,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,KAAM,IAAI,GAAI,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Single blade, angled. */
4
+ export declare function Sword({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Crossed blades. */
6
+ export declare function DualSwords({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Single battle axe. */
8
+ export declare function Axe({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Drawn bow with arrow. */
10
+ export declare function Bow({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Magic wand with star tip. */
12
+ export declare function Wand({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ /** Short blade. */
14
+ export declare function Dagger({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
15
+ /** Long polearm. */
16
+ export declare function Spear({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
17
+ /** Spiked mace. */
18
+ export declare function Mace({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
19
+ //# sourceMappingURL=combat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combat.d.ts","sourceRoot":"","sources":["../../src/game/combat.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,4BAA4B;AAC5B,wBAAgB,KAAK,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASjJ;AAED,sBAAsB;AACtB,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAStJ;AAED,yBAAyB;AACzB,wBAAgB,GAAG,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAO/I;AAED,4BAA4B;AAC5B,wBAAgB,GAAG,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAS/I;AAED,gCAAgC;AAChC,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAOhJ;AAED,mBAAmB;AACnB,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASlJ;AAED,oBAAoB;AACpB,wBAAgB,KAAK,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAOjJ;AAED,mBAAmB;AACnB,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAYhJ"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Single blade, angled. */
9
+ export function Sword({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "18", y1: "2", x2: "8", y2: "12" }), _jsx("line", { x1: "8", y1: "12", x2: "4", y2: "20" }), _jsx("line", { x1: "5", y1: "11", x2: "11", y2: "15" }), _jsx("circle", { cx: "18", cy: "2", r: "1", fill: color, stroke: "none" })] }));
11
+ }
12
+ /** Crossed blades. */
13
+ export function DualSwords({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "6", y1: "2", x2: "16", y2: "18" }), _jsx("line", { x1: "18", y1: "2", x2: "8", y2: "18" }), _jsx("line", { x1: "4", y1: "16", x2: "8", y2: "20" }), _jsx("line", { x1: "16", y1: "20", x2: "20", y2: "16" })] }));
15
+ }
16
+ /** Single battle axe. */
17
+ export function Axe({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "8", y1: "20", x2: "16", y2: "4" }), _jsx("path", { d: "M16 4C16 4 20 6 20 10C16 10 14 8 14 8" })] }));
19
+ }
20
+ /** Drawn bow with arrow. */
21
+ export function Bow({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M4 4C4 4 4 12 4 20" }), _jsx("path", { d: "M4 4C10 4 14 8 16 12C14 16 10 20 4 20" }), _jsx("line", { x1: "4", y1: "12", x2: "20", y2: "12" }), _jsx("polyline", { points: "18,10 20,12 18,14" })] }));
23
+ }
24
+ /** Magic wand with star tip. */
25
+ export function Wand({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "6", y1: "20", x2: "16", y2: "6" }), _jsx("polygon", { points: "16,2 17.5,5 20.5,5 18,7 19,10 16,8.5 13,10 14,7 11.5,5 14.5,5", fill: fill === 'none' ? 'none' : fill })] }));
27
+ }
28
+ /** Short blade. */
29
+ export function Dagger({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
30
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "12", y1: "2", x2: "12", y2: "14" }), _jsx("line", { x1: "8", y1: "14", x2: "16", y2: "14" }), _jsx("line", { x1: "12", y1: "14", x2: "12", y2: "22" }), _jsx("circle", { cx: "12", cy: "22", r: "1", fill: color, stroke: "none" })] }));
31
+ }
32
+ /** Long polearm. */
33
+ export function Spear({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
34
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "12", y1: "22", x2: "12", y2: "6" }), _jsx("polygon", { points: "12,2 9,6 15,6", fill: fill === 'none' ? 'none' : fill })] }));
35
+ }
36
+ /** Spiked mace. */
37
+ export function Mace({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
38
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "12", y1: "22", x2: "12", y2: "10" }), _jsx("circle", { cx: "12", cy: "6", r: "4" }), _jsx("line", { x1: "12", y1: "2", x2: "12", y2: "1" }), _jsx("line", { x1: "8", y1: "4", x2: "7", y2: "3" }), _jsx("line", { x1: "16", y1: "4", x2: "17", y2: "3" }), _jsx("line", { x1: "8", y1: "8", x2: "7", y2: "9" }), _jsx("line", { x1: "16", y1: "8", x2: "17", y2: "9" })] }));
39
+ }
40
+ //# sourceMappingURL=combat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combat.js","sourceRoot":"","sources":["../../src/game/combat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Warrior helmet. */
4
+ export declare function Helmet({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Chestplate armor. */
6
+ export declare function Armor({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Adventurer boot. */
8
+ export declare function Boot({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Armored glove. */
10
+ export declare function Gauntlet({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Arrow quiver. */
12
+ export declare function Quiver({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ //# sourceMappingURL=equipment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment.d.ts","sourceRoot":"","sources":["../../src/game/equipment.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,sBAAsB;AACtB,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAUlJ;AAED,wBAAwB;AACxB,wBAAgB,KAAK,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQjJ;AAED,uBAAuB;AACvB,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAShJ;AAED,qBAAqB;AACrB,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAWpJ;AAED,oBAAoB;AACpB,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAalJ"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Warrior helmet. */
9
+ export function Helmet({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M4 16C4 10 7 4 12 4C17 4 20 10 20 16" }), _jsx("line", { x1: "4", y1: "16", x2: "20", y2: "16" }), _jsx("path", { d: "M4 16C4 18 5 20 8 20H16C19 20 20 18 20 16" }), _jsx("rect", { x: "8", y: "16", width: "8", height: "4", rx: "0", fill: fill }), _jsx("line", { x1: "12", y1: "4", x2: "12", y2: "16" })] }));
11
+ }
12
+ /** Chestplate armor. */
13
+ export function Armor({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M4 6L12 3L20 6" }), _jsx("path", { d: "M4 6V14C4 18 8 21 12 21C16 21 20 18 20 14V6" }), _jsx("path", { d: "M8 6V10C8 12 10 13 12 13C14 13 16 12 16 10V6" })] }));
15
+ }
16
+ /** Adventurer boot. */
17
+ export function Boot({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M8 3V14H6C4 14 3 15 3 17V19H18C20 19 21 18 21 17C21 15 19 14 17 14H14V8" }), _jsx("line", { x1: "8", y1: "3", x2: "14", y2: "3" }), _jsx("line", { x1: "14", y1: "3", x2: "14", y2: "14" }), _jsx("line", { x1: "3", y1: "17", x2: "21", y2: "17" })] }));
19
+ }
20
+ /** Armored glove. */
21
+ export function Gauntlet({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M7 22V12L5 8V4H19V8L17 12V22H7Z" }), _jsx("line", { x1: "7", y1: "12", x2: "17", y2: "12" }), _jsx("line", { x1: "7", y1: "16", x2: "17", y2: "16" }), _jsx("line", { x1: "9", y1: "4", x2: "9", y2: "8" }), _jsx("line", { x1: "12", y1: "4", x2: "12", y2: "8" }), _jsx("line", { x1: "15", y1: "4", x2: "15", y2: "8" })] }));
23
+ }
24
+ /** Arrow quiver. */
25
+ export function Quiver({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M8 4H16L18 22H6L8 4Z" }), _jsx("line", { x1: "8", y1: "4", x2: "16", y2: "4" }), _jsx("line", { x1: "10", y1: "1", x2: "10", y2: "8" }), _jsx("line", { x1: "12", y1: "1", x2: "12", y2: "8" }), _jsx("line", { x1: "14", y1: "1", x2: "14", y2: "8" }), _jsx("polyline", { points: "9,1 10,0 11,1" }), _jsx("polyline", { points: "11,1 12,0 13,1" }), _jsx("polyline", { points: "13,1 14,0 15,1" })] }));
27
+ }
28
+ //# sourceMappingURL=equipment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../src/game/equipment.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { Sword, DualSwords, Axe, Bow, Wand, Dagger, Spear, Mace } from './combat.js';
2
+ export { Potion, PotionHealth, PotionMana, Coin, CoinStack, Key, Chest, Scroll, Bomb, Mushroom, Crystal, Ring, Amulet, } from './items.js';
3
+ export { Helmet, Armor, Boot, Gauntlet, Quiver } from './equipment.js';
4
+ export { ArrowProjectile, Fireball, IceShard, LightningBolt, MagicOrb } from './projectiles.js';
5
+ export { Poison, Burn, Freeze, Stun, BuffUp, DebuffDown } from './status.js';
6
+ export { QuestMarker, MinimapDot, Waypoint, EnemySkull, BossCrown, NpcBubble, Door, Portal, } from './ui-map.js';
7
+ export { Wood, Stone, GoldBar, Food } from './resources.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/game/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGrF,OAAO,EACL,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EACjD,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAC1D,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EACL,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAC7C,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GACnC,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons/game — barrel export
3
+ // ---------------------------------------------------------------------------
4
+ // Combat
5
+ export { Sword, DualSwords, Axe, Bow, Wand, Dagger, Spear, Mace } from './combat.js';
6
+ // Items
7
+ export { Potion, PotionHealth, PotionMana, Coin, CoinStack, Key, Chest, Scroll, Bomb, Mushroom, Crystal, Ring, Amulet, } from './items.js';
8
+ // Equipment
9
+ export { Helmet, Armor, Boot, Gauntlet, Quiver } from './equipment.js';
10
+ // Projectiles
11
+ export { ArrowProjectile, Fireball, IceShard, LightningBolt, MagicOrb } from './projectiles.js';
12
+ // Status Effects
13
+ export { Poison, Burn, Freeze, Stun, BuffUp, DebuffDown } from './status.js';
14
+ // UI / Map
15
+ export { QuestMarker, MinimapDot, Waypoint, EnemySkull, BossCrown, NpcBubble, Door, Portal, } from './ui-map.js';
16
+ // Resources
17
+ export { Wood, Stone, GoldBar, Food } from './resources.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/game/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,SAAS;AACT,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAErF,QAAQ;AACR,OAAO,EACL,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EACjD,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAC1D,MAAM,YAAY,CAAC;AAEpB,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEvE,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEhG,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E,WAAW;AACX,OAAO,EACL,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAC7C,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GACnC,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Round flask. */
4
+ export declare function Potion({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Flask with + symbol. */
6
+ export declare function PotionHealth({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Flask with star symbol. */
8
+ export declare function PotionMana({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Circle with line. */
10
+ export declare function Coin({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Stacked coins. */
12
+ export declare function CoinStack({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ /** Ornate key. */
14
+ export declare function Key({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
15
+ /** Treasure chest. */
16
+ export declare function Chest({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
17
+ /** Rolled scroll. */
18
+ export declare function Scroll({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
19
+ /** Round bomb with fuse. */
20
+ export declare function Bomb({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
21
+ /** Power-up mushroom. */
22
+ export declare function Mushroom({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
23
+ /** Angular gem / crystal. */
24
+ export declare function Crystal({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
25
+ /** Magic ring. */
26
+ export declare function Ring({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
27
+ /** Pendant necklace. */
28
+ export declare function Amulet({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
29
+ //# sourceMappingURL=items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../src/game/items.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Round flask. */
9
+ export function Potion({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("rect", { x: "9", y: "2", width: "6", height: "4", rx: "1" }), _jsx("path", { d: "M9 6L6 14C5 17 7 20 12 20C17 20 19 17 18 14L15 6" })] }));
11
+ }
12
+ /** Flask with + symbol. */
13
+ export function PotionHealth({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("rect", { x: "9", y: "2", width: "6", height: "4", rx: "1" }), _jsx("path", { d: "M9 6L6 14C5 17 7 20 12 20C17 20 19 17 18 14L15 6" }), _jsx("line", { x1: "10", y1: "14", x2: "14", y2: "14" }), _jsx("line", { x1: "12", y1: "12", x2: "12", y2: "16" })] }));
15
+ }
16
+ /** Flask with star symbol. */
17
+ export function PotionMana({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("rect", { x: "9", y: "2", width: "6", height: "4", rx: "1" }), _jsx("path", { d: "M9 6L6 14C5 17 7 20 12 20C17 20 19 17 18 14L15 6" }), _jsx("polygon", { points: "12,11 12.8,13.5 15,13.5 13.2,15 13.8,17.5 12,16 10.2,17.5 10.8,15 9,13.5 11.2,13.5", fill: color, stroke: "none" })] }));
19
+ }
20
+ /** Circle with line. */
21
+ export function Coin({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "12", r: "8" }), _jsx("line", { x1: "12", y1: "7", x2: "12", y2: "17" }), _jsx("line", { x1: "9", y1: "9", x2: "15", y2: "9" }), _jsx("line", { x1: "9", y1: "15", x2: "15", y2: "15" })] }));
23
+ }
24
+ /** Stacked coins. */
25
+ export function CoinStack({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("ellipse", { cx: "12", cy: "6", rx: "8", ry: "3" }), _jsx("path", { d: "M4 6v4c0 1.66 3.58 3 8 3s8-1.34 8-3V6" }), _jsx("path", { d: "M4 10v4c0 1.66 3.58 3 8 3s8-1.34 8-3V10" }), _jsx("path", { d: "M4 14v4c0 1.66 3.58 3 8 3s8-1.34 8-3V14" })] }));
27
+ }
28
+ /** Ornate key. */
29
+ export function Key({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
30
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "5" }), _jsx("circle", { cx: "8", cy: "8", r: "2" }), _jsx("line", { x1: "12", y1: "11", x2: "20", y2: "19" }), _jsx("line", { x1: "17", y1: "19", x2: "20", y2: "16" }), _jsx("line", { x1: "15", y1: "17", x2: "18", y2: "14" })] }));
31
+ }
32
+ /** Treasure chest. */
33
+ export function Chest({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
34
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("rect", { x: "3", y: "11", width: "18", height: "9", rx: "1" }), _jsx("path", { d: "M3 11C3 11 3 6 12 6C21 6 21 11 21 11" }), _jsx("line", { x1: "12", y1: "11", x2: "12", y2: "6" }), _jsx("rect", { x: "10", y: "13", width: "4", height: "3", rx: "0.5" })] }));
35
+ }
36
+ /** Rolled scroll. */
37
+ export function Scroll({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
38
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M6 3C4.5 3 3 4 3 5.5S4.5 8 6 8H18" }), _jsx("path", { d: "M18 8C19.5 8 21 7 21 5.5" }), _jsx("rect", { x: "6", y: "3", width: "12", height: "16", rx: "0" }), _jsx("path", { d: "M6 19C4.5 19 3 20 3 21.5" }), _jsx("path", { d: "M18 19C19.5 19 21 20 21 21.5S19.5 24 18 24H6" }), _jsx("line", { x1: "9", y1: "8", x2: "15", y2: "8" }), _jsx("line", { x1: "9", y1: "11", x2: "15", y2: "11" }), _jsx("line", { x1: "9", y1: "14", x2: "13", y2: "14" })] }));
39
+ }
40
+ /** Round bomb with fuse. */
41
+ export function Bomb({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
42
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "14", r: "7" }), _jsx("line", { x1: "12", y1: "7", x2: "14", y2: "3" }), _jsx("path", { d: "M14 3C15 2 16 2 17 3" })] }));
43
+ }
44
+ /** Power-up mushroom. */
45
+ export function Mushroom({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
46
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M4 13C4 7.5 7.6 4 12 4C16.4 4 20 7.5 20 13H4Z" }), _jsx("rect", { x: "9", y: "13", width: "6", height: "7", rx: "1" }), _jsx("circle", { cx: "9", cy: "9", r: "1.5", fill: color, stroke: "none" }), _jsx("circle", { cx: "15", cy: "9", r: "1.5", fill: color, stroke: "none" })] }));
47
+ }
48
+ /** Angular gem / crystal. */
49
+ export function Crystal({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
50
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polygon", { points: "12,2 6,8 8,22 12,20 16,22 18,8" }), _jsx("line", { x1: "6", y1: "8", x2: "18", y2: "8" }), _jsx("line", { x1: "12", y1: "2", x2: "12", y2: "20" })] }));
51
+ }
52
+ /** Magic ring. */
53
+ export function Ring({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
54
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("ellipse", { cx: "12", cy: "15", rx: "7", ry: "5" }), _jsx("path", { d: "M9 11L12 6L15 11" }), _jsx("circle", { cx: "12", cy: "6", r: "2" })] }));
55
+ }
56
+ /** Pendant necklace. */
57
+ export function Amulet({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
58
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M8 2C8 2 6 6 6 8" }), _jsx("path", { d: "M16 2C16 2 18 6 18 8" }), _jsx("circle", { cx: "12", cy: "14", r: "6" }), _jsx("path", { d: "M6 8C6 10 8 12 12 12C16 12 18 10 18 8" }), _jsx("circle", { cx: "12", cy: "14", r: "2", fill: color, stroke: "none" })] }));
59
+ }
60
+ //# sourceMappingURL=items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items.js","sourceRoot":"","sources":["../../src/game/items.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Flying arrow. */
4
+ export declare function ArrowProjectile({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Flaming sphere. */
6
+ export declare function Fireball({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Crystalline shard. */
8
+ export declare function IceShard({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Jagged bolt. */
10
+ export declare function LightningBolt({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Glowing sphere. */
12
+ export declare function MagicOrb({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ //# sourceMappingURL=projectiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectiles.d.ts","sourceRoot":"","sources":["../../src/game/projectiles.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,oBAAoB;AACpB,wBAAgB,eAAe,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAS3J;AAED,sBAAsB;AACtB,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASpJ;AAED,yBAAyB;AACzB,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQpJ;AAED,mBAAmB;AACnB,wBAAgB,aAAa,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAMzJ;AAED,sBAAsB;AACtB,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASpJ"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Flying arrow. */
9
+ export function ArrowProjectile({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "4", y1: "20", x2: "20", y2: "4" }), _jsx("polyline", { points: "14,4 20,4 20,10" }), _jsx("line", { x1: "4", y1: "20", x2: "6", y2: "16" }), _jsx("line", { x1: "4", y1: "20", x2: "8", y2: "18" })] }));
11
+ }
12
+ /** Flaming sphere. */
13
+ export function Fireball({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "13", r: "6" }), _jsx("path", { d: "M10 7C10 4 12 2 12 2C12 2 14 4 14 7" }), _jsx("path", { d: "M7 10C5 9 4 7 4 7C4 7 5 9 7 10" }), _jsx("path", { d: "M17 10C19 9 20 7 20 7C20 7 19 9 17 10" })] }));
15
+ }
16
+ /** Crystalline shard. */
17
+ export function IceShard({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polygon", { points: "12,2 8,10 6,20 12,22 18,20 16,10" }), _jsx("line", { x1: "8", y1: "10", x2: "16", y2: "10" }), _jsx("line", { x1: "12", y1: "2", x2: "12", y2: "22" })] }));
19
+ }
20
+ /** Jagged bolt. */
21
+ export function LightningBolt({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: _jsx("polyline", { points: "14,2 8,12 13,12 10,22 18,10 13,10 16,2" }) }));
23
+ }
24
+ /** Glowing sphere. */
25
+ export function MagicOrb({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "12", r: "8" }), _jsx("ellipse", { cx: "12", cy: "12", rx: "8", ry: "3" }), _jsx("ellipse", { cx: "12", cy: "12", rx: "3", ry: "8" }), _jsx("circle", { cx: "10", cy: "9", r: "1", fill: color, stroke: "none" })] }));
27
+ }
28
+ //# sourceMappingURL=projectiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectiles.js","sourceRoot":"","sources":["../../src/game/projectiles.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Log — wood. */
4
+ export declare function Wood({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Rock — stone. */
6
+ export declare function Stone({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Ingot — gold bar. */
8
+ export declare function GoldBar({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Drumstick — food. */
10
+ export declare function Food({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/game/resources.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,kBAAkB;AAClB,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQhJ;AAED,oBAAoB;AACpB,wBAAgB,KAAK,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAWjJ;AAED,wBAAwB;AACxB,wBAAgB,OAAO,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASnJ;AAED,wBAAwB;AACxB,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAOhJ"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Log — wood. */
9
+ export function Wood({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("ellipse", { cx: "18", cy: "12", rx: "3", ry: "6" }), _jsx("path", { d: "M18 6H6C4 6 3 8 3 12C3 16 4 18 6 18H18" }), _jsx("circle", { cx: "18", cy: "12", r: "1.5" })] }));
11
+ }
12
+ /** Rock — stone. */
13
+ export function Stone({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polygon", { points: "4,16 2,10 6,5 14,4 20,7 22,14 18,19 8,20" }), _jsx("line", { x1: "6", y1: "5", x2: "8", y2: "12" }), _jsx("line", { x1: "14", y1: "4", x2: "14", y2: "11" }), _jsx("line", { x1: "8", y1: "12", x2: "14", y2: "11" }), _jsx("line", { x1: "8", y1: "12", x2: "4", y2: "16" }), _jsx("line", { x1: "14", y1: "11", x2: "22", y2: "14" })] }));
15
+ }
16
+ /** Ingot — gold bar. */
17
+ export function GoldBar({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polygon", { points: "2,18 6,8 18,8 22,18" }), _jsx("line", { x1: "6", y1: "8", x2: "8", y2: "18" }), _jsx("line", { x1: "18", y1: "8", x2: "16", y2: "18" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "18" })] }));
19
+ }
20
+ /** Drumstick — food. */
21
+ export function Food({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M15 4C18 4 20 6 20 9C20 12 17 14 14 14L8 20C7 21 5 21 4 20C3 19 3 17 4 16L10 10C10 7 12 4 15 4Z" }), _jsx("line", { x1: "10", y1: "10", x2: "14", y2: "14" })] }));
23
+ }
24
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/game/resources.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Dripping drops — poison. */
4
+ export declare function Poison({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Small flame — burn. */
6
+ export declare function Burn({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Snowflake variant — freeze. */
8
+ export declare function Freeze({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Stars circling — stun. */
10
+ export declare function Stun({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Up arrow with glow — buff. */
12
+ export declare function BuffUp({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ /** Down arrow — debuff. */
14
+ export declare function DebuffDown({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
15
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/game/status.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,+BAA+B;AAC/B,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASlJ;AAED,0BAA0B;AAC1B,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAShJ;AAED,kCAAkC;AAClC,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAYlJ;AAED,6BAA6B;AAC7B,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAShJ;AAED,iCAAiC;AACjC,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASlJ;AAED,2BAA2B;AAC3B,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAStJ"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Dripping drops — poison. */
9
+ export function Poison({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M12 2C12 2 6 10 6 15C6 18.3 8.7 21 12 21C15.3 21 18 18.3 18 15C18 10 12 2 12 2Z" }), _jsx("circle", { cx: "10", cy: "14", r: "1", fill: color, stroke: "none" }), _jsx("circle", { cx: "14", cy: "16", r: "1", fill: color, stroke: "none" }), _jsx("circle", { cx: "11", cy: "18", r: "0.8", fill: color, stroke: "none" })] }));
11
+ }
12
+ /** Small flame — burn. */
13
+ export function Burn({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M12 2C12 2 8 8 8 13C8 16 9 18 10 19" }), _jsx("path", { d: "M12 2C12 2 16 8 16 13C16 16 15 18 14 19" }), _jsx("path", { d: "M10 19C10 20 11 22 12 22C13 22 14 20 14 19" }), _jsx("path", { d: "M12 10C12 10 10 13 10 15C10 16 11 17 12 17C13 17 14 16 14 15C14 13 12 10 12 10Z" })] }));
15
+ }
16
+ /** Snowflake variant — freeze. */
17
+ export function Freeze({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "12", y1: "2", x2: "12", y2: "22" }), _jsx("line", { x1: "3", y1: "7", x2: "21", y2: "17" }), _jsx("line", { x1: "3", y1: "17", x2: "21", y2: "7" }), _jsx("line", { x1: "9", y1: "3", x2: "12", y2: "5" }), _jsx("line", { x1: "15", y1: "3", x2: "12", y2: "5" }), _jsx("line", { x1: "9", y1: "21", x2: "12", y2: "19" }), _jsx("line", { x1: "15", y1: "21", x2: "12", y2: "19" })] }));
19
+ }
20
+ /** Stars circling — stun. */
21
+ export function Stun({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "12", r: "8", "stroke-dasharray": "4 2" }), _jsx("polygon", { points: "7,8 7.8,10 6,10.5 7.5,11.5 7,13 8.2,11.8 9.5,13 9.2,11 11,10.5 9.2,10", fill: color, stroke: "none" }), _jsx("polygon", { points: "15,6 15.6,7.5 14,8 15.2,8.8 14.8,10 15.8,9 17,10 16.7,8.5 18,8 16.5,7.5", fill: color, stroke: "none" }), _jsx("polygon", { points: "16,14 16.6,15.5 15,16 16.2,16.8 15.8,18 16.8,17 18,18 17.7,16.5 19,16 17.5,15.5", fill: color, stroke: "none" })] }));
23
+ }
24
+ /** Up arrow with glow — buff. */
25
+ export function BuffUp({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polyline", { points: "6,14 12,4 18,14" }), _jsx("line", { x1: "12", y1: "4", x2: "12", y2: "22" }), _jsx("line", { x1: "4", y1: "18", x2: "8", y2: "14" }), _jsx("line", { x1: "20", y1: "18", x2: "16", y2: "14" })] }));
27
+ }
28
+ /** Down arrow — debuff. */
29
+ export function DebuffDown({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
30
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polyline", { points: "6,10 12,20 18,10" }), _jsx("line", { x1: "12", y1: "20", x2: "12", y2: "2" }), _jsx("line", { x1: "4", y1: "6", x2: "8", y2: "10" }), _jsx("line", { x1: "20", y1: "6", x2: "16", y2: "10" })] }));
31
+ }
32
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/game/status.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { JoydleIconProps } from '../types.js';
2
+ import type { JSX } from 'preact';
3
+ /** Exclamation diamond — quest marker. */
4
+ export declare function QuestMarker({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
5
+ /** Filled circle — minimap dot. */
6
+ export declare function MinimapDot({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
7
+ /** Flag marker — waypoint. */
8
+ export declare function Waypoint({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
9
+ /** Small skull — enemy marker. */
10
+ export declare function EnemySkull({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
11
+ /** Ornate crown — boss marker. */
12
+ export declare function BossCrown({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
13
+ /** Speech bubble — NPC. */
14
+ export declare function NpcBubble({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
15
+ /** Archway — door. */
16
+ export declare function Door({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
17
+ /** Swirling circle — portal. */
18
+ export declare function Portal({ size, color, fill, strokeWidth, glow, className, style }: JoydleIconProps): JSX.Element;
19
+ //# sourceMappingURL=ui-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-map.d.ts","sourceRoot":"","sources":["../../src/game/ui-map.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAQlC,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQvJ;AAED,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAOtJ;AAED,8BAA8B;AAC9B,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAOpJ;AAED,kCAAkC;AAClC,wBAAgB,UAAU,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAYtJ;AAED,kCAAkC;AAClC,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQrJ;AAED,2BAA2B;AAC3B,wBAAgB,SAAS,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CASrJ;AAED,sBAAsB;AACtB,wBAAgB,IAAI,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAQhJ;AAED,gCAAgC;AAChC,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,KAAsB,EAAE,IAAa,EAAE,WAAe,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAUlJ"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ function glowStyle(glow, color, style) {
3
+ if (!glow)
4
+ return style;
5
+ const gc = typeof glow === 'string' ? glow : color;
6
+ return { ...style, filter: `drop-shadow(0 0 4px ${gc})` };
7
+ }
8
+ /** Exclamation diamond — quest marker. */
9
+ export function QuestMarker({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
10
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("polygon", { points: "12,2 22,12 12,22 2,12" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "14" }), _jsx("circle", { cx: "12", cy: "17", r: "0.5", fill: color, stroke: "none" })] }));
11
+ }
12
+ /** Filled circle — minimap dot. */
13
+ export function MinimapDot({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
14
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "12", r: "4", fill: color }), _jsx("circle", { cx: "12", cy: "12", r: "8" })] }));
15
+ }
16
+ /** Flag marker — waypoint. */
17
+ export function Waypoint({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
18
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "22" }), _jsx("path", { d: "M6 3H18L14 8L18 13H6" })] }));
19
+ }
20
+ /** Small skull — enemy marker. */
21
+ export function EnemySkull({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
22
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("circle", { cx: "12", cy: "10", r: "8" }), _jsx("circle", { cx: "9", cy: "9", r: "2" }), _jsx("circle", { cx: "15", cy: "9", r: "2" }), _jsx("path", { d: "M8 18V22" }), _jsx("path", { d: "M12 18V22" }), _jsx("path", { d: "M16 18V22" }), _jsx("path", { d: "M9 14L12 16L15 14" })] }));
23
+ }
24
+ /** Ornate crown — boss marker. */
25
+ export function BossCrown({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
26
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M3 18L5 8L9 12L12 4L15 12L19 8L21 18H3Z" }), _jsx("line", { x1: "3", y1: "18", x2: "21", y2: "18" }), _jsx("rect", { x: "3", y: "18", width: "18", height: "3", rx: "1" })] }));
27
+ }
28
+ /** Speech bubble — NPC. */
29
+ export function NpcBubble({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
30
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M4 4H20C21 4 22 5 22 6V16C22 17 21 18 20 18H12L7 22V18H4C3 18 2 17 2 16V6C2 5 3 4 4 4Z" }), _jsx("circle", { cx: "8", cy: "11", r: "1", fill: color, stroke: "none" }), _jsx("circle", { cx: "12", cy: "11", r: "1", fill: color, stroke: "none" }), _jsx("circle", { cx: "16", cy: "11", r: "1", fill: color, stroke: "none" })] }));
31
+ }
32
+ /** Archway — door. */
33
+ export function Door({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
34
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("path", { d: "M5 22V6C5 3 8 2 12 2C16 2 19 3 19 6V22" }), _jsx("line", { x1: "3", y1: "22", x2: "21", y2: "22" }), _jsx("circle", { cx: "15", cy: "13", r: "1", fill: color, stroke: "none" })] }));
35
+ }
36
+ /** Swirling circle — portal. */
37
+ export function Portal({ size = 24, color = 'currentColor', fill = 'none', strokeWidth = 2, glow, className, style }) {
38
+ return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: fill, stroke: color, "stroke-width": strokeWidth, "stroke-linecap": "round", "stroke-linejoin": "round", class: className, style: glowStyle(glow, color, style), "aria-hidden": "true", children: [_jsx("ellipse", { cx: "12", cy: "12", rx: "9", ry: "9" }), _jsx("ellipse", { cx: "12", cy: "12", rx: "6", ry: "6" }), _jsx("ellipse", { cx: "12", cy: "12", rx: "3", ry: "3" }), _jsx("path", { d: "M12 3C16 5 16 9 12 12" }), _jsx("path", { d: "M12 21C8 19 8 15 12 12" })] }));
39
+ }
40
+ //# sourceMappingURL=ui-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-map.js","sourceRoot":"","sources":["../../src/game/ui-map.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type { JoydleIconProps, IconComponent, IconName, IconProp, LucideIconName, GameIconName, } from './types.js';
2
+ export { Icon, type IconWrapperProps } from './Icon.js';
3
+ export { resolveIcon } from './resolve.js';
4
+ export { ICON_REGISTRY } from './registry.js';
5
+ export { Heart, Shield, Star, Zap, Flame, Skull, Crown, Gem, Swords, Target, Trophy, Timer, Eye, Lock, Unlock, Pause, Play, Settings, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Volume2, VolumeX, RefreshCw, X, Check, Plus, Minus, Sun, Moon, Droplet, Wind, Menu, Rocket, Globe, Radio, } from './lucide.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,eAAe,EACf,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EACL,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAClE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EACvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EACzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAClD,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GACrD,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons — barrel export
3
+ // ---------------------------------------------------------------------------
4
+ // Universal wrapper
5
+ export { Icon } from './Icon.js';
6
+ // Resolve helper (for HUD component integration)
7
+ export { resolveIcon } from './resolve.js';
8
+ // Registry (for advanced use — string → component map)
9
+ export { ICON_REGISTRY } from './registry.js';
10
+ // Curated Lucide re-exports
11
+ export { Heart, Shield, Star, Zap, Flame, Skull, Crown, Gem, Swords, Target, Trophy, Timer, Eye, Lock, Unlock, Pause, Play, Settings, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Volume2, VolumeX, RefreshCw, X, Check, Plus, Minus, Sun, Moon, Droplet, Wind, Menu, Rocket, Globe, Radio, } from './lucide.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAY9E,oBAAoB;AACpB,OAAO,EAAE,IAAI,EAAyB,MAAM,WAAW,CAAC;AAExD,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,4BAA4B;AAC5B,OAAO,EACL,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAClE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EACvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EACzC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAClD,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GACrD,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Heart, Shield, Star, Zap, Flame, Skull, Crown, Gem, Swords, Target, Trophy, Timer, Eye, Lock, Unlock, Pause, Play, Settings, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Volume2, VolumeX, RefreshCw, X, Check, Plus, Minus, Sun, Moon, Droplet, Wind, Menu, Rocket, Globe, Radio, } from 'lucide-preact';
2
+ //# sourceMappingURL=lucide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucide.d.ts","sourceRoot":"","sources":["../src/lucide.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACT,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC"}
package/dist/lucide.js ADDED
@@ -0,0 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons — Curated Lucide re-exports for game UI
3
+ // ---------------------------------------------------------------------------
4
+ export { Heart, Shield, Star, Zap, Flame, Skull, Crown, Gem, Swords, Target, Trophy, Timer, Eye, Lock, Unlock, Pause, Play, Settings, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Volume2, VolumeX, RefreshCw, X, Check, Plus, Minus, Sun, Moon, Droplet, Wind, Menu, Rocket, Globe, Radio, } from 'lucide-preact';
5
+ //# sourceMappingURL=lucide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucide.js","sourceRoot":"","sources":["../src/lucide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,OAAO,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACT,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IconComponent, IconName } from './types.js';
2
+ export declare const ICON_REGISTRY: Record<IconName, IconComponent>;
3
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwC1D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAsGzD,CAAC"}
@@ -0,0 +1,117 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons — Icon registry (name → component)
3
+ //
4
+ // This map is used by the <Icon name="..." /> wrapper for string-based
5
+ // lookup. Importing this module loads ALL icons — use direct imports
6
+ // (e.g. `import { Heart } from '@joydle/icons'`) for tree-shaking.
7
+ // ---------------------------------------------------------------------------
8
+ // Lucide
9
+ import { Heart, Shield, Star, Zap, Flame, Skull, Crown, Gem, Swords, Target, Trophy, Timer, Eye, Lock, Unlock, Pause, Play, Settings, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Volume2, VolumeX, RefreshCw, X, Check, Plus, Minus, Sun, Moon, Droplet, Wind, Menu, Rocket, Globe, Radio, } from 'lucide-preact';
10
+ // Game icons
11
+ import { Sword, DualSwords, Axe, Bow, Wand, Dagger, Spear, Mace, } from './game/combat.js';
12
+ import { Potion, PotionHealth, PotionMana, Coin, CoinStack, Key, Chest, Scroll, Bomb, Mushroom, Crystal, Ring, Amulet, } from './game/items.js';
13
+ import { Helmet, Armor, Boot, Gauntlet, Quiver, } from './game/equipment.js';
14
+ import { ArrowProjectile, Fireball, IceShard, LightningBolt, MagicOrb, } from './game/projectiles.js';
15
+ import { Poison, Burn, Freeze, Stun, BuffUp, DebuffDown, } from './game/status.js';
16
+ import { QuestMarker, MinimapDot, Waypoint, EnemySkull, BossCrown, NpcBubble, Door, Portal, } from './game/ui-map.js';
17
+ import { Wood, Stone, GoldBar, Food, } from './game/resources.js';
18
+ // Cast helper — lucide-preact's type is broader than JoydleIconProps but
19
+ // compatible for the props we use (size, color, strokeWidth).
20
+ const L = (c) => c;
21
+ export const ICON_REGISTRY = {
22
+ // ---- Lucide ----
23
+ 'heart': L(Heart),
24
+ 'shield': L(Shield),
25
+ 'star': L(Star),
26
+ 'zap': L(Zap),
27
+ 'flame': L(Flame),
28
+ 'skull': L(Skull),
29
+ 'crown': L(Crown),
30
+ 'gem': L(Gem),
31
+ 'swords': L(Swords),
32
+ 'target': L(Target),
33
+ 'trophy': L(Trophy),
34
+ 'timer': L(Timer),
35
+ 'eye': L(Eye),
36
+ 'lock': L(Lock),
37
+ 'unlock': L(Unlock),
38
+ 'pause': L(Pause),
39
+ 'play': L(Play),
40
+ 'settings': L(Settings),
41
+ 'arrow-up': L(ArrowUp),
42
+ 'arrow-down': L(ArrowDown),
43
+ 'arrow-left': L(ArrowLeft),
44
+ 'arrow-right': L(ArrowRight),
45
+ 'volume-2': L(Volume2),
46
+ 'volume-x': L(VolumeX),
47
+ 'refresh-cw': L(RefreshCw),
48
+ 'x': L(X),
49
+ 'check': L(Check),
50
+ 'plus': L(Plus),
51
+ 'minus': L(Minus),
52
+ 'sun': L(Sun),
53
+ 'moon': L(Moon),
54
+ 'droplet': L(Droplet),
55
+ 'wind': L(Wind),
56
+ 'menu': L(Menu),
57
+ 'rocket': L(Rocket),
58
+ 'globe': L(Globe),
59
+ 'radio': L(Radio),
60
+ // ---- Game — Combat ----
61
+ 'sword': Sword,
62
+ 'dual-swords': DualSwords,
63
+ 'axe': Axe,
64
+ 'bow': Bow,
65
+ 'wand': Wand,
66
+ 'dagger': Dagger,
67
+ 'spear': Spear,
68
+ 'mace': Mace,
69
+ // ---- Game — Items ----
70
+ 'potion': Potion,
71
+ 'potion-health': PotionHealth,
72
+ 'potion-mana': PotionMana,
73
+ 'coin': Coin,
74
+ 'coin-stack': CoinStack,
75
+ 'key': Key,
76
+ 'chest': Chest,
77
+ 'scroll': Scroll,
78
+ 'bomb': Bomb,
79
+ 'mushroom': Mushroom,
80
+ 'crystal': Crystal,
81
+ 'ring': Ring,
82
+ 'amulet': Amulet,
83
+ // ---- Game — Equipment ----
84
+ 'helmet': Helmet,
85
+ 'armor': Armor,
86
+ 'boot': Boot,
87
+ 'gauntlet': Gauntlet,
88
+ 'quiver': Quiver,
89
+ // ---- Game — Projectiles ----
90
+ 'arrow-projectile': ArrowProjectile,
91
+ 'fireball': Fireball,
92
+ 'ice-shard': IceShard,
93
+ 'lightning-bolt': LightningBolt,
94
+ 'magic-orb': MagicOrb,
95
+ // ---- Game — Status Effects ----
96
+ 'poison': Poison,
97
+ 'burn': Burn,
98
+ 'freeze': Freeze,
99
+ 'stun': Stun,
100
+ 'buff-up': BuffUp,
101
+ 'debuff-down': DebuffDown,
102
+ // ---- Game — UI / Map ----
103
+ 'quest-marker': QuestMarker,
104
+ 'minimap-dot': MinimapDot,
105
+ 'waypoint': Waypoint,
106
+ 'enemy-skull': EnemySkull,
107
+ 'boss-crown': BossCrown,
108
+ 'npc-bubble': NpcBubble,
109
+ 'door': Door,
110
+ 'portal': Portal,
111
+ // ---- Game — Resources ----
112
+ 'wood': Wood,
113
+ 'stone': Stone,
114
+ 'gold-bar': GoldBar,
115
+ 'food': Food,
116
+ };
117
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { IconComponent, IconProp } from './types.js';
2
+ /**
3
+ * Resolves an `IconProp` (component reference or string name) to an
4
+ * `IconComponent`, or `null` if the name is unknown.
5
+ *
6
+ * ```ts
7
+ * const Comp = resolveIcon('heart'); // → Heart component
8
+ * const Comp = resolveIcon(Heart); // → Heart component (pass-through)
9
+ * const Comp = resolveIcon('nope'); // → null
10
+ * ```
11
+ */
12
+ export declare function resolveIcon(icon: IconProp | undefined): IconComponent | null;
13
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAGpE;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,CAI5E"}
@@ -0,0 +1,22 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons — Resolve an IconProp to a renderable component
3
+ // ---------------------------------------------------------------------------
4
+ import { ICON_REGISTRY } from './registry.js';
5
+ /**
6
+ * Resolves an `IconProp` (component reference or string name) to an
7
+ * `IconComponent`, or `null` if the name is unknown.
8
+ *
9
+ * ```ts
10
+ * const Comp = resolveIcon('heart'); // → Heart component
11
+ * const Comp = resolveIcon(Heart); // → Heart component (pass-through)
12
+ * const Comp = resolveIcon('nope'); // → null
13
+ * ```
14
+ */
15
+ export function resolveIcon(icon) {
16
+ if (!icon)
17
+ return null;
18
+ if (typeof icon === 'function')
19
+ return icon;
20
+ return ICON_REGISTRY[icon] ?? null;
21
+ }
22
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,IAA0B;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAqB,CAAC;IAC7D,OAAO,aAAa,CAAC,IAAgB,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { JSX } from 'preact';
2
+ export interface JoydleIconProps {
3
+ /** Icon size in pixels (width & height). Default: 24 */
4
+ size?: number;
5
+ /** Stroke color. CSS value or theme variable. Default: 'currentColor' */
6
+ color?: string;
7
+ /** Fill color for solid variant. Default: 'none' */
8
+ fill?: string;
9
+ /** Stroke width. Default: 2 */
10
+ strokeWidth?: number;
11
+ /** CSS drop-shadow glow. `true` uses `color`, string overrides glow color. */
12
+ glow?: boolean | string;
13
+ /** Additional CSS class name. */
14
+ className?: string;
15
+ /** Inline style overrides. */
16
+ style?: JSX.CSSProperties;
17
+ }
18
+ /** A function component that accepts JoydleIconProps. */
19
+ export type IconComponent = (props: JoydleIconProps) => JSX.Element;
20
+ /** Names of re-exported Lucide icons. */
21
+ export type LucideIconName = 'heart' | 'shield' | 'star' | 'zap' | 'flame' | 'skull' | 'crown' | 'gem' | 'swords' | 'target' | 'trophy' | 'timer' | 'eye' | 'lock' | 'unlock' | 'pause' | 'play' | 'settings' | 'arrow-up' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'volume-2' | 'volume-x' | 'refresh-cw' | 'x' | 'check' | 'plus' | 'minus' | 'sun' | 'moon' | 'droplet' | 'wind' | 'menu' | 'rocket' | 'globe' | 'radio';
22
+ /** Names of custom game icons. */
23
+ export type GameIconName = 'sword' | 'dual-swords' | 'axe' | 'bow' | 'wand' | 'dagger' | 'spear' | 'mace' | 'potion' | 'potion-health' | 'potion-mana' | 'coin' | 'coin-stack' | 'key' | 'chest' | 'scroll' | 'bomb' | 'mushroom' | 'crystal' | 'ring' | 'amulet' | 'helmet' | 'armor' | 'boot' | 'gauntlet' | 'quiver' | 'arrow-projectile' | 'fireball' | 'ice-shard' | 'lightning-bolt' | 'magic-orb' | 'poison' | 'burn' | 'freeze' | 'stun' | 'buff-up' | 'debuff-down' | 'quest-marker' | 'minimap-dot' | 'waypoint' | 'enemy-skull' | 'boss-crown' | 'npc-bubble' | 'door' | 'portal' | 'wood' | 'stone' | 'gold-bar' | 'food';
24
+ /** Any valid icon name for the <Icon name="..." /> wrapper. */
25
+ export type IconName = LucideIconName | GameIconName;
26
+ /** Accepts either a component reference or a string name. */
27
+ export type IconProp = IconComponent | IconName;
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAIlC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AAID,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,GAAG,CAAC,OAAO,CAAC;AAIpE,yCAAyC;AACzC,MAAM,MAAM,cAAc,GACtB,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAC7C,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAC/C,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAC9C,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GACzD,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GACtD,YAAY,GAAG,GAAG,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAC/C,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAC5C,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjC,kCAAkC;AAClC,MAAM,MAAM,YAAY,GAEpB,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAChD,QAAQ,GAAG,OAAO,GAAG,MAAM,GAE3B,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAClE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAC5D,MAAM,GAAG,QAAQ,GAEjB,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAEnD,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAE9E,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAEjE,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,GAC3D,YAAY,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAE/C,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAC;AAErD,6DAA6D;AAC7D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // @joydle/icons — Core type definitions
3
+ // ---------------------------------------------------------------------------
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@joydle/icons",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./game": {
13
+ "types": "./dist/game/index.d.ts",
14
+ "import": "./dist/game/index.js"
15
+ }
16
+ },
17
+ "files": ["dist"],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "typecheck": "tsc --noEmit",
21
+ "clean": "rm -rf dist"
22
+ },
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "license": "MIT",
27
+ "author": "Joydle <contact@joydle.dev>",
28
+ "homepage": "https://joydle.dev",
29
+ "dependencies": {
30
+ "lucide-preact": "^0.474.0"
31
+ },
32
+ "peerDependencies": {
33
+ "preact": "^10.19"
34
+ },
35
+ "devDependencies": {
36
+ "preact": "^10.19.0",
37
+ "typescript": "^5.4.0"
38
+ }
39
+ }