hudini 0.7.0 → 0.9.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 (29) hide show
  1. package/dist/components/index.d.ts +3 -1
  2. package/dist/components/index.d.ts.map +1 -1
  3. package/dist/components/index.js +3 -1
  4. package/dist/components/index.js.map +1 -1
  5. package/dist/components/section-header/index.d.ts +2 -0
  6. package/dist/components/section-header/index.d.ts.map +1 -0
  7. package/dist/components/section-header/index.js +2 -0
  8. package/dist/components/section-header/index.js.map +1 -0
  9. package/dist/components/section-header/section-header.d.ts +155 -0
  10. package/dist/components/section-header/section-header.d.ts.map +1 -0
  11. package/dist/components/section-header/section-header.js +323 -0
  12. package/dist/components/section-header/section-header.js.map +1 -0
  13. package/dist/components/section-header/section-header.spec.d.ts +2 -0
  14. package/dist/components/section-header/section-header.spec.d.ts.map +1 -0
  15. package/dist/components/section-header/section-header.spec.js +224 -0
  16. package/dist/components/section-header/section-header.spec.js.map +1 -0
  17. package/dist/components/text-button/index.d.ts +2 -0
  18. package/dist/components/text-button/index.d.ts.map +1 -0
  19. package/dist/components/text-button/index.js +2 -0
  20. package/dist/components/text-button/index.js.map +1 -0
  21. package/dist/components/text-button/text-button.d.ts +52 -0
  22. package/dist/components/text-button/text-button.d.ts.map +1 -0
  23. package/dist/components/text-button/text-button.js +217 -0
  24. package/dist/components/text-button/text-button.js.map +1 -0
  25. package/dist/components/text-button/text-button.spec.d.ts +2 -0
  26. package/dist/components/text-button/text-button.spec.d.ts.map +1 -0
  27. package/dist/components/text-button/text-button.spec.js +196 -0
  28. package/dist/components/text-button/text-button.spec.js.map +1 -0
  29. package/package.json +1 -1
@@ -1,7 +1,9 @@
1
1
  export * from './circular-progress';
2
2
  export * from './column';
3
- export * from './icon-button';
4
3
  export * from './flat-icon-button';
4
+ export * from './icon-button';
5
5
  export * from './linear-progress';
6
6
  export * from './row';
7
+ export * from './section-header';
8
+ export * from './text-button';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export * from './circular-progress';
2
2
  export * from './column';
3
- export * from './icon-button';
4
3
  export * from './flat-icon-button';
4
+ export * from './icon-button';
5
5
  export * from './linear-progress';
6
6
  export * from './row';
7
+ export * from './section-header';
8
+ export * from './text-button';
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './section-header';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/section-header/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './section-header';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/section-header/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=section-header.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-header.spec.d.ts","sourceRoot":"","sources":["../../../src/components/section-header/section-header.spec.ts"],"names":[],"mappings":""}