hudini 0.3.0 → 0.4.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.
@@ -9,13 +9,18 @@ export type IconButtonParams = {
9
9
  size?: FontSizeKey | number;
10
10
  color?: Omit<ColorKey, 'black' | 'white'>;
11
11
  onClick?: () => void;
12
+ shape?: 'circle' | 'square';
12
13
  };
13
14
  export declare class IconButton extends GameObjects.Container {
14
15
  backgroundSprite: GameObjects.Sprite;
15
16
  shadowSprite: GameObjects.Sprite;
16
17
  iconText: IconText;
17
18
  private pw;
18
- constructor({ scene, x, y, icon, size, color, onClick }: IconButtonParams);
19
+ private shape;
20
+ private baseColor;
21
+ private sizePx;
22
+ constructor({ scene, x, y, icon, size, color, onClick, shape }: IconButtonParams);
23
+ setShape(shape: 'circle' | 'square'): this;
19
24
  private createShadowSprite;
20
25
  private createShadowTexture;
21
26
  private createBackgroundSprite;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAkBF,qBAAa,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,YAAY,EAAG,WAAW,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAuB;gBAErB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,gBAAgB;IAiBzE,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;CAwC3B"}
1
+ {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC7B,CAAC;AAmBF,qBAAa,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,YAAY,EAAG,WAAW,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,MAAM,CAAU;gBAEZ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB;IAoBzE,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAsBjD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,uBAAuB;IA+C/B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;CAwC3B"}
@@ -16,58 +16,102 @@ const HOVER_SCALE = 1.07;
16
16
  const CLICK_OFFSET = 2;
17
17
  const MAIN_OVERLAY_SCALE = 0.9;
18
18
  const INNER_OVERLAY_SCALE = 0.7;
19
+ const SQUARE_RADIUS_RATIO = 0.25; // smooth corner radius proportion for square
19
20
  export class IconButton extends GameObjects.Container {
20
21
  backgroundSprite;
21
22
  shadowSprite;
22
23
  iconText;
23
24
  pw;
24
- constructor({ scene, x, y, icon, size, color, onClick }) {
25
+ shape = 'circle';
26
+ baseColor;
27
+ sizePx;
28
+ constructor({ scene, x, y, icon, size, color, onClick, shape }) {
25
29
  super(scene, x, y);
26
30
  this.pw = getPWFromScene(scene);
31
+ this.shape = shape ?? 'circle';
27
32
  const sizePx = typeof size === 'number'
28
33
  ? size
29
34
  : this.pw.fontSize.px(size ?? 'md');
30
35
  const baseColor = color ?? 'gray';
31
- this.createShadowSprite(scene, sizePx, baseColor);
32
- this.createBackgroundSprite(scene, sizePx, baseColor);
36
+ this.sizePx = sizePx;
37
+ this.baseColor = baseColor;
38
+ this.createShadowSprite(scene, sizePx, baseColor, this.shape);
39
+ this.createBackgroundSprite(scene, sizePx, baseColor, this.shape);
33
40
  this.createIconText(scene, icon, sizePx, baseColor);
34
41
  this.setupContainer();
35
42
  this.setupInteractivity(onClick);
36
43
  }
37
- createShadowSprite(scene, size, baseColor) {
38
- const shadowTexture = this.createShadowTexture(scene, size, baseColor);
44
+ setShape(shape) {
45
+ if (this.shape === shape)
46
+ return this;
47
+ this.shape = shape;
48
+ // Regenerate textures for background and shadow
49
+ const shadowTexture = this.createShadowTexture(this.scene, this.sizePx, this.baseColor, this.shape);
50
+ const backgroundTexture = this.createBackgroundTexture(this.scene, this.sizePx, this.baseColor, this.shape);
51
+ this.shadowSprite.setTexture(shadowTexture);
52
+ this.backgroundSprite.setTexture(backgroundTexture);
53
+ return this;
54
+ }
55
+ createShadowSprite(scene, size, baseColor, shape) {
56
+ const shadowTexture = this.createShadowTexture(scene, size, baseColor, shape);
39
57
  this.shadowSprite = scene.add.sprite(1, SHADOW_OFFSET, shadowTexture);
40
58
  this.shadowSprite.setOrigin(0.5, 0.5);
41
59
  }
42
- createShadowTexture(scene, size, baseColor) {
43
- const textureKey = `iconButton_shadow_${baseColor}_${size}`;
60
+ createShadowTexture(scene, size, baseColor, shape) {
61
+ const textureKey = `iconButton_shadow_${shape}_${baseColor}_${size}`;
44
62
  const textureSize = size * BUTTON_SCALE;
45
63
  const centerX = size * CENTER_OFFSET;
46
64
  const centerY = size * CENTER_OFFSET;
47
65
  const graphics = scene.add.graphics();
48
- graphics.fillStyle(Color.hex('black'), SHADOW_OPACITY);
49
- graphics.fillCircle(centerX + 1, centerY, size * CENTER_OFFSET);
50
- graphics.fillStyle(Color.hex(`${baseColor}-900`), MAIN_SHADOW_OPACITY);
51
- graphics.fillCircle(centerX, centerY - CLICK_OFFSET, size);
66
+ if (shape === 'circle') {
67
+ graphics.fillStyle(Color.hex('black'), SHADOW_OPACITY);
68
+ graphics.fillCircle(centerX + 1, centerY, size * CENTER_OFFSET);
69
+ graphics.fillStyle(Color.hex(`${baseColor}-900`), MAIN_SHADOW_OPACITY);
70
+ graphics.fillCircle(centerX, centerY - CLICK_OFFSET, size);
71
+ }
72
+ else {
73
+ // square with smooth border radius
74
+ const sideOuter = size * 2 * CENTER_OFFSET;
75
+ const side = size * 2;
76
+ const radiusOuter = sideOuter * SQUARE_RADIUS_RATIO;
77
+ const radius = side * SQUARE_RADIUS_RATIO;
78
+ graphics.fillStyle(Color.hex('black'), SHADOW_OPACITY);
79
+ graphics.fillRoundedRect(centerX + 1 - sideOuter / 2, centerY - sideOuter / 2, sideOuter, sideOuter, radiusOuter);
80
+ graphics.fillStyle(Color.hex(`${baseColor}-900`), MAIN_SHADOW_OPACITY);
81
+ graphics.fillRoundedRect(centerX - side / 2, centerY - CLICK_OFFSET - side / 2, side, side, radius);
82
+ }
52
83
  graphics.generateTexture(textureKey, textureSize, textureSize);
53
84
  graphics.destroy();
54
85
  return textureKey;
55
86
  }
56
- createBackgroundSprite(scene, size, baseColor) {
57
- const backgroundTexture = this.createBackgroundTexture(scene, size, baseColor);
87
+ createBackgroundSprite(scene, size, baseColor, shape) {
88
+ const backgroundTexture = this.createBackgroundTexture(scene, size, baseColor, shape);
58
89
  this.backgroundSprite = scene.add.sprite(1, 0, backgroundTexture);
59
90
  this.backgroundSprite.setOrigin(0.5, 0.5);
60
91
  }
61
- createBackgroundTexture(scene, size, baseColor) {
62
- const textureKey = `iconButton_${baseColor}_${size}`;
92
+ createBackgroundTexture(scene, size, baseColor, shape) {
93
+ const textureKey = `iconButton_${shape}_${baseColor}_${size}`;
63
94
  const textureSize = size * BUTTON_SCALE;
64
95
  const centerX = size * CENTER_OFFSET;
65
96
  const centerY = size * CENTER_OFFSET;
66
97
  const graphics = scene.add.graphics();
67
- graphics.fillStyle(Color.hex(`${baseColor}-600`), 1);
68
- graphics.fillCircle(centerX, centerY, size * MAIN_OVERLAY_SCALE);
69
- graphics.fillStyle(Color.hex(`${baseColor}-500`), INNER_OVERLAY_OPACITY);
70
- graphics.fillCircle(centerX, centerY, size * INNER_OVERLAY_SCALE);
98
+ if (shape === 'circle') {
99
+ graphics.fillStyle(Color.hex(`${baseColor}-600`), 1);
100
+ graphics.fillCircle(centerX, centerY, size * MAIN_OVERLAY_SCALE);
101
+ graphics.fillStyle(Color.hex(`${baseColor}-500`), INNER_OVERLAY_OPACITY);
102
+ graphics.fillCircle(centerX, centerY, size * INNER_OVERLAY_SCALE);
103
+ }
104
+ else {
105
+ const side = size * 2;
106
+ const mainSide = side * MAIN_OVERLAY_SCALE;
107
+ const innerSide = side * INNER_OVERLAY_SCALE;
108
+ const mainRadius = mainSide * SQUARE_RADIUS_RATIO;
109
+ const innerRadius = innerSide * SQUARE_RADIUS_RATIO;
110
+ graphics.fillStyle(Color.hex(`${baseColor}-600`), 1);
111
+ graphics.fillRoundedRect(centerX - mainSide / 2, centerY - mainSide / 2, mainSide, mainSide, mainRadius);
112
+ graphics.fillStyle(Color.hex(`${baseColor}-500`), INNER_OVERLAY_OPACITY);
113
+ graphics.fillRoundedRect(centerX - innerSide / 2, centerY - innerSide / 2, innerSide, innerSide, innerRadius);
114
+ }
71
115
  graphics.generateTexture(textureKey, textureSize, textureSize);
72
116
  graphics.destroy();
73
117
  return textureKey;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hudini",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "🎩 Magical Phaser UI components - Reusable HUD elements for game development. Is magic, like a wizard",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "@eslint-recommended/eslint-config": "^28.0.0",
42
42
  "@types/node": "^24.3.0",
43
43
  "@typescript-eslint/eslint-plugin": "^8.40.0",
44
- "@typescript-eslint/parser": "^7.0.0",
44
+ "@typescript-eslint/parser": "^8.40.0",
45
45
  "eslint": "^8.55.0",
46
46
  "eslint-config-prettier": "^10.1.8",
47
47
  "eslint-import-resolver-typescript": "^3.6.1",