hudini 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/card/card.d.ts +103 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +208 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.spec.d.ts +2 -0
- package/dist/components/card/card.spec.d.ts.map +1 -0
- package/dist/components/card/card.spec.js +157 -0
- package/dist/components/card/card.spec.js.map +1 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/section-header/index.d.ts +2 -0
- package/dist/components/section-header/index.d.ts.map +1 -0
- package/dist/components/section-header/index.js +2 -0
- package/dist/components/section-header/index.js.map +1 -0
- package/dist/components/section-header/section-header.d.ts +155 -0
- package/dist/components/section-header/section-header.d.ts.map +1 -0
- package/dist/components/section-header/section-header.js +323 -0
- package/dist/components/section-header/section-header.js.map +1 -0
- package/dist/components/section-header/section-header.spec.d.ts +2 -0
- package/dist/components/section-header/section-header.spec.d.ts.map +1 -0
- package/dist/components/section-header/section-header.spec.js +224 -0
- package/dist/components/section-header/section-header.spec.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { GameObjects, Scene } from 'phaser';
|
|
2
|
+
import { type ColorKey, type FontKey, type FontSizeKey, type RadiusKey, type SpacingKey } from 'phaser-wind';
|
|
3
|
+
export type SectionHeaderParams = {
|
|
4
|
+
/** The Phaser scene to add the header to */
|
|
5
|
+
scene: Scene;
|
|
6
|
+
/** X position of the header */
|
|
7
|
+
x: number;
|
|
8
|
+
/** Y position of the header */
|
|
9
|
+
y: number;
|
|
10
|
+
/** Text content of the header */
|
|
11
|
+
text: string;
|
|
12
|
+
/** Font size in px (number) or a Phaser Wind font size token (string). Defaults to 'lg'. */
|
|
13
|
+
textSize?: FontSizeKey | number;
|
|
14
|
+
/** Font family. Defaults to 'display'. */
|
|
15
|
+
font?: FontKey | string;
|
|
16
|
+
/** Background color. Defaults to 'blue-600'. */
|
|
17
|
+
backgroundColor?: ColorKey | string;
|
|
18
|
+
/** Text color. Defaults to 'white'. */
|
|
19
|
+
textColor?: ColorKey | string;
|
|
20
|
+
/** Text stroke color. Defaults to a darker version of backgroundColor. */
|
|
21
|
+
strokeColor?: ColorKey | string;
|
|
22
|
+
/** Border radius in px (number) or a Phaser Wind radius token (string). Defaults to 'md'. */
|
|
23
|
+
borderRadius?: RadiusKey | number;
|
|
24
|
+
/** Margin/padding in px (number) or a Phaser Wind spacing token (string). Defaults to '4'. */
|
|
25
|
+
margin?: SpacingKey | number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A stylized section header component with shadow, text stroke and auto-sizing
|
|
29
|
+
*/
|
|
30
|
+
export declare class SectionHeader extends GameObjects.Container {
|
|
31
|
+
/** The background graphics of the header */
|
|
32
|
+
backgroundGraphics: GameObjects.Graphics;
|
|
33
|
+
/** The shadow graphics below the header */
|
|
34
|
+
shadowGraphics: GameObjects.Graphics;
|
|
35
|
+
/** The text object of the header */
|
|
36
|
+
headerText: GameObjects.Text;
|
|
37
|
+
/** Reference to the PhaserWind plugin */
|
|
38
|
+
private pw;
|
|
39
|
+
/** Font size in pixels */
|
|
40
|
+
private textSizePx;
|
|
41
|
+
/** Margin size in pixels */
|
|
42
|
+
private marginPx;
|
|
43
|
+
/** Border radius in pixels */
|
|
44
|
+
private borderRadiusPx;
|
|
45
|
+
/** Background color value */
|
|
46
|
+
private backgroundColorValue;
|
|
47
|
+
/** Text color value */
|
|
48
|
+
private textColorValue;
|
|
49
|
+
/** Stroke color value */
|
|
50
|
+
private strokeColorValue;
|
|
51
|
+
/** Font family value */
|
|
52
|
+
private fontValue;
|
|
53
|
+
/** Text content value */
|
|
54
|
+
private textValue;
|
|
55
|
+
/**
|
|
56
|
+
* Creates a new SectionHeader
|
|
57
|
+
* @param params Configuration parameters for the header
|
|
58
|
+
*/
|
|
59
|
+
constructor({ scene, x, y, text, textSize, font, backgroundColor, textColor, strokeColor, borderRadius, margin, }: SectionHeaderParams);
|
|
60
|
+
/**
|
|
61
|
+
* Sets the text content of the header
|
|
62
|
+
* @param text New text content
|
|
63
|
+
* @returns this for chaining
|
|
64
|
+
*/
|
|
65
|
+
setText(text: string): this;
|
|
66
|
+
/**
|
|
67
|
+
* Sets the font size of the header text
|
|
68
|
+
* @param textSize New font size (number in px or FontSizeKey)
|
|
69
|
+
* @returns this for chaining
|
|
70
|
+
*/
|
|
71
|
+
setTextSize(textSize: FontSizeKey | number): this;
|
|
72
|
+
/**
|
|
73
|
+
* Sets the font family of the header text
|
|
74
|
+
* @param font New font family (FontKey or string)
|
|
75
|
+
* @returns this for chaining
|
|
76
|
+
*/
|
|
77
|
+
setFont(font: FontKey | string): this;
|
|
78
|
+
/**
|
|
79
|
+
* Sets the background color of the header
|
|
80
|
+
* @param color New background color (ColorKey or string)
|
|
81
|
+
* @returns this for chaining
|
|
82
|
+
*/
|
|
83
|
+
setBackgroundColor(color: ColorKey | string): this;
|
|
84
|
+
/**
|
|
85
|
+
* Sets the text color of the header
|
|
86
|
+
* @param color New text color (ColorKey or string)
|
|
87
|
+
* @returns this for chaining
|
|
88
|
+
*/
|
|
89
|
+
setTextColor(color: ColorKey | string): this;
|
|
90
|
+
/**
|
|
91
|
+
* Sets the stroke color of the header text
|
|
92
|
+
* @param color New stroke color (ColorKey or string)
|
|
93
|
+
* @returns this for chaining
|
|
94
|
+
*/
|
|
95
|
+
setStrokeColor(color: ColorKey | string): this;
|
|
96
|
+
/**
|
|
97
|
+
* Sets the border radius of the header
|
|
98
|
+
* @param borderRadius New border radius (number in px or RadiusKey)
|
|
99
|
+
* @returns this for chaining
|
|
100
|
+
*/
|
|
101
|
+
setBorderRadius(borderRadius: RadiusKey | number): this;
|
|
102
|
+
/**
|
|
103
|
+
* Sets the margin/padding of the header
|
|
104
|
+
* @param margin New margin size (number in px or SpacingKey)
|
|
105
|
+
* @returns this for chaining
|
|
106
|
+
*/
|
|
107
|
+
setMargin(margin: SpacingKey | number): this;
|
|
108
|
+
/**
|
|
109
|
+
* Creates the header text game object
|
|
110
|
+
* @param scene The scene to add the text to
|
|
111
|
+
*/
|
|
112
|
+
private createHeaderText;
|
|
113
|
+
/**
|
|
114
|
+
* Creates the shadow graphics below the header
|
|
115
|
+
* @param scene The scene to add the graphics to
|
|
116
|
+
*/
|
|
117
|
+
private createShadowGraphics;
|
|
118
|
+
/**
|
|
119
|
+
* Creates the background graphics for the header
|
|
120
|
+
* @param scene The scene to add the graphics to
|
|
121
|
+
*/
|
|
122
|
+
private createBackgroundGraphics;
|
|
123
|
+
/**
|
|
124
|
+
* Regenerates all graphics after a property change
|
|
125
|
+
*/
|
|
126
|
+
private regenerateGraphics;
|
|
127
|
+
/**
|
|
128
|
+
* Draws the shadow graphics
|
|
129
|
+
*/
|
|
130
|
+
private drawShadow;
|
|
131
|
+
/**
|
|
132
|
+
* Draws the background graphics
|
|
133
|
+
*/
|
|
134
|
+
private drawBackground;
|
|
135
|
+
/**
|
|
136
|
+
* Gets the dimensions of the header based on text content
|
|
137
|
+
* @returns Object containing width and height
|
|
138
|
+
*/
|
|
139
|
+
private getHeaderDimensions;
|
|
140
|
+
/**
|
|
141
|
+
* Sets up the container with all graphics in the correct order
|
|
142
|
+
*/
|
|
143
|
+
private setupContainer;
|
|
144
|
+
/**
|
|
145
|
+
* Sets up interactivity for the header
|
|
146
|
+
*/
|
|
147
|
+
private setupInteractivity;
|
|
148
|
+
/**
|
|
149
|
+
* Gets a darker version of the given color
|
|
150
|
+
* @param color Base color to darken
|
|
151
|
+
* @returns Darker color string
|
|
152
|
+
*/
|
|
153
|
+
private getDarkerColor;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=section-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.d.ts","sourceRoot":"","sources":["../../../src/components/section-header/section-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
import { GameObjects } from 'phaser';
|
|
3
|
+
import { Color, } from 'phaser-wind';
|
|
4
|
+
import { getPWFromScene } from '../../utils/get-pw-from-scene';
|
|
5
|
+
/** Vertical offset for the shadow */
|
|
6
|
+
const SHADOW_OFFSET_Y = 4;
|
|
7
|
+
/** Opacity value for the shadow */
|
|
8
|
+
const SHADOW_OPACITY = 0.25;
|
|
9
|
+
/** Thickness of the text stroke */
|
|
10
|
+
const STROKE_THICKNESS = 2;
|
|
11
|
+
/** Shadow size as a percentage of the header size */
|
|
12
|
+
const SHADOW_SCALE = 0.95;
|
|
13
|
+
/**
|
|
14
|
+
* A stylized section header component with shadow, text stroke and auto-sizing
|
|
15
|
+
*/
|
|
16
|
+
export class SectionHeader extends GameObjects.Container {
|
|
17
|
+
/** The background graphics of the header */
|
|
18
|
+
backgroundGraphics;
|
|
19
|
+
/** The shadow graphics below the header */
|
|
20
|
+
shadowGraphics;
|
|
21
|
+
/** The text object of the header */
|
|
22
|
+
headerText;
|
|
23
|
+
/** Reference to the PhaserWind plugin */
|
|
24
|
+
pw;
|
|
25
|
+
/** Font size in pixels */
|
|
26
|
+
textSizePx;
|
|
27
|
+
/** Margin size in pixels */
|
|
28
|
+
marginPx;
|
|
29
|
+
/** Border radius in pixels */
|
|
30
|
+
borderRadiusPx;
|
|
31
|
+
/** Background color value */
|
|
32
|
+
backgroundColorValue;
|
|
33
|
+
/** Text color value */
|
|
34
|
+
textColorValue;
|
|
35
|
+
/** Stroke color value */
|
|
36
|
+
strokeColorValue;
|
|
37
|
+
/** Font family value */
|
|
38
|
+
fontValue;
|
|
39
|
+
/** Text content value */
|
|
40
|
+
textValue;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new SectionHeader
|
|
43
|
+
* @param params Configuration parameters for the header
|
|
44
|
+
*/
|
|
45
|
+
constructor({ scene, x, y, text, textSize, font, backgroundColor = 'blue-600', textColor = 'white', strokeColor, borderRadius = 'md', margin = '4', }) {
|
|
46
|
+
super(scene, x, y);
|
|
47
|
+
this.pw = getPWFromScene(scene);
|
|
48
|
+
// Store values
|
|
49
|
+
this.textValue = text;
|
|
50
|
+
this.textSizePx =
|
|
51
|
+
typeof textSize === 'number'
|
|
52
|
+
? textSize
|
|
53
|
+
: this.pw.fontSize.px(textSize ?? 'lg');
|
|
54
|
+
this.marginPx =
|
|
55
|
+
typeof margin === 'number'
|
|
56
|
+
? margin
|
|
57
|
+
: this.pw.spacing.px(margin ?? '4');
|
|
58
|
+
this.borderRadiusPx =
|
|
59
|
+
typeof borderRadius === 'number'
|
|
60
|
+
? borderRadius
|
|
61
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
62
|
+
this.backgroundColorValue = Color.rgb(backgroundColor);
|
|
63
|
+
this.textColorValue = Color.rgb(textColor);
|
|
64
|
+
// If no stroke color provided, use a darker version of the background
|
|
65
|
+
this.strokeColorValue = strokeColor
|
|
66
|
+
? Color.rgb(strokeColor)
|
|
67
|
+
: this.getDarkerColor(backgroundColor);
|
|
68
|
+
this.fontValue = typeof font === 'string' ? font : this.pw.font.family(font ?? 'display');
|
|
69
|
+
this.createHeaderText(scene);
|
|
70
|
+
this.createShadowGraphics(scene);
|
|
71
|
+
this.createBackgroundGraphics(scene);
|
|
72
|
+
this.setupContainer();
|
|
73
|
+
this.setupInteractivity();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Sets the text content of the header
|
|
77
|
+
* @param text New text content
|
|
78
|
+
* @returns this for chaining
|
|
79
|
+
*/
|
|
80
|
+
setText(text) {
|
|
81
|
+
this.textValue = text;
|
|
82
|
+
this.headerText.setText(text);
|
|
83
|
+
this.regenerateGraphics();
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Sets the font size of the header text
|
|
88
|
+
* @param textSize New font size (number in px or FontSizeKey)
|
|
89
|
+
* @returns this for chaining
|
|
90
|
+
*/
|
|
91
|
+
setTextSize(textSize) {
|
|
92
|
+
this.textSizePx =
|
|
93
|
+
typeof textSize === 'number'
|
|
94
|
+
? textSize
|
|
95
|
+
: this.pw.fontSize.px(textSize ?? 'lg');
|
|
96
|
+
this.headerText.setFontSize(this.textSizePx);
|
|
97
|
+
this.regenerateGraphics();
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Sets the font family of the header text
|
|
102
|
+
* @param font New font family (FontKey or string)
|
|
103
|
+
* @returns this for chaining
|
|
104
|
+
*/
|
|
105
|
+
setFont(font) {
|
|
106
|
+
this.fontValue = typeof font === 'string' ? font : this.pw.font.family(font ?? 'display');
|
|
107
|
+
this.headerText.setFontFamily(this.fontValue);
|
|
108
|
+
this.regenerateGraphics();
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Sets the background color of the header
|
|
113
|
+
* @param color New background color (ColorKey or string)
|
|
114
|
+
* @returns this for chaining
|
|
115
|
+
*/
|
|
116
|
+
setBackgroundColor(color) {
|
|
117
|
+
this.backgroundColorValue = Color.rgb(color);
|
|
118
|
+
// Update stroke color to match new background if it was auto-generated
|
|
119
|
+
if (!this.strokeColorValue.startsWith('#')) {
|
|
120
|
+
this.strokeColorValue = this.getDarkerColor(color);
|
|
121
|
+
this.headerText.setStroke(this.strokeColorValue, STROKE_THICKNESS);
|
|
122
|
+
}
|
|
123
|
+
this.regenerateGraphics();
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Sets the text color of the header
|
|
128
|
+
* @param color New text color (ColorKey or string)
|
|
129
|
+
* @returns this for chaining
|
|
130
|
+
*/
|
|
131
|
+
setTextColor(color) {
|
|
132
|
+
this.textColorValue = Color.rgb(color);
|
|
133
|
+
this.headerText.setColor(this.textColorValue);
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Sets the stroke color of the header text
|
|
138
|
+
* @param color New stroke color (ColorKey or string)
|
|
139
|
+
* @returns this for chaining
|
|
140
|
+
*/
|
|
141
|
+
setStrokeColor(color) {
|
|
142
|
+
this.strokeColorValue = Color.rgb(color);
|
|
143
|
+
this.headerText.setStroke(this.strokeColorValue, STROKE_THICKNESS);
|
|
144
|
+
return this;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Sets the border radius of the header
|
|
148
|
+
* @param borderRadius New border radius (number in px or RadiusKey)
|
|
149
|
+
* @returns this for chaining
|
|
150
|
+
*/
|
|
151
|
+
setBorderRadius(borderRadius) {
|
|
152
|
+
this.borderRadiusPx =
|
|
153
|
+
typeof borderRadius === 'number'
|
|
154
|
+
? borderRadius
|
|
155
|
+
: this.pw.radius.px(borderRadius ?? 'md');
|
|
156
|
+
this.regenerateGraphics();
|
|
157
|
+
return this;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Sets the margin/padding of the header
|
|
161
|
+
* @param margin New margin size (number in px or SpacingKey)
|
|
162
|
+
* @returns this for chaining
|
|
163
|
+
*/
|
|
164
|
+
setMargin(margin) {
|
|
165
|
+
this.marginPx =
|
|
166
|
+
typeof margin === 'number'
|
|
167
|
+
? margin
|
|
168
|
+
: this.pw.spacing.px(margin ?? '4');
|
|
169
|
+
this.regenerateGraphics();
|
|
170
|
+
return this;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Creates the header text game object
|
|
174
|
+
* @param scene The scene to add the text to
|
|
175
|
+
*/
|
|
176
|
+
createHeaderText(scene) {
|
|
177
|
+
this.headerText = scene.add.text(0, 0, this.textValue, {
|
|
178
|
+
fontSize: `${this.textSizePx}px`,
|
|
179
|
+
fontFamily: this.fontValue,
|
|
180
|
+
color: this.textColorValue,
|
|
181
|
+
stroke: this.strokeColorValue,
|
|
182
|
+
strokeThickness: STROKE_THICKNESS,
|
|
183
|
+
fontStyle: 'bold', // Make section headers bold by default
|
|
184
|
+
});
|
|
185
|
+
this.headerText.setOrigin(0.5, 0.5);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Creates the shadow graphics below the header
|
|
189
|
+
* @param scene The scene to add the graphics to
|
|
190
|
+
*/
|
|
191
|
+
createShadowGraphics(scene) {
|
|
192
|
+
this.shadowGraphics = scene.add.graphics();
|
|
193
|
+
this.drawShadow();
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Creates the background graphics for the header
|
|
197
|
+
* @param scene The scene to add the graphics to
|
|
198
|
+
*/
|
|
199
|
+
createBackgroundGraphics(scene) {
|
|
200
|
+
this.backgroundGraphics = scene.add.graphics();
|
|
201
|
+
this.drawBackground();
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Regenerates all graphics after a property change
|
|
205
|
+
*/
|
|
206
|
+
regenerateGraphics() {
|
|
207
|
+
// Update text bounds after text/font changes
|
|
208
|
+
this.headerText.setText(this.textValue);
|
|
209
|
+
// Redraw graphics with new properties
|
|
210
|
+
this.drawShadow();
|
|
211
|
+
this.drawBackground();
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Draws the shadow graphics
|
|
215
|
+
*/
|
|
216
|
+
drawShadow() {
|
|
217
|
+
const sizes = this.getHeaderDimensions();
|
|
218
|
+
const { height, width } = sizes;
|
|
219
|
+
this.shadowGraphics.clear();
|
|
220
|
+
// Limit radius to maximum possible for the header dimensions
|
|
221
|
+
const maxRadius = Math.min(width / 2, height / 2);
|
|
222
|
+
const effectiveRadius = Math.min(this.borderRadiusPx, maxRadius);
|
|
223
|
+
// Shadow size is 80% of the header size
|
|
224
|
+
const shadowWidth = width * SHADOW_SCALE;
|
|
225
|
+
const shadowHeight = height * SHADOW_SCALE;
|
|
226
|
+
// Calculate shadow position to center it
|
|
227
|
+
// Since Graphics doesn't have setOrigin, we need to calculate the offset manually
|
|
228
|
+
const shadowX = -shadowWidth / 2;
|
|
229
|
+
const shadowY = SHADOW_OFFSET_Y - shadowHeight / 2 + 4;
|
|
230
|
+
// Calculate shadow radius (proportional to shadow size)
|
|
231
|
+
const shadowMaxRadius = Math.min(shadowWidth / 2, shadowHeight / 2);
|
|
232
|
+
const shadowEffectiveRadius = Math.min(effectiveRadius * SHADOW_SCALE, shadowMaxRadius);
|
|
233
|
+
// Shadow (only vertical offset, no horizontal)
|
|
234
|
+
this.shadowGraphics.fillStyle(Color.hex('black'), SHADOW_OPACITY);
|
|
235
|
+
this.shadowGraphics.fillRoundedRect(shadowX, shadowY, shadowWidth, shadowHeight, shadowEffectiveRadius);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Draws the background graphics
|
|
239
|
+
*/
|
|
240
|
+
drawBackground() {
|
|
241
|
+
const { width, height } = this.getHeaderDimensions();
|
|
242
|
+
this.backgroundGraphics.clear();
|
|
243
|
+
// Limit radius to maximum possible for the header dimensions
|
|
244
|
+
const maxRadius = Math.min(width / 2, height / 2);
|
|
245
|
+
const effectiveRadius = Math.min(this.borderRadiusPx, maxRadius);
|
|
246
|
+
// Since Graphics doesn't have setOrigin, we need to calculate the offset manually
|
|
247
|
+
const bgX = -width / 2;
|
|
248
|
+
const bgY = -height / 2;
|
|
249
|
+
// Main background with subtle gradient effect
|
|
250
|
+
this.backgroundGraphics.fillStyle(Color.hex(this.backgroundColorValue), 1);
|
|
251
|
+
this.backgroundGraphics.fillRoundedRect(bgX, bgY, width, height, effectiveRadius);
|
|
252
|
+
const depth = 0.15;
|
|
253
|
+
let hightlightWidth = width;
|
|
254
|
+
if (this.borderRadiusPx > 12) {
|
|
255
|
+
hightlightWidth = width * 0.7;
|
|
256
|
+
}
|
|
257
|
+
const highlightX = bgX + (width - hightlightWidth) / 2;
|
|
258
|
+
// Add a subtle highlight on top for depth
|
|
259
|
+
const highlightHeight = Math.max(2, height * depth);
|
|
260
|
+
// For the highlight, use a smaller radius if the highlight is too small
|
|
261
|
+
const highlightRadius = Math.min(effectiveRadius, highlightHeight / 2);
|
|
262
|
+
this.backgroundGraphics.fillStyle(Color.hex('white'), depth);
|
|
263
|
+
this.backgroundGraphics.fillRoundedRect(highlightX, bgY, hightlightWidth, highlightHeight, highlightRadius);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Gets the dimensions of the header based on text content
|
|
267
|
+
* @returns Object containing width and height
|
|
268
|
+
*/
|
|
269
|
+
getHeaderDimensions() {
|
|
270
|
+
const textBounds = this.headerText.getBounds();
|
|
271
|
+
const width = textBounds.width + this.marginPx * 2;
|
|
272
|
+
const height = textBounds.height + this.marginPx * 2;
|
|
273
|
+
return { width, height };
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Sets up the container with all graphics in the correct order
|
|
277
|
+
*/
|
|
278
|
+
setupContainer() {
|
|
279
|
+
this.add([this.shadowGraphics, this.backgroundGraphics, this.headerText]);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Sets up interactivity for the header
|
|
283
|
+
*/
|
|
284
|
+
setupInteractivity() {
|
|
285
|
+
this.setInteractive();
|
|
286
|
+
this.on('pointerdown', () => {
|
|
287
|
+
this.setScale(0.95);
|
|
288
|
+
this.on('pointerup', () => {
|
|
289
|
+
this.setScale(1);
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Gets a darker version of the given color
|
|
295
|
+
* @param color Base color to darken
|
|
296
|
+
* @returns Darker color string
|
|
297
|
+
*/
|
|
298
|
+
getDarkerColor(color) {
|
|
299
|
+
// Try to get a darker shade of the same color family
|
|
300
|
+
const colorStr = color;
|
|
301
|
+
// If it's already a shade (e.g., "blue-600"), try to make it darker
|
|
302
|
+
if (colorStr.includes('-')) {
|
|
303
|
+
const [family, shade] = colorStr.split('-');
|
|
304
|
+
if (family && shade) {
|
|
305
|
+
const currentShade = parseInt(shade);
|
|
306
|
+
const shadeLimit = 900;
|
|
307
|
+
const shadeIncrement = 200;
|
|
308
|
+
if (!isNaN(currentShade) && currentShade < shadeLimit) {
|
|
309
|
+
const darkerShade = Math.min(shadeLimit, currentShade + shadeIncrement);
|
|
310
|
+
return Color.rgb(`${family}-${darkerShade}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// If it's a base color (e.g., "blue"), add a dark shade
|
|
315
|
+
const baseColors = ['red', 'blue', 'green', 'yellow', 'purple', 'orange', 'pink', 'gray'];
|
|
316
|
+
if (baseColors.includes(colorStr)) {
|
|
317
|
+
return Color.rgb(`${colorStr}-800`);
|
|
318
|
+
}
|
|
319
|
+
// Fallback to a dark color
|
|
320
|
+
return Color.rgb('gray-800');
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=section-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.js","sourceRoot":"","sources":["../../../src/components/section-header/section-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.spec.d.ts","sourceRoot":"","sources":["../../../src/components/section-header/section-header.spec.ts"],"names":[],"mappings":""}
|