phaser-wind 0.2.0 → 0.3.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 (113) hide show
  1. package/README.md +124 -135
  2. package/dist/core/color.d.ts +287 -0
  3. package/dist/core/color.d.ts.map +1 -0
  4. package/dist/core/color.js +386 -0
  5. package/dist/core/color.js.map +1 -0
  6. package/dist/core/color.spec.d.ts +2 -0
  7. package/dist/core/color.spec.d.ts.map +1 -0
  8. package/dist/core/color.spec.js +252 -0
  9. package/dist/core/color.spec.js.map +1 -0
  10. package/dist/core/font-size.d.ts +34 -0
  11. package/dist/core/font-size.d.ts.map +1 -0
  12. package/dist/core/font-size.js +68 -0
  13. package/dist/core/font-size.js.map +1 -0
  14. package/dist/core/font-size.spec.d.ts +2 -0
  15. package/dist/core/font-size.spec.d.ts.map +1 -0
  16. package/dist/core/font-size.spec.js +73 -0
  17. package/dist/core/font-size.spec.js.map +1 -0
  18. package/dist/{font/font-picker.d.ts → core/font.d.ts} +22 -21
  19. package/dist/core/font.d.ts.map +1 -0
  20. package/dist/{font/font-picker.js → core/font.js} +28 -62
  21. package/dist/core/font.js.map +1 -0
  22. package/dist/core/font.spec.d.ts +2 -0
  23. package/dist/core/font.spec.d.ts.map +1 -0
  24. package/dist/core/font.spec.js +84 -0
  25. package/dist/core/font.spec.js.map +1 -0
  26. package/dist/core/index.d.ts +8 -0
  27. package/dist/core/index.d.ts.map +1 -0
  28. package/dist/core/index.js +8 -0
  29. package/dist/core/index.js.map +1 -0
  30. package/dist/{color → core}/pallete.d.ts.map +1 -1
  31. package/dist/core/pallete.js.map +1 -0
  32. package/dist/core/radius.d.ts +34 -0
  33. package/dist/core/radius.d.ts.map +1 -0
  34. package/dist/core/radius.js +46 -0
  35. package/dist/core/radius.js.map +1 -0
  36. package/dist/core/radius.spec.d.ts +2 -0
  37. package/dist/core/radius.spec.d.ts.map +1 -0
  38. package/dist/core/radius.spec.js +61 -0
  39. package/dist/core/radius.spec.js.map +1 -0
  40. package/dist/core/shadow.d.ts +23 -0
  41. package/dist/core/shadow.d.ts.map +1 -0
  42. package/dist/core/shadow.js +23 -0
  43. package/dist/core/shadow.js.map +1 -0
  44. package/dist/core/spacing.d.ts +39 -0
  45. package/dist/core/spacing.d.ts.map +1 -0
  46. package/dist/core/spacing.js +82 -0
  47. package/dist/core/spacing.js.map +1 -0
  48. package/dist/core/spacing.spec.d.ts +2 -0
  49. package/dist/core/spacing.spec.d.ts.map +1 -0
  50. package/dist/core/spacing.spec.js +49 -0
  51. package/dist/core/spacing.spec.js.map +1 -0
  52. package/dist/font/index.d.ts +2 -2
  53. package/dist/font/index.d.ts.map +1 -1
  54. package/dist/font/index.js +2 -2
  55. package/dist/font/index.js.map +1 -1
  56. package/dist/index.d.ts +2 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +2 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/theme/theme-config.d.ts +31 -95
  61. package/dist/theme/theme-config.d.ts.map +1 -1
  62. package/dist/theme/theme-config.js +12 -52
  63. package/dist/theme/theme-config.js.map +1 -1
  64. package/dist/theme/theme-manager.d.ts +18 -6
  65. package/dist/theme/theme-manager.d.ts.map +1 -1
  66. package/dist/theme/theme-manager.js +25 -6
  67. package/dist/theme/theme-manager.js.map +1 -1
  68. package/dist/utils/index.d.ts +2 -0
  69. package/dist/utils/index.d.ts.map +1 -0
  70. package/dist/utils/index.js +2 -0
  71. package/dist/utils/index.js.map +1 -0
  72. package/dist/utils/is-valid-color.d.ts +13 -0
  73. package/dist/utils/is-valid-color.d.ts.map +1 -0
  74. package/dist/utils/is-valid-color.js +32 -0
  75. package/dist/utils/is-valid-color.js.map +1 -0
  76. package/dist/utils/is-valid-color.spec.d.ts +2 -0
  77. package/dist/utils/is-valid-color.spec.d.ts.map +1 -0
  78. package/dist/utils/is-valid-color.spec.js +82 -0
  79. package/dist/utils/is-valid-color.spec.js.map +1 -0
  80. package/package.json +5 -3
  81. package/dist/color/color-picker.d.ts +0 -23
  82. package/dist/color/color-picker.d.ts.map +0 -1
  83. package/dist/color/color-picker.js +0 -118
  84. package/dist/color/color-picker.js.map +0 -1
  85. package/dist/color/color-picker.spec.d.ts +0 -2
  86. package/dist/color/color-picker.spec.d.ts.map +0 -1
  87. package/dist/color/color-picker.spec.js +0 -60
  88. package/dist/color/color-picker.spec.js.map +0 -1
  89. package/dist/color/index.d.ts +0 -3
  90. package/dist/color/index.d.ts.map +0 -1
  91. package/dist/color/index.js +0 -3
  92. package/dist/color/index.js.map +0 -1
  93. package/dist/color/pallete.js.map +0 -1
  94. package/dist/examples/nested-theme-example.d.ts +0 -28
  95. package/dist/examples/nested-theme-example.d.ts.map +0 -1
  96. package/dist/examples/nested-theme-example.js +0 -313
  97. package/dist/examples/nested-theme-example.js.map +0 -1
  98. package/dist/examples/usage-example.d.ts +0 -17
  99. package/dist/examples/usage-example.d.ts.map +0 -1
  100. package/dist/examples/usage-example.js +0 -158
  101. package/dist/examples/usage-example.js.map +0 -1
  102. package/dist/font/font-picker.d.ts.map +0 -1
  103. package/dist/font/font-picker.js.map +0 -1
  104. package/dist/font/font-size-picker.d.ts +0 -19
  105. package/dist/font/font-size-picker.d.ts.map +0 -1
  106. package/dist/font/font-size-picker.js +0 -24
  107. package/dist/font/font-size-picker.js.map +0 -1
  108. package/dist/font/font-size-picker.spec.d.ts +0 -2
  109. package/dist/font/font-size-picker.spec.d.ts.map +0 -1
  110. package/dist/font/font-size-picker.spec.js +0 -48
  111. package/dist/font/font-size-picker.spec.js.map +0 -1
  112. /package/dist/{color → core}/pallete.d.ts +0 -0
  113. /package/dist/{color → core}/pallete.js +0 -0
