hudini 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/card/card.d.ts +103 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +208 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.spec.d.ts +2 -0
- package/dist/components/card/card.spec.d.ts.map +1 -0
- package/dist/components/card/card.spec.js +157 -0
- package/dist/components/card/card.spec.js.map +1 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { GameObjects, Scene } from 'phaser';
|
|
2
|
+
import { type ColorKey, type RadiusKey, type SpacingKey } from 'phaser-wind';
|
|
3
|
+
export type CardParams = {
|
|
4
|
+
/** The Phaser scene to add the card to */
|
|
5
|
+
scene: Scene;
|
|
6
|
+
/** X position of the card */
|
|
7
|
+
x: number;
|
|
8
|
+
/** Y position of the card */
|
|
9
|
+
y: number;
|
|
10
|
+
/** Background color of the card. Defaults to 'white'. */
|
|
11
|
+
backgroundColor?: ColorKey | string;
|
|
12
|
+
/** Border radius in px (number) or a Phaser Wind radius token (string). Defaults to 'md'. */
|
|
13
|
+
borderRadius?: RadiusKey | number;
|
|
14
|
+
/** Margin/padding in px (number) or a Phaser Wind spacing token (string). Defaults to '4'. */
|
|
15
|
+
margin?: SpacingKey | number;
|
|
16
|
+
/** Child component to be contained within the card */
|
|
17
|
+
child: GameObjects.GameObject;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A flexible card component that adapts to its child content size
|
|
21
|
+
*/
|
|
22
|
+
export declare class Card extends GameObjects.Container {
|
|
23
|
+
/** The background graphics of the card */
|
|
24
|
+
backgroundGraphics: GameObjects.Graphics;
|
|
25
|
+
/** The child component contained within the card */
|
|
26
|
+
child: GameObjects.GameObject;
|
|
27
|
+
/** Reference to the PhaserWind plugin */
|
|
28
|
+
private pw;
|
|
29
|
+
/** Margin size in pixels */
|
|
30
|
+
private marginPx;
|
|
31
|
+
/** Border radius in pixels */
|
|
32
|
+
private borderRadiusPx;
|
|
33
|
+
/** Background color value */
|
|
34
|
+
private backgroundColorValue;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new Card
|
|
37
|
+
* @param params Configuration parameters for the card
|
|
38
|
+
*/
|
|
39
|
+
constructor({ scene, x, y, backgroundColor, borderRadius, margin, child, }: CardParams);
|
|
40
|
+
/**
|
|
41
|
+
* Sets the background color of the card
|
|
42
|
+
* @param color Background color token or string
|
|
43
|
+
* @returns this for chaining
|
|
44
|
+
*/
|
|
45
|
+
setBackgroundColor(color: ColorKey | string): this;
|
|
46
|
+
/**
|
|
47
|
+
* Sets the border radius of the card
|
|
48
|
+
* @param borderRadius Border radius (number in px or RadiusKey)
|
|
49
|
+
* @returns this for chaining
|
|
50
|
+
*/
|
|
51
|
+
setBorderRadius(borderRadius: RadiusKey | number): this;
|
|
52
|
+
/**
|
|
53
|
+
* Sets the margin/padding of the card
|
|
54
|
+
* @param margin Margin size (number in px or SpacingKey)
|
|
55
|
+
* @returns this for chaining
|
|
56
|
+
*/
|
|
57
|
+
setMargin(margin: SpacingKey | number): this;
|
|
58
|
+
/**
|
|
59
|
+
* Sets a new child component for the card
|
|
60
|
+
* @param child New child component
|
|
61
|
+
* @returns this for chaining
|
|
62
|
+
*/
|
|
63
|
+
setChild(child: GameObjects.GameObject): this;
|
|
64
|
+
/**
|
|
65
|
+
* Creates the background graphics for the card
|
|
66
|
+
* @param scene The scene to add the graphics to
|
|
67
|
+
*/
|
|
68
|
+
private createBackgroundGraphics;
|
|
69
|
+
/**
|
|
70
|
+
* Sets up the container with background and child
|
|
71
|
+
*/
|
|
72
|
+
private setupContainer;
|
|
73
|
+
/**
|
|
74
|
+
* Updates the layout after property changes
|
|
75
|
+
*/
|
|
76
|
+
private updateLayout;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the child's origin if it exists
|
|
79
|
+
* @returns Object with x and y origin values, or null if not available
|
|
80
|
+
*/
|
|
81
|
+
private getChildOrigin;
|
|
82
|
+
/**
|
|
83
|
+
* Calculates the X position for the child considering its origin
|
|
84
|
+
* @param cardWidth Total width of the card
|
|
85
|
+
* @param childWidth Width of the child
|
|
86
|
+
* @param childOrigin Origin of the child (null if not available)
|
|
87
|
+
* @returns X position for the child
|
|
88
|
+
*/
|
|
89
|
+
private calculateChildX;
|
|
90
|
+
/**
|
|
91
|
+
* Calculates the Y position for the child considering its origin
|
|
92
|
+
* @param cardHeight Total height of the card
|
|
93
|
+
* @param childHeight Height of the child
|
|
94
|
+
* @param childOrigin Origin of the child (null if not available)
|
|
95
|
+
* @returns Y position for the child
|
|
96
|
+
*/
|
|
97
|
+
private calculateChildY;
|
|
98
|
+
/**
|
|
99
|
+
* Draws the background graphics
|
|
100
|
+
*/
|
|
101
|
+
private drawBackground;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGH,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,EAClB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,UAAU,GAAG;IACrB,0CAA0C;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,6BAA6B;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,6BAA6B;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,yDAAyD;IACzD,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACpC,6FAA6F;IAC7F,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,8FAA8F;IAC9F,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,qBAAa,IAAK,SAAQ,WAAW,CAAC,SAAS;IAC3C,0CAA0C;IACnC,kBAAkB,EAAG,WAAW,CAAC,QAAQ,CAAC;IACjD,oDAAoD;IAC7C,KAAK,EAAG,WAAW,CAAC,UAAU,CAAC;IAEtC,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAuB;IACjC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,8BAA8B;IAC9B,OAAO,CAAC,cAAc,CAAU;IAChC,6BAA6B;IAC7B,OAAO,CAAC,oBAAoB,CAAU;IAEtC;;;OAGG;gBACS,EACR,KAAK,EACL,CAAC,EACD,CAAC,EACD,eAAyB,EACzB,YAAmB,EACnB,MAAY,EACZ,KAAK,GACR,EAAE,UAAU;IAuBb;;;;OAIG;IACI,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAMzD;;;;OAIG;IACI,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAS9D;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IASnD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,GAAG,IAAI;IAapD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,cAAc;CAoBzB"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { GameObjects } from 'phaser';
|
|
2
|
+
import { Color, } from 'phaser-wind';
|
|
3
|
+
import { getPWFromScene } from '../../utils/get-pw-from-scene';
|
|
4
|
+
/**
|
|
5
|
+
* A flexible card component that adapts to its child content size
|
|
6
|
+
*/
|
|
7
|
+
export class Card extends GameObjects.Container {
|
|
8
|
+
/** The background graphics of the card */
|
|
9
|
+
backgroundGraphics;
|
|
10
|
+
/** The child component contained within the card */
|
|
11
|
+
child;
|
|
12
|
+
/** Reference to the PhaserWind plugin */
|
|
13
|
+
pw;
|
|
14
|
+
/** Margin size in pixels */
|
|
15
|
+
marginPx;
|
|
16
|
+
/** Border radius in pixels */
|
|
17
|
+
borderRadiusPx;
|
|
18
|
+
/** Background color value */
|
|
19
|
+
backgroundColorValue;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new Card
|
|
22
|
+
* @param params Configuration parameters for the card
|
|
23
|
+
*/
|
|
24
|
+
constructor({ scene, x, y, backgroundColor = 'white', borderRadius = 'md', margin = '4', child, }) {
|
|
25
|
+
super(scene, x, y);
|
|
26
|
+
this.pw = getPWFromScene(scene);
|
|
27
|
+
// Store values
|
|
28
|
+
this.marginPx =
|
|
29
|
+
typeof margin === 'number'
|
|
30
|
+
? margin
|
|
31
|
+
: this.pw.spacing.px(margin ?? '4');
|
|
32
|
+
this.borderRadiusPx =
|
|
33
|
+
typeof borderRadius === 'number'
|
|
34
|
+
? borderRadius
|
|
35
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
36
|
+
this.backgroundColorValue = Color.rgb(backgroundColor);
|
|
37
|
+
// Store child reference
|
|
38
|
+
this.child = child;
|
|
39
|
+
// Create background and setup container
|
|
40
|
+
this.createBackgroundGraphics(scene);
|
|
41
|
+
this.setupContainer();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Sets the background color of the card
|
|
45
|
+
* @param color Background color token or string
|
|
46
|
+
* @returns this for chaining
|
|
47
|
+
*/
|
|
48
|
+
setBackgroundColor(color) {
|
|
49
|
+
this.backgroundColorValue = Color.rgb(color);
|
|
50
|
+
this.drawBackground();
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Sets the border radius of the card
|
|
55
|
+
* @param borderRadius Border radius (number in px or RadiusKey)
|
|
56
|
+
* @returns this for chaining
|
|
57
|
+
*/
|
|
58
|
+
setBorderRadius(borderRadius) {
|
|
59
|
+
this.borderRadiusPx =
|
|
60
|
+
typeof borderRadius === 'number'
|
|
61
|
+
? borderRadius
|
|
62
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
63
|
+
this.drawBackground();
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Sets the margin/padding of the card
|
|
68
|
+
* @param margin Margin size (number in px or SpacingKey)
|
|
69
|
+
* @returns this for chaining
|
|
70
|
+
*/
|
|
71
|
+
setMargin(margin) {
|
|
72
|
+
this.marginPx =
|
|
73
|
+
typeof margin === 'number'
|
|
74
|
+
? margin
|
|
75
|
+
: this.pw.spacing.px(margin ?? '4');
|
|
76
|
+
this.updateLayout();
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Sets a new child component for the card
|
|
81
|
+
* @param child New child component
|
|
82
|
+
* @returns this for chaining
|
|
83
|
+
*/
|
|
84
|
+
setChild(child) {
|
|
85
|
+
// Remove old child
|
|
86
|
+
this.remove(this.child);
|
|
87
|
+
// Set new child
|
|
88
|
+
this.child = child;
|
|
89
|
+
// Update layout
|
|
90
|
+
this.updateLayout();
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Creates the background graphics for the card
|
|
95
|
+
* @param scene The scene to add the graphics to
|
|
96
|
+
*/
|
|
97
|
+
createBackgroundGraphics(scene) {
|
|
98
|
+
this.backgroundGraphics = scene.add.graphics();
|
|
99
|
+
this.drawBackground();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sets up the container with background and child
|
|
103
|
+
*/
|
|
104
|
+
setupContainer() {
|
|
105
|
+
this.add([this.backgroundGraphics, this.child]);
|
|
106
|
+
this.updateLayout();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Updates the layout after property changes
|
|
110
|
+
*/
|
|
111
|
+
updateLayout() {
|
|
112
|
+
// Get child bounds using type assertion
|
|
113
|
+
const childBounds = this.child.getBounds();
|
|
114
|
+
// Calculate card dimensions with margin
|
|
115
|
+
const cardWidth = childBounds.width + this.marginPx * 2;
|
|
116
|
+
const cardHeight = childBounds.height + this.marginPx * 2;
|
|
117
|
+
// Check if child has origin property and get its current origin
|
|
118
|
+
const childOrigin = this.getChildOrigin();
|
|
119
|
+
// Calculate child position considering its origin
|
|
120
|
+
const childX = this.calculateChildX(cardWidth, childBounds.width, childOrigin);
|
|
121
|
+
const childY = this.calculateChildY(cardHeight, childBounds.height, childOrigin);
|
|
122
|
+
// Position child in the center of the card
|
|
123
|
+
this.child.setPosition(childX, childY);
|
|
124
|
+
// Redraw background with new dimensions
|
|
125
|
+
this.drawBackground();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Gets the child's origin if it exists
|
|
129
|
+
* @returns Object with x and y origin values, or null if not available
|
|
130
|
+
*/
|
|
131
|
+
getChildOrigin() {
|
|
132
|
+
// Check if child has origin property
|
|
133
|
+
if ('originX' in this.child && 'originY' in this.child) {
|
|
134
|
+
return {
|
|
135
|
+
x: this.child.originX,
|
|
136
|
+
y: this.child.originY
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// Check if child has getOrigin method
|
|
140
|
+
if (typeof this.child.getOrigin === 'function') {
|
|
141
|
+
const origin = this.child.getOrigin();
|
|
142
|
+
if (origin && typeof origin.x === 'number' && typeof origin.y === 'number') {
|
|
143
|
+
return { x: origin.x, y: origin.y };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Calculates the X position for the child considering its origin
|
|
150
|
+
* @param cardWidth Total width of the card
|
|
151
|
+
* @param childWidth Width of the child
|
|
152
|
+
* @param childOrigin Origin of the child (null if not available)
|
|
153
|
+
* @returns X position for the child
|
|
154
|
+
*/
|
|
155
|
+
calculateChildX(cardWidth, childWidth, childOrigin) {
|
|
156
|
+
if (childOrigin) {
|
|
157
|
+
// Consider child's origin for centering
|
|
158
|
+
// If child origin is 0.5 (center), we need to offset by half the child width
|
|
159
|
+
// If child origin is 0 (left), we need to offset by the full child width
|
|
160
|
+
const originOffsetX = childWidth * childOrigin.x;
|
|
161
|
+
return -cardWidth / 2 + this.marginPx + originOffsetX;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// Fallback to default centering (assumes child origin is center)
|
|
165
|
+
return -cardWidth / 2 + this.marginPx;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Calculates the Y position for the child considering its origin
|
|
170
|
+
* @param cardHeight Total height of the card
|
|
171
|
+
* @param childHeight Height of the child
|
|
172
|
+
* @param childOrigin Origin of the child (null if not available)
|
|
173
|
+
* @returns Y position for the child
|
|
174
|
+
*/
|
|
175
|
+
calculateChildY(cardHeight, childHeight, childOrigin) {
|
|
176
|
+
if (childOrigin) {
|
|
177
|
+
// Consider child's origin for centering
|
|
178
|
+
// If child origin is 0.5 (center), we need to offset by half the child height
|
|
179
|
+
// If child origin is 0 (top), we need to offset by the full child height
|
|
180
|
+
const originOffsetY = childHeight * childOrigin.y;
|
|
181
|
+
return -cardHeight / 2 + this.marginPx + originOffsetY;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// Fallback to default centering (assumes child origin is center)
|
|
185
|
+
return -cardHeight / 2 + this.marginPx;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Draws the background graphics
|
|
190
|
+
*/
|
|
191
|
+
drawBackground() {
|
|
192
|
+
// Get child bounds for current dimensions
|
|
193
|
+
const childBounds = this.child.getBounds();
|
|
194
|
+
const width = childBounds.width + this.marginPx * 2;
|
|
195
|
+
const height = childBounds.height + this.marginPx * 2;
|
|
196
|
+
this.backgroundGraphics.clear();
|
|
197
|
+
// Limit radius to maximum possible for the card dimensions
|
|
198
|
+
const maxRadius = Math.min(width / 2, height / 2);
|
|
199
|
+
const effectiveRadius = Math.min(this.borderRadiusPx, maxRadius);
|
|
200
|
+
// Since Graphics doesn't have setOrigin, we need to calculate the offset manually
|
|
201
|
+
const bgX = -width / 2;
|
|
202
|
+
const bgY = -height / 2;
|
|
203
|
+
// Draw background
|
|
204
|
+
this.backgroundGraphics.fillStyle(Color.hex(this.backgroundColorValue), 1);
|
|
205
|
+
this.backgroundGraphics.fillRoundedRect(bgX, bgY, width, height, effectiveRadius);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.spec.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
/* eslint-disable max-lines-per-function */
|
|
3
|
+
import { Scene } from 'phaser';
|
|
4
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
5
|
+
// Mock phaser-wind
|
|
6
|
+
vi.mock('phaser-wind', () => ({
|
|
7
|
+
Color: {
|
|
8
|
+
rgb: vi.fn((color) => `rgb-${color}`),
|
|
9
|
+
hex: vi.fn((color) => `hex-${color}`),
|
|
10
|
+
},
|
|
11
|
+
}));
|
|
12
|
+
// Mock the getPWFromScene utility
|
|
13
|
+
vi.mock('../../utils/get-pw-from-scene', () => ({
|
|
14
|
+
getPWFromScene: vi.fn(() => ({
|
|
15
|
+
spacing: {
|
|
16
|
+
px: vi.fn((spacing) => {
|
|
17
|
+
const spacings = { xs: 4, sm: 8, md: 12, lg: 16, xl: 20 };
|
|
18
|
+
return spacings[spacing] || 16;
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
radius: {
|
|
22
|
+
px: vi.fn((radius) => {
|
|
23
|
+
const radiuses = { none: 0, sm: 4, md: 8, lg: 12, xl: 16, full: 9999 };
|
|
24
|
+
return radiuses[radius] || 8;
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
})),
|
|
28
|
+
}));
|
|
29
|
+
// Mock Phaser
|
|
30
|
+
vi.mock('phaser', () => {
|
|
31
|
+
class MockText {
|
|
32
|
+
text;
|
|
33
|
+
style;
|
|
34
|
+
constructor(_x, _y, text, style = {}) {
|
|
35
|
+
this.text = text;
|
|
36
|
+
this.style = { fontSize: '18px', ...style };
|
|
37
|
+
}
|
|
38
|
+
setText(text) {
|
|
39
|
+
this.text = text;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
setPosition() {
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
getBounds() {
|
|
46
|
+
const charWidth = 10;
|
|
47
|
+
const lineHeight = parseInt(this.style['fontSize']) ?? 18;
|
|
48
|
+
return {
|
|
49
|
+
width: this.text.length * charWidth,
|
|
50
|
+
height: lineHeight,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
class MockGraphics {
|
|
55
|
+
clear() {
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
fillStyle() {
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
fillRoundedRect() {
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
class Container {
|
|
66
|
+
// eslint-disable-next-line no-unused-vars
|
|
67
|
+
constructor(_scene, _x, _y) { }
|
|
68
|
+
add() {
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
remove() {
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
class Scene {
|
|
76
|
+
add = {
|
|
77
|
+
text: vi.fn((x, y, text, style) => new MockText(x, y, text, style)),
|
|
78
|
+
graphics: vi.fn(() => new MockGraphics()),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
class BasePlugin {
|
|
82
|
+
constructor() { }
|
|
83
|
+
}
|
|
84
|
+
const GameObjects = { Container };
|
|
85
|
+
const Plugins = { BasePlugin };
|
|
86
|
+
return { GameObjects, Scene, Plugins };
|
|
87
|
+
});
|
|
88
|
+
import { Card } from './card';
|
|
89
|
+
describe('Card', () => {
|
|
90
|
+
it('should create a Card instance', () => {
|
|
91
|
+
const scene = new Scene();
|
|
92
|
+
const child = scene.add.text(0, 0, 'Test Content');
|
|
93
|
+
const card = new Card({
|
|
94
|
+
scene,
|
|
95
|
+
x: 100,
|
|
96
|
+
y: 100,
|
|
97
|
+
child,
|
|
98
|
+
});
|
|
99
|
+
expect(card).toBeInstanceOf(Card);
|
|
100
|
+
});
|
|
101
|
+
it('should create with custom properties', () => {
|
|
102
|
+
const scene = new Scene();
|
|
103
|
+
const child = scene.add.text(0, 0, 'Custom Card');
|
|
104
|
+
const card = new Card({
|
|
105
|
+
scene,
|
|
106
|
+
x: 100,
|
|
107
|
+
y: 100,
|
|
108
|
+
backgroundColor: 'blue-500',
|
|
109
|
+
borderRadius: 'lg',
|
|
110
|
+
margin: '6',
|
|
111
|
+
child,
|
|
112
|
+
});
|
|
113
|
+
expect(card).toBeInstanceOf(Card);
|
|
114
|
+
});
|
|
115
|
+
it('should support method chaining', () => {
|
|
116
|
+
const scene = new Scene();
|
|
117
|
+
const child = scene.add.text(0, 0, 'Chained Card');
|
|
118
|
+
const card = new Card({
|
|
119
|
+
scene,
|
|
120
|
+
x: 100,
|
|
121
|
+
y: 100,
|
|
122
|
+
child,
|
|
123
|
+
});
|
|
124
|
+
const result = card
|
|
125
|
+
.setBackgroundColor('green-500')
|
|
126
|
+
.setBorderRadius('xl')
|
|
127
|
+
.setMargin('8');
|
|
128
|
+
expect(result).toBe(card);
|
|
129
|
+
});
|
|
130
|
+
it('should adapt to child size', () => {
|
|
131
|
+
const scene = new Scene();
|
|
132
|
+
const child = scene.add.text(0, 0, 'Adaptive Content');
|
|
133
|
+
const card = new Card({
|
|
134
|
+
scene,
|
|
135
|
+
x: 100,
|
|
136
|
+
y: 100,
|
|
137
|
+
margin: '4',
|
|
138
|
+
child,
|
|
139
|
+
});
|
|
140
|
+
expect(card.child).toBe(child);
|
|
141
|
+
});
|
|
142
|
+
it('should handle child replacement', () => {
|
|
143
|
+
const scene = new Scene();
|
|
144
|
+
const child1 = scene.add.text(0, 0, 'First Child');
|
|
145
|
+
const child2 = scene.add.text(0, 0, 'Second Child');
|
|
146
|
+
const card = new Card({
|
|
147
|
+
scene,
|
|
148
|
+
x: 100,
|
|
149
|
+
y: 100,
|
|
150
|
+
child: child1,
|
|
151
|
+
});
|
|
152
|
+
const result = card.setChild(child2);
|
|
153
|
+
expect(result).toBe(card);
|
|
154
|
+
expect(card.child).toBe(child2);
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=card.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.spec.js","sourceRoot":"","sources":["../../../src/components/card/card.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hudini",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.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",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"vitest": "^3.2.4"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"phaser
|
|
61
|
-
"
|
|
60
|
+
"font-awesome-for-phaser": "0.5.1",
|
|
61
|
+
"phaser-wind": "0.5.2"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"phaser": "*"
|