hudini 0.18.1 → 0.20.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 (110) hide show
  1. package/README.md +58 -27
  2. package/dist/components/badge/badge.d.ts +94 -0
  3. package/dist/components/badge/badge.d.ts.map +1 -0
  4. package/dist/components/badge/badge.js +180 -0
  5. package/dist/components/badge/badge.js.map +1 -0
  6. package/dist/components/badge/badge.spec.d.ts +2 -0
  7. package/dist/components/badge/badge.spec.d.ts.map +1 -0
  8. package/dist/components/badge/badge.spec.js +195 -0
  9. package/dist/components/badge/badge.spec.js.map +1 -0
  10. package/dist/components/badge/index.d.ts +2 -0
  11. package/dist/components/badge/index.d.ts.map +1 -0
  12. package/dist/components/badge/index.js +2 -0
  13. package/dist/components/badge/index.js.map +1 -0
  14. package/dist/components/icon-button/icon-button.d.ts +2 -8
  15. package/dist/components/icon-button/icon-button.d.ts.map +1 -1
  16. package/dist/components/icon-button/icon-button.js +10 -86
  17. package/dist/components/icon-button/icon-button.js.map +1 -1
  18. package/dist/components/index.d.ts +1 -4
  19. package/dist/components/index.d.ts.map +1 -1
  20. package/dist/components/index.js +1 -4
  21. package/dist/components/index.js.map +1 -1
  22. package/dist/components/panel/panel.d.ts +8 -8
  23. package/dist/components/panel/panel.d.ts.map +1 -1
  24. package/dist/components/panel/panel.js +29 -30
  25. package/dist/components/panel/panel.js.map +1 -1
  26. package/dist/components/text/text.d.ts +21 -4
  27. package/dist/components/text/text.d.ts.map +1 -1
  28. package/dist/components/text/text.js +14 -14
  29. package/dist/components/text/text.js.map +1 -1
  30. package/dist/components/text-button/text-button.d.ts +9 -18
  31. package/dist/components/text-button/text-button.d.ts.map +1 -1
  32. package/dist/components/text-button/text-button.js +38 -81
  33. package/dist/components/text-button/text-button.js.map +1 -1
  34. package/dist/components/text-button/text-button.spec.js +55 -9
  35. package/dist/components/text-button/text-button.spec.js.map +1 -1
  36. package/dist/hudini.js +2375 -3881
  37. package/dist/hudini.min.js +1 -1
  38. package/dist/loaders/load-fonts.d.ts +29 -0
  39. package/dist/loaders/load-fonts.d.ts.map +1 -1
  40. package/dist/loaders/load-fonts.js +20 -1
  41. package/dist/loaders/load-fonts.js.map +1 -1
  42. package/dist/scene/index.d.ts +1 -0
  43. package/dist/scene/index.d.ts.map +1 -1
  44. package/dist/scene/index.js +1 -0
  45. package/dist/scene/index.js.map +1 -1
  46. package/dist/scene/scene-with-hudini.d.ts +24 -1
  47. package/dist/scene/scene-with-hudini.d.ts.map +1 -1
  48. package/dist/scene/scene-with-hudini.js +24 -1
  49. package/dist/scene/scene-with-hudini.js.map +1 -1
  50. package/dist/scene/with-hudini.d.ts +35 -0
  51. package/dist/scene/with-hudini.d.ts.map +1 -0
  52. package/dist/scene/with-hudini.js +33 -0
  53. package/dist/scene/with-hudini.js.map +1 -0
  54. package/dist/utils/button-style.d.ts +16 -0
  55. package/dist/utils/button-style.d.ts.map +1 -0
  56. package/dist/utils/button-style.js +35 -0
  57. package/dist/utils/button-style.js.map +1 -0
  58. package/dist/utils/index.d.ts +2 -0
  59. package/dist/utils/index.d.ts.map +1 -1
  60. package/dist/utils/index.js +2 -0
  61. package/dist/utils/index.js.map +1 -1
  62. package/dist/utils/number-to-rgb.d.ts +16 -0
  63. package/dist/utils/number-to-rgb.d.ts.map +1 -0
  64. package/dist/utils/number-to-rgb.js +20 -0
  65. package/dist/utils/number-to-rgb.js.map +1 -0
  66. package/package.json +2 -2
  67. package/dist/components/flat-icon-button/flat-icon-button.d.ts +0 -60
  68. package/dist/components/flat-icon-button/flat-icon-button.d.ts.map +0 -1
  69. package/dist/components/flat-icon-button/flat-icon-button.js +0 -279
  70. package/dist/components/flat-icon-button/flat-icon-button.js.map +0 -1
  71. package/dist/components/flat-icon-button/index.d.ts +0 -2
  72. package/dist/components/flat-icon-button/index.d.ts.map +0 -1
  73. package/dist/components/flat-icon-button/index.js +0 -2
  74. package/dist/components/flat-icon-button/index.js.map +0 -1
  75. package/dist/components/flat-section-header/flat-section-header.d.ts +0 -143
  76. package/dist/components/flat-section-header/flat-section-header.d.ts.map +0 -1
  77. package/dist/components/flat-section-header/flat-section-header.js +0 -275
  78. package/dist/components/flat-section-header/flat-section-header.js.map +0 -1
  79. package/dist/components/flat-section-header/flat-section-header.spec.d.ts +0 -2
  80. package/dist/components/flat-section-header/flat-section-header.spec.d.ts.map +0 -1
  81. package/dist/components/flat-section-header/flat-section-header.spec.js +0 -255
  82. package/dist/components/flat-section-header/flat-section-header.spec.js.map +0 -1
  83. package/dist/components/flat-section-header/index.d.ts +0 -2
  84. package/dist/components/flat-section-header/index.d.ts.map +0 -1
  85. package/dist/components/flat-section-header/index.js +0 -2
  86. package/dist/components/flat-section-header/index.js.map +0 -1
  87. package/dist/components/flat-text-button/flat-text-button.d.ts +0 -165
  88. package/dist/components/flat-text-button/flat-text-button.d.ts.map +0 -1
  89. package/dist/components/flat-text-button/flat-text-button.js +0 -325
  90. package/dist/components/flat-text-button/flat-text-button.js.map +0 -1
  91. package/dist/components/flat-text-button/flat-text-button.spec.d.ts +0 -2
  92. package/dist/components/flat-text-button/flat-text-button.spec.d.ts.map +0 -1
  93. package/dist/components/flat-text-button/flat-text-button.spec.js +0 -243
  94. package/dist/components/flat-text-button/flat-text-button.spec.js.map +0 -1
  95. package/dist/components/flat-text-button/index.d.ts +0 -2
  96. package/dist/components/flat-text-button/index.d.ts.map +0 -1
  97. package/dist/components/flat-text-button/index.js +0 -2
  98. package/dist/components/flat-text-button/index.js.map +0 -1
  99. package/dist/components/section-header/index.d.ts +0 -2
  100. package/dist/components/section-header/index.d.ts.map +0 -1
  101. package/dist/components/section-header/index.js +0 -2
  102. package/dist/components/section-header/index.js.map +0 -1
  103. package/dist/components/section-header/section-header.d.ts +0 -149
  104. package/dist/components/section-header/section-header.d.ts.map +0 -1
  105. package/dist/components/section-header/section-header.js +0 -292
  106. package/dist/components/section-header/section-header.js.map +0 -1
  107. package/dist/components/section-header/section-header.spec.d.ts +0 -2
  108. package/dist/components/section-header/section-header.spec.d.ts.map +0 -1
  109. package/dist/components/section-header/section-header.spec.js +0 -264
  110. package/dist/components/section-header/section-header.spec.js.map +0 -1
