hudini 0.5.0 → 0.7.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/circular-progress/circular-progress.d.ts +59 -0
- package/dist/components/circular-progress/circular-progress.d.ts.map +1 -0
- package/dist/components/circular-progress/circular-progress.js +130 -0
- package/dist/components/circular-progress/circular-progress.js.map +1 -0
- package/dist/components/circular-progress/circular-progress.spec.d.ts +2 -0
- package/dist/components/circular-progress/circular-progress.spec.d.ts.map +1 -0
- package/dist/components/circular-progress/circular-progress.spec.js +185 -0
- package/dist/components/circular-progress/circular-progress.spec.js.map +1 -0
- package/dist/components/circular-progress/index.d.ts +2 -0
- package/dist/components/circular-progress/index.d.ts.map +1 -0
- package/dist/components/circular-progress/index.js +2 -0
- package/dist/components/circular-progress/index.js.map +1 -0
- package/dist/components/flat-icon-button/flat-icon-button.d.ts +45 -0
- package/dist/components/flat-icon-button/flat-icon-button.d.ts.map +1 -0
- package/dist/components/flat-icon-button/flat-icon-button.js +152 -0
- package/dist/components/flat-icon-button/flat-icon-button.js.map +1 -0
- package/dist/components/flat-icon-button/index.d.ts +2 -0
- package/dist/components/flat-icon-button/index.d.ts.map +1 -0
- package/dist/components/flat-icon-button/index.js +2 -0
- package/dist/components/flat-icon-button/index.js.map +1 -0
- package/dist/components/icon-button/icon-button.d.ts +1 -0
- package/dist/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.js +10 -0
- package/dist/components/icon-button/icon-button.js.map +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/linear-progress/index.d.ts +2 -0
- package/dist/components/linear-progress/index.d.ts.map +1 -0
- package/dist/components/linear-progress/index.js +2 -0
- package/dist/components/linear-progress/index.js.map +1 -0
- package/dist/components/linear-progress/linear-progress.d.ts +93 -0
- package/dist/components/linear-progress/linear-progress.d.ts.map +1 -0
- package/dist/components/linear-progress/linear-progress.js +231 -0
- package/dist/components/linear-progress/linear-progress.js.map +1 -0
- package/dist/components/linear-progress/linear-progress.spec.d.ts +2 -0
- package/dist/components/linear-progress/linear-progress.spec.d.ts.map +1 -0
- package/dist/components/linear-progress/linear-progress.spec.js +288 -0
- package/dist/components/linear-progress/linear-progress.spec.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACnC,CAAC;AAmBF,qBAAa,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,YAAY,EAAG,WAAW,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+FAA+F;IAC/F,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACnC,CAAC;AAmBF,qBAAa,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,YAAY,EAAG,WAAW,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAG,QAAQ,CAAC;IAE3B,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAU;gBAEpB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,gBAAgB;IAuBhF,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IA0BvD,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAqBtD,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IAuC3B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;CAwC3B"}
|
|
@@ -58,6 +58,16 @@ export class IconButton extends GameObjects.Container {
|
|
|
58
58
|
this.backgroundSprite.setTexture(backgroundTexture);
|
|
59
59
|
return this;
|
|
60
60
|
}
|
|
61
|
+
setButtonSize(size) {
|
|
62
|
+
this.sizePx =
|
|
63
|
+
typeof size === 'number' ? size : this.pw.fontSize.px(size ?? 'md');
|
|
64
|
+
this.iconText.setFontSize(`${this.sizePx}px`);
|
|
65
|
+
const shadowTexture = this.createShadowTexture(this.scene, this.sizePx, this.baseColor, this.borderRadiusPx);
|
|
66
|
+
const backgroundTexture = this.createBackgroundTexture(this.scene, this.sizePx, this.baseColor, this.borderRadiusPx);
|
|
67
|
+
this.shadowSprite.setTexture(shadowTexture);
|
|
68
|
+
this.backgroundSprite.setTexture(backgroundTexture);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
61
71
|
createShadowSprite(scene, size, baseColor, borderRadiusPx) {
|
|
62
72
|
const shadowTexture = this.createShadowTexture(scene, size, baseColor, borderRadiusPx);
|
|
63
73
|
this.shadowSprite = scene.add.sprite(1, SHADOW_OFFSET, shadowTexture);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAS,MAAM,QAAQ,CAAC;AAC5C,OAAO,EACL,KAAK,GAKN,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAc/D,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,8CAA8C;AAE9C,MAAM,OAAO,UAAW,SAAQ,WAAW,CAAC,SAAS;IAC5C,gBAAgB,CAAsB;IACtC,YAAY,CAAsB;IAClC,QAAQ,CAAY;
|
|
1
|
+
{"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC"}
|
|
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,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,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,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/linear-progress/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/linear-progress/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { GameObjects, Scene } from 'phaser';
|
|
2
|
+
import { type ColorToken, type RadiusKey } from 'phaser-wind';
|
|
3
|
+
export type LinearProgressParams = {
|
|
4
|
+
/** The scene this progress bar belongs to */
|
|
5
|
+
scene: Scene;
|
|
6
|
+
/** X coordinate of the progress bar */
|
|
7
|
+
x: number;
|
|
8
|
+
/** Y coordinate of the progress bar */
|
|
9
|
+
y: number;
|
|
10
|
+
/** Width of the progress bar in pixels */
|
|
11
|
+
width: number;
|
|
12
|
+
/** Height of the progress bar in pixels */
|
|
13
|
+
height: number;
|
|
14
|
+
/** Background color of the progress bar track */
|
|
15
|
+
backgroundColor?: ColorToken;
|
|
16
|
+
/** Color of the progress bar fill */
|
|
17
|
+
progressColor?: ColorToken;
|
|
18
|
+
/** Border radius in px (number) or a Phaser Wind radius token (string). Defaults to 'default'.
|
|
19
|
+
* Note: The effective radius is automatically limited to half of the smallest dimension to prevent visual artifacts. */
|
|
20
|
+
borderRadius?: RadiusKey | number;
|
|
21
|
+
/** Initial progress value (0-100) */
|
|
22
|
+
progress?: number;
|
|
23
|
+
/** Whether this is an indeterminate progress bar */
|
|
24
|
+
indeterminate?: boolean;
|
|
25
|
+
/** Duration of the indeterminate animation in milliseconds */
|
|
26
|
+
indeterminateAnimationDuration?: number;
|
|
27
|
+
};
|
|
28
|
+
export declare class LinearProgress extends GameObjects.Container {
|
|
29
|
+
backgroundProgressBar: GameObjects.Graphics;
|
|
30
|
+
progressBar: GameObjects.Graphics;
|
|
31
|
+
private pw;
|
|
32
|
+
private progressWidth;
|
|
33
|
+
private progressHeight;
|
|
34
|
+
private borderRadiusPx;
|
|
35
|
+
private backgroundColor;
|
|
36
|
+
private progressColor;
|
|
37
|
+
private currentProgress;
|
|
38
|
+
private isIndeterminate;
|
|
39
|
+
private indeterminateAnimation?;
|
|
40
|
+
private indeterminateAnimationDuration;
|
|
41
|
+
constructor({ scene, x, y, width, height, backgroundColor, progressColor, borderRadius, progress, indeterminate, indeterminateAnimationDuration, }: LinearProgressParams);
|
|
42
|
+
/**
|
|
43
|
+
* Sets the progress value (0-100)
|
|
44
|
+
* @param progress Progress value between 0 and 100
|
|
45
|
+
* @param animate Whether to animate the change (default: true)
|
|
46
|
+
*/
|
|
47
|
+
setProgress(progress: number, animate?: boolean): this;
|
|
48
|
+
/**
|
|
49
|
+
* Gets the current progress value
|
|
50
|
+
* @returns Current progress value (0-100)
|
|
51
|
+
*/
|
|
52
|
+
getProgress(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Sets whether the progress bar is indeterminate
|
|
55
|
+
* @param indeterminate Whether to show indeterminate animation
|
|
56
|
+
*/
|
|
57
|
+
setIndeterminate(indeterminate: boolean): this;
|
|
58
|
+
/**
|
|
59
|
+
* Sets the border radius of the progress bar
|
|
60
|
+
* @param borderRadius Border radius in px (number) or a Phaser Wind radius token (string)
|
|
61
|
+
* Note: The effective radius is automatically limited to half of the smallest dimension to prevent visual artifacts.
|
|
62
|
+
*/
|
|
63
|
+
setBorderRadius(borderRadius: RadiusKey | number): this;
|
|
64
|
+
/**
|
|
65
|
+
* Sets the background color of the progress bar
|
|
66
|
+
* @param color Background color token
|
|
67
|
+
*/
|
|
68
|
+
setBackgroundColor(color: ColorToken): this;
|
|
69
|
+
/**
|
|
70
|
+
* Sets the progress color of the progress bar
|
|
71
|
+
* @param color Progress color token
|
|
72
|
+
*/
|
|
73
|
+
setProgressColor(color: ColorToken): this;
|
|
74
|
+
/**
|
|
75
|
+
* Destroys the component and cleans up animations
|
|
76
|
+
*/
|
|
77
|
+
destroy(): void;
|
|
78
|
+
private createBackgroundSprite;
|
|
79
|
+
private createProgressSprite;
|
|
80
|
+
private setupContainer;
|
|
81
|
+
private calculateProgressDimensions;
|
|
82
|
+
private updateProgressBar;
|
|
83
|
+
private startIndeterminateAnimation;
|
|
84
|
+
private stopIndeterminateAnimation;
|
|
85
|
+
private recreateSprites;
|
|
86
|
+
/**
|
|
87
|
+
* Calculates the effective border radius, ensuring it doesn't exceed
|
|
88
|
+
* half of the smallest dimension to prevent visual artifacts
|
|
89
|
+
* @returns Limited border radius in pixels
|
|
90
|
+
*/
|
|
91
|
+
private getEffectiveBorderRadius;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=linear-progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-progress.d.ts","sourceRoot":"","sources":["../../../src/components/linear-progress/linear-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,oBAAoB,GAAG;IACjC,6CAA6C;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,qCAAqC;IACrC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B;4HACwH;IACxH,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAKF,qBAAa,cAAe,SAAQ,WAAW,CAAC,SAAS;IAChD,qBAAqB,EAAG,WAAW,CAAC,QAAQ,CAAC;IAC7C,WAAW,EAAG,WAAW,CAAC,QAAQ,CAAC;IAE1C,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,sBAAsB,CAAC,CAAkC;IACjE,OAAO,CAAC,8BAA8B,CAAS;gBAEnC,EACV,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,eAA4B,EAC5B,aAA0B,EAC1B,YAAwB,EACxB,QAAY,EACZ,aAAqB,EACrB,8BAAiE,GAClE,EAAE,oBAAoB;IA2BvB;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,IAAI;IA8BnE;;;OAGG;IACI,WAAW,IAAI,MAAM;IAI5B;;;OAGG;IACI,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAkBrD;;;;OAIG;IACI,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAe9D;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUlD;;;OAGG;IACI,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUhD;;OAEG;IACa,OAAO,IAAI,IAAI;IAK/B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,2BAA2B;IA0BnC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,eAAe;IAmBvB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAIjC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { GameObjects } from 'phaser';
|
|
2
|
+
import { Color, } from 'phaser-wind';
|
|
3
|
+
import { getPWFromScene } from '../../utils/get-pw-from-scene';
|
|
4
|
+
const A_HUNDRED = 100;
|
|
5
|
+
const INDETERMINATE_ANIMATION_DURATION = 1500; // 1.5 seconds
|
|
6
|
+
export class LinearProgress extends GameObjects.Container {
|
|
7
|
+
backgroundProgressBar;
|
|
8
|
+
progressBar;
|
|
9
|
+
pw;
|
|
10
|
+
progressWidth;
|
|
11
|
+
progressHeight;
|
|
12
|
+
borderRadiusPx;
|
|
13
|
+
backgroundColor;
|
|
14
|
+
progressColor;
|
|
15
|
+
currentProgress;
|
|
16
|
+
isIndeterminate;
|
|
17
|
+
indeterminateAnimation;
|
|
18
|
+
indeterminateAnimationDuration;
|
|
19
|
+
constructor({ scene, x, y, width, height, backgroundColor = 'gray-200', progressColor = 'blue-500', borderRadius = 'default', progress = 0, indeterminate = false, indeterminateAnimationDuration = INDETERMINATE_ANIMATION_DURATION, }) {
|
|
20
|
+
super(scene, x, y);
|
|
21
|
+
this.pw = getPWFromScene(scene);
|
|
22
|
+
this.progressWidth = width;
|
|
23
|
+
this.progressHeight = height;
|
|
24
|
+
this.backgroundColor = backgroundColor;
|
|
25
|
+
this.progressColor = progressColor;
|
|
26
|
+
this.currentProgress = Math.max(0, Math.min(A_HUNDRED, progress));
|
|
27
|
+
this.isIndeterminate = indeterminate;
|
|
28
|
+
this.indeterminateAnimationDuration = indeterminateAnimationDuration;
|
|
29
|
+
this.borderRadiusPx =
|
|
30
|
+
typeof borderRadius === 'number'
|
|
31
|
+
? borderRadius
|
|
32
|
+
: this.pw.radius.px(borderRadius);
|
|
33
|
+
this.createBackgroundSprite();
|
|
34
|
+
this.createProgressSprite();
|
|
35
|
+
this.setupContainer();
|
|
36
|
+
if (this.isIndeterminate) {
|
|
37
|
+
this.startIndeterminateAnimation();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.updateProgressBar();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Sets the progress value (0-100)
|
|
45
|
+
* @param progress Progress value between 0 and 100
|
|
46
|
+
* @param animate Whether to animate the change (default: true)
|
|
47
|
+
*/
|
|
48
|
+
setProgress(progress, animate = true) {
|
|
49
|
+
if (this.isIndeterminate) {
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
const newProgress = Math.max(0, Math.min(A_HUNDRED, progress));
|
|
53
|
+
if (this.currentProgress === newProgress) {
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
if (animate) {
|
|
57
|
+
const target = { value: this.currentProgress };
|
|
58
|
+
this.scene.tweens.add({
|
|
59
|
+
targets: target,
|
|
60
|
+
value: newProgress,
|
|
61
|
+
duration: 300,
|
|
62
|
+
ease: 'Power2',
|
|
63
|
+
onUpdate: () => {
|
|
64
|
+
this.currentProgress = target.value;
|
|
65
|
+
this.updateProgressBar();
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.currentProgress = newProgress;
|
|
71
|
+
this.updateProgressBar();
|
|
72
|
+
}
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Gets the current progress value
|
|
77
|
+
* @returns Current progress value (0-100)
|
|
78
|
+
*/
|
|
79
|
+
getProgress() {
|
|
80
|
+
return this.currentProgress;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Sets whether the progress bar is indeterminate
|
|
84
|
+
* @param indeterminate Whether to show indeterminate animation
|
|
85
|
+
*/
|
|
86
|
+
setIndeterminate(indeterminate) {
|
|
87
|
+
if (this.isIndeterminate === indeterminate) {
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
this.isIndeterminate = indeterminate;
|
|
91
|
+
if (this.isIndeterminate) {
|
|
92
|
+
this.stopIndeterminateAnimation();
|
|
93
|
+
this.startIndeterminateAnimation();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.stopIndeterminateAnimation();
|
|
97
|
+
this.updateProgressBar();
|
|
98
|
+
}
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sets the border radius of the progress bar
|
|
103
|
+
* @param borderRadius Border radius in px (number) or a Phaser Wind radius token (string)
|
|
104
|
+
* Note: The effective radius is automatically limited to half of the smallest dimension to prevent visual artifacts.
|
|
105
|
+
*/
|
|
106
|
+
setBorderRadius(borderRadius) {
|
|
107
|
+
const newRadiusPx = typeof borderRadius === 'number'
|
|
108
|
+
? borderRadius
|
|
109
|
+
: this.pw.radius.px(borderRadius);
|
|
110
|
+
if (this.borderRadiusPx === newRadiusPx) {
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
this.borderRadiusPx = newRadiusPx;
|
|
114
|
+
this.recreateSprites();
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Sets the background color of the progress bar
|
|
119
|
+
* @param color Background color token
|
|
120
|
+
*/
|
|
121
|
+
setBackgroundColor(color) {
|
|
122
|
+
if (this.backgroundColor === color) {
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
125
|
+
this.backgroundColor = color;
|
|
126
|
+
this.recreateSprites();
|
|
127
|
+
return this;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Sets the progress color of the progress bar
|
|
131
|
+
* @param color Progress color token
|
|
132
|
+
*/
|
|
133
|
+
setProgressColor(color) {
|
|
134
|
+
if (this.progressColor === color) {
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
this.progressColor = color;
|
|
138
|
+
this.recreateSprites();
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Destroys the component and cleans up animations
|
|
143
|
+
*/
|
|
144
|
+
destroy() {
|
|
145
|
+
this.stopIndeterminateAnimation();
|
|
146
|
+
super.destroy();
|
|
147
|
+
}
|
|
148
|
+
createBackgroundSprite() {
|
|
149
|
+
const bgGraphic = this.scene.add.graphics();
|
|
150
|
+
bgGraphic.fillStyle(Color.hex(this.backgroundColor), 1);
|
|
151
|
+
bgGraphic.fillRoundedRect(-this.progressWidth / 2, -this.progressHeight / 2, this.progressWidth, this.progressHeight, this.getEffectiveBorderRadius());
|
|
152
|
+
this.backgroundProgressBar = bgGraphic;
|
|
153
|
+
}
|
|
154
|
+
createProgressSprite() {
|
|
155
|
+
const progressBar = this.scene.add.graphics();
|
|
156
|
+
progressBar.fillStyle(Color.hex(this.progressColor), 1);
|
|
157
|
+
progressBar.fillRoundedRect(-this.progressWidth / 2, -this.progressHeight / 2, this.progressWidth, this.progressHeight, this.getEffectiveBorderRadius());
|
|
158
|
+
this.progressBar = progressBar;
|
|
159
|
+
}
|
|
160
|
+
setupContainer() {
|
|
161
|
+
this.add([this.backgroundProgressBar, this.progressBar]);
|
|
162
|
+
}
|
|
163
|
+
calculateProgressDimensions() {
|
|
164
|
+
const progressWidth = (this.progressWidth * this.currentProgress) / A_HUNDRED;
|
|
165
|
+
const leftOffset = (progressWidth - this.progressWidth) / 2;
|
|
166
|
+
return { progressWidth, leftOffset };
|
|
167
|
+
}
|
|
168
|
+
updateProgressBar(force = false) {
|
|
169
|
+
if (this.isIndeterminate && !force) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
const { progressWidth, leftOffset } = this.calculateProgressDimensions();
|
|
173
|
+
this.progressBar.setScale(progressWidth / this.progressWidth, 1);
|
|
174
|
+
this.progressBar.setX(leftOffset);
|
|
175
|
+
}
|
|
176
|
+
startIndeterminateAnimation() {
|
|
177
|
+
if (!this.isIndeterminate) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
this.currentProgress = 40;
|
|
181
|
+
this.updateProgressBar(true);
|
|
182
|
+
const { progressWidth } = this.calculateProgressDimensions();
|
|
183
|
+
// Calculate the movement range: the bar should move within the background bounds
|
|
184
|
+
// The bar center can move from left edge + half bar width to right edge - half bar width
|
|
185
|
+
const maxX = (this.progressWidth / 2) - (progressWidth / 2);
|
|
186
|
+
const minX = -(this.progressWidth / 2) + (progressWidth / 2);
|
|
187
|
+
// Start from the left
|
|
188
|
+
this.progressBar.setX(minX);
|
|
189
|
+
this.indeterminateAnimation = this.scene.tweens.add({
|
|
190
|
+
targets: this.progressBar,
|
|
191
|
+
x: maxX,
|
|
192
|
+
duration: this.indeterminateAnimationDuration,
|
|
193
|
+
ease: 'Sine.easeInOut',
|
|
194
|
+
yoyo: true,
|
|
195
|
+
repeat: -1,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
stopIndeterminateAnimation() {
|
|
199
|
+
if (this.indeterminateAnimation) {
|
|
200
|
+
this.indeterminateAnimation.destroy();
|
|
201
|
+
this.indeterminateAnimation = undefined;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
recreateSprites() {
|
|
205
|
+
// Remove old sprites
|
|
206
|
+
this.remove([this.backgroundProgressBar, this.progressBar]);
|
|
207
|
+
this.backgroundProgressBar.destroy();
|
|
208
|
+
this.progressBar.destroy();
|
|
209
|
+
// Create new sprites with updated properties
|
|
210
|
+
this.createBackgroundSprite();
|
|
211
|
+
this.createProgressSprite();
|
|
212
|
+
this.setupContainer();
|
|
213
|
+
// Restore state
|
|
214
|
+
if (this.isIndeterminate) {
|
|
215
|
+
this.startIndeterminateAnimation();
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
this.updateProgressBar();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Calculates the effective border radius, ensuring it doesn't exceed
|
|
223
|
+
* half of the smallest dimension to prevent visual artifacts
|
|
224
|
+
* @returns Limited border radius in pixels
|
|
225
|
+
*/
|
|
226
|
+
getEffectiveBorderRadius() {
|
|
227
|
+
const maxRadius = Math.min(this.progressWidth, this.progressHeight) / 2;
|
|
228
|
+
return Math.min(this.borderRadiusPx, maxRadius);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=linear-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-progress.js","sourceRoot":"","sources":["../../../src/components/linear-progress/linear-progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-progress.spec.d.ts","sourceRoot":"","sources":["../../../src/components/linear-progress/linear-progress.spec.ts"],"names":[],"mappings":""}
|