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
|
@@ -1,45 +1,43 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type FontSizeMap } from '../core/font-size';
|
|
2
|
+
import { type RadiusMap } from '../core/radius';
|
|
3
|
+
import { type ColorConfig, type EffectConfig, type FontConfig, type SpacingConfig, type TypographyConfig } from './type';
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
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
|
|
5
26
|
*/
|
|
6
|
-
export type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* Color configuration structure
|
|
11
|
-
*/
|
|
12
|
-
export type ColorConfig = {
|
|
13
|
-
[key: string]: ColorToken | string;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Spacing configuration structure (following Tailwind spacing scale)
|
|
17
|
-
*/
|
|
18
|
-
export type SpacingConfig = {
|
|
19
|
-
[key: string]: number;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Typography configuration structure
|
|
23
|
-
*/
|
|
24
|
-
export type TypographyConfig = {
|
|
25
|
-
[key: string]: {
|
|
26
|
-
fontSize: FontSizeKey | string;
|
|
27
|
-
fontFamily?: string;
|
|
28
|
-
fontWeight?: number | string;
|
|
29
|
-
lineHeight?: number | string;
|
|
30
|
-
letterSpacing?: number | string;
|
|
27
|
+
export type ThemeOverride = {
|
|
28
|
+
fonts?: Partial<FontConfig>;
|
|
29
|
+
fontSizes?: Partial<FontSizeMap> & {
|
|
30
|
+
[key: string]: number;
|
|
31
31
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
color?: ColorToken | string;
|
|
42
|
-
alpha?: number;
|
|
32
|
+
colors?: Partial<ColorConfig>;
|
|
33
|
+
spacing?: Partial<SpacingConfig>;
|
|
34
|
+
typography?: Partial<TypographyConfig>;
|
|
35
|
+
effects?: Partial<EffectConfig>;
|
|
36
|
+
radius?: Partial<RadiusMap> & {
|
|
37
|
+
[key: string]: number;
|
|
38
|
+
};
|
|
39
|
+
custom?: {
|
|
40
|
+
[key: string]: unknown;
|
|
43
41
|
};
|
|
44
42
|
};
|
|
45
43
|
/**
|
|
@@ -48,109 +46,23 @@ export type EffectConfig = {
|
|
|
48
46
|
*/
|
|
49
47
|
export type BaseThemeConfig = {
|
|
50
48
|
fonts?: FontConfig;
|
|
49
|
+
fontSizes?: FontSizeMap;
|
|
51
50
|
colors?: ColorConfig;
|
|
52
51
|
spacing?: SpacingConfig;
|
|
53
52
|
typography?: TypographyConfig;
|
|
54
53
|
effects?: EffectConfig;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Default theme structure following design system best practices
|
|
59
|
-
*/
|
|
60
|
-
export type DefaultThemeStructure = {
|
|
61
|
-
fonts: {
|
|
62
|
-
primary: string;
|
|
63
|
-
secondary: string;
|
|
64
|
-
monospace: string;
|
|
65
|
-
display: string;
|
|
66
|
-
};
|
|
67
|
-
colors: {
|
|
68
|
-
primary: ColorToken;
|
|
69
|
-
secondary: ColorToken;
|
|
70
|
-
accent: ColorToken;
|
|
71
|
-
success: ColorToken;
|
|
72
|
-
warning: ColorToken;
|
|
73
|
-
error: ColorToken;
|
|
74
|
-
info: ColorToken;
|
|
75
|
-
background: ColorToken;
|
|
76
|
-
'background-secondary': ColorToken;
|
|
77
|
-
'background-panel': ColorToken;
|
|
78
|
-
'background-modal': ColorToken;
|
|
79
|
-
text: ColorToken;
|
|
80
|
-
'text-secondary': ColorToken;
|
|
81
|
-
'text-muted': ColorToken;
|
|
82
|
-
'text-inverse': ColorToken;
|
|
83
|
-
border: ColorToken;
|
|
84
|
-
'border-light': ColorToken;
|
|
85
|
-
'border-focus': ColorToken;
|
|
86
|
-
'button-primary': ColorToken;
|
|
87
|
-
'button-secondary': ColorToken;
|
|
88
|
-
'button-danger': ColorToken;
|
|
89
|
-
shadow: ColorToken;
|
|
90
|
-
overlay: ColorToken;
|
|
91
|
-
};
|
|
92
|
-
spacing: {
|
|
93
|
-
xs: number;
|
|
94
|
-
sm: number;
|
|
95
|
-
md: number;
|
|
96
|
-
lg: number;
|
|
97
|
-
xl: number;
|
|
98
|
-
'2xl': number;
|
|
99
|
-
'3xl': number;
|
|
100
|
-
'4xl': number;
|
|
101
|
-
};
|
|
102
|
-
typography: {
|
|
103
|
-
heading: {
|
|
104
|
-
fontSize: FontSizeKey;
|
|
105
|
-
fontFamily: string;
|
|
106
|
-
fontWeight: number;
|
|
107
|
-
lineHeight: number;
|
|
108
|
-
};
|
|
109
|
-
'heading-large': {
|
|
110
|
-
fontSize: FontSizeKey;
|
|
111
|
-
fontFamily: string;
|
|
112
|
-
fontWeight: number;
|
|
113
|
-
lineHeight: number;
|
|
114
|
-
};
|
|
115
|
-
body: {
|
|
116
|
-
fontSize: FontSizeKey;
|
|
117
|
-
fontFamily: string;
|
|
118
|
-
fontWeight: number;
|
|
119
|
-
lineHeight: number;
|
|
120
|
-
};
|
|
121
|
-
caption: {
|
|
122
|
-
fontSize: FontSizeKey;
|
|
123
|
-
fontFamily: string;
|
|
124
|
-
fontWeight: number;
|
|
125
|
-
lineHeight: number;
|
|
126
|
-
};
|
|
54
|
+
radius?: RadiusMap & {
|
|
55
|
+
[key: string]: number;
|
|
127
56
|
};
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
blur: number;
|
|
131
|
-
offsetY: number;
|
|
132
|
-
color: string;
|
|
133
|
-
alpha: number;
|
|
134
|
-
};
|
|
135
|
-
'shadow-md': {
|
|
136
|
-
blur: number;
|
|
137
|
-
offsetY: number;
|
|
138
|
-
color: string;
|
|
139
|
-
alpha: number;
|
|
140
|
-
};
|
|
141
|
-
'shadow-lg': {
|
|
142
|
-
blur: number;
|
|
143
|
-
offsetY: number;
|
|
144
|
-
color: string;
|
|
145
|
-
alpha: number;
|
|
146
|
-
};
|
|
57
|
+
custom?: {
|
|
58
|
+
[key: string]: unknown;
|
|
147
59
|
};
|
|
148
60
|
};
|
|
149
61
|
/**
|
|
150
62
|
* Example theme configurations with structured design tokens
|
|
151
63
|
*/
|
|
152
|
-
export declare const defaultLightTheme:
|
|
153
|
-
export declare const defaultDarkTheme:
|
|
64
|
+
export declare const defaultLightTheme: BaseThemeConfig;
|
|
65
|
+
export declare const defaultDarkTheme: BaseThemeConfig;
|
|
154
66
|
/**
|
|
155
67
|
* Type helper to create strongly-typed custom themes
|
|
156
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-config.d.ts","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
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,3 +1,8 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
2
|
+
/* eslint-disable sonarjs/no-duplicate-string */
|
|
3
|
+
import { fontSizeMap } from '../core/font-size';
|
|
4
|
+
import { radiusMap } from '../core/radius';
|
|
5
|
+
import { spacingMap } from '../core/spacing';
|
|
1
6
|
/**
|
|
2
7
|
* Example theme configurations with structured design tokens
|
|
3
8
|
*/
|
|
@@ -8,11 +13,11 @@ export const defaultLightTheme = {
|
|
|
8
13
|
monospace: 'Fira Code, Consolas, monospace',
|
|
9
14
|
display: 'Poppins, Inter, sans-serif',
|
|
10
15
|
},
|
|
16
|
+
fontSizes: { ...fontSizeMap },
|
|
11
17
|
colors: {
|
|
12
18
|
// Primary colors
|
|
13
19
|
primary: 'blue-600',
|
|
14
20
|
secondary: 'gray-600',
|
|
15
|
-
accent: 'purple-500',
|
|
16
21
|
// Semantic colors
|
|
17
22
|
success: 'green-500',
|
|
18
23
|
warning: 'yellow-500',
|
|
@@ -20,36 +25,13 @@ export const defaultLightTheme = {
|
|
|
20
25
|
info: 'blue-400',
|
|
21
26
|
// Background colors
|
|
22
27
|
background: 'white',
|
|
23
|
-
'background-secondary': 'gray-50',
|
|
24
|
-
'background-panel': 'gray-100',
|
|
25
|
-
'background-modal': 'white',
|
|
26
28
|
// Text colors
|
|
27
29
|
text: 'gray-900',
|
|
28
|
-
'text-secondary': 'gray-700',
|
|
29
|
-
'text-muted': 'gray-500',
|
|
30
|
-
'text-inverse': 'white',
|
|
31
|
-
// Border colors
|
|
32
|
-
border: 'gray-300',
|
|
33
|
-
'border-light': 'gray-200',
|
|
34
|
-
'border-focus': 'blue-500',
|
|
35
|
-
// Button variants
|
|
36
|
-
'button-primary': 'blue-600',
|
|
37
|
-
'button-secondary': 'gray-600',
|
|
38
|
-
'button-danger': 'red-600',
|
|
39
30
|
// UI elements
|
|
40
31
|
shadow: 'black',
|
|
41
32
|
overlay: 'black',
|
|
42
33
|
},
|
|
43
|
-
spacing: {
|
|
44
|
-
xs: 4,
|
|
45
|
-
sm: 8,
|
|
46
|
-
md: 16,
|
|
47
|
-
lg: 24,
|
|
48
|
-
xl: 32,
|
|
49
|
-
'2xl': 48,
|
|
50
|
-
'3xl': 64,
|
|
51
|
-
'4xl': 96,
|
|
52
|
-
},
|
|
34
|
+
spacing: { ...spacingMap },
|
|
53
35
|
typography: {
|
|
54
36
|
heading: {
|
|
55
37
|
fontSize: '2xl',
|
|
@@ -64,7 +46,7 @@ export const defaultLightTheme = {
|
|
|
64
46
|
lineHeight: 1.1,
|
|
65
47
|
},
|
|
66
48
|
body: {
|
|
67
|
-
fontSize: '
|
|
49
|
+
fontSize: 'base',
|
|
68
50
|
fontFamily: 'fonts.primary',
|
|
69
51
|
fontWeight: 400,
|
|
70
52
|
lineHeight: 1.5,
|
|
@@ -76,6 +58,7 @@ export const defaultLightTheme = {
|
|
|
76
58
|
lineHeight: 1.4,
|
|
77
59
|
},
|
|
78
60
|
},
|
|
61
|
+
// TODO: Check this implementation
|
|
79
62
|
effects: {
|
|
80
63
|
'shadow-sm': {
|
|
81
64
|
blur: 2,
|
|
@@ -96,6 +79,7 @@ export const defaultLightTheme = {
|
|
|
96
79
|
alpha: 0.1,
|
|
97
80
|
},
|
|
98
81
|
},
|
|
82
|
+
custom: {},
|
|
99
83
|
};
|
|
100
84
|
export const defaultDarkTheme = {
|
|
101
85
|
fonts: {
|
|
@@ -104,11 +88,12 @@ export const defaultDarkTheme = {
|
|
|
104
88
|
monospace: 'Fira Code, Consolas, monospace',
|
|
105
89
|
display: 'Poppins, Inter, sans-serif',
|
|
106
90
|
},
|
|
91
|
+
fontSizes: { ...fontSizeMap },
|
|
92
|
+
radius: { ...radiusMap },
|
|
107
93
|
colors: {
|
|
108
94
|
// Primary colors
|
|
109
95
|
primary: 'blue-400',
|
|
110
96
|
secondary: 'gray-400',
|
|
111
|
-
accent: 'purple-400',
|
|
112
97
|
// Semantic colors
|
|
113
98
|
success: 'green-400',
|
|
114
99
|
warning: 'yellow-400',
|
|
@@ -116,36 +101,13 @@ export const defaultDarkTheme = {
|
|
|
116
101
|
info: 'blue-300',
|
|
117
102
|
// Background colors
|
|
118
103
|
background: 'gray-900',
|
|
119
|
-
'background-secondary': 'gray-800',
|
|
120
|
-
'background-panel': 'gray-700',
|
|
121
|
-
'background-modal': 'gray-800',
|
|
122
104
|
// Text colors
|
|
123
105
|
text: 'white',
|
|
124
|
-
'text-secondary': 'gray-300',
|
|
125
|
-
'text-muted': 'gray-400',
|
|
126
|
-
'text-inverse': 'gray-900',
|
|
127
|
-
// Border colors
|
|
128
|
-
border: 'gray-600',
|
|
129
|
-
'border-light': 'gray-700',
|
|
130
|
-
'border-focus': 'blue-400',
|
|
131
|
-
// Button variants
|
|
132
|
-
'button-primary': 'blue-500',
|
|
133
|
-
'button-secondary': 'gray-500',
|
|
134
|
-
'button-danger': 'red-500',
|
|
135
106
|
// UI elements
|
|
136
107
|
shadow: 'black',
|
|
137
108
|
overlay: 'black',
|
|
138
109
|
},
|
|
139
|
-
spacing: {
|
|
140
|
-
xs: 4,
|
|
141
|
-
sm: 8,
|
|
142
|
-
md: 16,
|
|
143
|
-
lg: 24,
|
|
144
|
-
xl: 32,
|
|
145
|
-
'2xl': 48,
|
|
146
|
-
'3xl': 64,
|
|
147
|
-
'4xl': 96,
|
|
148
|
-
},
|
|
110
|
+
spacing: { ...spacingMap },
|
|
149
111
|
typography: {
|
|
150
112
|
heading: {
|
|
151
113
|
fontSize: '2xl',
|
|
@@ -160,7 +122,7 @@ export const defaultDarkTheme = {
|
|
|
160
122
|
lineHeight: 1.1,
|
|
161
123
|
},
|
|
162
124
|
body: {
|
|
163
|
-
fontSize: '
|
|
125
|
+
fontSize: 'base',
|
|
164
126
|
fontFamily: 'fonts.primary',
|
|
165
127
|
fontWeight: 400,
|
|
166
128
|
lineHeight: 1.5,
|
|
@@ -192,5 +154,6 @@ export const defaultDarkTheme = {
|
|
|
192
154
|
alpha: 0.2,
|
|
193
155
|
},
|
|
194
156
|
},
|
|
157
|
+
custom: {},
|
|
195
158
|
};
|
|
196
159
|
//# sourceMappingURL=theme-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-config.js","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-config.js","sourceRoot":"","sources":["../../src/theme/theme-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,96 +1,3 @@
|
|
|
1
|
-
import { type
|
|
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): 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
|
|
24
|
-
*/
|
|
25
|
-
setThemeObject<T extends BaseThemeConfig>(theme: T): void;
|
|
26
|
-
/**
|
|
27
|
-
* Get the current theme
|
|
28
|
-
*/
|
|
29
|
-
getCurrentTheme(): BaseThemeConfig;
|
|
30
|
-
/**
|
|
31
|
-
* Get a nested token using dot notation (e.g., 'colors.primary', 'fonts.display')
|
|
32
|
-
* @param path - The path to the token (e.g., 'colors.primary')
|
|
33
|
-
* @returns The resolved token value
|
|
34
|
-
*/
|
|
35
|
-
getToken(path: string): unknown;
|
|
36
|
-
/**
|
|
37
|
-
* Check if a nested token exists using dot notation
|
|
38
|
-
* @param path - The path to check (e.g., 'colors.primary')
|
|
39
|
-
* @returns True if the token exists
|
|
40
|
-
*/
|
|
41
|
-
hasToken(path: string): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Get a token with type safety for specific namespaces
|
|
44
|
-
*/
|
|
45
|
-
getColorToken(key: string): string | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Get a font token
|
|
48
|
-
*/
|
|
49
|
-
getFontToken(key: string): string | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Get a spacing token
|
|
52
|
-
*/
|
|
53
|
-
getSpacingToken(key: string): number | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Get a typography token
|
|
56
|
-
*/
|
|
57
|
-
getTypographyToken(key: string): unknown;
|
|
58
|
-
/**
|
|
59
|
-
* Get an effect token
|
|
60
|
-
*/
|
|
61
|
-
getEffectToken(key: string): unknown;
|
|
62
|
-
/**
|
|
63
|
-
* Resolve a theme reference (e.g., 'colors.primary' -> actual color value)
|
|
64
|
-
* This allows theme tokens to reference other theme tokens
|
|
65
|
-
*/
|
|
66
|
-
resolveToken(value: string): unknown;
|
|
67
|
-
/**
|
|
68
|
-
* Listen for theme changes
|
|
69
|
-
*/
|
|
70
|
-
onThemeChange(listener: (theme: BaseThemeConfig) => void): () => void;
|
|
71
|
-
/**
|
|
72
|
-
* Get all registered theme names
|
|
73
|
-
*/
|
|
74
|
-
getRegisteredThemes(): string[];
|
|
75
|
-
/**
|
|
76
|
-
* Create a new theme based on the current one with overrides
|
|
77
|
-
*/
|
|
78
|
-
extendCurrentTheme<T extends BaseThemeConfig>(overrides: Partial<T>): BaseThemeConfig;
|
|
79
|
-
/**
|
|
80
|
-
* Reset to default theme
|
|
81
|
-
*/
|
|
82
|
-
reset(): void;
|
|
83
|
-
private notifyListeners;
|
|
84
|
-
/**
|
|
85
|
-
* Helper method to get nested values using dot notation
|
|
86
|
-
* @param obj - The object to search in
|
|
87
|
-
* @param path - The dot notation path (e.g., 'colors.primary')
|
|
88
|
-
* @returns The value at the path or undefined
|
|
89
|
-
*/
|
|
90
|
-
private getNestedValue;
|
|
91
|
-
}
|
|
92
|
-
export declare const ThemeManager: ThemeManagerClass;
|
|
93
|
-
export declare const createTheme: <T extends BaseThemeConfig>(theme: T) => T;
|
|
94
|
-
export type ThemeConfig<T extends BaseThemeConfig = DefaultThemeStructure> = T;
|
|
95
|
-
export {};
|
|
1
|
+
import { type ThemeOverride } from './theme-config';
|
|
2
|
+
export declare const createTheme: <T extends ThemeOverride>(theme: T) => T;
|
|
96
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":"
|
|
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"}
|
|
@@ -1,171 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Handles theme registration, switching, and token resolution with nested object support
|
|
5
|
-
*/
|
|
6
|
-
class ThemeManagerClass {
|
|
7
|
-
currentTheme = defaultLightTheme;
|
|
8
|
-
registeredThemes = new Map();
|
|
9
|
-
listeners = [];
|
|
10
|
-
/**
|
|
11
|
-
* Initialize the theme manager with a default theme
|
|
12
|
-
*/
|
|
13
|
-
init(theme) {
|
|
14
|
-
this.currentTheme = theme;
|
|
15
|
-
this.registerTheme('default', theme);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Register a named theme
|
|
19
|
-
*/
|
|
20
|
-
registerTheme(name, theme) {
|
|
21
|
-
this.registeredThemes.set(name, theme);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Switch to a registered theme by name
|
|
25
|
-
*/
|
|
26
|
-
setTheme(name) {
|
|
27
|
-
const theme = this.registeredThemes.get(name);
|
|
28
|
-
if (!theme) {
|
|
29
|
-
// eslint-disable-next-line no-console
|
|
30
|
-
console.warn(`[Phaser Wind] Theme "${name}" not found. Available themes: ${Array.from(this.registeredThemes.keys()).join(', ')}`);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
this.currentTheme = theme;
|
|
34
|
-
this.notifyListeners();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Set theme directly with object
|
|
38
|
-
*/
|
|
39
|
-
setThemeObject(theme) {
|
|
40
|
-
this.currentTheme = theme;
|
|
41
|
-
this.notifyListeners();
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the current theme
|
|
45
|
-
*/
|
|
46
|
-
getCurrentTheme() {
|
|
47
|
-
return this.currentTheme;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Get a nested token using dot notation (e.g., 'colors.primary', 'fonts.display')
|
|
51
|
-
* @param path - The path to the token (e.g., 'colors.primary')
|
|
52
|
-
* @returns The resolved token value
|
|
53
|
-
*/
|
|
54
|
-
getToken(path) {
|
|
55
|
-
return this.getNestedValue(this.currentTheme, path);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Check if a nested token exists using dot notation
|
|
59
|
-
* @param path - The path to check (e.g., 'colors.primary')
|
|
60
|
-
* @returns True if the token exists
|
|
61
|
-
*/
|
|
62
|
-
hasToken(path) {
|
|
63
|
-
return this.getNestedValue(this.currentTheme, path) !== undefined;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get a token with type safety for specific namespaces
|
|
67
|
-
*/
|
|
68
|
-
getColorToken(key) {
|
|
69
|
-
const value = this.getToken(`colors.${key}`);
|
|
70
|
-
return typeof value === 'string' ? value : undefined;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Get a font token
|
|
74
|
-
*/
|
|
75
|
-
getFontToken(key) {
|
|
76
|
-
const value = this.getToken(`fonts.${key}`);
|
|
77
|
-
return typeof value === 'string' ? value : undefined;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Get a spacing token
|
|
81
|
-
*/
|
|
82
|
-
getSpacingToken(key) {
|
|
83
|
-
const value = this.getToken(`spacing.${key}`);
|
|
84
|
-
return typeof value === 'number' ? value : undefined;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Get a typography token
|
|
88
|
-
*/
|
|
89
|
-
getTypographyToken(key) {
|
|
90
|
-
return this.getToken(`typography.${key}`);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get an effect token
|
|
94
|
-
*/
|
|
95
|
-
getEffectToken(key) {
|
|
96
|
-
return this.getToken(`effects.${key}`);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Resolve a theme reference (e.g., 'colors.primary' -> actual color value)
|
|
100
|
-
* This allows theme tokens to reference other theme tokens
|
|
101
|
-
*/
|
|
102
|
-
resolveToken(value) {
|
|
103
|
-
if (typeof value === 'string' && value.includes('.')) {
|
|
104
|
-
// Check if it's a theme reference
|
|
105
|
-
const resolved = this.getToken(value);
|
|
106
|
-
if (resolved !== undefined) {
|
|
107
|
-
// Recursively resolve in case of nested references
|
|
108
|
-
return typeof resolved === 'string' && resolved.includes('.')
|
|
109
|
-
? this.resolveToken(resolved)
|
|
110
|
-
: resolved;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return value;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Listen for theme changes
|
|
117
|
-
*/
|
|
118
|
-
onThemeChange(listener) {
|
|
119
|
-
this.listeners.push(listener);
|
|
120
|
-
// Return unsubscribe function
|
|
121
|
-
return () => {
|
|
122
|
-
const index = this.listeners.indexOf(listener);
|
|
123
|
-
if (index > -1) {
|
|
124
|
-
this.listeners.splice(index, 1);
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get all registered theme names
|
|
130
|
-
*/
|
|
131
|
-
getRegisteredThemes() {
|
|
132
|
-
return Array.from(this.registeredThemes.keys());
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Create a new theme based on the current one with overrides
|
|
136
|
-
*/
|
|
137
|
-
extendCurrentTheme(overrides) {
|
|
138
|
-
return { ...this.currentTheme, ...overrides };
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Reset to default theme
|
|
142
|
-
*/
|
|
143
|
-
reset() {
|
|
144
|
-
const defaultTheme = this.registeredThemes.get('default');
|
|
145
|
-
if (defaultTheme) {
|
|
146
|
-
this.currentTheme = defaultTheme;
|
|
147
|
-
this.notifyListeners();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
notifyListeners() {
|
|
151
|
-
this.listeners.forEach(listener => listener(this.currentTheme));
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Helper method to get nested values using dot notation
|
|
155
|
-
* @param obj - The object to search in
|
|
156
|
-
* @param path - The dot notation path (e.g., 'colors.primary')
|
|
157
|
-
* @returns The value at the path or undefined
|
|
158
|
-
*/
|
|
159
|
-
getNestedValue(obj, path) {
|
|
160
|
-
return path.split('.').reduce((current, key) => {
|
|
161
|
-
return current && typeof current === 'object'
|
|
162
|
-
? current[key]
|
|
163
|
-
: undefined;
|
|
164
|
-
}, obj);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// Export singleton instance
|
|
168
|
-
export const ThemeManager = new ThemeManagerClass();
|
|
169
|
-
// Type helper for creating themes with proper typing
|
|
170
|
-
export const createTheme = (theme) => theme;
|
|
1
|
+
import merge from 'lodash/merge';
|
|
2
|
+
import { defaultLightTheme } from './theme-config';
|
|
3
|
+
export const createTheme = (theme) => merge({}, defaultLightTheme, theme);
|
|
171
4
|
//# sourceMappingURL=theme-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAsB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAA0B,KAAQ,EAAK,EAAE,CAClE,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC"}
|