@@ -1,165 +0,0 @@
1
- import { GameObjects, Scene } from 'phaser';
2
- import { type ColorKey, type FontKey, type FontSizeKey, type RadiusKey, type SpacingKey } from 'phaser-wind';
3
- import { ContainerInteractive } from '../container-interactive';
4
- /**
5
- * Parameters for creating a FlatTextButton.
6
- */
7
- export type FlatTextButtonParams = {
8
- /** Phaser scene where the button will be added. */
9
- scene: Scene;
10
- /** X position of the button. */
11
- x: number;
12
- /** Y position of the button. */
13
- y: number;
14
- /** Button text. */
15
- text: string;
16
- /**
17
- * Font size in px (number) or a Phaser Wind font size token (string).
18
- * Defaults to 'lg'.
19
- */
20
- fontSize?: FontSizeKey | number;
21
- /**
22
- * Font family. Defaults to 'Bebas Neue'.
23
- */
24
- font?: FontKey | string;
25
- /**
26
- * Background color. Defaults to 'blue'.
27
- */
28
- color?: ColorKey | string;
29
- /**
30
- * Text color. Defaults to 'white'.
31
- */
32
- textColor?: ColorKey | string;
33
- /**
34
- * Border radius in px (number) or a Phaser Wind radius token (string).
35
- * Defaults to 'md'.
36
- */
37
- borderRadius?: RadiusKey | number;
38
- /**
39
- * Padding in px (number) or a Phaser Wind spacing token (string).
40
- * Defaults to '4'.
41
- */
42
- padding?: SpacingKey | number;
43
- /**
44
- * Callback function for click event.
45
- */
46
- onClick?: () => void;
47
- };
48
- /**
49
- * A customizable flat text button component for Phaser, supporting auto-sizing,
50
- * design tokens, and interactive effects.
51
- */
52
- export declare class FlatTextButton extends ContainerInteractive<Phaser.GameObjects.Sprite> {
53
- /** The background sprite of the button. */
54
- backgroundSprite: GameObjects.Sprite;
55
- /** The white border sprite of the button. */
56
- whiteBorderSprite: GameObjects.Sprite;
57
- /** The text object of the button. */
58
- buttonText: GameObjects.Text;
59
- private pw;
60
- private fontSizePx;
61
- private paddingPx;
62
- private borderRadiusPx;
63
- private colorButton;
64
- private textColorValue;
65
- private fontFamily;
66
- private textValue;
67
- /**
68
- * Creates a new FlatTextButton instance.
69
- * @param params FlatTextButtonParams
70
- */
71
- constructor({ scene, x, y, text, fontSize, font, color, textColor, borderRadius, padding, onClick, }: FlatTextButtonParams);
72
- /**
73
- * Sets the button text.
74
- * @param text The new text.
75
- * @returns This FlatTextButton instance.
76
- */
77
- setText(text: string): this;
78
- /**
79
- * Sets the font size.
80
- * @param fontSize Font size in px or token.
81
- * @returns This FlatTextButton instance.
82
- */
83
- setFontSize(fontSize: FontSizeKey | number): this;
84
- /**
85
- * Sets the font family.
86
- * @param font Font family as string or token.
87
- * @returns This FlatTextButton instance.
88
- */
89
- setFont(font: FontKey | string): this;
90
- /**
91
- * Sets the background color.
92
- * @param color Color as token or CSS string.
93
- * @returns This FlatTextButton instance.
94
- */
95
- setColor(color: ColorKey | string): this;
96
- /**
97
- * Sets the text color.
98
- * @param color Color as token or CSS string.
99
- * @returns This FlatTextButton instance.
100
- */
101
- setTextColor(color: ColorKey | string): this;
102
- /**
103
- * Sets the border radius.
104
- * @param borderRadius Border radius in px or token.
105
- * @returns This FlatTextButton instance.
106
- */
107
- setBorderRadius(borderRadius: RadiusKey | number): this;
108
- /**
109
- * Sets the padding.
110
- * @param padding Padding in px or token.
111
- * @returns This FlatTextButton instance.
112
- */
113
- setPadding(padding: SpacingKey | number): this;
114
- /**
115
- * Creates the button text GameObject.
116
- * @param scene Phaser scene.
117
- */
118
- private createButtonText;
119
- /**
120
- * Creates the white border sprite for the button.
121
- * @param scene Phaser scene.
122
- */
123
- private createWhiteBorderSprite;
124
- /**
125
- * Creates the background sprite for the button.
126
- * @param scene Phaser scene.
127
- */
128
- private createBackgroundSprite;
129
- /**
130
- * Regenerates the background texture based on current state.
131
- */
132
- private regenerateSprites;
133
- /**
134
- * Calculates the button's width and height based on text and padding.
135
- * @returns Object with width and height.
136
- */
137
- private getButtonDimensions;
138
- /**
139
- * Creates a texture for the button's white border.
140
- * @param scene Phaser scene.
141
- * @returns The texture key.
142
- */
143
- private createWhiteBorderTexture;
144
- /**
145
- * Creates a texture for the button's background.
146
- * @param scene Phaser scene.
147
- * @returns The texture key.
148
- */
149
- private createBackgroundTexture;
150
- /**
151
- * Adds the button's visual elements to the container.
152
- */
153
- private setupContainer;
154
- /**
155
- * Sets up interactivity for the button, including hover and click effects.
156
- * @param onClick Optional click callback.
157
- */
158
- private setupInteractivity;
159
- /**
160
- * Gets the interactive sprite of the icon button
161
- * @returns The interactive sprite
162
- */
163
- get interactive(): Pick<GameObjects.Sprite, 'on' | 'off' | 'setInteractive' | 'setInteractive' | 'once'>;
164
- }
165
- //# sourceMappingURL=flat-text-button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flat-text-button.d.ts","sourceRoot":"","sources":["../../../src/components/flat-text-button/flat-text-button.ts"],"names":[],"mappings":"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"}
@@ -1,325 +0,0 @@
1
- import { Color, } from 'phaser-wind';
2
- import { getPWFromScene } from '../../utils/get-pw-from-scene';
3
- import { ContainerInteractive } from '../container-interactive';
4
- import { Text } from '../text';
5
- const durations = {
6
- click: 60,
7
- hover: 100,
8
- };
9
- const HOVER_SCALE = 1.05;
10
- const POINTER_DOWN_SCALE = 0.95;
11
- // Border constants
12
- const BLACK_BORDER_THICKNESS = 2;
13
- const WHITE_BORDER_EXTRA_PIXELS_PER_SIDE = 3;
14
- const WHITE_BORDER_TOTAL_EXTRA_PIXELS = WHITE_BORDER_EXTRA_PIXELS_PER_SIDE * 2; // 6 pixels total
15
- const WHITE_BORDER_RADIUS_EXTRA = 2;
16
- /**
17
- * A customizable flat text button component for Phaser, supporting auto-sizing,
18
- * design tokens, and interactive effects.
19
- */
20
- export class FlatTextButton extends ContainerInteractive {
21
- /** The background sprite of the button. */
22
- backgroundSprite;
23
- /** The white border sprite of the button. */
24
- whiteBorderSprite;
25
- /** The text object of the button. */
26
- buttonText;
27
- pw;
28
- fontSizePx;
29
- paddingPx;
30
- borderRadiusPx;
31
- colorButton;
32
- textColorValue;
33
- fontFamily;
34
- textValue;
35
- /**
36
- * Creates a new FlatTextButton instance.
37
- * @param params FlatTextButtonParams
38
- */
39
- constructor({ scene, x, y, text, fontSize = 'lg', font, color = 'blue-500', textColor = 'white', borderRadius = 'md', padding = '4', onClick, }) {
40
- super({ scene, x, y });
41
- this.pw = getPWFromScene(scene);
42
- // Store values
43
- this.textValue = text;
44
- this.fontSizePx =
45
- typeof fontSize === 'number'
46
- ? fontSize
47
- : this.pw.fontSize.px(fontSize ?? 'md');
48
- this.paddingPx =
49
- typeof padding === 'number'
50
- ? padding
51
- : this.pw.spacing.px(padding ?? '4');
52
- this.borderRadiusPx =
53
- typeof borderRadius === 'number'
54
- ? borderRadius
55
- : this.pw.radius.px(borderRadius ?? 'md');
56
- this.colorButton = Color.rgb(color);
57
- this.textColorValue = Color.rgb(textColor);
58
- this.fontFamily = font ? (typeof font === 'string' ? font : this.pw.font.family(font)) : 'Bebas Neue';
59
- this.createButtonText(scene);
60
- this.createWhiteBorderSprite(scene);
61
- this.createBackgroundSprite(scene);
62
- this.setupContainer();
63
- this.setupInteractivity(onClick);
64
- this.hitArea = this.backgroundSprite;
65
- }
66
- // API Methods
67
- /**
68
- * Sets the button text.
69
- * @param text The new text.
70
- * @returns This FlatTextButton instance.
71
- */
72
- setText(text) {
73
- this.textValue = text;
74
- this.buttonText.setText(text);
75
- this.regenerateSprites();
76
- return this;
77
- }
78
- /**
79
- * Sets the font size.
80
- * @param fontSize Font size in px or token.
81
- * @returns This FlatTextButton instance.
82
- */
83
- setFontSize(fontSize) {
84
- this.fontSizePx =
85
- typeof fontSize === 'number'
86
- ? fontSize
87
- : this.pw.fontSize.px(fontSize ?? 'md');
88
- this.buttonText.setFontSize(this.fontSizePx);
89
- this.regenerateSprites();
90
- return this;
91
- }
92
- /**
93
- * Sets the font family.
94
- * @param font Font family as string or token.
95
- * @returns This FlatTextButton instance.
96
- */
97
- setFont(font) {
98
- this.fontFamily =
99
- typeof font === 'string'
100
- ? font
101
- : this.pw.font.family(font ?? 'primary');
102
- this.buttonText.setFontFamily(this.fontFamily);
103
- this.regenerateSprites();
104
- return this;
105
- }
106
- /**
107
- * Sets the background color.
108
- * @param color Color as token or CSS string.
109
- * @returns This FlatTextButton instance.
110
- */
111
- setColor(color) {
112
- this.colorButton = Color.rgb(color);
113
- this.regenerateSprites();
114
- return this;
115
- }
116
- /**
117
- * Sets the text color.
118
- * @param color Color as token or CSS string.
119
- * @returns This FlatTextButton instance.
120
- */
121
- setTextColor(color) {
122
- this.textColorValue = Color.rgb(color);
123
- this.buttonText.setColor(this.textColorValue);
124
- return this;
125
- }
126
- /**
127
- * Sets the border radius.
128
- * @param borderRadius Border radius in px or token.
129
- * @returns This FlatTextButton instance.
130
- */
131
- setBorderRadius(borderRadius) {
132
- this.borderRadiusPx =
133
- typeof borderRadius === 'number'
134
- ? borderRadius
135
- : this.pw.radius.px(borderRadius ?? 'md');
136
- this.regenerateSprites();
137
- return this;
138
- }
139
- /**
140
- * Sets the padding.
141
- * @param padding Padding in px or token.
142
- * @returns This FlatTextButton instance.
143
- */
144
- setPadding(padding) {
145
- this.paddingPx =
146
- typeof padding === 'number'
147
- ? padding
148
- : this.pw.spacing.px(padding ?? '4');
149
- this.regenerateSprites();
150
- return this;
151
- }
152
- /**
153
- * Creates the button text GameObject.
154
- * @param scene Phaser scene.
155
- */
156
- createButtonText(scene) {
157
- this.buttonText = new Text({
158
- scene,
159
- x: 0,
160
- y: 0,
161
- text: this.textValue,
162
- size: this.fontSizePx,
163
- fontFamily: this.fontFamily,
164
- });
165
- this.buttonText.setOrigin(0.5, 0.5);
166
- }
167
- /**
168
- * Creates the white border sprite for the button.
169
- * @param scene Phaser scene.
170
- */
171
- createWhiteBorderSprite(scene) {
172
- const whiteBorderTexture = this.createWhiteBorderTexture(scene);
173
- this.whiteBorderSprite = scene.add.sprite(0, 0, whiteBorderTexture);
174
- this.whiteBorderSprite.setOrigin(0.5, 0.5);
175
- }
176
- /**
177
- * Creates the background sprite for the button.
178
- * @param scene Phaser scene.
179
- */
180
- createBackgroundSprite(scene) {
181
- const backgroundTexture = this.createBackgroundTexture(scene);
182
- this.backgroundSprite = scene.add.sprite(0, 0, backgroundTexture);
183
- this.backgroundSprite.setOrigin(0.5, 0.5);
184
- }
185
- /**
186
- * Regenerates the background texture based on current state.
187
- */
188
- regenerateSprites() {
189
- // Update text bounds after text/font changes
190
- this.buttonText.setText(this.textValue);
191
- // Regenerate textures
192
- const whiteBorderTexture = this.createWhiteBorderTexture(this.scene);
193
- const backgroundTexture = this.createBackgroundTexture(this.scene);
194
- this.whiteBorderSprite.setTexture(whiteBorderTexture);
195
- this.backgroundSprite.setTexture(backgroundTexture);
196
- }
197
- /**
198
- * Calculates the button's width and height based on text and padding.
199
- * @returns Object with width and height.
200
- */
201
- getButtonDimensions() {
202
- const textBounds = this.buttonText.getBounds();
203
- const width = textBounds.width + this.paddingPx * 2;
204
- const height = textBounds.height + this.paddingPx * 2;
205
- return { width, height };
206
- }
207
- /**
208
- * Creates a texture for the button's white border.
209
- * @param scene Phaser scene.
210
- * @returns The texture key.
211
- */
212
- createWhiteBorderTexture(scene) {
213
- const { width, height } = this.getButtonDimensions();
214
- const textureKey = `flatTextButton_whiteBorder_${this.borderRadiusPx}_${width}_${height}`;
215
- // White border is larger on each side
216
- const borderWidth = width + WHITE_BORDER_TOTAL_EXTRA_PIXELS;
217
- const borderHeight = height + WHITE_BORDER_TOTAL_EXTRA_PIXELS;
218
- // Add some padding for texture
219
- const padding = 8;
220
- const textureWidth = borderWidth + padding * 2;
221
- const textureHeight = borderHeight + padding * 2;
222
- const graphics = scene.add.graphics();
223
- const maxRadius = Math.floor(Math.min(borderWidth / 2, borderHeight / 2));
224
- const effectiveRadius = Math.min(this.borderRadiusPx + WHITE_BORDER_RADIUS_EXTRA, maxRadius);
225
- const finalRadius = Math.max(0, effectiveRadius);
226
- // White border (outer)
227
- graphics.fillStyle(Color.hex('white'), 1);
228
- graphics.fillRoundedRect(padding, padding, borderWidth, borderHeight, finalRadius);
229
- graphics.generateTexture(textureKey, textureWidth, textureHeight);
230
- graphics.destroy();
231
- return textureKey;
232
- }
233
- /**
234
- * Creates a texture for the button's background.
235
- * @param scene Phaser scene.
236
- * @returns The texture key.
237
- */
238
- createBackgroundTexture(scene) {
239
- const { width, height } = this.getButtonDimensions();
240
- const textureKey = `flatTextButton_bg_${this.colorButton}_${this.borderRadiusPx}_${width}_${height}`;
241
- // Add some padding for texture
242
- const padding = 8;
243
- const textureWidth = width + padding * 2;
244
- const textureHeight = height + padding * 2;
245
- const graphics = scene.add.graphics();
246
- const maxRadius = Math.floor(Math.min(width / 2, height / 2));
247
- const effectiveRadius = Math.min(this.borderRadiusPx, maxRadius);
248
- const finalRadius = Math.max(0, effectiveRadius);
249
- // Main background (flat, no gradient overlays)
250
- graphics.fillStyle(Color.hex(this.colorButton), 1);
251
- graphics.fillRoundedRect(padding, padding, width, height, finalRadius);
252
- // Black stroke border
253
- graphics.lineStyle(BLACK_BORDER_THICKNESS, Color.hex('black'), 1);
254
- graphics.strokeRoundedRect(padding, padding, width, height, finalRadius);
255
- graphics.generateTexture(textureKey, textureWidth, textureHeight);
256
- graphics.destroy();
257
- return textureKey;
258
- }
259
- /**
260
- * Adds the button's visual elements to the container.
261
- */
262
- setupContainer() {
263
- this.add([this.whiteBorderSprite, this.backgroundSprite, this.buttonText]);
264
- }
265
- /**
266
- * Sets up interactivity for the button, including hover and click effects.
267
- * @param onClick Optional click callback.
268
- */
269
- setupInteractivity(onClick) {
270
- this.backgroundSprite.setInteractive({ useHandCursor: true });
271
- // Hover effects
272
- this.backgroundSprite.on('pointerover', () => {
273
- this.scene.tweens.add({
274
- targets: this,
275
- duration: durations.hover,
276
- scaleX: HOVER_SCALE,
277
- scaleY: HOVER_SCALE,
278
- ease: 'Back.easeOut',
279
- });
280
- });
281
- this.backgroundSprite.on('pointerout', () => {
282
- this.scene.tweens.add({
283
- targets: this,
284
- duration: durations.hover,
285
- scaleX: 1,
286
- scaleY: 1,
287
- ease: 'Back.easeOut',
288
- });
289
- });
290
- // Click effects
291
- this.backgroundSprite.on('pointerdown', () => {
292
- this.scene.tweens.add({
293
- targets: [this.whiteBorderSprite, this.backgroundSprite, this.buttonText],
294
- scaleX: POINTER_DOWN_SCALE,
295
- scaleY: POINTER_DOWN_SCALE,
296
- duration: durations.click,
297
- ease: 'Linear',
298
- });
299
- });
300
- this.backgroundSprite.on('pointerup', () => {
301
- this.scene.tweens.add({
302
- targets: [this.whiteBorderSprite, this.backgroundSprite, this.buttonText],
303
- scaleX: 1,
304
- scaleY: 1,
305
- duration: durations.click,
306
- ease: 'Linear',
307
- });
308
- onClick?.();
309
- });
310
- }
311
- /**
312
- * Gets the interactive sprite of the icon button
313
- * @returns The interactive sprite
314
- */
315
- get interactive() {
316
- const { on, off, setInteractive, once } = this.backgroundSprite;
317
- return {
318
- on: on.bind(this.backgroundSprite),
319
- off: off.bind(this.backgroundSprite),
320
- setInteractive: setInteractive.bind(this.backgroundSprite),
321
- once: once.bind(this.backgroundSprite),
322
- };
323
- }
324
- }
325
- //# sourceMappingURL=flat-text-button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flat-text-button.js","sourceRoot":"","sources":["../../../src/components/flat-text-button/flat-text-button.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=flat-text-button.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flat-text-button.spec.d.ts","sourceRoot":"","sources":["../../../src/components/flat-text-button/flat-text-button.spec.ts"],"names":[],"mappings":""}