hudini 0.19.0 → 0.21.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/README.md +1 -27
- package/dist/components/alert/alert.d.ts +161 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/alert.js +304 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/alert.spec.d.ts +2 -0
- package/dist/components/alert/alert.spec.d.ts.map +1 -0
- package/dist/components/alert/alert.spec.js +235 -0
- package/dist/components/alert/alert.spec.js.map +1 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/badge/badge.d.ts +94 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +180 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.spec.d.ts +2 -0
- package/dist/components/badge/badge.spec.d.ts.map +1 -0
- package/dist/components/badge/badge.spec.js +197 -0
- package/dist/components/badge/badge.spec.js.map +1 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/card/card.d.ts +11 -15
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card/card.js +37 -59
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts +153 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +329 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.spec.d.ts +2 -0
- package/dist/components/checkbox/checkbox.spec.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.spec.js +346 -0
- package/dist/components/checkbox/checkbox.spec.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/circular-progress/circular-progress.d.ts.map +1 -1
- package/dist/components/circular-progress/circular-progress.js +2 -1
- package/dist/components/circular-progress/circular-progress.js.map +1 -1
- package/dist/components/circular-progress/circular-progress.spec.js +2 -0
- package/dist/components/circular-progress/circular-progress.spec.js.map +1 -1
- package/dist/components/dock/dock.d.ts +115 -0
- package/dist/components/dock/dock.d.ts.map +1 -0
- package/dist/components/dock/dock.js +168 -0
- package/dist/components/dock/dock.js.map +1 -0
- package/dist/components/dock/dock.spec.d.ts +2 -0
- package/dist/components/dock/dock.spec.d.ts.map +1 -0
- package/dist/components/dock/dock.spec.js +178 -0
- package/dist/components/dock/dock.spec.js.map +1 -0
- package/dist/components/dock/index.d.ts +2 -0
- package/dist/components/dock/index.d.ts.map +1 -0
- package/dist/components/dock/index.js +2 -0
- package/dist/components/dock/index.js.map +1 -0
- package/dist/components/icon-button/icon-button.d.ts +18 -9
- package/dist/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.js +57 -101
- package/dist/components/icon-button/icon-button.js.map +1 -1
- package/dist/components/index.d.ts +10 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +10 -5
- package/dist/components/index.js.map +1 -1
- package/dist/components/linear-progress/linear-progress.d.ts.map +1 -1
- package/dist/components/linear-progress/linear-progress.js +4 -4
- package/dist/components/linear-progress/linear-progress.js.map +1 -1
- package/dist/components/linear-progress/linear-progress.spec.js +2 -0
- package/dist/components/linear-progress/linear-progress.spec.js.map +1 -1
- package/dist/components/modal/index.d.ts +2 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +2 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/modal.d.ts +193 -0
- package/dist/components/modal/modal.d.ts.map +1 -0
- package/dist/components/modal/modal.js +382 -0
- package/dist/components/modal/modal.js.map +1 -0
- package/dist/components/modal/modal.spec.d.ts +2 -0
- package/dist/components/modal/modal.spec.d.ts.map +1 -0
- package/dist/components/modal/modal.spec.js +360 -0
- package/dist/components/modal/modal.spec.js.map +1 -0
- package/dist/components/overlay/index.d.ts +2 -0
- package/dist/components/overlay/index.d.ts.map +1 -0
- package/dist/components/overlay/index.js +2 -0
- package/dist/components/overlay/index.js.map +1 -0
- package/dist/components/overlay/overlay.d.ts +75 -0
- package/dist/components/overlay/overlay.d.ts.map +1 -0
- package/dist/components/overlay/overlay.js +106 -0
- package/dist/components/overlay/overlay.js.map +1 -0
- package/dist/components/overlay/overlay.spec.d.ts +2 -0
- package/dist/components/overlay/overlay.spec.d.ts.map +1 -0
- package/dist/components/overlay/overlay.spec.js +135 -0
- package/dist/components/overlay/overlay.spec.js.map +1 -0
- package/dist/components/radial-progress/radial-progress.d.ts.map +1 -1
- package/dist/components/radial-progress/radial-progress.js +3 -2
- package/dist/components/radial-progress/radial-progress.js.map +1 -1
- package/dist/components/radio/index.d.ts +2 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +2 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio/radio.d.ts +157 -0
- package/dist/components/radio/radio.d.ts.map +1 -0
- package/dist/components/radio/radio.js +312 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/radio.spec.d.ts +2 -0
- package/dist/components/radio/radio.spec.d.ts.map +1 -0
- package/dist/components/radio/radio.spec.js +353 -0
- package/dist/components/radio/radio.spec.js.map +1 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/index.d.ts.map +1 -0
- package/dist/components/radio-group/index.js +2 -0
- package/dist/components/radio-group/index.js.map +1 -0
- package/dist/components/radio-group/radio-group.d.ts +122 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.js +165 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/radio-group/radio-group.spec.d.ts +2 -0
- package/dist/components/radio-group/radio-group.spec.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.spec.js +205 -0
- package/dist/components/radio-group/radio-group.spec.js.map +1 -0
- package/dist/components/stack/index.d.ts +2 -0
- package/dist/components/stack/index.d.ts.map +1 -0
- package/dist/components/stack/index.js +2 -0
- package/dist/components/stack/index.js.map +1 -0
- package/dist/components/stack/stack.d.ts +118 -0
- package/dist/components/stack/stack.d.ts.map +1 -0
- package/dist/components/stack/stack.js +137 -0
- package/dist/components/stack/stack.js.map +1 -0
- package/dist/components/stack/stack.spec.d.ts +2 -0
- package/dist/components/stack/stack.spec.d.ts.map +1 -0
- package/dist/components/stack/stack.spec.js +116 -0
- package/dist/components/stack/stack.spec.js.map +1 -0
- package/dist/components/text/text.d.ts +21 -4
- package/dist/components/text/text.d.ts.map +1 -1
- package/dist/components/text/text.js +14 -14
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/text-button/text-button.d.ts +77 -24
- package/dist/components/text-button/text-button.d.ts.map +1 -1
- package/dist/components/text-button/text-button.js +203 -104
- package/dist/components/text-button/text-button.js.map +1 -1
- package/dist/components/text-button/text-button.spec.js +97 -9
- package/dist/components/text-button/text-button.spec.js.map +1 -1
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/index.d.ts.map +1 -0
- package/dist/components/toggle/index.js +2 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/toggle/toggle.d.ts +149 -0
- package/dist/components/toggle/toggle.d.ts.map +1 -0
- package/dist/components/toggle/toggle.js +378 -0
- package/dist/components/toggle/toggle.js.map +1 -0
- package/dist/components/toggle/toggle.spec.d.ts +2 -0
- package/dist/components/toggle/toggle.spec.d.ts.map +1 -0
- package/dist/components/toggle/toggle.spec.js +353 -0
- package/dist/components/toggle/toggle.spec.js.map +1 -0
- package/dist/hudini.js +6523 -4980
- package/dist/hudini.min.js +1 -1
- package/dist/loaders/load-fonts.d.ts +29 -0
- package/dist/loaders/load-fonts.d.ts.map +1 -1
- package/dist/loaders/load-fonts.js +20 -1
- package/dist/loaders/load-fonts.js.map +1 -1
- package/dist/utils/button-style.d.ts +27 -0
- package/dist/utils/button-style.d.ts.map +1 -0
- package/dist/utils/button-style.js +37 -0
- package/dist/utils/button-style.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/number-to-rgb.d.ts +16 -0
- package/dist/utils/number-to-rgb.d.ts.map +1 -0
- package/dist/utils/number-to-rgb.js +20 -0
- package/dist/utils/number-to-rgb.js.map +1 -0
- package/package.json +2 -2
- package/dist/components/flat-icon-button/flat-icon-button.d.ts +0 -60
- package/dist/components/flat-icon-button/flat-icon-button.d.ts.map +0 -1
- package/dist/components/flat-icon-button/flat-icon-button.js +0 -279
- package/dist/components/flat-icon-button/flat-icon-button.js.map +0 -1
- package/dist/components/flat-icon-button/index.d.ts +0 -2
- package/dist/components/flat-icon-button/index.d.ts.map +0 -1
- package/dist/components/flat-icon-button/index.js +0 -2
- package/dist/components/flat-icon-button/index.js.map +0 -1
- package/dist/components/flat-section-header/flat-section-header.d.ts +0 -143
- package/dist/components/flat-section-header/flat-section-header.d.ts.map +0 -1
- package/dist/components/flat-section-header/flat-section-header.js +0 -275
- package/dist/components/flat-section-header/flat-section-header.js.map +0 -1
- package/dist/components/flat-section-header/flat-section-header.spec.d.ts +0 -2
- package/dist/components/flat-section-header/flat-section-header.spec.d.ts.map +0 -1
- package/dist/components/flat-section-header/flat-section-header.spec.js +0 -255
- package/dist/components/flat-section-header/flat-section-header.spec.js.map +0 -1
- package/dist/components/flat-section-header/index.d.ts +0 -2
- package/dist/components/flat-section-header/index.d.ts.map +0 -1
- package/dist/components/flat-section-header/index.js +0 -2
- package/dist/components/flat-section-header/index.js.map +0 -1
- package/dist/components/flat-text-button/flat-text-button.d.ts +0 -165
- package/dist/components/flat-text-button/flat-text-button.d.ts.map +0 -1
- package/dist/components/flat-text-button/flat-text-button.js +0 -325
- package/dist/components/flat-text-button/flat-text-button.js.map +0 -1
- package/dist/components/flat-text-button/flat-text-button.spec.d.ts +0 -2
- package/dist/components/flat-text-button/flat-text-button.spec.d.ts.map +0 -1
- package/dist/components/flat-text-button/flat-text-button.spec.js +0 -243
- package/dist/components/flat-text-button/flat-text-button.spec.js.map +0 -1
- package/dist/components/flat-text-button/index.d.ts +0 -2
- package/dist/components/flat-text-button/index.d.ts.map +0 -1
- package/dist/components/flat-text-button/index.js +0 -2
- package/dist/components/flat-text-button/index.js.map +0 -1
- package/dist/components/panel/index.d.ts +0 -2
- package/dist/components/panel/index.d.ts.map +0 -1
- package/dist/components/panel/index.js +0 -2
- package/dist/components/panel/index.js.map +0 -1
- package/dist/components/panel/panel.d.ts +0 -78
- package/dist/components/panel/panel.d.ts.map +0 -1
- package/dist/components/panel/panel.js +0 -192
- package/dist/components/panel/panel.js.map +0 -1
- package/dist/components/section-header/index.d.ts +0 -2
- package/dist/components/section-header/index.d.ts.map +0 -1
- package/dist/components/section-header/index.js +0 -2
- package/dist/components/section-header/index.js.map +0 -1
- package/dist/components/section-header/section-header.d.ts +0 -149
- package/dist/components/section-header/section-header.d.ts.map +0 -1
- package/dist/components/section-header/section-header.js +0 -292
- package/dist/components/section-header/section-header.js.map +0 -1
- package/dist/components/section-header/section-header.spec.d.ts +0 -2
- package/dist/components/section-header/section-header.spec.d.ts.map +0 -1
- package/dist/components/section-header/section-header.spec.js +0 -264
- package/dist/components/section-header/section-header.spec.js.map +0 -1
package/README.md
CHANGED
|
@@ -293,35 +293,9 @@ Notes:
|
|
|
293
293
|
- Hover scales the icon subtly, click animates press/release.
|
|
294
294
|
- Colors and sizes integrate with `phaser-wind` theme tokens.
|
|
295
295
|
|
|
296
|
-
### FlatIconButton
|
|
297
|
-
|
|
298
|
-
A flat-style icon button with customizable colors, opacity, and border radius.
|
|
299
|
-
|
|
300
|
-
```ts
|
|
301
|
-
import { FlatIconButton } from 'hudini';
|
|
302
|
-
|
|
303
|
-
const flatBtn = new FlatIconButton({
|
|
304
|
-
scene: this,
|
|
305
|
-
x: 200,
|
|
306
|
-
y: 100,
|
|
307
|
-
icon: 'solid/play',
|
|
308
|
-
size: 'lg',
|
|
309
|
-
backgroundColor: 'blue-600',
|
|
310
|
-
iconColor: 'white',
|
|
311
|
-
borderRadius: 'md',
|
|
312
|
-
backgroundOpacity: 0.8,
|
|
313
|
-
iconOpacity: 1,
|
|
314
|
-
onClick: () => {
|
|
315
|
-
// your click handler
|
|
316
|
-
},
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
this.add.existing(flatBtn);
|
|
320
|
-
```
|
|
321
|
-
|
|
322
296
|
### Interactive API
|
|
323
297
|
|
|
324
|
-
|
|
298
|
+
`IconButton` provides direct access to event methods for advanced event handling:
|
|
325
299
|
|
|
326
300
|
```ts
|
|
327
301
|
const button = new IconButton({
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { IconText, type IconKey } from 'font-awesome-for-phaser';
|
|
2
|
+
import { GameObjects, Scene } from 'phaser';
|
|
3
|
+
import { type ColorKey, type FontKey, type FontSizeKey, type RadiusKey, type SpacingKey } from 'phaser-wind';
|
|
4
|
+
import { ContainerInteractive } from '../container-interactive';
|
|
5
|
+
import { Stack } from '../stack';
|
|
6
|
+
/**
|
|
7
|
+
* Semantic color intent for an Alert. Each variant defines a default fill
|
|
8
|
+
* color and (for the semantic ones) a default left icon — matching daisyUI's
|
|
9
|
+
* alert conventions.
|
|
10
|
+
*/
|
|
11
|
+
export type AlertVariant = 'success' | 'error' | 'warning' | 'info' | 'neutral';
|
|
12
|
+
/** Parameters for creating an {@link Alert}. */
|
|
13
|
+
export type AlertParams = {
|
|
14
|
+
/** Phaser scene where the alert will be added. */
|
|
15
|
+
scene: Scene;
|
|
16
|
+
/** X position (center of the alert box). */
|
|
17
|
+
x: number;
|
|
18
|
+
/** Y position (center of the alert box). */
|
|
19
|
+
y: number;
|
|
20
|
+
/** Alert text. */
|
|
21
|
+
text: string;
|
|
22
|
+
/**
|
|
23
|
+
* Semantic variant. Drives the default `color` and default `leftIcon`.
|
|
24
|
+
* Defaults to `'info'`.
|
|
25
|
+
*/
|
|
26
|
+
variant?: AlertVariant;
|
|
27
|
+
/**
|
|
28
|
+
* Background color. Overrides the variant's default. Accepts a palette
|
|
29
|
+
* family (`'blue'`), a full token (`'blue-500'`), a theme key, or a CSS
|
|
30
|
+
* string.
|
|
31
|
+
*/
|
|
32
|
+
color?: ColorKey | string;
|
|
33
|
+
/** Text color. Defaults to `'white'`. */
|
|
34
|
+
textColor?: ColorKey | string;
|
|
35
|
+
/**
|
|
36
|
+
* Font Awesome icon shown to the LEFT of the text. When omitted, uses the
|
|
37
|
+
* variant's default (`circle-check` for success, `circle-xmark` for error,
|
|
38
|
+
* etc). Pass `null` to explicitly disable the default icon.
|
|
39
|
+
*/
|
|
40
|
+
leftIcon?: IconKey | null;
|
|
41
|
+
/**
|
|
42
|
+
* Font Awesome icon shown to the RIGHT of the text. No default — omit for
|
|
43
|
+
* no right icon, or pass an icon key (commonly `'xmark'` for a "close"
|
|
44
|
+
* affordance).
|
|
45
|
+
*/
|
|
46
|
+
rightIcon?: IconKey;
|
|
47
|
+
/**
|
|
48
|
+
* Font size in px (number) or a Phaser Wind font size token. Defaults to
|
|
49
|
+
* `'base'`.
|
|
50
|
+
*/
|
|
51
|
+
fontSize?: FontSizeKey | number;
|
|
52
|
+
/** Font family. Defaults to `'Fredoka'`. */
|
|
53
|
+
font?: FontKey | string;
|
|
54
|
+
/**
|
|
55
|
+
* Border radius in px (number) or a Phaser Wind radius token. Defaults to
|
|
56
|
+
* `'md'`.
|
|
57
|
+
*/
|
|
58
|
+
borderRadius?: RadiusKey | number;
|
|
59
|
+
/**
|
|
60
|
+
* Inner padding around the content in px (number) or a Phaser Wind spacing
|
|
61
|
+
* token. Defaults to `'4'`.
|
|
62
|
+
*/
|
|
63
|
+
padding?: SpacingKey | number;
|
|
64
|
+
/**
|
|
65
|
+
* Gap between icons and text in pixels. Defaults to a value proportional
|
|
66
|
+
* to the font size.
|
|
67
|
+
*/
|
|
68
|
+
iconGap?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Optional click handler. When provided, the alert becomes interactive
|
|
71
|
+
* and the cursor turns into a pointer on hover. When omitted, the alert
|
|
72
|
+
* is a static banner.
|
|
73
|
+
*/
|
|
74
|
+
onClick?: () => void;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Alert — a static (or optionally clickable) notification banner.
|
|
78
|
+
*
|
|
79
|
+
* Same visual language as a filled `TextButton` (colored fill + white
|
|
80
|
+
* outlined text + optional icons), but without hover/click tweens.
|
|
81
|
+
* Semantic variants (`success`/`error`/`warning`/`info`/`neutral`) come with
|
|
82
|
+
* sensible default colors and icons.
|
|
83
|
+
*
|
|
84
|
+
* Meant to be used inline (permanent banner, form error, achievement popup)
|
|
85
|
+
* or wrapped in a Toast for auto-dismiss behavior (separate component).
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* new Alert({
|
|
89
|
+
* scene, x: 400, y: 100,
|
|
90
|
+
* variant: 'success',
|
|
91
|
+
* text: 'Player saved!',
|
|
92
|
+
* });
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* // With a right icon acting as a "close" hint + a click handler
|
|
96
|
+
* new Alert({
|
|
97
|
+
* scene, x: 400, y: 100,
|
|
98
|
+
* variant: 'warning',
|
|
99
|
+
* text: 'Low health!',
|
|
100
|
+
* rightIcon: 'xmark',
|
|
101
|
+
* onClick: () => alert.destroy(),
|
|
102
|
+
* });
|
|
103
|
+
*/
|
|
104
|
+
export declare class Alert extends ContainerInteractive<Phaser.GameObjects.Sprite> {
|
|
105
|
+
/** The background sprite of the alert. */
|
|
106
|
+
backgroundSprite: GameObjects.Sprite;
|
|
107
|
+
/** The text object. */
|
|
108
|
+
alertText: GameObjects.Text;
|
|
109
|
+
/** The horizontal Stack composing [leftIcon?, text, rightIcon?]. */
|
|
110
|
+
contentStack: Stack;
|
|
111
|
+
/** Left icon glyph, when set (either by variant default or explicit). */
|
|
112
|
+
leftIconText: IconText | undefined;
|
|
113
|
+
/** Right icon glyph, when explicitly set. */
|
|
114
|
+
rightIconText: IconText | undefined;
|
|
115
|
+
private pw;
|
|
116
|
+
private fontSizePx;
|
|
117
|
+
private paddingPx;
|
|
118
|
+
private borderRadiusPx;
|
|
119
|
+
private colorInput;
|
|
120
|
+
private colorAlert;
|
|
121
|
+
private textColorValue;
|
|
122
|
+
private fontFamily;
|
|
123
|
+
private textValue;
|
|
124
|
+
private variant;
|
|
125
|
+
private leftIconKey;
|
|
126
|
+
private rightIconKey;
|
|
127
|
+
private iconGap;
|
|
128
|
+
constructor({ scene, x, y, text, variant, color, textColor, leftIcon, rightIcon, fontSize, font, borderRadius, padding, iconGap, onClick, }: AlertParams);
|
|
129
|
+
/** Change the alert text. */
|
|
130
|
+
setText(text: string): this;
|
|
131
|
+
/** Change the background color (overrides the variant's default). */
|
|
132
|
+
setColor(color: ColorKey | string): this;
|
|
133
|
+
/** Change the text color. */
|
|
134
|
+
setTextColor(color: ColorKey | string): this;
|
|
135
|
+
/**
|
|
136
|
+
* Switch to another semantic variant. Applies the variant's default color
|
|
137
|
+
* and left icon unless the caller had previously overridden them (in which
|
|
138
|
+
* case the overrides stick — call `setColor` / `setLeftIcon` separately to
|
|
139
|
+
* clear them).
|
|
140
|
+
*/
|
|
141
|
+
setVariant(variant: AlertVariant): this;
|
|
142
|
+
/** Set (or clear with `undefined`) the left icon. */
|
|
143
|
+
setLeftIcon(icon: IconKey | undefined): this;
|
|
144
|
+
/** Set (or clear with `undefined`) the right icon. */
|
|
145
|
+
setRightIcon(icon: IconKey | undefined): this;
|
|
146
|
+
/** Change the border radius. */
|
|
147
|
+
setBorderRadius(borderRadius: RadiusKey | number): this;
|
|
148
|
+
/** Change the inner padding. */
|
|
149
|
+
setPadding(padding: SpacingKey | number): this;
|
|
150
|
+
private createAlertContent;
|
|
151
|
+
private createIcon;
|
|
152
|
+
private rebuildContent;
|
|
153
|
+
private createBackgroundSprite;
|
|
154
|
+
private regenerateSprites;
|
|
155
|
+
private syncContainerSize;
|
|
156
|
+
private getAlertDimensions;
|
|
157
|
+
private createBackgroundTexture;
|
|
158
|
+
private setupContainer;
|
|
159
|
+
private setupClickHandler;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/alert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/* eslint-disable max-lines-per-function */
|
|
2
|
+
/* eslint-disable complexity */
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
import { IconText } from 'font-awesome-for-phaser';
|
|
5
|
+
import { Color, } from 'phaser-wind';
|
|
6
|
+
import { BUTTON_STROKE_THICKNESS, getButtonStrokeColor, } from '../../utils/button-style';
|
|
7
|
+
import { getPWFromScene } from '../../utils/get-pw-from-scene';
|
|
8
|
+
import { ContainerInteractive } from '../container-interactive';
|
|
9
|
+
import { Stack } from '../stack';
|
|
10
|
+
import { Text } from '../text';
|
|
11
|
+
const VARIANT_CONFIGS = {
|
|
12
|
+
success: { color: 'green-500', leftIcon: 'circle-check' },
|
|
13
|
+
error: { color: 'red-500', leftIcon: 'circle-xmark' },
|
|
14
|
+
warning: { color: 'yellow-500', leftIcon: 'triangle-exclamation' },
|
|
15
|
+
info: { color: 'blue-500', leftIcon: 'circle-info' },
|
|
16
|
+
neutral: { color: 'slate-600', leftIcon: undefined },
|
|
17
|
+
};
|
|
18
|
+
/** See {@link TEXTURE_ANTIALIAS_MARGIN} in text-button. */
|
|
19
|
+
const TEXTURE_ANTIALIAS_MARGIN = 1;
|
|
20
|
+
const MIN_ICON_TEXT_GAP_PX = 4;
|
|
21
|
+
const ICON_TEXT_GAP_RATIO = 0.35;
|
|
22
|
+
/**
|
|
23
|
+
* Alert — a static (or optionally clickable) notification banner.
|
|
24
|
+
*
|
|
25
|
+
* Same visual language as a filled `TextButton` (colored fill + white
|
|
26
|
+
* outlined text + optional icons), but without hover/click tweens.
|
|
27
|
+
* Semantic variants (`success`/`error`/`warning`/`info`/`neutral`) come with
|
|
28
|
+
* sensible default colors and icons.
|
|
29
|
+
*
|
|
30
|
+
* Meant to be used inline (permanent banner, form error, achievement popup)
|
|
31
|
+
* or wrapped in a Toast for auto-dismiss behavior (separate component).
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* new Alert({
|
|
35
|
+
* scene, x: 400, y: 100,
|
|
36
|
+
* variant: 'success',
|
|
37
|
+
* text: 'Player saved!',
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // With a right icon acting as a "close" hint + a click handler
|
|
42
|
+
* new Alert({
|
|
43
|
+
* scene, x: 400, y: 100,
|
|
44
|
+
* variant: 'warning',
|
|
45
|
+
* text: 'Low health!',
|
|
46
|
+
* rightIcon: 'xmark',
|
|
47
|
+
* onClick: () => alert.destroy(),
|
|
48
|
+
* });
|
|
49
|
+
*/
|
|
50
|
+
export class Alert extends ContainerInteractive {
|
|
51
|
+
/** The background sprite of the alert. */
|
|
52
|
+
backgroundSprite;
|
|
53
|
+
/** The text object. */
|
|
54
|
+
alertText;
|
|
55
|
+
/** The horizontal Stack composing [leftIcon?, text, rightIcon?]. */
|
|
56
|
+
contentStack;
|
|
57
|
+
/** Left icon glyph, when set (either by variant default or explicit). */
|
|
58
|
+
leftIconText;
|
|
59
|
+
/** Right icon glyph, when explicitly set. */
|
|
60
|
+
rightIconText;
|
|
61
|
+
pw;
|
|
62
|
+
fontSizePx;
|
|
63
|
+
paddingPx;
|
|
64
|
+
borderRadiusPx;
|
|
65
|
+
colorInput;
|
|
66
|
+
colorAlert;
|
|
67
|
+
textColorValue;
|
|
68
|
+
fontFamily;
|
|
69
|
+
textValue;
|
|
70
|
+
variant;
|
|
71
|
+
leftIconKey;
|
|
72
|
+
rightIconKey;
|
|
73
|
+
iconGap;
|
|
74
|
+
constructor({ scene, x, y, text, variant = 'info', color, textColor = 'white', leftIcon, rightIcon, fontSize = 'base', font, borderRadius = 'md', padding = '4', iconGap, onClick, }) {
|
|
75
|
+
super({ scene, x, y });
|
|
76
|
+
this.pw = getPWFromScene(scene);
|
|
77
|
+
// Resolve variant defaults.
|
|
78
|
+
const variantConfig = VARIANT_CONFIGS[variant];
|
|
79
|
+
const resolvedColor = color ?? variantConfig.color;
|
|
80
|
+
// `leftIcon === null` means "explicitly disable the default"; omitting
|
|
81
|
+
// it falls back to the variant's default; passing an IconKey overrides.
|
|
82
|
+
const resolvedLeftIcon = leftIcon === null
|
|
83
|
+
? undefined
|
|
84
|
+
: leftIcon ?? variantConfig.leftIcon;
|
|
85
|
+
this.variant = variant;
|
|
86
|
+
this.textValue = text;
|
|
87
|
+
this.leftIconKey = resolvedLeftIcon;
|
|
88
|
+
this.rightIconKey = rightIcon;
|
|
89
|
+
this.iconGap = iconGap;
|
|
90
|
+
this.fontSizePx =
|
|
91
|
+
typeof fontSize === 'number'
|
|
92
|
+
? fontSize
|
|
93
|
+
: this.pw.fontSize.px(fontSize ?? 'base');
|
|
94
|
+
this.paddingPx =
|
|
95
|
+
typeof padding === 'number'
|
|
96
|
+
? padding
|
|
97
|
+
: this.pw.spacing.px(padding ?? '4');
|
|
98
|
+
this.borderRadiusPx =
|
|
99
|
+
typeof borderRadius === 'number'
|
|
100
|
+
? borderRadius
|
|
101
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
102
|
+
this.colorInput = String(resolvedColor);
|
|
103
|
+
this.colorAlert = Color.rgb(resolvedColor);
|
|
104
|
+
this.textColorValue = Color.rgb(textColor);
|
|
105
|
+
this.fontFamily = font
|
|
106
|
+
? typeof font === 'string'
|
|
107
|
+
? font
|
|
108
|
+
: this.pw.font.family(font)
|
|
109
|
+
: 'Fredoka';
|
|
110
|
+
this.createAlertContent(scene);
|
|
111
|
+
this.createBackgroundSprite(scene);
|
|
112
|
+
this.setupContainer();
|
|
113
|
+
this.hitArea = this.backgroundSprite;
|
|
114
|
+
if (onClick) {
|
|
115
|
+
this.setupClickHandler(onClick);
|
|
116
|
+
}
|
|
117
|
+
this.syncContainerSize();
|
|
118
|
+
}
|
|
119
|
+
/** Change the alert text. */
|
|
120
|
+
setText(text) {
|
|
121
|
+
this.textValue = text;
|
|
122
|
+
this.alertText.setText(text);
|
|
123
|
+
this.contentStack.layout();
|
|
124
|
+
this.regenerateSprites();
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
/** Change the background color (overrides the variant's default). */
|
|
128
|
+
setColor(color) {
|
|
129
|
+
this.colorInput = String(color);
|
|
130
|
+
this.colorAlert = Color.rgb(color);
|
|
131
|
+
// Text stroke derives from colorInput — rebuild content.
|
|
132
|
+
this.rebuildContent();
|
|
133
|
+
this.regenerateSprites();
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
/** Change the text color. */
|
|
137
|
+
setTextColor(color) {
|
|
138
|
+
this.textColorValue = Color.rgb(color);
|
|
139
|
+
this.alertText.setColor(this.textColorValue);
|
|
140
|
+
this.leftIconText?.setColor(this.textColorValue);
|
|
141
|
+
this.rightIconText?.setColor(this.textColorValue);
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Switch to another semantic variant. Applies the variant's default color
|
|
146
|
+
* and left icon unless the caller had previously overridden them (in which
|
|
147
|
+
* case the overrides stick — call `setColor` / `setLeftIcon` separately to
|
|
148
|
+
* clear them).
|
|
149
|
+
*/
|
|
150
|
+
setVariant(variant) {
|
|
151
|
+
if (this.variant === variant)
|
|
152
|
+
return this;
|
|
153
|
+
this.variant = variant;
|
|
154
|
+
const cfg = VARIANT_CONFIGS[variant];
|
|
155
|
+
this.colorInput = String(cfg.color);
|
|
156
|
+
this.colorAlert = Color.rgb(cfg.color);
|
|
157
|
+
this.leftIconKey = cfg.leftIcon;
|
|
158
|
+
this.rebuildContent();
|
|
159
|
+
this.regenerateSprites();
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
162
|
+
/** Set (or clear with `undefined`) the left icon. */
|
|
163
|
+
setLeftIcon(icon) {
|
|
164
|
+
this.leftIconKey = icon;
|
|
165
|
+
this.rebuildContent();
|
|
166
|
+
this.regenerateSprites();
|
|
167
|
+
return this;
|
|
168
|
+
}
|
|
169
|
+
/** Set (or clear with `undefined`) the right icon. */
|
|
170
|
+
setRightIcon(icon) {
|
|
171
|
+
this.rightIconKey = icon;
|
|
172
|
+
this.rebuildContent();
|
|
173
|
+
this.regenerateSprites();
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
/** Change the border radius. */
|
|
177
|
+
setBorderRadius(borderRadius) {
|
|
178
|
+
this.borderRadiusPx =
|
|
179
|
+
typeof borderRadius === 'number'
|
|
180
|
+
? borderRadius
|
|
181
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
182
|
+
this.regenerateSprites();
|
|
183
|
+
return this;
|
|
184
|
+
}
|
|
185
|
+
/** Change the inner padding. */
|
|
186
|
+
setPadding(padding) {
|
|
187
|
+
this.paddingPx =
|
|
188
|
+
typeof padding === 'number'
|
|
189
|
+
? padding
|
|
190
|
+
: this.pw.spacing.px(padding ?? '4');
|
|
191
|
+
this.regenerateSprites();
|
|
192
|
+
return this;
|
|
193
|
+
}
|
|
194
|
+
createAlertContent(scene) {
|
|
195
|
+
const strokeThickness = BUTTON_STROKE_THICKNESS;
|
|
196
|
+
const strokeColor = getButtonStrokeColor(this.colorInput);
|
|
197
|
+
this.alertText = new Text({
|
|
198
|
+
scene,
|
|
199
|
+
x: 0,
|
|
200
|
+
y: 0,
|
|
201
|
+
text: this.textValue,
|
|
202
|
+
size: this.fontSizePx,
|
|
203
|
+
fontFamily: this.fontFamily,
|
|
204
|
+
strokeThickness,
|
|
205
|
+
strokeColor,
|
|
206
|
+
});
|
|
207
|
+
this.alertText.setColor(this.textColorValue);
|
|
208
|
+
this.alertText.setOrigin(0.5, 0.5);
|
|
209
|
+
this.leftIconText = this.leftIconKey
|
|
210
|
+
? this.createIcon(scene, this.leftIconKey, strokeColor, strokeThickness)
|
|
211
|
+
: undefined;
|
|
212
|
+
this.rightIconText = this.rightIconKey
|
|
213
|
+
? this.createIcon(scene, this.rightIconKey, strokeColor, strokeThickness)
|
|
214
|
+
: undefined;
|
|
215
|
+
const children = [];
|
|
216
|
+
if (this.leftIconText)
|
|
217
|
+
children.push(this.leftIconText);
|
|
218
|
+
children.push(this.alertText);
|
|
219
|
+
if (this.rightIconText)
|
|
220
|
+
children.push(this.rightIconText);
|
|
221
|
+
const gap = this.iconGap ??
|
|
222
|
+
Math.max(MIN_ICON_TEXT_GAP_PX, Math.round(this.fontSizePx * ICON_TEXT_GAP_RATIO));
|
|
223
|
+
this.contentStack = new Stack({
|
|
224
|
+
scene,
|
|
225
|
+
x: 0,
|
|
226
|
+
y: 0,
|
|
227
|
+
direction: 'row',
|
|
228
|
+
align: 'center',
|
|
229
|
+
gap,
|
|
230
|
+
children,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
createIcon(scene, icon, strokeColor, strokeThickness) {
|
|
234
|
+
const iconText = new IconText({
|
|
235
|
+
scene,
|
|
236
|
+
x: 0,
|
|
237
|
+
y: 0,
|
|
238
|
+
icon,
|
|
239
|
+
size: this.fontSizePx,
|
|
240
|
+
style: {
|
|
241
|
+
color: this.textColorValue,
|
|
242
|
+
strokeThickness,
|
|
243
|
+
stroke: strokeColor,
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
iconText.setFontStyle('900');
|
|
247
|
+
iconText.setOrigin(0.5, 0.5);
|
|
248
|
+
scene.add.existing(iconText);
|
|
249
|
+
return iconText;
|
|
250
|
+
}
|
|
251
|
+
rebuildContent() {
|
|
252
|
+
this.remove(this.contentStack, true);
|
|
253
|
+
this.createAlertContent(this.scene);
|
|
254
|
+
this.add(this.contentStack);
|
|
255
|
+
}
|
|
256
|
+
createBackgroundSprite(scene) {
|
|
257
|
+
const backgroundTexture = this.createBackgroundTexture(scene);
|
|
258
|
+
this.backgroundSprite = scene.add.sprite(0, 0, backgroundTexture);
|
|
259
|
+
this.backgroundSprite.setOrigin(0.5, 0.5);
|
|
260
|
+
}
|
|
261
|
+
regenerateSprites() {
|
|
262
|
+
this.alertText.setText(this.textValue);
|
|
263
|
+
this.contentStack.layout();
|
|
264
|
+
const backgroundTexture = this.createBackgroundTexture(this.scene);
|
|
265
|
+
this.backgroundSprite.setTexture(backgroundTexture);
|
|
266
|
+
this.syncContainerSize();
|
|
267
|
+
}
|
|
268
|
+
syncContainerSize() {
|
|
269
|
+
const { width, height } = this.getAlertDimensions();
|
|
270
|
+
this.setSize(width, height);
|
|
271
|
+
}
|
|
272
|
+
getAlertDimensions() {
|
|
273
|
+
const contentWidth = this.contentStack.width;
|
|
274
|
+
const contentHeight = this.contentStack.height;
|
|
275
|
+
return {
|
|
276
|
+
width: contentWidth + this.paddingPx * 2,
|
|
277
|
+
height: contentHeight + this.paddingPx * 2,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
createBackgroundTexture(scene) {
|
|
281
|
+
const { width, height } = this.getAlertDimensions();
|
|
282
|
+
const textureKey = `alert_bg_${this.colorAlert}_${this.borderRadiusPx}_${width}_${height}`;
|
|
283
|
+
const padding = TEXTURE_ANTIALIAS_MARGIN;
|
|
284
|
+
const textureWidth = width + padding * 2;
|
|
285
|
+
const textureHeight = height + padding * 2;
|
|
286
|
+
const graphics = scene.add.graphics();
|
|
287
|
+
const maxRadius = Math.floor(Math.min(width / 2, height / 2));
|
|
288
|
+
const effectiveRadius = Math.min(this.borderRadiusPx, maxRadius);
|
|
289
|
+
const finalRadius = Math.max(0, effectiveRadius);
|
|
290
|
+
graphics.fillStyle(Color.hex(this.colorAlert), 1);
|
|
291
|
+
graphics.fillRoundedRect(padding, padding, width, height, finalRadius);
|
|
292
|
+
graphics.generateTexture(textureKey, textureWidth, textureHeight);
|
|
293
|
+
graphics.destroy();
|
|
294
|
+
return textureKey;
|
|
295
|
+
}
|
|
296
|
+
setupContainer() {
|
|
297
|
+
this.add([this.backgroundSprite, this.contentStack]);
|
|
298
|
+
}
|
|
299
|
+
setupClickHandler(onClick) {
|
|
300
|
+
this.backgroundSprite.setInteractive({ useHandCursor: true });
|
|
301
|
+
this.backgroundSprite.on('pointerdown', onClick);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.spec.d.ts","sourceRoot":"","sources":["../../../src/components/alert/alert.spec.ts"],"names":[],"mappings":""}
|