phaser-wind 0.2.0 → 0.4.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/README.md +243 -215
- package/dist/components/column.d.ts +1 -0
- package/dist/components/column.d.ts.map +1 -0
- package/dist/components/column.js +7 -0
- package/dist/components/column.js.map +1 -0
- package/dist/core/color.d.ts +154 -0
- package/dist/core/color.d.ts.map +1 -0
- package/dist/core/color.js +205 -0
- package/dist/core/color.js.map +1 -0
- package/dist/core/color.spec.d.ts +2 -0
- package/dist/core/color.spec.d.ts.map +1 -0
- package/dist/core/color.spec.js +243 -0
- package/dist/core/color.spec.js.map +1 -0
- package/dist/core/font-size.d.ts +55 -0
- package/dist/core/font-size.d.ts.map +1 -0
- package/dist/core/font-size.js +63 -0
- package/dist/core/font-size.js.map +1 -0
- package/dist/core/font-size.spec.d.ts +2 -0
- package/dist/core/font-size.spec.d.ts.map +1 -0
- package/dist/core/font-size.spec.js +85 -0
- package/dist/core/font-size.spec.js.map +1 -0
- package/dist/core/font.d.ts +21 -0
- package/dist/core/font.d.ts.map +1 -0
- package/dist/core/font.js +37 -0
- package/dist/core/font.js.map +1 -0
- package/dist/core/font.spec.d.ts +2 -0
- package/dist/core/font.spec.d.ts.map +1 -0
- package/dist/core/font.spec.js +80 -0
- package/dist/core/font.spec.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/{color/pallete.d.ts → core/palette.d.ts} +2 -2
- package/dist/core/palette.d.ts.map +1 -0
- package/dist/{color/pallete.js → core/palette.js} +2 -2
- package/dist/core/palette.js.map +1 -0
- package/dist/core/radius.d.ts +29 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +38 -0
- package/dist/core/radius.js.map +1 -0
- package/dist/core/radius.spec.d.ts +2 -0
- package/dist/core/radius.spec.d.ts.map +1 -0
- package/dist/core/radius.spec.js +56 -0
- package/dist/core/radius.spec.js.map +1 -0
- package/dist/core/shadow.d.ts +31 -0
- package/dist/core/shadow.d.ts.map +1 -0
- package/dist/core/shadow.js +33 -0
- package/dist/core/shadow.js.map +1 -0
- package/dist/core/shadow.spec.d.ts +2 -0
- package/dist/core/shadow.spec.d.ts.map +1 -0
- package/dist/core/shadow.spec.js +21 -0
- package/dist/core/shadow.spec.js.map +1 -0
- package/dist/core/spacing.d.ts +32 -0
- package/dist/core/spacing.d.ts.map +1 -0
- package/dist/core/spacing.js +70 -0
- package/dist/core/spacing.js.map +1 -0
- package/dist/core/spacing.spec.d.ts +2 -0
- package/dist/core/spacing.spec.d.ts.map +1 -0
- package/dist/core/spacing.spec.js +38 -0
- package/dist/core/spacing.spec.js.map +1 -0
- package/dist/exceptions.d.ts +1 -0
- package/dist/exceptions.d.ts.map +1 -0
- package/dist/exceptions.js +2 -0
- package/dist/exceptions.js.map +1 -0
- package/dist/font/index.d.ts +2 -2
- package/dist/font/index.d.ts.map +1 -1
- package/dist/font/index.js +2 -2
- package/dist/font/index.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +2 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/plugin.d.ts +71 -0
- package/dist/plugin/plugin.d.ts.map +1 -0
- package/dist/plugin/plugin.js +91 -0
- package/dist/plugin/plugin.js.map +1 -0
- package/dist/theme/theme-config.d.ts +44 -132
- package/dist/theme/theme-config.d.ts.map +1 -1
- package/dist/theme/theme-config.js +15 -52
- package/dist/theme/theme-config.js.map +1 -1
- package/dist/theme/theme-manager.d.ts +2 -95
- package/dist/theme/theme-manager.d.ts.map +1 -1
- package/dist/theme/theme-manager.js +3 -170
- package/dist/theme/theme-manager.js.map +1 -1
- package/dist/theme/type.d.ts +48 -0
- package/dist/theme/type.d.ts.map +1 -1
- package/dist/theme/type.js +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/is-valid-color.d.ts +13 -0
- package/dist/utils/is-valid-color.d.ts.map +1 -0
- package/dist/utils/is-valid-color.js +32 -0
- package/dist/utils/is-valid-color.js.map +1 -0
- package/dist/utils/is-valid-color.spec.d.ts +2 -0
- package/dist/utils/is-valid-color.spec.d.ts.map +1 -0
- package/dist/utils/is-valid-color.spec.js +82 -0
- package/dist/utils/is-valid-color.spec.js.map +1 -0
- package/package.json +6 -4
- package/dist/color/color-picker.d.ts +0 -23
- package/dist/color/color-picker.d.ts.map +0 -1
- package/dist/color/color-picker.js +0 -118
- package/dist/color/color-picker.js.map +0 -1
- package/dist/color/color-picker.spec.d.ts +0 -2
- package/dist/color/color-picker.spec.d.ts.map +0 -1
- package/dist/color/color-picker.spec.js +0 -60
- package/dist/color/color-picker.spec.js.map +0 -1
- package/dist/color/index.d.ts +0 -3
- package/dist/color/index.d.ts.map +0 -1
- package/dist/color/index.js +0 -3
- package/dist/color/index.js.map +0 -1
- package/dist/color/pallete.d.ts.map +0 -1
- package/dist/color/pallete.js.map +0 -1
- package/dist/examples/nested-theme-example.d.ts +0 -28
- package/dist/examples/nested-theme-example.d.ts.map +0 -1
- package/dist/examples/nested-theme-example.js +0 -313
- package/dist/examples/nested-theme-example.js.map +0 -1
- package/dist/examples/usage-example.d.ts +0 -17
- package/dist/examples/usage-example.d.ts.map +0 -1
- package/dist/examples/usage-example.js +0 -158
- package/dist/examples/usage-example.js.map +0 -1
- package/dist/font/font-picker.d.ts +0 -93
- package/dist/font/font-picker.d.ts.map +0 -1
- package/dist/font/font-picker.js +0 -212
- package/dist/font/font-picker.js.map +0 -1
- package/dist/font/font-size-picker.d.ts +0 -19
- package/dist/font/font-size-picker.d.ts.map +0 -1
- package/dist/font/font-size-picker.js +0 -24
- package/dist/font/font-size-picker.js.map +0 -1
- package/dist/font/font-size-picker.spec.d.ts +0 -2
- package/dist/font/font-size-picker.spec.d.ts.map +0 -1
- package/dist/font/font-size-picker.spec.js +0 -48
- package/dist/font/font-size-picker.spec.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radius.spec.js","sourceRoot":"","sources":["../../src/core/radius.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BaseThemeConfig } from '../theme';
|
|
2
|
+
/** Default shadow keys. */
|
|
3
|
+
export type ShadowKey = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'inner';
|
|
4
|
+
/**
|
|
5
|
+
* Shadow configuration type defining blur, offset and alpha values
|
|
6
|
+
*/
|
|
7
|
+
/** Shadow configuration shape (compatible with Phaser effects). */
|
|
8
|
+
export type ShadowConfig = {
|
|
9
|
+
blur: number;
|
|
10
|
+
offsetX: number;
|
|
11
|
+
offsetY: number;
|
|
12
|
+
alpha: number;
|
|
13
|
+
};
|
|
14
|
+
/** Default shadow presets. */
|
|
15
|
+
export declare const defaultShadowMap: Record<ShadowKey, ShadowConfig>;
|
|
16
|
+
/** Map of shadow keys to shadow configs. */
|
|
17
|
+
export type ShadowMap = Record<ShadowKey | string, ShadowConfig>;
|
|
18
|
+
/** API for resolving shadow tokens to configs. */
|
|
19
|
+
export type ShadowApi<T extends Record<string, unknown> | undefined> = {
|
|
20
|
+
get: (key: ShadowKey | (T extends Record<string, unknown> ? keyof T : never)) => ShadowConfig;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Create a shadow API bound to an optional effects map.
|
|
24
|
+
* @example
|
|
25
|
+
* const sh = createShadow({ glow: { blur: 8, offsetX: 0, offsetY: 0, alpha: .6 } });
|
|
26
|
+
* sh.get('glow');
|
|
27
|
+
*/
|
|
28
|
+
export declare const createShadow: <T extends BaseThemeConfig["effects"] = BaseThemeConfig["effects"]>(effects?: T) => ShadowApi<T>;
|
|
29
|
+
/** Convenience instance using default shadows (no theme). */
|
|
30
|
+
export declare const Shadow: ShadowApi<undefined>;
|
|
31
|
+
//# sourceMappingURL=shadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/core/shadow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,2BAA2B;AAC3B,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpE;;GAEG;AACH,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAO5D,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjE,kDAAkD;AAClD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,IAAI;IACrE,GAAG,EAAE,CACH,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KACnE,YAAY,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,CAAC,SAAS,eAAe,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAEjE,UAAU,CAAC,KACV,SAAS,CAAC,CAAC,CAiBb,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,SAAS,CAAsC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Default shadow presets. */
|
|
2
|
+
export const defaultShadowMap = {
|
|
3
|
+
sm: { blur: 2, offsetX: 1, offsetY: 1, alpha: 0.15 },
|
|
4
|
+
md: { blur: 4, offsetX: 2, offsetY: 2, alpha: 0.2 },
|
|
5
|
+
lg: { blur: 6, offsetX: 4, offsetY: 4, alpha: 0.25 },
|
|
6
|
+
xl: { blur: 8, offsetX: 6, offsetY: 6, alpha: 0.3 },
|
|
7
|
+
'2xl': { blur: 12, offsetX: 8, offsetY: 8, alpha: 0.35 },
|
|
8
|
+
inner: { blur: 4, offsetX: -2, offsetY: -2, alpha: 0.2 },
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Create a shadow API bound to an optional effects map.
|
|
12
|
+
* @example
|
|
13
|
+
* const sh = createShadow({ glow: { blur: 8, offsetX: 0, offsetY: 0, alpha: .6 } });
|
|
14
|
+
* sh.get('glow');
|
|
15
|
+
*/
|
|
16
|
+
export const createShadow = (effects) => {
|
|
17
|
+
const map = {
|
|
18
|
+
...defaultShadowMap,
|
|
19
|
+
...effects,
|
|
20
|
+
};
|
|
21
|
+
const getConfig = (key) => {
|
|
22
|
+
const cfg = map[key];
|
|
23
|
+
if (cfg && typeof cfg === 'object')
|
|
24
|
+
return cfg;
|
|
25
|
+
return defaultShadowMap['md'];
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
get: (key) => getConfig(key),
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** Convenience instance using default shadows (no theme). */
|
|
32
|
+
export const Shadow = createShadow(undefined);
|
|
33
|
+
//# sourceMappingURL=shadow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/core/shadow.ts"],"names":[],"mappings":"AAgBA,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;CACzD,CAAC;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAG1B,OAAW,EACG,EAAE;IAChB,MAAM,GAAG,GAAc;QACrB,GAAG,gBAAgB;QACnB,GAAI,OAA4C;KACpC,CAAC;IAEf,MAAM,SAAS,GAAG,CAAC,GAAW,EAAgB,EAAE;QAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAmB,CAAC;QAC/D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,CACH,GAAsE,EACxD,EAAE,CAAC,SAAS,CAAC,GAAa,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAyB,YAAY,CAAY,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.spec.d.ts","sourceRoot":"","sources":["../../src/core/shadow.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { Shadow, createShadow } from './shadow';
|
|
4
|
+
describe('Shadow', () => {
|
|
5
|
+
it('should provide defaults via Shadow constant', () => {
|
|
6
|
+
expect(Shadow.get('sm')).toEqual({
|
|
7
|
+
blur: 2,
|
|
8
|
+
offsetX: 1,
|
|
9
|
+
offsetY: 1,
|
|
10
|
+
alpha: 0.15,
|
|
11
|
+
});
|
|
12
|
+
expect(Shadow.get('md').blur).toBe(4);
|
|
13
|
+
});
|
|
14
|
+
it('should allow theme effect keys via factory', () => {
|
|
15
|
+
const shadow = createShadow({
|
|
16
|
+
customGlow: { blur: 20, offsetX: 0, offsetY: 0, alpha: 0.5 },
|
|
17
|
+
});
|
|
18
|
+
expect(shadow.get('customGlow').blur).toBe(20);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=shadow.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.spec.js","sourceRoot":"","sources":["../../src/core/shadow.spec.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;SAC7D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BaseThemeConfig } from '../theme';
|
|
2
|
+
/**
|
|
3
|
+
* Valid spacing scale keys following Tailwind's spacing scale.
|
|
4
|
+
* Values range from '0' to '96', including fractional values and `px` (1px).
|
|
5
|
+
*/
|
|
6
|
+
export type SpacingKey = '0' | 'px' | '0.5' | '1' | '1.5' | '2' | '2.5' | '3' | '3.5' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '14' | '16' | '20' | '24' | '28' | '32' | '36' | '40' | '44' | '48' | '52' | '56' | '60' | '64' | '72' | '80' | '96';
|
|
7
|
+
/** Maps spacing scale keys to their pixel values. */
|
|
8
|
+
export type SpacingMap = Record<SpacingKey | string, number>;
|
|
9
|
+
/**
|
|
10
|
+
* Spacing scale mapping following Tailwind's spacing scale.
|
|
11
|
+
* Values are in pixels, with a base unit of 4px (1 = 4px).
|
|
12
|
+
*/
|
|
13
|
+
export declare const spacingMap: SpacingMap;
|
|
14
|
+
/**
|
|
15
|
+
* API for resolving spacing tokens to px/rem/css.
|
|
16
|
+
* The accepted keys are narrowed to default tokens plus theme keys.
|
|
17
|
+
*/
|
|
18
|
+
export type SpacingApi<T extends SpacingMap | undefined> = {
|
|
19
|
+
px: (key: SpacingKey | (T extends SpacingMap ? keyof T : never)) => number;
|
|
20
|
+
rem: (key: SpacingKey | (T extends SpacingMap ? keyof T : never)) => number;
|
|
21
|
+
css: (key: SpacingKey | (T extends SpacingMap ? keyof T : never)) => string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Create a spacing API bound to an optional theme spacing map.
|
|
25
|
+
* @example
|
|
26
|
+
* const s = createSpacing({ gutter: 24 });
|
|
27
|
+
* s.px('gutter'); // 24
|
|
28
|
+
*/
|
|
29
|
+
export declare const createSpacing: <T extends SpacingMap | undefined = BaseThemeConfig["spacing"]>(themeSpacing?: T) => SpacingApi<T>;
|
|
30
|
+
/** Convenience instance using default spacing map (no theme). */
|
|
31
|
+
export declare const Spacing: SpacingApi<undefined>;
|
|
32
|
+
//# sourceMappingURL=spacing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/core/spacing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,GAAG,GACH,IAAI,GACJ,KAAK,GACL,GAAG,GACH,KAAK,GACL,GAAG,GACH,KAAK,GACL,GAAG,GACH,KAAK,GACL,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,UAoCxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI;IACzD,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;IAC3E,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;IAC5E,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;CAC7E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,CAAC,SAAS,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,EAE7D,eAAe,CAAC,KACf,UAAU,CAAC,CAAC,CA2Bd,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC,SAAS,CACL,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spacing scale mapping following Tailwind's spacing scale.
|
|
3
|
+
* Values are in pixels, with a base unit of 4px (1 = 4px).
|
|
4
|
+
*/
|
|
5
|
+
export const spacingMap = {
|
|
6
|
+
'0': 0,
|
|
7
|
+
px: 1,
|
|
8
|
+
'0.5': 2,
|
|
9
|
+
'1': 4,
|
|
10
|
+
'1.5': 6,
|
|
11
|
+
'2': 8,
|
|
12
|
+
'2.5': 10,
|
|
13
|
+
'3': 12,
|
|
14
|
+
'3.5': 14,
|
|
15
|
+
'4': 16,
|
|
16
|
+
'5': 20,
|
|
17
|
+
'6': 24,
|
|
18
|
+
'7': 28,
|
|
19
|
+
'8': 32,
|
|
20
|
+
'9': 36,
|
|
21
|
+
'10': 40,
|
|
22
|
+
'11': 44,
|
|
23
|
+
'12': 48,
|
|
24
|
+
'14': 56,
|
|
25
|
+
'16': 64,
|
|
26
|
+
'20': 80,
|
|
27
|
+
'24': 96,
|
|
28
|
+
'28': 112,
|
|
29
|
+
'32': 128,
|
|
30
|
+
'36': 144,
|
|
31
|
+
'40': 160,
|
|
32
|
+
'44': 176,
|
|
33
|
+
'48': 192,
|
|
34
|
+
'52': 208,
|
|
35
|
+
'56': 224,
|
|
36
|
+
'60': 240,
|
|
37
|
+
'64': 256,
|
|
38
|
+
'72': 288,
|
|
39
|
+
'80': 320,
|
|
40
|
+
'96': 384,
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Create a spacing API bound to an optional theme spacing map.
|
|
44
|
+
* @example
|
|
45
|
+
* const s = createSpacing({ gutter: 24 });
|
|
46
|
+
* s.px('gutter'); // 24
|
|
47
|
+
*/
|
|
48
|
+
export const createSpacing = (themeSpacing) => {
|
|
49
|
+
const map = {
|
|
50
|
+
...spacingMap,
|
|
51
|
+
...themeSpacing,
|
|
52
|
+
};
|
|
53
|
+
const get = (key) => {
|
|
54
|
+
return typeof map[key] === 'number' ? map[key] : 0;
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
px: (key) => {
|
|
58
|
+
return get(key);
|
|
59
|
+
},
|
|
60
|
+
rem: (key) => {
|
|
61
|
+
return get(key) / 16;
|
|
62
|
+
},
|
|
63
|
+
css: (key) => {
|
|
64
|
+
return `${get(key)}px`;
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
/** Convenience instance using default spacing map (no theme). */
|
|
69
|
+
export const Spacing = createSpacing(undefined);
|
|
70
|
+
//# sourceMappingURL=spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../src/core/spacing.ts"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,GAAG,EAAE,CAAC;IACN,EAAE,EAAE,CAAC;IACL,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAC;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAG3B,YAAgB,EACD,EAAE;IACjB,MAAM,GAAG,GAAe;QACtB,GAAG,UAAU;QACb,GAAI,YAAuC;KAC9B,CAAC;IAEhB,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE;QAClC,OAAO,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,CACF,GAA0D,EAClD,EAAE;YACV,OAAO,GAAG,CAAC,GAAa,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,EAAE,CACH,GAA0D,EAClD,EAAE;YACV,OAAO,GAAG,CAAC,GAAa,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,EAAE,CACH,GAA0D,EAClD,EAAE;YACV,OAAO,GAAG,GAAG,CAAC,GAAa,CAAC,IAAI,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,OAAO,GAClB,aAAa,CAAY,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.spec.d.ts","sourceRoot":"","sources":["../../src/core/spacing.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
/* eslint-disable max-lines */
|
|
3
|
+
/* eslint-disable max-lines-per-function */
|
|
4
|
+
/* eslint-disable sonarjs/no-duplicate-string */
|
|
5
|
+
import { describe, expect, it } from 'vitest';
|
|
6
|
+
import { createSpacing, Spacing } from './spacing';
|
|
7
|
+
describe('Spacing', () => {
|
|
8
|
+
describe('px', () => {
|
|
9
|
+
it('should return pixel values', () => {
|
|
10
|
+
const spacing = createSpacing();
|
|
11
|
+
expect(spacing.px('2')).toBe(8);
|
|
12
|
+
expect(spacing.px('4')).toBe(16);
|
|
13
|
+
expect(spacing.px('8')).toBe(32);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('rem', () => {
|
|
17
|
+
it('should convert pixel values to rem', () => {
|
|
18
|
+
const spacing = createSpacing();
|
|
19
|
+
expect(spacing.rem('16')).toBe(4);
|
|
20
|
+
expect(spacing.rem('8')).toBe(2);
|
|
21
|
+
expect(spacing.rem('4')).toBe(1);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('css', () => {
|
|
25
|
+
it('should return pixel values as CSS strings', () => {
|
|
26
|
+
const spacing = createSpacing();
|
|
27
|
+
expect(spacing.css('2')).toBe('8px');
|
|
28
|
+
expect(spacing.css('4')).toBe('16px');
|
|
29
|
+
expect(spacing.css('8')).toBe('32px');
|
|
30
|
+
});
|
|
31
|
+
it('should work with default Spacing constant', () => {
|
|
32
|
+
expect(Spacing.px('2')).toBe(8);
|
|
33
|
+
expect(Spacing.css('4')).toBe('16px');
|
|
34
|
+
expect(Spacing.rem('8')).toBe(2);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=spacing.spec.js.map
|
|
@@ -0,0 +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,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 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":""}
|
package/dist/font/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
1
|
+
export * from '../core/font';
|
|
2
|
+
export * from '../core/font-size';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/font/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/font/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/font/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
package/dist/font/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
1
|
+
export * from '../core/font';
|
|
2
|
+
export * from '../core/font-size';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/font/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/font/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/font/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,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,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
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;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -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 @@
|
|
|
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"}
|