phaser-wind 0.3.0 → 0.5.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 (85) hide show
  1. package/README.md +170 -413
  2. package/dist/components/column.d.ts +2 -0
  3. package/dist/components/column.d.ts.map +1 -0
  4. package/dist/components/column.js +2 -0
  5. package/dist/components/column.js.map +1 -0
  6. package/dist/core/color.d.ts +149 -282
  7. package/dist/core/color.d.ts.map +1 -1
  8. package/dist/core/color.js +117 -298
  9. package/dist/core/color.js.map +1 -1
  10. package/dist/core/color.spec.js +46 -55
  11. package/dist/core/color.spec.js.map +1 -1
  12. package/dist/core/font-size.d.ts +36 -15
  13. package/dist/core/font-size.d.ts.map +1 -1
  14. package/dist/core/font-size.js +42 -47
  15. package/dist/core/font-size.js.map +1 -1
  16. package/dist/core/font-size.spec.js +55 -43
  17. package/dist/core/font-size.spec.js.map +1 -1
  18. package/dist/core/font.d.ts +18 -91
  19. package/dist/core/font.d.ts.map +1 -1
  20. package/dist/core/font.js +33 -174
  21. package/dist/core/font.js.map +1 -1
  22. package/dist/core/font.spec.js +45 -49
  23. package/dist/core/font.spec.js.map +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.js +1 -1
  26. package/dist/core/{pallete.d.ts → palette.d.ts} +2 -2
  27. package/dist/core/{pallete.d.ts.map → palette.d.ts.map} +1 -1
  28. package/dist/core/{pallete.js → palette.js} +2 -2
  29. package/dist/core/{pallete.js.map → palette.js.map} +1 -1
  30. package/dist/core/radius.d.ts +19 -24
  31. package/dist/core/radius.d.ts.map +1 -1
  32. package/dist/core/radius.js +20 -28
  33. package/dist/core/radius.js.map +1 -1
  34. package/dist/core/radius.spec.js +28 -33
  35. package/dist/core/radius.spec.js.map +1 -1
  36. package/dist/core/shadow.d.ts +18 -10
  37. package/dist/core/shadow.d.ts.map +1 -1
  38. package/dist/core/shadow.js +29 -19
  39. package/dist/core/shadow.js.map +1 -1
  40. package/dist/core/shadow.spec.d.ts +2 -0
  41. package/dist/core/shadow.spec.d.ts.map +1 -0
  42. package/dist/core/shadow.spec.js +21 -0
  43. package/dist/core/shadow.spec.js.map +1 -0
  44. package/dist/core/spacing.d.ts +22 -29
  45. package/dist/core/spacing.d.ts.map +1 -1
  46. package/dist/core/spacing.js +27 -39
  47. package/dist/core/spacing.js.map +1 -1
  48. package/dist/core/spacing.spec.js +18 -29
  49. package/dist/core/spacing.spec.js.map +1 -1
  50. package/dist/exceptions.d.ts +1 -0
  51. package/dist/exceptions.d.ts.map +1 -0
  52. package/dist/exceptions.js +2 -0
  53. package/dist/exceptions.js.map +1 -0
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/plugin/index.d.ts +2 -0
  59. package/dist/plugin/index.d.ts.map +1 -0
  60. package/dist/plugin/index.js +2 -0
  61. package/dist/plugin/index.js.map +1 -0
  62. package/dist/plugin/plugin.d.ts +71 -0
  63. package/dist/plugin/plugin.d.ts.map +1 -0
  64. package/dist/plugin/plugin.js +91 -0
  65. package/dist/plugin/plugin.js.map +1 -0
  66. package/dist/scene/index.d.ts +2 -0
  67. package/dist/scene/index.d.ts.map +1 -0
  68. package/dist/scene/index.js +2 -0
  69. package/dist/scene/index.js.map +1 -0
  70. package/dist/scene/scene-with-phaser-wind.d.ts +11 -0
  71. package/dist/scene/scene-with-phaser-wind.d.ts.map +1 -0
  72. package/dist/scene/scene-with-phaser-wind.js +11 -0
  73. package/dist/scene/scene-with-phaser-wind.js.map +1 -0
  74. package/dist/theme/theme-config.d.ts +24 -48
  75. package/dist/theme/theme-config.d.ts.map +1 -1
  76. package/dist/theme/theme-config.js +4 -1
  77. package/dist/theme/theme-config.js.map +1 -1
  78. package/dist/theme/theme-manager.d.ts +1 -106
  79. package/dist/theme/theme-manager.d.ts.map +1 -1
  80. package/dist/theme/theme-manager.js +1 -187
  81. package/dist/theme/theme-manager.js.map +1 -1
  82. package/dist/theme/type.d.ts +48 -0
  83. package/dist/theme/type.d.ts.map +1 -1
  84. package/dist/theme/type.js +1 -1
  85. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"spacing.spec.js","sourceRoot":"","sources":["../../src/core/spacing.spec.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,8BAA8B;AAC9B,2CAA2C;AAC3C,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;QAClB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEvC,YAAY,CAAC,cAAc,CAAC;gBAC1B,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,GAAG;iBACV;aACF,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"spacing.spec.js","sourceRoot":"","sources":["../../src/core/spacing.spec.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,8BAA8B;AAC9B,2CAA2C;AAC3C,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;QAClB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './core';
2
2
  export * from './font';
3
+ export * from './plugin';
4
+ export * from './scene';
3
5
  export * from './theme';
4
6
  export * from './utils';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export * from './core';
2
2
  export * from './font';
3
+ export * from './plugin';
4
+ export * from './scene';
3
5
  export * from './theme';
4
6
  export * from './utils';
5
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './plugin';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './plugin';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { Plugins } from 'phaser';
2
+ import { FontSizeApi, type SpacingApi, type FontApi, type ShadowApi } from '../core';
3
+ import { type Color } from '../core/color';
4
+ import { type RadiusApi } from '../core/radius';
5
+ import { BaseThemeConfig, ThemeOverride } from '../theme';
6
+ export declare const PHASER_WIND_KEY: string;
7
+ /**
8
+ * Plugin configuration data type.
9
+ *
10
+ * @typedef {Object} PhaserWindPluginData
11
+ * @property {BaseThemeConfig} [theme] - Custom theme created using createTheme(). If not provided,
12
+ * the default light theme will be used
13
+ * @property {boolean} [darkMode=false] - When true, uses the default dark theme. Only takes effect
14
+ * if no custom theme is provided
15
+ */
16
+ export type PhaserWindPluginData<T = ThemeOverride> = {
17
+ theme?: T;
18
+ darkMode?: boolean;
19
+ };
20
+ /**
21
+ * Phaser Wind Plugin class that manages theme configuration
22
+ * @extends Plugins.BasePlugin
23
+ */
24
+ export declare class PhaserWindPlugin<T extends BaseThemeConfig> extends Plugins.BasePlugin {
25
+ private colorInstance;
26
+ private fontSizeInstance;
27
+ private spacingInstance;
28
+ private radiusInstance;
29
+ private fontInstance;
30
+ private shadowInstance;
31
+ /** Current theme configuration */
32
+ private theme;
33
+ /**
34
+ * Creates an instance of PhaserWindPlugin
35
+ * @param pluginManager - Phaser plugin manager instance
36
+ */
37
+ constructor(pluginManager: Plugins.PluginManager);
38
+ /**
39
+ * Initializes the plugin with theme configuration
40
+ * @param theme - Custom theme configuration
41
+ * @param darkMode - Whether to use dark mode theme when no custom theme provided
42
+ * @example
43
+ * ```typescript
44
+ * const game = new Phaser.Game({
45
+ * plugins: {
46
+ * global: [
47
+ * {
48
+ * key: PHASER_WIND_KEY,
49
+ * plugin: PhaserWindPlugin,
50
+ * mapping: PHASER_WIND_KEY,
51
+ * data: { theme: defaultLightTheme }
52
+ * },
53
+ * ],
54
+ * },
55
+ * });
56
+ * ```
57
+ */
58
+ init({ theme, darkMode }: PhaserWindPluginData<T>): void;
59
+ /**
60
+ * Returns the current theme configuration
61
+ * @returns Current BaseThemeConfig
62
+ */
63
+ getTheme(): T & BaseThemeConfig;
64
+ get color(): Color<T['colors']>;
65
+ get fontSize(): FontSizeApi<T['fontSizes']>;
66
+ get spacing(): SpacingApi<T['spacing']>;
67
+ get radius(): RadiusApi<T['radius']>;
68
+ get font(): FontApi<T['fonts'], T['fontSizes']>;
69
+ get shadow(): ShadowApi<T['effects']>;
70
+ }
71
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAEL,WAAW,EAEX,KAAK,UAAU,EAGf,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,eAAe,EAGf,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,eAAe,EAAE,MAAa,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,aAAa,IAAI;IACpD,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AACF;;;GAGG;AACH,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,eAAe,CACzB,SAAQ,OAAO,CAAC,UAAU;IAC1B,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,cAAc,CAAwC;IAE9D,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAsB;IAEnC;;;OAGG;gBACS,aAAa,EAAE,OAAO,CAAC,aAAa;IAMhD;;;;;;;;;;;;;;;;;;;OAmBG;IACM,IAAI,CAAC,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IA6BzE;;;OAGG;IACI,QAAQ,IAAI,CAAC,GAAG,eAAe;IAItC,IAAW,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAErC;IAED,IAAW,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAEjD;IAED,IAAW,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAE7C;IAED,IAAW,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAE1C;IAED,IAAW,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAErD;IAED,IAAW,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAE3C;CACF"}
@@ -0,0 +1,91 @@
1
+ import { Plugins } from 'phaser';
2
+ import { createFontSize, createSpacing, createFont, createShadow, } from '../core';
3
+ import { createColor } from '../core/color';
4
+ import { createRadius } from '../core/radius';
5
+ import { defaultDarkTheme, defaultLightTheme, } from '../theme';
6
+ export const PHASER_WIND_KEY = 'pw';
7
+ /**
8
+ * Phaser Wind Plugin class that manages theme configuration
9
+ * @extends Plugins.BasePlugin
10
+ */
11
+ export class PhaserWindPlugin extends Plugins.BasePlugin {
12
+ colorInstance = null;
13
+ fontSizeInstance = null;
14
+ spacingInstance = null;
15
+ radiusInstance = null;
16
+ fontInstance = null;
17
+ shadowInstance = null;
18
+ /** Current theme configuration */
19
+ theme;
20
+ /**
21
+ * Creates an instance of PhaserWindPlugin
22
+ * @param pluginManager - Phaser plugin manager instance
23
+ */
24
+ constructor(pluginManager) {
25
+ super(pluginManager);
26
+ this.theme = defaultLightTheme;
27
+ }
28
+ /**
29
+ * Initializes the plugin with theme configuration
30
+ * @param theme - Custom theme configuration
31
+ * @param darkMode - Whether to use dark mode theme when no custom theme provided
32
+ * @example
33
+ * ```typescript
34
+ * const game = new Phaser.Game({
35
+ * plugins: {
36
+ * global: [
37
+ * {
38
+ * key: PHASER_WIND_KEY,
39
+ * plugin: PhaserWindPlugin,
40
+ * mapping: PHASER_WIND_KEY,
41
+ * data: { theme: defaultLightTheme }
42
+ * },
43
+ * ],
44
+ * },
45
+ * });
46
+ * ```
47
+ */
48
+ init({ theme, darkMode = false }) {
49
+ if (!theme) {
50
+ this.theme = darkMode
51
+ ? defaultDarkTheme
52
+ : defaultLightTheme;
53
+ return;
54
+ }
55
+ else {
56
+ this.theme = theme;
57
+ }
58
+ this.colorInstance = createColor(this.theme.colors);
59
+ this.fontSizeInstance = createFontSize(this.theme.fontSizes);
60
+ this.spacingInstance = createSpacing(this.theme.spacing);
61
+ this.radiusInstance = createRadius(this.theme.radius);
62
+ this.fontInstance = createFont(this.theme.fonts, this.theme.fontSizes);
63
+ this.shadowInstance = createShadow(this.theme.effects);
64
+ }
65
+ /**
66
+ * Returns the current theme configuration
67
+ * @returns Current BaseThemeConfig
68
+ */
69
+ getTheme() {
70
+ return this.theme;
71
+ }
72
+ get color() {
73
+ return this.colorInstance;
74
+ }
75
+ get fontSize() {
76
+ return this.fontSizeInstance;
77
+ }
78
+ get spacing() {
79
+ return this.spacingInstance;
80
+ }
81
+ get radius() {
82
+ return this.radiusInstance;
83
+ }
84
+ get font() {
85
+ return this.fontInstance;
86
+ }
87
+ get shadow() {
88
+ return this.shadowInstance;
89
+ }
90
+ }
91
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EACL,cAAc,EAEd,aAAa,EAEb,UAAU,EACV,YAAY,GAGb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,eAAe,GAAW,IAAI,CAAC;AAe5C;;;GAGG;AACH,MAAM,OAAO,gBAEX,SAAQ,OAAO,CAAC,UAAU;IAClB,aAAa,GAA8B,IAAI,CAAC;IAChD,gBAAgB,GAAuC,IAAI,CAAC;IAC5D,eAAe,GAAoC,IAAI,CAAC;IACxD,cAAc,GAAkC,IAAI,CAAC;IACrD,YAAY,GAA+C,IAAI,CAAC;IAChE,cAAc,GAAmC,IAAI,CAAC;IAE9D,kCAAkC;IAC1B,KAAK,CAAsB;IAEnC;;;OAGG;IACH,YAAY,aAAoC;QAC9C,KAAK,CAAC,aAAa,CAAC,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,iBAAwC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACM,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAA2B;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,QAAQ;gBACnB,CAAC,CAAE,gBAAwC;gBAC3C,CAAC,CAAE,iBAAyC,CAAC;YAC/C,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,KAA4B,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,WAAW,CAC9B,IAAI,CAAC,KAAK,CAAC,MAAqB,CACjC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,cAAc,CACpC,IAAI,CAAC,KAAK,CAAC,SAA2B,CACvC,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,aAAa,CAClC,IAAI,CAAC,KAAK,CAAC,OAAuB,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,YAAY,CAChC,IAAI,CAAC,KAAK,CAAC,MAAqB,CACjC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,UAAU,CAC5B,IAAI,CAAC,KAAK,CAAC,KAAmB,EAC9B,IAAI,CAAC,KAAK,CAAC,SAA2B,CACvC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAuB,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,aAAmC,CAAC;IAClD,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,gBAA+C,CAAC;IAC9D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAA2C,CAAC;IAC1D,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,cAAwC,CAAC;IACvD,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,YAAmD,CAAC;IAClE,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,cAAyC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './scene-with-phaser-wind';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './scene-with-phaser-wind';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { PhaserWindPlugin } from '../plugin/plugin';
2
+ import { BaseThemeConfig } from '../theme';
3
+ export declare abstract class SceneWithPhaserWind<T extends BaseThemeConfig = BaseThemeConfig> extends Phaser.Scene {
4
+ /**
5
+ *
6
+ * @param config The scene key or scene specific configuration settings.
7
+ */
8
+ constructor(config?: string | Phaser.Types.Scenes.SettingsConfig);
9
+ protected pw: PhaserWindPlugin<T>;
10
+ }
11
+ //# sourceMappingURL=scene-with-phaser-wind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-with-phaser-wind.d.ts","sourceRoot":"","sources":["../../src/scene/scene-with-phaser-wind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,8BAAsB,mBAAmB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,MAAM,CAAC,KAAK;IACvG;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc;IAIhE,SAAS,CAAC,EAAE,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACtC"}
@@ -0,0 +1,11 @@
1
+ export class SceneWithPhaserWind extends Phaser.Scene {
2
+ /**
3
+ *
4
+ * @param config The scene key or scene specific configuration settings.
5
+ */
6
+ constructor(config) {
7
+ super(config);
8
+ }
9
+ pw;
10
+ }
11
+ //# sourceMappingURL=scene-with-phaser-wind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-with-phaser-wind.js","sourceRoot":"","sources":["../../src/scene/scene-with-phaser-wind.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,mBAAiE,SAAQ,MAAM,CAAC,KAAK;IACvG;;;OAGG;IACH,YAAY,MAAoD;QAC5D,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAES,EAAE,CAAuB;CACtC"}
@@ -1,50 +1,28 @@
1
- import type { ColorToken } from '../core/color';
2
- import { type FontSizeKey, type FontSizeMap } from '../core/font-size';
1
+ import { type FontSizeMap } from '../core/font-size';
3
2
  import { type RadiusMap } from '../core/radius';
3
+ import { type ColorConfig, type EffectConfig, type FontConfig, type SpacingConfig, type TypographyConfig } from './type';
4
4
  /**
5
- * Font configuration structure
6
- */
7
- export type FontConfig = {
8
- [key: string]: string;
9
- };
10
- /**
11
- * Color configuration structure
12
- */
13
- export type ColorConfig = {
14
- [key: string]: ColorToken | string;
15
- };
16
- /**
17
- * Spacing configuration structure (following Tailwind spacing scale)
18
- */
19
- export type SpacingConfig = {
20
- [key: string]: number;
21
- };
22
- /**
23
- * Typography configuration structure
24
- */
25
- export type TypographyConfig = {
26
- [key: string]: {
27
- fontSize: FontSizeKey | string;
28
- fontFamily?: string;
29
- fontWeight?: number | string;
30
- lineHeight?: number | string;
31
- letterSpacing?: number | string;
32
- };
33
- };
34
- /**
35
- * Shadow/Effect configuration structure
36
- */
37
- export type EffectConfig = {
38
- [key: string]: {
39
- blur?: number;
40
- offsetX?: number;
41
- offsetY?: number;
42
- color?: ColorToken | string;
43
- alpha?: number;
44
- };
45
- };
46
- /**
47
- * Theme override type - allows partial configuration for theming
5
+ * Theme override type - allows partial configuration for theming.
6
+ * This type enables customization of the default theme by overriding existing values
7
+ * and adding new custom tokens.
8
+ *
9
+ * @typedef {Object} ThemeOverride
10
+ * @property {Partial<FontConfig>} [fonts] - Font family configurations that can override default fonts
11
+ * or add new font definitions
12
+ * @property {Partial<FontSizeMap> & Record<string,number>} [fontSizes] - Font size tokens that can override
13
+ * default sizes or add new custom sizes
14
+ * @property {Partial<ColorConfig>} [colors] - Color tokens that can override default colors or add new
15
+ * color definitions using color tokens or hex values
16
+ * @property {Partial<SpacingConfig>} [spacing] - Spacing scale tokens that can override default spacing
17
+ * values or add new spacing definitions
18
+ * @property {Partial<TypographyConfig>} [typography] - Typography style tokens that can override default
19
+ * text styles or add new typography variants
20
+ * @property {Partial<EffectConfig>} [effects] - Visual effect tokens like shadows that can override
21
+ * defaults or add new effects
22
+ * @property {Partial<RadiusMap> & Record<string,number>} [radius] - Border radius tokens that can override
23
+ * default radius values or add new radius sizes
24
+ * @property {Record<string,unknown>} [custom] - Additional custom theme tokens that can be used for
25
+ * specific needs
48
26
  */
49
27
  export type ThemeOverride = {
50
28
  fonts?: Partial<FontConfig>;
@@ -68,9 +46,7 @@ export type ThemeOverride = {
68
46
  */
69
47
  export type BaseThemeConfig = {
70
48
  fonts?: FontConfig;
71
- fontSizes?: FontSizeMap & {
72
- [key: string]: number;
73
- };
49
+ fontSizes?: FontSizeMap;
74
50
  colors?: ColorConfig;
75
51
  spacing?: SpacingConfig;
76
52
  typography?: TypographyConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"theme-config.d.ts","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-config.d.ts","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,QAAQ,CAAC;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACxD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,GAAG;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA8E/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eA8E9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,eAAe,IAAI,MAAM,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
- import { fontSizeMap, } from '../core/font-size';
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable sonarjs/no-duplicate-string */
3
+ import { fontSizeMap } from '../core/font-size';
2
4
  import { radiusMap } from '../core/radius';
3
5
  import { spacingMap } from '../core/spacing';
4
6
  /**
@@ -56,6 +58,7 @@ export const defaultLightTheme = {
56
58
  lineHeight: 1.4,
57
59
  },
58
60
  },
61
+ // TODO: Check this implementation
59
62
  effects: {
60
63
  'shadow-sm': {
61
64
  blur: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"theme-config.js","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-config.js","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA+D7C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,KAAK,EAAE;QACL,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,2BAA2B;QACtC,SAAS,EAAE,gCAAgC;QAC3C,OAAO,EAAE,4BAA4B;KACtC;IACD,SAAS,EAAE,EAAE,GAAG,WAAW,EAAE;IAC7B,MAAM,EAAE;QACN,iBAAiB;QACjB,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,UAAU;QAErB,kBAAkB;QAClB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,UAAU;QAEhB,oBAAoB;QACpB,UAAU,EAAE,OAAO;QAEnB,cAAc;QACd,IAAI,EAAE,UAAU;QAEhB,cAAc;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE,EAAE,GAAG,UAAU,EAAE;IAC1B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;KACF;IACD,kCAAkC;IAClC,OAAO,EAAE;QACP,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,IAAI;SACZ;QACD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,GAAG;SACX;QACD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,GAAG;SACX;KACF;IACD,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,KAAK,EAAE;QACL,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,2BAA2B;QACtC,SAAS,EAAE,gCAAgC;QAC3C,OAAO,EAAE,4BAA4B;KACtC;IACD,SAAS,EAAE,EAAE,GAAG,WAAW,EAAE;IAC7B,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;IACxB,MAAM,EAAE;QACN,iBAAiB;QACjB,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,UAAU;QAErB,kBAAkB;QAClB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,UAAU;QAEhB,oBAAoB;QACpB,UAAU,EAAE,UAAU;QAEtB,cAAc;QACd,IAAI,EAAE,OAAO;QAEb,cAAc;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO;KACjB;IACD,OAAO,EAAE,EAAE,GAAG,UAAU,EAAE;IAC1B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,eAAe;YAC3B,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB;KACF;IACD,OAAO,EAAE;QACP,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,GAAG;SACX;QACD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,IAAI;SACZ;QACD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,GAAG;SACX;KACF;IACD,MAAM,EAAE,EAAE;CACX,CAAC"}
@@ -1,108 +1,3 @@
1
- import { type BaseThemeConfig, type ThemeOverride } from './theme-config';
2
- /**
3
- * Global theme manager for Phaser Wind
4
- * Handles theme registration, switching, and token resolution with nested object support
5
- */
6
- declare class ThemeManagerClass {
7
- private currentTheme;
8
- private registeredThemes;
9
- private listeners;
10
- /**
11
- * Initialize the theme manager with a default theme
12
- */
13
- init<T extends BaseThemeConfig>(theme: T, type?: 'light' | 'dark'): void;
14
- /**
15
- * Register a named theme
16
- */
17
- registerTheme<T extends BaseThemeConfig>(name: string, theme: T): void;
18
- /**
19
- * Switch to a registered theme by name
20
- */
21
- setTheme(name: string): void;
22
- /**
23
- * Set theme directly with object by merging with current theme
24
- * This method will merge the provided theme object with the current theme:
25
- * - Existing properties will be replaced with new values
26
- * - New properties will be added
27
- * - Properties not specified in the new theme will be preserved
28
- *
29
- * Example:
30
- * Current theme: { colors: { primary: 'blue', secondary: 'gray' } }
31
- * New theme: { colors: { primary: 'red', accent: 'yellow' } }
32
- * Result: { colors: { primary: 'red', secondary: 'gray', accent: 'yellow' } }
33
- */
34
- setThemeObject(theme: ThemeOverride): void;
35
- /**
36
- * Get the current theme
37
- */
38
- getCurrentTheme(): BaseThemeConfig;
39
- /**
40
- * Get a nested token using dot notation (e.g., 'colors.primary', 'fonts.display')
41
- * @param path - The path to the token (e.g., 'colors.primary')
42
- * @returns The resolved token value
43
- */
44
- getToken(path: string): unknown;
45
- /**
46
- * Check if a nested token exists using dot notation
47
- * @param path - The path to check (e.g., 'colors.primary')
48
- * @returns True if the token exists
49
- */
50
- hasToken(path: string): boolean;
51
- /**
52
- * Get a token with type safety for specific namespaces
53
- */
54
- getColorToken(key: string): string | undefined;
55
- /**
56
- * Get a font token
57
- */
58
- getFontToken(key: string): string | undefined;
59
- /**
60
- * Get a spacing token
61
- */
62
- getSpacingToken(key: string): number | undefined;
63
- /**
64
- * Get a typography token
65
- */
66
- getTypographyToken(key: string): unknown;
67
- /**
68
- * Get an effect token
69
- */
70
- getEffectToken(key: string): unknown;
71
- /**
72
- * Resolve a theme reference (e.g., 'colors.primary' -> actual color value)
73
- * This allows theme tokens to reference other theme tokens
74
- */
75
- resolveToken(value: string): unknown;
76
- /**
77
- * Listen for theme changes
78
- */
79
- onThemeChange(listener: (theme: BaseThemeConfig) => void): () => void;
80
- /**
81
- * Get all registered theme names
82
- */
83
- getRegisteredThemes(): string[];
84
- /**
85
- * Create a new theme based on the current one with overrides
86
- */
87
- extendCurrentTheme<T extends BaseThemeConfig>(overrides: Partial<T>): BaseThemeConfig;
88
- /**
89
- * Reset to default theme
90
- */
91
- reset(): void;
92
- /**
93
- * Clear all registered themes and reset to default
94
- */
95
- clear(): void;
96
- private notifyListeners;
97
- /**
98
- * Helper method to get nested values using dot notation
99
- * @param obj - The object to search in
100
- * @param path - The dot notation path (e.g., 'colors.primary')
101
- * @returns The value at the path or undefined
102
- */
103
- private getNestedValue;
104
- }
105
- export declare const ThemeManager: ThemeManagerClass;
1
+ import { type ThemeOverride } from './theme-config';
106
2
  export declare const createTheme: <T extends ThemeOverride>(theme: T) => T;
107
- export {};
108
3
  //# sourceMappingURL=theme-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAGnB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,SAAS,CAA+C;IAEhE;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5B,KAAK,EAAE,CAAC,EACR,IAAI,GAAE,OAAO,GAAG,MAAgB,GAC/B,IAAI;IASP;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAItE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc5B;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK1C;;OAEG;IACH,eAAe,IAAI,eAAe;IAIlC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK9C;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK7C;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhD;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIpC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAcpC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAYrE;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;OAEG;IACH,kBAAkB,CAAC,CAAC,SAAS,eAAe,EAC1C,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GACpB,eAAe;IAIlB;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,eAAe;IAIvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAOvB;AAGD,eAAO,MAAM,YAAY,mBAA0B,CAAC;AAGpD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,CAC3B,CAAC"}
1
+ {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,CAC3B,CAAC"}