@@ -1,313 +0,0 @@
1
- /* eslint-disable max-lines */
2
- /* eslint-disable max-lines-per-function */
3
- /* eslint-disable no-console */
4
- /* eslint-disable sonarjs/no-duplicate-string */
5
- /* eslint-disable no-magic-numbers */
6
- /**
7
- * Example usage of Phaser Wind with nested theme structure
8
- * This file demonstrates the new complex theme system
9
- */
10
- import Phaser from 'phaser';
11
- import { ColorPicker, EffectPicker, FontPicker, FontSizePicker, SpacingPicker, ThemeManager, TypographyPicker, createTheme, defaultDarkTheme, defaultLightTheme, } from '..';
12
- // Example 1: Creating complex nested theme
13
- export const createGameTheme = () => createTheme({
14
- fonts: {
15
- primary: 'Inter, system-ui, sans-serif',
16
- secondary: 'Roboto, Arial, sans-serif',
17
- display: 'Orbitron, monospace', // Sci-fi font for game
18
- ui: 'Poppins, sans-serif',
19
- },
20
- colors: {
21
- // Brand colors
22
- primary: 'purple-600',
23
- secondary: 'cyan-500',
24
- accent: 'yellow-400',
25
- // Game-specific colors
26
- 'player-health': 'green-500',
27
- 'player-health-low': 'red-500',
28
- 'player-mana': 'blue-500',
29
- 'enemy-health': 'red-600',
30
- 'item-rare': 'purple-400',
31
- 'item-epic': 'orange-400',
32
- 'item-legendary': 'yellow-400',
33
- // UI colors
34
- 'ui-background': 'slate-900',
35
- 'ui-panel': 'slate-800',
36
- 'ui-button': 'slate-700',
37
- 'ui-button-hover': 'slate-600',
38
- 'ui-text': 'white',
39
- 'ui-text-muted': 'slate-400',
40
- // Feedback colors
41
- success: 'green-400',
42
- warning: 'yellow-400',
43
- error: 'red-400',
44
- info: 'blue-400',
45
- },
46
- spacing: {
47
- xs: 4,
48
- sm: 8,
49
- md: 16,
50
- lg: 24,
51
- xl: 32,
52
- xxl: 48,
53
- huge: 64,
54
- massive: 96,
55
- },
56
- typography: {
57
- 'title-huge': {
58
- fontSize: '6xl',
59
- fontFamily: 'fonts.display', // Reference to fonts.display
60
- fontWeight: 700,
61
- lineHeight: 1.1,
62
- },
63
- 'title-large': {
64
- fontSize: '4xl',
65
- fontFamily: 'fonts.display',
66
- fontWeight: 600,
67
- lineHeight: 1.2,
68
- },
69
- heading: {
70
- fontSize: '2xl',
71
- fontFamily: 'fonts.ui',
72
- fontWeight: 500,
73
- lineHeight: 1.3,
74
- },
75
- body: {
76
- fontSize: 'md',
77
- fontFamily: 'fonts.primary',
78
- fontWeight: 400,
79
- lineHeight: 1.5,
80
- },
81
- caption: {
82
- fontSize: 'sm',
83
- fontFamily: 'fonts.primary',
84
- fontWeight: 400,
85
- lineHeight: 1.4,
86
- },
87
- },
88
- effects: {
89
- 'glow-primary': {
90
- blur: 8,
91
- offsetX: 0,
92
- offsetY: 0,
93
- color: 'colors.primary', // Reference to colors.primary
94
- alpha: 0.6,
95
- },
96
- 'shadow-ui': {
97
- blur: 4,
98
- offsetX: 0,
99
- offsetY: 2,
100
- color: 'black',
101
- alpha: 0.3,
102
- },
103
- 'shadow-heavy': {
104
- blur: 16,
105
- offsetX: 0,
106
- offsetY: 8,
107
- color: 'black',
108
- alpha: 0.4,
109
- },
110
- },
111
- // Custom category
112
- animations: {
113
- 'fade-duration': 300,
114
- 'slide-duration': 400,
115
- 'bounce-intensity': 1.2,
116
- },
117
- });
118
- // Example 2: Using the new theme system
119
- export class AdvancedGameScene extends Phaser.Scene {
120
- create() {
121
- // Initialize custom theme
122
- const gameTheme = createGameTheme();
123
- ThemeManager.init(gameTheme);
124
- this.createBackground();
125
- this.createHUD();
126
- this.createGameElements();
127
- this.createUI();
128
- }
129
- createBackground() {
130
- // Create gradient background using theme colors
131
- const bg = this.add.graphics();
132
- bg.fillGradientStyle(ColorPicker.hex('ui-background'), // Top-left
133
- ColorPicker.hex('ui-panel'), // Top-right
134
- ColorPicker.hex('ui-panel'), // Bottom-left
135
- ColorPicker.hex('ui-background') // Bottom-right
136
- );
137
- bg.fillRect(0, 0, this.cameras.main.width, this.cameras.main.height);
138
- }
139
- createHUD() {
140
- const hudY = SpacingPicker.px('md');
141
- // Game title using typography token
142
- const titleStyle = TypographyPicker.phaserStyle('title-huge');
143
- this.add
144
- .text(this.cameras.main.centerX, hudY, 'CYBER QUEST', {
145
- ...titleStyle,
146
- color: ColorPicker.rgb('primary'),
147
- })
148
- .setOrigin(0.5);
149
- // Player stats using spacing and colors from theme
150
- this.createStatBar(SpacingPicker.px('lg'), hudY + SpacingPicker.px('xl'), 'Health', 'player-health', 0.8);
151
- this.createStatBar(SpacingPicker.px('lg'), hudY + SpacingPicker.px('xl') + SpacingPicker.px('lg'), 'Mana', 'player-mana', 0.6);
152
- }
153
- createStatBar(x, y, label, colorKey, percentage) {
154
- const width = 200;
155
- const height = SpacingPicker.px('md');
156
- // Label using typography
157
- const labelStyle = TypographyPicker.phaserStyle('caption');
158
- this.add.text(x, y - SpacingPicker.px('sm'), label, {
159
- ...labelStyle,
160
- color: ColorPicker.rgb('ui-text'),
161
- });
162
- // Background bar
163
- this.add
164
- .rectangle(x, y, width, height, ColorPicker.hex('ui-panel'))
165
- .setOrigin(0, 0.5);
166
- // Fill bar
167
- const fillWidth = width * percentage;
168
- this.add
169
- .rectangle(x, y, fillWidth, height - 2, ColorPicker.hex(colorKey))
170
- .setOrigin(0, 0.5);
171
- // Text overlay
172
- const bodyStyle = TypographyPicker.phaserStyle('body');
173
- this.add
174
- .text(x + width / 2, y, `${Math.round(percentage * 100)}%`, {
175
- ...bodyStyle,
176
- color: ColorPicker.rgb('ui-text'),
177
- })
178
- .setOrigin(0.5);
179
- }
180
- createGameElements() {
181
- const centerX = this.cameras.main.centerX;
182
- const centerY = this.cameras.main.centerY;
183
- // Player character
184
- const player = this.add.circle(centerX - SpacingPicker.px('massive'), centerY, SpacingPicker.px('lg'), ColorPicker.hex('primary'));
185
- // Enemy
186
- const enemy = this.add.circle(centerX + SpacingPicker.px('massive'), centerY, SpacingPicker.px('xl'), ColorPicker.hex('enemy-health'));
187
- // Items with different rarities
188
- this.createItem(centerX - SpacingPicker.px('lg'), centerY + SpacingPicker.px('huge'), 'item-rare');
189
- this.createItem(centerX, centerY + SpacingPicker.px('huge'), 'item-epic');
190
- this.createItem(centerX + SpacingPicker.px('lg'), centerY + SpacingPicker.px('huge'), 'item-legendary');
191
- console.log('Game elements created:', { player, enemy });
192
- }
193
- createItem(x, y, rarityColor) {
194
- // Item background
195
- this.add.star(x, y, 5, SpacingPicker.px('sm'), SpacingPicker.px('md'), ColorPicker.hex(rarityColor));
196
- // Item glow effect (simulated)
197
- this.add.circle(x, y, SpacingPicker.px('lg'), ColorPicker.hex(rarityColor), 0.2);
198
- }
199
- createUI() {
200
- const bottomY = this.cameras.main.height - SpacingPicker.px('xl');
201
- // Action buttons
202
- this.createButton(this.cameras.main.centerX - SpacingPicker.px('huge'), bottomY, 'ATTACK', 'error');
203
- this.createButton(this.cameras.main.centerX, bottomY, 'DEFEND', 'warning');
204
- this.createButton(this.cameras.main.centerX + SpacingPicker.px('huge'), bottomY, 'HEAL', 'success');
205
- }
206
- createButton(x, y, text, variant) {
207
- const width = SpacingPicker.px('massive');
208
- const height = SpacingPicker.px('xl');
209
- // Button background
210
- const button = this.add
211
- .rectangle(x, y, width, height, ColorPicker.hex('ui-button'))
212
- .setInteractive()
213
- .on('pointerover', () => {
214
- button.setFillStyle(ColorPicker.hex('ui-button-hover'));
215
- })
216
- .on('pointerout', () => {
217
- button.setFillStyle(ColorPicker.hex('ui-button'));
218
- })
219
- .on('pointerdown', () => {
220
- console.log(`${text} button clicked!`);
221
- });
222
- // Button text
223
- const buttonStyle = TypographyPicker.phaserStyle('heading');
224
- this.add
225
- .text(x, y, text, {
226
- ...buttonStyle,
227
- color: ColorPicker.rgb(variant),
228
- })
229
- .setOrigin(0.5);
230
- }
231
- }
232
- // Example 3: Theme switching and dynamic updates
233
- export const demonstrateThemeSwitching = () => {
234
- // Register multiple themes
235
- ThemeManager.registerTheme('light', defaultLightTheme);
236
- ThemeManager.registerTheme('dark', defaultDarkTheme);
237
- ThemeManager.registerTheme('game', createGameTheme());
238
- // Listen for theme changes
239
- const unsubscribe = ThemeManager.onThemeChange(newTheme => {
240
- console.log('Theme changed!', {
241
- fonts: Object.keys(newTheme.fonts ?? {}),
242
- colors: Object.keys(newTheme.colors ?? {}),
243
- spacing: Object.keys(newTheme.spacing ?? {}),
244
- });
245
- });
246
- // Start with game theme
247
- ThemeManager.setTheme('game');
248
- // Switch themes after delays
249
- setTimeout(() => ThemeManager.setTheme('dark'), 2000);
250
- setTimeout(() => ThemeManager.setTheme('light'), 4000);
251
- setTimeout(() => ThemeManager.setTheme('game'), 6000);
252
- // Clean up after demo
253
- setTimeout(() => unsubscribe(), 8000);
254
- };
255
- // Example 4: Direct API usage
256
- export const demonstrateAPIUsage = () => {
257
- const gameTheme = createGameTheme();
258
- ThemeManager.init(gameTheme);
259
- console.log('=== Theme API Demo ===');
260
- // Colors
261
- console.log('Primary color (RGB):', ColorPicker.rgb('primary'));
262
- console.log('Primary color (HEX):', ColorPicker.hex('primary'));
263
- console.log('UI background:', ColorPicker.rgb('ui-background'));
264
- // Fonts
265
- console.log('Display font:', FontPicker.family('display'));
266
- console.log('Available fonts:', FontPicker.getAvailableFonts());
267
- // Spacing
268
- console.log('Large spacing:', SpacingPicker.px('lg'));
269
- console.log('Available spacing:', SpacingPicker.getAvailableSpacing());
270
- // Typography
271
- console.log('Title style:', TypographyPicker.style('title-huge'));
272
- console.log('Phaser title style:', TypographyPicker.phaserStyle('title-huge'));
273
- // Effects
274
- console.log('Primary glow:', EffectPicker.config('glow-primary'));
275
- // Direct theme access
276
- console.log('Custom animation duration:', ThemeManager.getToken('animations.fade-duration'));
277
- // Font size (still works)
278
- console.log('XL font size:', FontSizePicker.css('xl'));
279
- };
280
- // Example 5: Creating themed components
281
- export class ThemedButton {
282
- background;
283
- text;
284
- constructor(scene, x, y, label, variant = 'primary') {
285
- const width = SpacingPicker.px('massive');
286
- const height = SpacingPicker.px('xl');
287
- // Background with theme colors
288
- this.background = scene.add
289
- .rectangle(x, y, width, height, ColorPicker.hex('ui-button'))
290
- .setInteractive()
291
- .on('pointerover', () => this.onHover())
292
- .on('pointerout', () => this.onLeave())
293
- .on('pointerdown', () => this.onClick());
294
- // Text with theme typography and colors
295
- const textStyle = TypographyPicker.phaserStyle('heading');
296
- this.text = scene.add
297
- .text(x, y, label, {
298
- ...textStyle,
299
- color: ColorPicker.rgb(variant),
300
- })
301
- .setOrigin(0.5);
302
- }
303
- onHover() {
304
- this.background.setFillStyle(ColorPicker.hex('ui-button-hover'));
305
- }
306
- onLeave() {
307
- this.background.setFillStyle(ColorPicker.hex('ui-button'));
308
- }
309
- onClick() {
310
- console.log(`Themed button clicked: ${this.text.text}`);
311
- }
312
- }
313
- //# sourceMappingURL=nested-theme-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nested-theme-example.js","sourceRoot":"","sources":["../../src/examples/nested-theme-example.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Example usage of Phaser Wind with custom themes
3
- * This file demonstrates how to set up and use custom themes
4
- */
5
- import Phaser from 'phaser';
6
- export declare const setupDefaultThemes: () => void;
7
- export declare const setupCustomTheme: () => void;
8
- export declare class ExampleGameScene extends Phaser.Scene {
9
- create(): void;
10
- private createUI;
11
- private createHealthBar;
12
- private createPanel;
13
- private createGameElements;
14
- }
15
- export declare const setupThemeSwitching: () => void;
16
- export declare const setupExtendedTheme: () => void;
17
- //# sourceMappingURL=usage-example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-example.d.ts","sourceRoot":"","sources":["../../src/examples/usage-example.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAY5B,eAAO,MAAM,kBAAkB,QAAO,IAMrC,CAAC;AAGF,eAAO,MAAM,gBAAgB,QAAO,IAwBnC,CAAC;AAGF,qBAAa,gBAAiB,SAAQ,MAAM,CAAC,KAAK;IAChD,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,QAAQ;IA2BhB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,kBAAkB;CAmB3B;AAGD,eAAO,MAAM,mBAAmB,QAAO,IAuBtC,CAAC;AAGF,eAAO,MAAM,kBAAkB,QAAO,IAgBrC,CAAC"}
@@ -1,158 +0,0 @@
1
- /* eslint-disable no-console */
2
- /* eslint-disable sonarjs/no-duplicate-string */
3
- /* eslint-disable no-magic-numbers */
4
- /**
5
- * Example usage of Phaser Wind with custom themes
6
- * This file demonstrates how to set up and use custom themes
7
- */
8
- import Phaser from 'phaser';
9
- import { ColorPicker, FontSizePicker, ThemeManager, createTheme, defaultDarkTheme, defaultLightTheme, } from '..';
10
- // Example 1: Using default themes
11
- export const setupDefaultThemes = () => {
12
- // Initialize with light theme
13
- ThemeManager.init(defaultLightTheme);
14
- // Register dark theme
15
- ThemeManager.registerTheme('dark', defaultDarkTheme);
16
- };
17
- // Example 2: Creating custom theme
18
- export const setupCustomTheme = () => {
19
- const gameTheme = createTheme({
20
- // Custom semantic tokens
21
- primary: 'purple-600',
22
- secondary: 'pink-500',
23
- background: 'slate-900',
24
- 'background-panel': 'slate-800',
25
- text: 'white',
26
- 'text-muted': 'slate-400',
27
- accent: 'yellow-400',
28
- // Game-specific tokens
29
- 'player-health': 'green-500',
30
- 'player-health-low': 'red-500',
31
- 'enemy-health': 'red-600',
32
- 'pickup-rare': 'purple-400',
33
- 'pickup-common': 'blue-400',
34
- 'ui-button': 'slate-700',
35
- 'ui-button-hover': 'slate-600',
36
- 'ui-danger': 'red-500',
37
- 'ui-success': 'green-500',
38
- });
39
- ThemeManager.init(gameTheme);
40
- };
41
- // Example 3: Using in Phaser Scene
42
- export class ExampleGameScene extends Phaser.Scene {
43
- create() {
44
- // Initialize custom theme first
45
- setupCustomTheme();
46
- // Now use theme tokens instead of hardcoded colors
47
- this.createUI();
48
- this.createGameElements();
49
- }
50
- createUI() {
51
- // Background using theme token
52
- this.add
53
- .rectangle(0, 0, this.cameras.main.width, this.cameras.main.height, ColorPicker.hex('background'))
54
- .setOrigin(0);
55
- // Title using theme tokens
56
- this.add
57
- .text(400, 50, 'MY GAME', {
58
- fontSize: FontSizePicker.css('4xl'),
59
- color: ColorPicker.rgb('primary'),
60
- })
61
- .setOrigin(0.5);
62
- // Health bar
63
- this.createHealthBar(100, 100, 200, 20);
64
- // UI Panel
65
- this.createPanel(50, 150, 300, 200);
66
- }
67
- createHealthBar(x, y, width, height) {
68
- // Background
69
- this.add.rectangle(x, y, width, height, ColorPicker.hex('background-panel'));
70
- // Health fill (80% health example)
71
- const healthWidth = width * 0.8;
72
- this.add.rectangle(x - (width - healthWidth) / 2, y, healthWidth, height - 4, ColorPicker.hex('player-health'));
73
- // Health text
74
- this.add
75
- .text(x, y, '80 / 100', {
76
- fontSize: FontSizePicker.css('sm'),
77
- color: ColorPicker.rgb('text'),
78
- })
79
- .setOrigin(0.5);
80
- }
81
- createPanel(x, y, width, height) {
82
- // Panel background
83
- this.add.rectangle(x, y, width, height, ColorPicker.hex('background-panel'));
84
- // Panel title
85
- this.add
86
- .text(x, y - height / 2 + 20, 'Inventory', {
87
- fontSize: FontSizePicker.css('lg'),
88
- color: ColorPicker.rgb('text'),
89
- })
90
- .setOrigin(0.5);
91
- // Rare item
92
- this.add.circle(x - 50, y, 15, ColorPicker.hex('pickup-rare'));
93
- this.add
94
- .text(x - 50, y + 25, 'Rare', {
95
- fontSize: FontSizePicker.css('xs'),
96
- color: ColorPicker.rgb('pickup-rare'),
97
- })
98
- .setOrigin(0.5);
99
- // Common item
100
- this.add.circle(x + 50, y, 15, ColorPicker.hex('pickup-common'));
101
- this.add
102
- .text(x + 50, y + 25, 'Common', {
103
- fontSize: FontSizePicker.css('xs'),
104
- color: ColorPicker.rgb('pickup-common'),
105
- })
106
- .setOrigin(0.5);
107
- }
108
- createGameElements() {
109
- // Enemy with theme-based health
110
- const enemy = this.add.circle(600, 300, 30, ColorPicker.hex('enemy-health'));
111
- // Player with theme-based color
112
- const player = this.add.circle(200, 300, 25, ColorPicker.hex('primary'));
113
- // eslint-disable-next-line no-console
114
- console.log(enemy, player);
115
- // Pickup items with theme colors
116
- this.add.star(400, 400, 5, 10, 20, ColorPicker.hex('pickup-rare'));
117
- this.add.star(450, 400, 5, 8, 16, ColorPicker.hex('pickup-common'));
118
- }
119
- }
120
- // Example 4: Dynamic theme switching
121
- export const setupThemeSwitching = () => {
122
- // Setup themes
123
- ThemeManager.registerTheme('light', defaultLightTheme);
124
- ThemeManager.registerTheme('dark', defaultDarkTheme);
125
- const customTheme = createTheme({
126
- primary: 'emerald-500',
127
- background: 'emerald-950',
128
- text: 'emerald-50',
129
- 'background-panel': 'emerald-900',
130
- });
131
- ThemeManager.registerTheme('emerald', customTheme);
132
- // Listen for theme changes
133
- ThemeManager.onThemeChange(newTheme => {
134
- console.log('Theme changed!', newTheme);
135
- // Here you could update existing game objects with new colors
136
- });
137
- // Switch themes
138
- ThemeManager.setTheme('dark');
139
- setTimeout(() => ThemeManager.setTheme('emerald'), 2000);
140
- setTimeout(() => ThemeManager.setTheme('light'), 4000);
141
- };
142
- // Example 5: Extending themes
143
- export const setupExtendedTheme = () => {
144
- ThemeManager.init(defaultLightTheme);
145
- // Create variation of current theme
146
- const winterTheme = ThemeManager.extendCurrentTheme({
147
- primary: 'blue-400',
148
- secondary: 'cyan-300',
149
- accent: 'white',
150
- background: 'blue-950',
151
- text: 'blue-50',
152
- 'special-snow': 'white',
153
- 'special-ice': 'cyan-200',
154
- });
155
- ThemeManager.registerTheme('winter', winterTheme);
156
- ThemeManager.setTheme('winter');
157
- };
158
- //# sourceMappingURL=usage-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage-example.js","sourceRoot":"","sources":["../../src/examples/usage-example.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"font-picker.d.ts","sourceRoot":"","sources":["../../src/font/font-picker.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAuBlC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM,EAAE;CAOrC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAkC9B;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;CAOvC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC;IA8BD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB;IAsBD;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAQzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;CAuB3C;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAmBD;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,MAAM,EAAE;CAOvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"font-picker.js","sourceRoot":"","sources":["../../src/font/font-picker.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export declare const fontSizes: {
2
- readonly xs: 12;
3
- readonly sm: 14;
4
- readonly md: 16;
5
- readonly lg: 18;
6
- readonly xl: 20;
7
- readonly '2xl': 24;
8
- readonly '3xl': 30;
9
- readonly '4xl': 36;
10
- readonly '5xl': 48;
11
- readonly '6xl': 60;
12
- };
13
- export type FontSizeKey = keyof typeof fontSizes;
14
- export declare class FontSizePicker {
15
- static px(key: FontSizeKey): number;
16
- static rem(key: FontSizeKey): number;
17
- static css(key: FontSizeKey): string;
18
- }
19
- //# sourceMappingURL=font-size-picker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"font-size-picker.d.ts","sourceRoot":"","sources":["../../src/font/font-size-picker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;CAWZ,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,SAAS,CAAC;AAEjD,qBAAa,cAAc;IACzB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;IAInC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;IAIpC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM;CAGrC"}
@@ -1,24 +0,0 @@
1
- export const fontSizes = {
2
- xs: 12,
3
- sm: 14,
4
- md: 16,
5
- lg: 18,
6
- xl: 20,
7
- '2xl': 24,
8
- '3xl': 30,
9
- '4xl': 36,
10
- '5xl': 48,
11
- '6xl': 60,
12
- };
13
- export class FontSizePicker {
14
- static px(key) {
15
- return fontSizes[key];
16
- }
17
- static rem(key) {
18
- return fontSizes[key] / 16;
19
- }
20
- static css(key) {
21
- return `${fontSizes[key]}px`;
22
- }
23
- }
24
- //# sourceMappingURL=font-size-picker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"font-size-picker.js","sourceRoot":"","sources":["../../src/font/font-size-picker.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACD,CAAC;AAIX,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,EAAE,CAAC,GAAgB;QACxB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAgB;QACzB,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAgB;QACzB,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=font-size-picker.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"font-size-picker.spec.d.ts","sourceRoot":"","sources":["../../src/font/font-size-picker.spec.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- /* eslint-disable no-magic-numbers */
2
- import { describe, expect, it } from 'vitest';
3
- import { FontSizePicker } from './font-size-picker';
4
- describe('FontSizePicker', () => {
5
- it.each([
6
- ['xs', 12],
7
- ['sm', 14],
8
- ['md', 16],
9
- ['lg', 18],
10
- ['xl', 20],
11
- ['2xl', 24],
12
- ['3xl', 30],
13
- ['4xl', 36],
14
- ['5xl', 48],
15
- ['6xl', 60],
16
- ])('should return correct pixel value for %s size', (size, expected) => {
17
- expect(FontSizePicker.px(size)).toBe(expected);
18
- });
19
- it.each([
20
- ['xs', 0.75],
21
- ['sm', 0.875],
22
- ['md', 1],
23
- ['lg', 1.125],
24
- ['xl', 1.25],
25
- ['2xl', 1.5],
26
- ['3xl', 1.875],
27
- ['4xl', 2.25],
28
- ['5xl', 3],
29
- ['6xl', 3.75],
30
- ])('should return correct rem value for %s size', (size, expected) => {
31
- expect(FontSizePicker.rem(size)).toBe(expected);
32
- });
33
- it.each([
34
- ['xs', '12px'],
35
- ['sm', '14px'],
36
- ['md', '16px'],
37
- ['lg', '18px'],
38
- ['xl', '20px'],
39
- ['2xl', '24px'],
40
- ['3xl', '30px'],
41
- ['4xl', '36px'],
42
- ['5xl', '48px'],
43
- ['6xl', '60px'],
44
- ])('should return correct CSS string for %s size', (size, expected) => {
45
- expect(FontSizePicker.css(size)).toBe(expected);
46
- });
47
- });
48
- //# sourceMappingURL=font-size-picker.spec.js.map