hudini 0.17.1 → 0.18.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 +34 -9
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/card.js +117 -49
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/card/card.spec.js +28 -1
- package/dist/components/card/card.spec.js.map +1 -1
- package/dist/components/circular-progress/circular-progress.d.ts +4 -4
- package/dist/components/circular-progress/circular-progress.d.ts.map +1 -1
- package/dist/components/circular-progress/circular-progress.js +9 -8
- package/dist/components/circular-progress/circular-progress.js.map +1 -1
- package/dist/components/circular-progress/circular-progress.spec.js +4 -4
- package/dist/components/circular-progress/circular-progress.spec.js.map +1 -1
- package/dist/components/container-interactive/container-interactive.d.ts +65 -0
- package/dist/components/container-interactive/container-interactive.d.ts.map +1 -0
- package/dist/components/container-interactive/container-interactive.js +99 -0
- package/dist/components/container-interactive/container-interactive.js.map +1 -0
- package/dist/components/container-interactive/index.d.ts +2 -0
- package/dist/components/container-interactive/index.d.ts.map +1 -0
- package/dist/components/container-interactive/index.js +2 -0
- package/dist/components/container-interactive/index.js.map +1 -0
- package/dist/components/flat-icon-button/flat-icon-button.d.ts +3 -0
- package/dist/components/flat-icon-button/flat-icon-button.d.ts.map +1 -1
- package/dist/components/flat-icon-button/flat-icon-button.js +110 -19
- package/dist/components/flat-icon-button/flat-icon-button.js.map +1 -1
- package/dist/components/flat-section-header/flat-section-header.d.ts +143 -0
- package/dist/components/flat-section-header/flat-section-header.d.ts.map +1 -0
- package/dist/components/flat-section-header/flat-section-header.js +275 -0
- package/dist/components/flat-section-header/flat-section-header.js.map +1 -0
- package/dist/components/flat-section-header/flat-section-header.spec.d.ts +2 -0
- package/dist/components/flat-section-header/flat-section-header.spec.d.ts.map +1 -0
- package/dist/components/flat-section-header/flat-section-header.spec.js +255 -0
- package/dist/components/flat-section-header/flat-section-header.spec.js.map +1 -0
- package/dist/components/flat-section-header/index.d.ts +2 -0
- package/dist/components/flat-section-header/index.d.ts.map +1 -0
- package/dist/components/flat-section-header/index.js +2 -0
- package/dist/components/flat-section-header/index.js.map +1 -0
- package/dist/components/flat-text-button/flat-text-button.d.ts +165 -0
- package/dist/components/flat-text-button/flat-text-button.d.ts.map +1 -0
- package/dist/components/flat-text-button/flat-text-button.js +325 -0
- package/dist/components/flat-text-button/flat-text-button.js.map +1 -0
- package/dist/components/flat-text-button/flat-text-button.spec.d.ts +2 -0
- package/dist/components/flat-text-button/flat-text-button.spec.d.ts.map +1 -0
- package/dist/components/flat-text-button/flat-text-button.spec.js +243 -0
- package/dist/components/flat-text-button/flat-text-button.spec.js.map +1 -0
- package/dist/components/flat-text-button/index.d.ts +2 -0
- package/dist/components/flat-text-button/index.d.ts.map +1 -0
- package/dist/components/flat-text-button/index.js +2 -0
- package/dist/components/flat-text-button/index.js.map +1 -0
- package/dist/components/icon-button/icon-button.d.ts +11 -3
- package/dist/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.js +124 -70
- package/dist/components/icon-button/icon-button.js.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/panel/panel.d.ts +0 -1
- package/dist/components/panel/panel.d.ts.map +1 -1
- package/dist/components/panel/panel.js +7 -10
- package/dist/components/panel/panel.js.map +1 -1
- package/dist/components/section-header/section-header.d.ts +33 -39
- package/dist/components/section-header/section-header.d.ts.map +1 -1
- package/dist/components/section-header/section-header.js +124 -155
- package/dist/components/section-header/section-header.js.map +1 -1
- package/dist/components/section-header/section-header.spec.js +57 -17
- package/dist/components/section-header/section-header.spec.js.map +1 -1
- package/dist/components/text/index.d.ts +2 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/index.js +2 -0
- package/dist/components/text/index.js.map +1 -0
- package/dist/components/text/text.d.ts +45 -0
- package/dist/components/text/text.d.ts.map +1 -0
- package/dist/components/text/text.js +35 -0
- package/dist/components/text/text.js.map +1 -0
- package/dist/components/text-button/text-button.d.ts +26 -23
- package/dist/components/text-button/text-button.d.ts.map +1 -1
- package/dist/components/text-button/text-button.js +114 -88
- package/dist/components/text-button/text-button.js.map +1 -1
- package/dist/components/text-button/text-button.spec.js +98 -8
- package/dist/components/text-button/text-button.spec.js.map +1 -1
- package/dist/hudini.js +4166 -460
- package/dist/hudini.min.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/loaders/index.d.ts +2 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +2 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/load-fonts.d.ts +8 -0
- package/dist/loaders/load-fonts.d.ts.map +1 -0
- package/dist/loaders/load-fonts.js +41 -0
- package/dist/loaders/load-fonts.js.map +1 -0
- package/dist/test-setup.js +8 -2
- package/dist/test-setup.js.map +1 -1
- package/dist/utils/color-variants.d.ts +38 -0
- package/dist/utils/color-variants.d.ts.map +1 -0
- package/dist/utils/color-variants.js +59 -0
- package/dist/utils/color-variants.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/* eslint-disable sonarjs/no-duplicate-string */
|
|
2
|
+
/* eslint-disable max-lines-per-function */
|
|
3
|
+
/* eslint-disable no-magic-numbers */
|
|
4
|
+
import { Scene } from 'phaser';
|
|
5
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
6
|
+
// Mock phaser-wind
|
|
7
|
+
vi.mock('phaser-wind', () => ({
|
|
8
|
+
Color: {
|
|
9
|
+
rgb: vi.fn((color) => `rgb-${color}`),
|
|
10
|
+
hex: vi.fn((color) => `hex-${color}`),
|
|
11
|
+
},
|
|
12
|
+
}));
|
|
13
|
+
// Mock the getPWFromScene utility
|
|
14
|
+
vi.mock('../../utils/get-pw-from-scene', () => ({
|
|
15
|
+
getPWFromScene: vi.fn(() => ({
|
|
16
|
+
fontSize: {
|
|
17
|
+
px: vi.fn((size) => {
|
|
18
|
+
const sizes = { xs: 12, sm: 14, md: 16, lg: 18, xl: 20 };
|
|
19
|
+
return sizes[size] || 16;
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
spacing: {
|
|
23
|
+
px: vi.fn((spacing) => {
|
|
24
|
+
const spacings = { xs: 4, sm: 8, md: 12, lg: 16, xl: 20 };
|
|
25
|
+
return spacings[spacing] || 12;
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
radius: {
|
|
29
|
+
px: vi.fn((radius) => {
|
|
30
|
+
const radiuses = { none: 0, sm: 4, md: 8, lg: 12, xl: 16, full: 9999 };
|
|
31
|
+
return radiuses[radius] || 8;
|
|
32
|
+
}),
|
|
33
|
+
},
|
|
34
|
+
font: {
|
|
35
|
+
family: vi.fn((font) => {
|
|
36
|
+
const fonts = {
|
|
37
|
+
sans: 'Arial, sans-serif',
|
|
38
|
+
serif: 'Georgia, serif',
|
|
39
|
+
mono: 'Courier, monospace',
|
|
40
|
+
};
|
|
41
|
+
return fonts[font] || 'Arial, sans-serif';
|
|
42
|
+
}),
|
|
43
|
+
},
|
|
44
|
+
})),
|
|
45
|
+
}));
|
|
46
|
+
// Mock the Text component
|
|
47
|
+
vi.mock('../text', () => {
|
|
48
|
+
class MockText {
|
|
49
|
+
text;
|
|
50
|
+
style;
|
|
51
|
+
constructor(params) {
|
|
52
|
+
this.text = params.text;
|
|
53
|
+
this.style = {
|
|
54
|
+
fontSize: params.size ?? 22,
|
|
55
|
+
fontFamily: params.fontFamily ?? 'Bebas Neue',
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
setText(text) {
|
|
59
|
+
this.text = text;
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
setOrigin() {
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
setFontSize(size) {
|
|
66
|
+
this.style['fontSize'] = size;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
setFontFamily(family) {
|
|
70
|
+
this.style['fontFamily'] = family;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
setColor(color) {
|
|
74
|
+
this.style['color'] = color;
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
getBounds() {
|
|
78
|
+
return getTextBounds(this.text, this.style['fontSize'] ?? 16);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { Text: MockText };
|
|
82
|
+
});
|
|
83
|
+
// Helper function for getBounds
|
|
84
|
+
const getTextBounds = (text, fontSize) => {
|
|
85
|
+
const charWidth = 10;
|
|
86
|
+
const lineHeight = parseInt(String(fontSize)) || 16;
|
|
87
|
+
return {
|
|
88
|
+
width: text.length * charWidth,
|
|
89
|
+
height: lineHeight,
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
// Mock Phaser
|
|
93
|
+
vi.mock('phaser', () => {
|
|
94
|
+
class MockText {
|
|
95
|
+
text;
|
|
96
|
+
style;
|
|
97
|
+
constructor(_x, _y, text, style) {
|
|
98
|
+
this.text = text;
|
|
99
|
+
this.style = style;
|
|
100
|
+
}
|
|
101
|
+
setText(text) {
|
|
102
|
+
this.text = text;
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
setOrigin() {
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
setFontSize(size) {
|
|
109
|
+
this.style['fontSize'] = size;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
setFontFamily(family) {
|
|
113
|
+
this.style['fontFamily'] = family;
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
setColor(color) {
|
|
117
|
+
this.style['color'] = color;
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
getBounds() {
|
|
121
|
+
return getTextBounds(this.text, this.style['fontSize'] ?? 16);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
class MockSprite {
|
|
125
|
+
// eslint-disable-next-line no-unused-vars
|
|
126
|
+
constructor(_x, _y, _texture) { }
|
|
127
|
+
setOrigin() {
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
setInteractive() {
|
|
131
|
+
return this;
|
|
132
|
+
}
|
|
133
|
+
setTexture() {
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
on() {
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
class MockGraphics {
|
|
141
|
+
fillStyle() {
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
fillRoundedRect() {
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
lineStyle() {
|
|
148
|
+
return this;
|
|
149
|
+
}
|
|
150
|
+
strokeRoundedRect() {
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
generateTexture() {
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
destroy() {
|
|
157
|
+
return this;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
class MockContainer {
|
|
161
|
+
// eslint-disable-next-line no-unused-vars
|
|
162
|
+
constructor(_scene, _x, _y) {
|
|
163
|
+
this.scene = _scene;
|
|
164
|
+
}
|
|
165
|
+
add() {
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
scene;
|
|
169
|
+
}
|
|
170
|
+
class Scene {
|
|
171
|
+
add = {
|
|
172
|
+
text: vi.fn((x, y, text, style) => new MockText(x, y, text, style)),
|
|
173
|
+
sprite: vi.fn((x, y, texture) => new MockSprite(x, y, texture)),
|
|
174
|
+
graphics: vi.fn(() => new MockGraphics()),
|
|
175
|
+
};
|
|
176
|
+
tweens = { add: vi.fn() };
|
|
177
|
+
}
|
|
178
|
+
class BasePlugin {
|
|
179
|
+
constructor() { }
|
|
180
|
+
}
|
|
181
|
+
const GameObjects = { Container: MockContainer };
|
|
182
|
+
const Plugins = { BasePlugin };
|
|
183
|
+
return { GameObjects, Scene, Plugins };
|
|
184
|
+
});
|
|
185
|
+
import { FlatTextButton } from './flat-text-button';
|
|
186
|
+
describe('FlatTextButton', () => {
|
|
187
|
+
it('should create a FlatTextButton instance', () => {
|
|
188
|
+
const scene = new Scene();
|
|
189
|
+
const textButton = new FlatTextButton({
|
|
190
|
+
scene,
|
|
191
|
+
x: 100,
|
|
192
|
+
y: 100,
|
|
193
|
+
text: 'Click Me',
|
|
194
|
+
});
|
|
195
|
+
expect(textButton).toBeInstanceOf(FlatTextButton);
|
|
196
|
+
});
|
|
197
|
+
it('should create with custom properties', () => {
|
|
198
|
+
const scene = new Scene();
|
|
199
|
+
const textButton = new FlatTextButton({
|
|
200
|
+
scene,
|
|
201
|
+
x: 100,
|
|
202
|
+
y: 100,
|
|
203
|
+
text: 'Custom Button',
|
|
204
|
+
fontSize: 'lg',
|
|
205
|
+
color: 'red',
|
|
206
|
+
textColor: 'white',
|
|
207
|
+
borderRadius: 'lg',
|
|
208
|
+
padding: '4',
|
|
209
|
+
});
|
|
210
|
+
expect(textButton).toBeInstanceOf(FlatTextButton);
|
|
211
|
+
});
|
|
212
|
+
it('should support method chaining', () => {
|
|
213
|
+
const scene = new Scene();
|
|
214
|
+
const textButton = new FlatTextButton({
|
|
215
|
+
scene,
|
|
216
|
+
x: 100,
|
|
217
|
+
y: 100,
|
|
218
|
+
text: 'Test',
|
|
219
|
+
});
|
|
220
|
+
const result = textButton
|
|
221
|
+
.setText('Chained')
|
|
222
|
+
.setFontSize('lg')
|
|
223
|
+
.setColor('green')
|
|
224
|
+
.setBorderRadius('lg')
|
|
225
|
+
.setPadding('4');
|
|
226
|
+
expect(result).toBe(textButton);
|
|
227
|
+
});
|
|
228
|
+
it('should handle borderRadius full correctly', () => {
|
|
229
|
+
const scene = new Scene();
|
|
230
|
+
const textButton = new FlatTextButton({
|
|
231
|
+
scene,
|
|
232
|
+
x: 100,
|
|
233
|
+
y: 100,
|
|
234
|
+
text: 'Full Radius Test',
|
|
235
|
+
borderRadius: 'full',
|
|
236
|
+
});
|
|
237
|
+
expect(textButton).toBeInstanceOf(FlatTextButton);
|
|
238
|
+
// Test setBorderRadius with 'full'
|
|
239
|
+
const result = textButton.setBorderRadius('full');
|
|
240
|
+
expect(result).toBe(textButton);
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
//# sourceMappingURL=flat-text-button.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-text-button.spec.js","sourceRoot":"","sources":["../../../src/components/flat-text-button/flat-text-button.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/flat-text-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/flat-text-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -14,20 +14,28 @@ export type IconButtonParams = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare class IconButton extends GameObjects.Container {
|
|
16
16
|
backgroundSprite: GameObjects.Sprite;
|
|
17
|
-
|
|
17
|
+
whiteBorderSprite: GameObjects.Sprite;
|
|
18
18
|
iconText: IconText;
|
|
19
19
|
private pw;
|
|
20
20
|
private baseColor;
|
|
21
|
+
private colorButton;
|
|
22
|
+
private lightColorButton;
|
|
23
|
+
private darkColorButton;
|
|
21
24
|
private sizePx;
|
|
22
25
|
private borderRadiusPx;
|
|
23
26
|
constructor({ scene, x, y, icon, size, color, onClick, borderRadius, }: IconButtonParams);
|
|
24
27
|
setBorderRadius(borderRadius: RadiusKey | number): this;
|
|
25
28
|
setButtonSize(size: FontSizeKey | number): this;
|
|
26
|
-
private createShadowSprite;
|
|
27
|
-
private createShadowTexture;
|
|
28
29
|
private updateSize;
|
|
30
|
+
private createWhiteBorderSprite;
|
|
29
31
|
private createBackgroundSprite;
|
|
32
|
+
private createWhiteBorderTexture;
|
|
30
33
|
private createBackgroundTexture;
|
|
34
|
+
/**
|
|
35
|
+
* Draws gradient using a centered light overlay on CSS color.
|
|
36
|
+
* For round buttons, uses a smaller centered graphic with light color.
|
|
37
|
+
*/
|
|
38
|
+
private drawCssColorGradient;
|
|
31
39
|
private createIconText;
|
|
32
40
|
private setupContainer;
|
|
33
41
|
private setupInteractivity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAEA,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,EAChB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAKrB,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,+FAA+F;IAC/F,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACnC,CAAC;AAkCF,qBAAa,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,iBAAiB,EAAG,WAAW,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAG,QAAQ,CAAC;IAE3B,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAU;gBAEpB,EACV,KAAK,EACL,CAAC,EACD,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,YAAY,GACb,EAAE,gBAAgB;IA+BZ,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAyBvD,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IA0BtD,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,wBAAwB;IAkChC,OAAO,CAAC,uBAAuB;IAyB/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IA+C1B;;;OAGG;IACH,IAAW,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAQ9G;IAED;;;;OAIG;IACa,SAAS,CACvB,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,GAC7B,MAAM,CAAC,IAAI,CAAC,SAAS;CAoBzB"}
|
|
@@ -1,28 +1,44 @@
|
|
|
1
|
+
/* eslint-disable max-lines-per-function */
|
|
1
2
|
/* eslint-disable max-lines */
|
|
2
3
|
import { IconText } from 'font-awesome-for-phaser';
|
|
3
4
|
import { GameObjects } from 'phaser';
|
|
4
5
|
import { Color, } from 'phaser-wind';
|
|
6
|
+
import { getColorVariant } from '../../utils/color-variants';
|
|
5
7
|
import { getPWFromScene } from '../../utils/get-pw-from-scene';
|
|
6
8
|
const durations = {
|
|
7
|
-
click:
|
|
8
|
-
hover:
|
|
9
|
+
click: 60,
|
|
10
|
+
hover: 100,
|
|
9
11
|
};
|
|
10
12
|
const BUTTON_SCALE = 2.2;
|
|
11
13
|
const CENTER_OFFSET = 1.1;
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
14
|
+
const HOVER_SCALE = 1.05;
|
|
15
|
+
const POINTER_DOWN_SCALE = 0.95;
|
|
16
|
+
const TOKEN_LIGHTER_DIFF = -100;
|
|
17
|
+
const COLOR_LIGHTER_AMOUNT = 30;
|
|
18
|
+
// Border constants
|
|
19
|
+
const BLACK_BORDER_THICKNESS = 2;
|
|
20
|
+
const WHITE_BORDER_EXTRA_PIXELS_PER_SIDE = 2;
|
|
21
|
+
const WHITE_BORDER_TOTAL_EXTRA_PIXELS = WHITE_BORDER_EXTRA_PIXELS_PER_SIDE * 2; // 4 pixels total
|
|
22
|
+
const WHITE_BORDER_RADIUS_EXTRA = 2;
|
|
23
|
+
// Overlay constants
|
|
24
|
+
const LIGHT_OVERLAY_SCALE = 0.6;
|
|
25
|
+
// Icon constants
|
|
26
|
+
const ICON_STROKE_THICKNESS = 3;
|
|
27
|
+
const ICON_SHADOW_OFFSET_X = 0;
|
|
28
|
+
const ICON_SHADOW_OFFSET_Y = 3;
|
|
29
|
+
const ICON_SHADOW_BLUR = 0;
|
|
30
|
+
const ICON_OFFSET_Y = -1.5; // Half of shadow offset to keep visually centered
|
|
31
|
+
// Origin constants
|
|
32
|
+
const SPRITE_ORIGIN = 0.5;
|
|
20
33
|
export class IconButton extends GameObjects.Container {
|
|
21
34
|
backgroundSprite;
|
|
22
|
-
|
|
35
|
+
whiteBorderSprite;
|
|
23
36
|
iconText;
|
|
24
37
|
pw;
|
|
25
38
|
baseColor;
|
|
39
|
+
colorButton;
|
|
40
|
+
lightColorButton;
|
|
41
|
+
darkColorButton;
|
|
26
42
|
sizePx;
|
|
27
43
|
borderRadiusPx;
|
|
28
44
|
constructor({ scene, x, y, icon, size, color, onClick, borderRadius, }) {
|
|
@@ -35,13 +51,17 @@ export class IconButton extends GameObjects.Container {
|
|
|
35
51
|
this.sizePx = sizePx;
|
|
36
52
|
this.updateSize();
|
|
37
53
|
this.baseColor = baseColor;
|
|
54
|
+
this.colorButton = Color.rgb(baseColor);
|
|
55
|
+
this.lightColorButton = getColorVariant(baseColor, TOKEN_LIGHTER_DIFF, COLOR_LIGHTER_AMOUNT);
|
|
56
|
+
// this.darkColorButton = getColorVariant(baseColor as string, TOKEN_DARKER_DIFF, COLOR_DARKER_AMOUNT);
|
|
57
|
+
this.darkColorButton = Color.blackHex();
|
|
38
58
|
this.borderRadiusPx =
|
|
39
59
|
typeof borderRadius === 'number'
|
|
40
60
|
? borderRadius
|
|
41
61
|
: this.pw.radius.px((borderRadius ?? 'full'));
|
|
42
|
-
this.
|
|
62
|
+
this.createWhiteBorderSprite(scene, sizePx, this.borderRadiusPx);
|
|
43
63
|
this.createBackgroundSprite(scene, sizePx, baseColor, this.borderRadiusPx);
|
|
44
|
-
this.createIconText(scene, icon, sizePx
|
|
64
|
+
this.createIconText(scene, icon, sizePx);
|
|
45
65
|
this.setupContainer();
|
|
46
66
|
this.setupInteractivity(onClick);
|
|
47
67
|
}
|
|
@@ -52,10 +72,10 @@ export class IconButton extends GameObjects.Container {
|
|
|
52
72
|
if (this.borderRadiusPx === newRadiusPx)
|
|
53
73
|
return this;
|
|
54
74
|
this.borderRadiusPx = newRadiusPx;
|
|
55
|
-
// Regenerate textures for
|
|
56
|
-
const
|
|
75
|
+
// Regenerate textures for white border and background
|
|
76
|
+
const whiteBorderTexture = this.createWhiteBorderTexture(this.scene, this.sizePx, this.borderRadiusPx);
|
|
57
77
|
const backgroundTexture = this.createBackgroundTexture(this.scene, this.sizePx, this.baseColor, this.borderRadiusPx);
|
|
58
|
-
this.
|
|
78
|
+
this.whiteBorderSprite.setTexture(whiteBorderTexture);
|
|
59
79
|
this.backgroundSprite.setTexture(backgroundTexture);
|
|
60
80
|
return this;
|
|
61
81
|
}
|
|
@@ -66,42 +86,43 @@ export class IconButton extends GameObjects.Container {
|
|
|
66
86
|
: this.pw.fontSize.px(size ?? 'md');
|
|
67
87
|
this.iconText.setFontSize(`${this.sizePx}px`);
|
|
68
88
|
this.updateSize();
|
|
69
|
-
const
|
|
89
|
+
const whiteBorderTexture = this.createWhiteBorderTexture(this.scene, this.sizePx, this.borderRadiusPx);
|
|
70
90
|
const backgroundTexture = this.createBackgroundTexture(this.scene, this.sizePx, this.baseColor, this.borderRadiusPx);
|
|
71
|
-
this.
|
|
91
|
+
this.whiteBorderSprite.setTexture(whiteBorderTexture);
|
|
72
92
|
this.backgroundSprite.setTexture(backgroundTexture);
|
|
73
93
|
return this;
|
|
74
94
|
}
|
|
75
|
-
createShadowSprite(scene, size, baseColor, borderRadiusPx) {
|
|
76
|
-
const shadowTexture = this.createShadowTexture(scene, size, baseColor, borderRadiusPx);
|
|
77
|
-
this.shadowSprite = scene.add.sprite(1, SHADOW_OFFSET, shadowTexture);
|
|
78
|
-
this.shadowSprite.setOrigin(0.5, 0.5);
|
|
79
|
-
}
|
|
80
|
-
createShadowTexture(scene, size, baseColor, borderRadiusPx) {
|
|
81
|
-
const textureKey = `iconButton_shadow_r${borderRadiusPx}_${baseColor}_${size}`;
|
|
82
|
-
const textureSize = size * BUTTON_SCALE;
|
|
83
|
-
const centerX = size * CENTER_OFFSET;
|
|
84
|
-
const centerY = size * CENTER_OFFSET;
|
|
85
|
-
const graphics = scene.add.graphics();
|
|
86
|
-
const sideOuter = size * 2 * CENTER_OFFSET;
|
|
87
|
-
const side = size * 2;
|
|
88
|
-
const radiusOuter = Math.min(borderRadiusPx, sideOuter / 2);
|
|
89
|
-
const radius = Math.min(borderRadiusPx, side / 2);
|
|
90
|
-
graphics.fillStyle(Color.hex('black'), SHADOW_OPACITY);
|
|
91
|
-
graphics.fillRoundedRect(centerX + 1 - sideOuter / 2, centerY - sideOuter / 2, sideOuter, sideOuter, radiusOuter);
|
|
92
|
-
graphics.fillStyle(Color.hex(`${baseColor}-900`), MAIN_SHADOW_OPACITY);
|
|
93
|
-
graphics.fillRoundedRect(centerX - side / 2, centerY - CLICK_OFFSET - side / 2, side, side, radius);
|
|
94
|
-
graphics.generateTexture(textureKey, textureSize, textureSize);
|
|
95
|
-
graphics.destroy();
|
|
96
|
-
return textureKey;
|
|
97
|
-
}
|
|
98
95
|
updateSize() {
|
|
99
96
|
this.setSize(this.sizePx * BUTTON_SCALE, this.sizePx * BUTTON_SCALE);
|
|
100
97
|
}
|
|
98
|
+
createWhiteBorderSprite(scene, size, borderRadiusPx) {
|
|
99
|
+
const whiteBorderTexture = this.createWhiteBorderTexture(scene, size, borderRadiusPx);
|
|
100
|
+
this.whiteBorderSprite = scene.add.sprite(0, 0, whiteBorderTexture);
|
|
101
|
+
this.whiteBorderSprite.setOrigin(SPRITE_ORIGIN, SPRITE_ORIGIN);
|
|
102
|
+
}
|
|
101
103
|
createBackgroundSprite(scene, size, baseColor, borderRadiusPx) {
|
|
102
104
|
const backgroundTexture = this.createBackgroundTexture(scene, size, baseColor, borderRadiusPx);
|
|
103
|
-
this.backgroundSprite = scene.add.sprite(
|
|
104
|
-
this.backgroundSprite.setOrigin(
|
|
105
|
+
this.backgroundSprite = scene.add.sprite(0, 0, backgroundTexture);
|
|
106
|
+
this.backgroundSprite.setOrigin(SPRITE_ORIGIN, SPRITE_ORIGIN);
|
|
107
|
+
}
|
|
108
|
+
createWhiteBorderTexture(scene, size, borderRadiusPx) {
|
|
109
|
+
const textureKey = `iconButton_whiteBorder_r${borderRadiusPx}_${size}`;
|
|
110
|
+
// White border is larger on each side
|
|
111
|
+
const side = size * 2 + WHITE_BORDER_TOTAL_EXTRA_PIXELS;
|
|
112
|
+
// Increase texture size to accommodate the larger border
|
|
113
|
+
const textureSize = size * BUTTON_SCALE + WHITE_BORDER_TOTAL_EXTRA_PIXELS;
|
|
114
|
+
const centerX = textureSize / 2;
|
|
115
|
+
const centerY = textureSize / 2;
|
|
116
|
+
const graphics = scene.add.graphics();
|
|
117
|
+
const maxRadius = Math.floor(Math.min(side / 2, side / 2));
|
|
118
|
+
const effectiveRadius = Math.min(borderRadiusPx + WHITE_BORDER_RADIUS_EXTRA, maxRadius);
|
|
119
|
+
const finalRadius = Math.max(0, effectiveRadius);
|
|
120
|
+
// White border (outer)
|
|
121
|
+
graphics.fillStyle(Color.hex('white'), 1);
|
|
122
|
+
graphics.fillRoundedRect(centerX - side / 2, centerY - side / 2, side, side, finalRadius);
|
|
123
|
+
graphics.generateTexture(textureKey, textureSize, textureSize);
|
|
124
|
+
graphics.destroy();
|
|
125
|
+
return textureKey;
|
|
105
126
|
}
|
|
106
127
|
createBackgroundTexture(scene, size, baseColor, borderRadiusPx) {
|
|
107
128
|
const textureKey = `iconButton_r${borderRadiusPx}_${baseColor}_${size}`;
|
|
@@ -110,67 +131,100 @@ export class IconButton extends GameObjects.Container {
|
|
|
110
131
|
const centerY = size * CENTER_OFFSET;
|
|
111
132
|
const graphics = scene.add.graphics();
|
|
112
133
|
const side = size * 2;
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
graphics.fillStyle(Color.hex(`${baseColor}-600`), 1);
|
|
118
|
-
graphics.fillRoundedRect(centerX - mainSide / 2, centerY - mainSide / 2, mainSide, mainSide, mainRadius);
|
|
119
|
-
graphics.fillStyle(Color.hex(`${baseColor}-500`), INNER_OVERLAY_OPACITY);
|
|
120
|
-
graphics.fillRoundedRect(centerX - innerSide / 2, centerY - innerSide / 2, innerSide, innerSide, innerRadius);
|
|
134
|
+
const maxRadius = Math.floor(Math.min(side / 2, side / 2));
|
|
135
|
+
const effectiveRadius = Math.min(borderRadiusPx, maxRadius);
|
|
136
|
+
const finalRadius = Math.max(0, effectiveRadius);
|
|
137
|
+
this.drawCssColorGradient(graphics, centerX, centerY, side, finalRadius);
|
|
121
138
|
graphics.generateTexture(textureKey, textureSize, textureSize);
|
|
122
139
|
graphics.destroy();
|
|
123
140
|
return textureKey;
|
|
124
141
|
}
|
|
125
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Draws gradient using a centered light overlay on CSS color.
|
|
144
|
+
* For round buttons, uses a smaller centered graphic with light color.
|
|
145
|
+
*/
|
|
146
|
+
drawCssColorGradient(graphics, centerX, centerY, side, effectiveRadius) {
|
|
147
|
+
// Main background
|
|
148
|
+
graphics.fillStyle(Color.hex(this.colorButton), 1);
|
|
149
|
+
graphics.fillRoundedRect(centerX - side / 2, centerY - side / 2, side, side, effectiveRadius);
|
|
150
|
+
// Centered light overlay (smaller, circular/rounded)
|
|
151
|
+
const overlaySide = side * LIGHT_OVERLAY_SCALE;
|
|
152
|
+
const overlayRadius = Math.min(effectiveRadius, overlaySide / 2);
|
|
153
|
+
graphics.fillStyle(this.lightColorButton, 1);
|
|
154
|
+
graphics.fillRoundedRect(centerX - overlaySide / 2, centerY - overlaySide / 2, overlaySide, overlaySide, overlayRadius);
|
|
155
|
+
// Black stroke border
|
|
156
|
+
graphics.lineStyle(BLACK_BORDER_THICKNESS, Color.hex('black'), 1);
|
|
157
|
+
graphics.strokeRoundedRect(centerX - side / 2, centerY - side / 2, side, side, effectiveRadius);
|
|
158
|
+
}
|
|
159
|
+
createIconText(scene, icon, size) {
|
|
160
|
+
// Convert darkColorButton (number) to RGB string
|
|
161
|
+
const darkColorObj = Phaser.Display.Color.ValueToColor(this.darkColorButton);
|
|
162
|
+
const RGB_MASK = 0xff;
|
|
163
|
+
const RGB_SHIFT_R = 16;
|
|
164
|
+
const RGB_SHIFT_G = 8;
|
|
165
|
+
const darkColorString = `rgb(${darkColorObj.color32 >> RGB_SHIFT_R & RGB_MASK}, ${darkColorObj.color32 >> RGB_SHIFT_G & RGB_MASK}, ${darkColorObj.color32 & RGB_MASK})`;
|
|
126
166
|
this.iconText = new IconText({
|
|
127
167
|
scene,
|
|
128
|
-
x:
|
|
129
|
-
y:
|
|
168
|
+
x: 0,
|
|
169
|
+
y: ICON_OFFSET_Y,
|
|
130
170
|
icon,
|
|
131
171
|
size,
|
|
132
172
|
style: {
|
|
133
173
|
color: Color.rgb('white'),
|
|
134
|
-
strokeThickness:
|
|
135
|
-
stroke:
|
|
174
|
+
strokeThickness: ICON_STROKE_THICKNESS,
|
|
175
|
+
stroke: darkColorString,
|
|
176
|
+
shadow: {
|
|
177
|
+
offsetX: ICON_SHADOW_OFFSET_X,
|
|
178
|
+
offsetY: ICON_SHADOW_OFFSET_Y,
|
|
179
|
+
color: darkColorString,
|
|
180
|
+
blur: ICON_SHADOW_BLUR,
|
|
181
|
+
stroke: true,
|
|
182
|
+
fill: true,
|
|
183
|
+
},
|
|
136
184
|
},
|
|
137
185
|
});
|
|
138
186
|
this.iconText.setFontStyle('900');
|
|
139
|
-
this.iconText.setOrigin(
|
|
187
|
+
this.iconText.setOrigin(SPRITE_ORIGIN, SPRITE_ORIGIN);
|
|
140
188
|
}
|
|
141
189
|
setupContainer() {
|
|
142
|
-
this.add([this.
|
|
190
|
+
this.add([this.whiteBorderSprite, this.backgroundSprite, this.iconText]);
|
|
143
191
|
}
|
|
144
192
|
setupInteractivity(onClick) {
|
|
145
193
|
this.backgroundSprite.setInteractive({ useHandCursor: true });
|
|
194
|
+
// Hover effects
|
|
146
195
|
this.backgroundSprite.on('pointerover', () => {
|
|
147
196
|
this.scene.tweens.add({
|
|
148
|
-
targets: this
|
|
149
|
-
scale: HOVER_SCALE,
|
|
197
|
+
targets: this,
|
|
150
198
|
duration: durations.hover,
|
|
151
|
-
|
|
199
|
+
scaleX: HOVER_SCALE,
|
|
200
|
+
scaleY: HOVER_SCALE,
|
|
201
|
+
ease: 'Back.easeOut',
|
|
152
202
|
});
|
|
153
203
|
});
|
|
154
204
|
this.backgroundSprite.on('pointerout', () => {
|
|
155
205
|
this.scene.tweens.add({
|
|
156
|
-
targets: this
|
|
157
|
-
scale: 1,
|
|
206
|
+
targets: this,
|
|
158
207
|
duration: durations.hover,
|
|
159
|
-
|
|
208
|
+
scaleX: 1,
|
|
209
|
+
scaleY: 1,
|
|
210
|
+
ease: 'Back.easeOut',
|
|
160
211
|
});
|
|
161
212
|
});
|
|
213
|
+
// Click effects
|
|
162
214
|
this.backgroundSprite.on('pointerdown', () => {
|
|
163
215
|
this.scene.tweens.add({
|
|
164
|
-
targets: [this.backgroundSprite, this.iconText],
|
|
165
|
-
|
|
216
|
+
targets: [this.whiteBorderSprite, this.backgroundSprite, this.iconText],
|
|
217
|
+
scaleX: POINTER_DOWN_SCALE,
|
|
218
|
+
scaleY: POINTER_DOWN_SCALE,
|
|
166
219
|
duration: durations.click,
|
|
167
220
|
ease: 'Linear',
|
|
168
221
|
});
|
|
169
222
|
});
|
|
170
223
|
this.backgroundSprite.on('pointerup', () => {
|
|
171
224
|
this.scene.tweens.add({
|
|
172
|
-
targets: [this.backgroundSprite, this.iconText],
|
|
173
|
-
|
|
225
|
+
targets: [this.whiteBorderSprite, this.backgroundSprite, this.iconText],
|
|
226
|
+
scaleX: 1,
|
|
227
|
+
scaleY: 1,
|
|
174
228
|
duration: durations.click,
|
|
175
229
|
ease: 'Linear',
|
|
176
230
|
});
|
|
@@ -196,8 +250,8 @@ export class IconButton extends GameObjects.Container {
|
|
|
196
250
|
* @returns Rectangle with the button bounds
|
|
197
251
|
*/
|
|
198
252
|
getBounds(output) {
|
|
199
|
-
const width = this.
|
|
200
|
-
const height = this.
|
|
253
|
+
const width = this.backgroundSprite.displayWidth ?? this.backgroundSprite.width;
|
|
254
|
+
const height = this.backgroundSprite.displayHeight ?? this.backgroundSprite.height;
|
|
201
255
|
if (output) {
|
|
202
256
|
return output.setTo(this.x - width / 2, this.y - height / 2, width, height);
|
|
203
257
|
}
|
|
@@ -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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"}
|