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,16 +1,24 @@
1
1
  /* eslint-disable no-magic-numbers */
2
2
  /* eslint-disable max-lines-per-function */
3
- import { afterAll, beforeEach, describe, expect, it } from 'vitest';
4
- import { createTheme, ThemeManager } from '../theme';
5
- import { Color } from './color';
3
+ import { beforeEach, describe, expect, it } from 'vitest';
4
+ import { createTheme } from '../theme';
5
+ import { createColor, Color as ColorDefault, } from './color';
6
6
  const RED_500_RGB = 'rgb(239, 68, 68)';
7
7
  const SLATE_50_RGB = 'rgb(248, 250, 252)';
8
+ const RED_500_TOKEN = 'red-500';
9
+ const SLATE_50_TOKEN = '50';
10
+ const BLUE_500_TOKEN = '500';
8
11
  describe('ColorPicker', () => {
12
+ let color;
9
13
  beforeEach(() => {
10
- ThemeManager.clear();
11
- });
12
- afterAll(() => {
13
- ThemeManager.clear();
14
+ const fakeTheme = createTheme({
15
+ colors: {
16
+ primary: 'red-500',
17
+ secondary: 'slate-50',
18
+ another: '#ff9887',
19
+ },
20
+ });
21
+ color = createColor(fakeTheme);
14
22
  });
15
23
  describe('rgb method', () => {
16
24
  it.each([
@@ -90,42 +98,27 @@ describe('ColorPicker', () => {
90
98
  ['black', '#000'],
91
99
  ['white', '#fff'],
92
100
  ])('should convert %s to rgb %s', (colorToken, expected) => {
93
- expect(Color.rgb(colorToken)).toBe(expected);
101
+ expect(color.rgb(colorToken)).toBe(expected);
94
102
  });
95
- it('should return the color if it is a valid color', () => {
96
- expect(Color.rgb('#000000')).toBe('#000000');
97
- expect(Color.rgb('#ffffff')).toBe('#ffffff');
98
- expect(Color.rgb('#ff0000')).toBe('#ff0000');
99
- expect(Color.rgb('#00ff00')).toBe('#00ff00');
100
- expect(Color.rgb('#0000ff')).toBe('#0000ff');
101
- });
102
- it('should return the color if it is a valid rgb color', () => {
103
- expect(Color.rgb('rgb(255, 255, 255)')).toBe('rgb(255, 255, 255)');
104
- expect(Color.rgb('rgb(0, 0, 0)')).toBe('rgb(0, 0, 0)');
105
- expect(Color.rgb('rgb(255, 0, 0)')).toBe('rgb(255, 0, 0)');
106
- expect(Color.rgb('rgb(0, 255, 0)')).toBe('rgb(0, 255, 0)');
107
- expect(Color.rgb('rgb(0, 0, 255)')).toBe('rgb(0, 0, 255)');
108
- });
109
- it('should return the color if it is a valid rgba color', () => {
110
- expect(Color.rgb('rgba(255, 255, 255, 1)')).toBe('rgba(255, 255, 255, 1)');
111
- expect(Color.rgb('rgba(0, 0, 0, 1)')).toBe('rgba(0, 0, 0, 1)');
112
- expect(Color.rgb('rgba(255, 0, 0, 1)')).toBe('rgba(255, 0, 0, 1)');
113
- expect(Color.rgb('rgba(0, 255, 0, 1)')).toBe('rgba(0, 255, 0, 1)');
114
- expect(Color.rgb('rgba(0, 0, 255, 1)')).toBe('rgba(0, 0, 255, 1)');
103
+ // With stronger typing, direct CSS strings are not allowed by the type system.
104
+ // Runtime still supports them when needed, but they are intentionally not tested here.
105
+ it('should return the theme color when pass a token', () => {
106
+ const color = createColor({
107
+ primary: 'red-500',
108
+ secondary: 'slate-50',
109
+ });
110
+ expect(color.rgb('primary')).toBe('rgb(239, 68, 68)');
111
+ expect(color.rgb('secondary')).toBe('rgb(248, 250, 252)');
115
112
  });
116
- it('should return the color if it is a valida oklch color', () => {
117
- expect(Color.rgb('oklch(0.5 0.2 268)')).toBe('oklch(0.5 0.2 268)');
118
- expect(Color.rgb('oklch(0.5 0.2 270)')).toBe('oklch(0.5 0.2 270)');
113
+ });
114
+ describe('default Color constant (no theme)', () => {
115
+ it('should resolve palette tokens via Color constant', () => {
116
+ expect(ColorDefault.rgb(RED_500_TOKEN)).toBe(RED_500_RGB);
117
+ expect(ColorDefault.slate(SLATE_50_TOKEN)).toBe(SLATE_50_RGB);
118
+ expect(ColorDefault.blueHex(BLUE_500_TOKEN)).toBe(0x3b82f6);
119
119
  });
120
- it('should return the theme color when pass a token', () => {
121
- ThemeManager.init(createTheme({
122
- colors: {
123
- primary: 'red-500',
124
- secondary: 'slate-50',
125
- },
126
- }));
127
- expect(Color.rgb('primary')).toBe(RED_500_RGB);
128
- expect(Color.rgb('secondary')).toBe(SLATE_50_RGB);
120
+ it('should throw for unknown tokens', () => {
121
+ expect(() => ColorDefault.rgb('unknown-123')).toThrow();
129
122
  });
130
123
  });
131
124
  describe('hex method', () => {
@@ -206,18 +199,18 @@ describe('ColorPicker', () => {
206
199
  ['black', 0x000000],
207
200
  ['white', 0xffffff],
208
201
  ])('should convert %s to hex 0x%s', (colorToken, expected) => {
209
- expect(Color.hex(colorToken)).toBe(expected);
202
+ expect(color.hex(colorToken)).toBe(expected);
210
203
  });
211
204
  });
212
205
  describe('error handling', () => {
213
206
  it('should throw an error for invalid color token', () => {
214
- expect(() => Color.rgb('invalid-color')).toThrow('Color token "invalid-color" not found');
207
+ expect(() => color.rgb('invalid-color')).toThrow('Color token "invalid-color" not found');
215
208
  });
216
209
  it('should throw an error for invalid shade', () => {
217
- expect(() => Color.rgb('red-999')).toThrow('Color token "red-999" not found');
210
+ expect(() => color.rgb('red-999')).toThrow('Color token "red-999" not found');
218
211
  });
219
212
  it('should throw an error for invalid color key', () => {
220
- expect(() => Color.hex('purples-500')).toThrow('Color token "purples-500" not found');
213
+ expect(() => color.hex('purples-500')).toThrow('Color token "purples-500" not found');
221
214
  });
222
215
  });
223
216
  describe('theme integration', () => {
@@ -228,24 +221,22 @@ describe('ColorPicker', () => {
228
221
  another: '#ff9887',
229
222
  },
230
223
  });
231
- beforeEach(() => {
232
- ThemeManager.init(fakeTheme);
233
- });
224
+ const color = createColor(fakeTheme.colors);
234
225
  it('should resolve theme token with colors. prefix', () => {
235
- expect(Color.rgb('primary')).toBe(RED_500_RGB);
236
- expect(Color.rgb('secondary')).toBe(SLATE_50_RGB);
237
- expect(Color.rgb('another')).toBe('#ff9887');
226
+ expect(color.rgb('primary')).toBe(RED_500_RGB);
227
+ expect(color.rgb('secondary')).toBe(SLATE_50_RGB);
228
+ expect(color.rgb('another')).toBe('#ff9887');
238
229
  });
239
230
  it('should resolve theme token without colors. prefix', () => {
240
- expect(Color.rgb('primary')).toBe(RED_500_RGB);
241
- expect(Color.rgb('secondary')).toBe(SLATE_50_RGB);
231
+ expect(color.rgb('primary')).toBe(RED_500_RGB);
232
+ expect(color.rgb('secondary')).toBe(SLATE_50_RGB);
242
233
  });
243
234
  it('should convert theme tokens to hex', () => {
244
- expect(Color.hex('primary')).toBe(0xef4444);
245
- expect(Color.hex('secondary')).toBe(0xf8fafc);
235
+ expect(color.hex('primary')).toBe(0xef4444);
236
+ expect(color.hex('secondary')).toBe(0xf8fafc);
246
237
  });
247
238
  it('should throw an error if theme token is not found', () => {
248
- expect(() => Color.rgb('colors.not-found')).toThrow('Color token "colors.not-found" not found');
239
+ expect(() => color.rgb('colors.not-found')).toThrow('Color token "colors.not-found" not found');
249
240
  });
250
241
  });
251
242
  });
@@ -1 +1 @@
1
- {"version":3,"file":"color.spec.js","sourceRoot":"","sources":["../../src/core/color.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color.spec.js","sourceRoot":"","sources":["../../src/core/color.spec.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,55 @@
1
+ import { BaseThemeConfig } from '../theme';
1
2
  /**
2
3
  * Available font size keys matching Tailwind CSS font size scale
3
4
  */
4
5
  export type FontSizeKey = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl';
5
- export type FontSizeMap = Record<FontSizeKey, number>;
6
6
  /**
7
- * Mapping of font size keys to their pixel values
7
+ * Maps font size keys to their pixel values
8
8
  */
9
+ /** Map of font-size tokens to pixel values. */
10
+ export type FontSizeMap = Record<FontSizeKey | string, number>;
11
+ /**
12
+ * Default mapping of font size keys to their pixel values in pixels
13
+ */
14
+ /** Default font-size scale mapping (in pixels). */
9
15
  export declare const fontSizeMap: FontSizeMap;
10
16
  /**
11
- * Utility functions for working with font sizes
17
+ * API for converting font sizes between different units
18
+ * @template T - Optional custom font size map type
12
19
  */
13
- export declare const FontSize: {
14
- getValueByKey: (key: FontSizeKey | string) => number;
20
+ /** API for resolving font sizes to px/rem/css. */
21
+ export type FontSizeApi<T extends FontSizeMap | undefined> = {
15
22
  /**
16
- * Get font size in pixels
17
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
23
+ * Convert font size key to pixels
24
+ * @param key - Font size key from default or custom map
18
25
  * @returns Font size in pixels
19
26
  */
20
- px: (key: FontSizeKey | string) => number;
27
+ px: (key: FontSizeKey | (T extends FontSizeMap ? keyof T : never)) => number;
21
28
  /**
22
- * Get font size in rem units (relative to 16px base)
23
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
29
+ * Convert font size key to rem units
30
+ * @param key - Font size key from default or custom map
24
31
  * @returns Font size in rem units
25
32
  */
26
- rem: (key: FontSizeKey | string) => number;
33
+ rem: (key: FontSizeKey | (T extends FontSizeMap ? keyof T : never)) => number;
27
34
  /**
28
- * Get font size as CSS pixel string
29
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
30
- * @returns Font size as CSS string (e.g., '14px')
35
+ * Convert font size key to CSS string with px unit
36
+ * @param key - Font size key from default or custom map
37
+ * @returns Font size as CSS string (e.g. "16px")
31
38
  */
32
- css: (key: FontSizeKey | string) => string;
39
+ css: (key: FontSizeKey | (T extends FontSizeMap ? keyof T : never)) => string;
33
40
  };
41
+ /**
42
+ * Creates a font size conversion API with optional custom font sizes
43
+ * @template T - Optional custom font size map type
44
+ * @param themeFontSizes - Optional custom font size mappings to extend defaults
45
+ * @returns Font size conversion API
46
+ */
47
+ /**
48
+ * Create a font-size API bound to an optional custom map.
49
+ * @example
50
+ * const f = createFontSize({ xxl: 28 });
51
+ * f.css('xxl'); // '28px'
52
+ */
53
+ export declare const createFontSize: <T extends FontSizeMap | undefined = BaseThemeConfig["fontSizes"]>(themeFontSizes?: T) => FontSizeApi<T>;
54
+ export declare const FontSize: FontSizeApi<undefined>;
34
55
  //# sourceMappingURL=font-size.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"font-size.d.ts","sourceRoot":"","sources":["../../src/core/font-size.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WAczB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;yBACE,WAAW,GAAG,MAAM,KAAG,MAAM;IAQlD;;;;OAIG;cACO,WAAW,GAAG,MAAM,KAAG,MAAM;IASvC;;;;OAIG;eACQ,WAAW,GAAG,MAAM,KAAG,MAAM;IASxC;;;;OAIG;eACQ,WAAW,GAAG,MAAM,KAAG,MAAM;CAQzC,CAAC"}
1
+ {"version":3,"file":"font-size.d.ts","sourceRoot":"","sources":["../../src/core/font-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV;;GAEG;AACH,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/D;;GAEG;AACH,mDAAmD;AACnD,eAAO,MAAM,WAAW,EAAE,WAczB,CAAC;AAEF;;;GAGG;AACH,kDAAkD;AAClD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI;IAC3D;;;;OAIG;IACH,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;IAE7E;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;IAE9E;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,CAAC;CAC/E,CAAC;AAEF;;;;;GAKG;AACH;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,EAEhE,iBAAiB,CAAC,KACjB,WAAW,CAAC,CAAC,CAsCf,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,SAAS,CACN,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ThemeManager } from '../theme';
2
1
  /**
3
- * Mapping of font size keys to their pixel values
2
+ * Default mapping of font size keys to their pixel values in pixels
4
3
  */
4
+ /** Default font-size scale mapping (in pixels). */
5
5
  export const fontSizeMap = {
6
6
  xs: 12,
7
7
  sm: 14,
@@ -18,51 +18,46 @@ export const fontSizeMap = {
18
18
  '9xl': 128,
19
19
  };
20
20
  /**
21
- * Utility functions for working with font sizes
21
+ * Creates a font size conversion API with optional custom font sizes
22
+ * @template T - Optional custom font size map type
23
+ * @param themeFontSizes - Optional custom font size mappings to extend defaults
24
+ * @returns Font size conversion API
22
25
  */
23
- export const FontSize = {
24
- getValueByKey: (key) => {
25
- const value = ThemeManager.getToken(`fontSizes.${key}`);
26
- if (typeof value === 'number') {
27
- return value;
28
- }
29
- return fontSizeMap[key] ?? 0;
30
- },
31
- /**
32
- * Get font size in pixels
33
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
34
- * @returns Font size in pixels
35
- */
36
- px: (key) => {
37
- const value = ThemeManager.getToken(`fontSizes.${key}`);
38
- if (typeof value === 'number') {
39
- return value;
40
- }
41
- return fontSizeMap[key] ?? 0;
42
- },
43
- /**
44
- * Get font size in rem units (relative to 16px base)
45
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
46
- * @returns Font size in rem units
47
- */
48
- rem: (key) => {
49
- const value = ThemeManager.getToken(`fontSizes.${key}`);
50
- if (typeof value === 'number') {
51
- return value / 16;
52
- }
53
- return (fontSizeMap[key] ?? 0) / 16;
54
- },
55
- /**
56
- * Get font size as CSS pixel string
57
- * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
58
- * @returns Font size as CSS string (e.g., '14px')
59
- */
60
- css: (key) => {
61
- const value = ThemeManager.getToken(`fontSizes.${key}`);
62
- if (typeof value === 'number') {
63
- return `${value}px`;
64
- }
65
- return `${fontSizeMap[key] ?? 0}px`;
66
- },
26
+ /**
27
+ * Create a font-size API bound to an optional custom map.
28
+ * @example
29
+ * const f = createFontSize({ xxl: 28 });
30
+ * f.css('xxl'); // '28px'
31
+ */
32
+ export const createFontSize = (themeFontSizes) => {
33
+ const fontmap = {
34
+ ...fontSizeMap,
35
+ ...themeFontSizes,
36
+ };
37
+ return {
38
+ px: (key) => {
39
+ const value = fontmap[key];
40
+ if (typeof value === 'number') {
41
+ return value;
42
+ }
43
+ return 0;
44
+ },
45
+ rem: (key) => {
46
+ const value = fontmap[key];
47
+ if (typeof value === 'number') {
48
+ return value / 16;
49
+ }
50
+ return 0;
51
+ },
52
+ css: (key) => {
53
+ const value = fontmap[key];
54
+ if (typeof value === 'number') {
55
+ return `${value}px`;
56
+ }
57
+ return '0px';
58
+ },
59
+ };
67
60
  };
61
+ // Convenience instance using default font sizes (no theme)
62
+ export const FontSize = createFontSize(undefined);
68
63
  //# sourceMappingURL=font-size.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../src/core/font-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsBxC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,EAAE;IACR,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,GAAG;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,aAAa,EAAE,CAAC,GAAyB,EAAU,EAAE;QACnD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,WAAW,CAAC,GAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD;;;;OAIG;IACH,EAAE,EAAE,CAAC,GAAyB,EAAU,EAAE;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,WAAW,CAAC,GAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAyB,EAAU,EAAE;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,GAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAyB,EAAU,EAAE;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,KAAK,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,GAAG,WAAW,CAAC,GAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;IACrD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"font-size.js","sourceRoot":"","sources":["../../src/core/font-size.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,EAAE;IACR,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,GAAG;CACX,CAAC;AA8BF;;;;;GAKG;AACH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAG5B,cAAkB,EACF,EAAE;IAClB,MAAM,OAAO,GAAgB;QAC3B,GAAG,WAAW;QACd,GAAI,cAA0C;KAChC,CAAC;IAEjB,OAAO;QACL,EAAE,EAAE,CACF,GAA4D,EACpD,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,GAAkB,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,EAAE,CACH,GAA4D,EACpD,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,GAAkB,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,EAAE,CACH,GAA4D,EACpD,EAAE;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,GAAkB,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,KAAK,IAAI,CAAC;YACtB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,QAAQ,GACnB,cAAc,CAAY,SAAS,CAAC,CAAC"}
@@ -2,71 +2,83 @@
2
2
  /* eslint-disable max-lines */
3
3
  /* eslint-disable max-lines-per-function */
4
4
  /* eslint-disable sonarjs/no-duplicate-string */
5
- import { afterAll, beforeEach, describe, expect, it } from 'vitest';
6
- import { ThemeManager } from '../theme';
7
- import { FontSize, fontSizeMap } from './font-size';
5
+ import { describe, expect, it } from 'vitest';
6
+ import { createFontSize, fontSizeMap } from './font-size';
8
7
  describe('FontSize', () => {
9
- beforeEach(() => {
10
- ThemeManager.clear();
11
- });
12
- afterAll(() => {
13
- ThemeManager.clear();
8
+ describe('factory', () => {
9
+ it('should return correct font size in pixels', () => {
10
+ const fontSize = createFontSize();
11
+ expect(fontSize.px('sm')).toBe(14);
12
+ expect(fontSize.px('lg')).toBe(18);
13
+ expect(fontSize.px('2xl')).toBe(24);
14
+ });
15
+ it('should return correct font size with extra theme param', () => {
16
+ const fontSize = createFontSize({
17
+ tooMuchLarge: 300,
18
+ });
19
+ expect(fontSize.px('sm')).toBe(14);
20
+ expect(fontSize.px('lg')).toBe(18);
21
+ expect(fontSize.px('2xl')).toBe(24);
22
+ expect(fontSize.px('tooMuchLarge')).toBe(300);
23
+ });
14
24
  });
15
25
  describe('px', () => {
16
26
  it('should return pixel value for font size key', () => {
17
- expect(FontSize.px('sm')).toBe(14);
18
- expect(FontSize.px('lg')).toBe(18);
19
- expect(FontSize.px('2xl')).toBe(24);
27
+ const fontSize = createFontSize();
28
+ expect(fontSize.px('sm')).toBe(14);
29
+ expect(fontSize.px('lg')).toBe(18);
30
+ expect(fontSize.px('2xl')).toBe(24);
20
31
  });
21
32
  });
22
33
  describe('rem', () => {
23
34
  it('should convert pixel value to rem', () => {
24
- expect(FontSize.rem('sm')).toBe(14 / 16);
25
- expect(FontSize.rem('lg')).toBe(18 / 16);
26
- expect(FontSize.rem('2xl')).toBe(24 / 16);
35
+ const fontSize = createFontSize();
36
+ expect(fontSize.rem('sm')).toBe(14 / 16);
37
+ expect(fontSize.rem('lg')).toBe(18 / 16);
38
+ expect(fontSize.rem('2xl')).toBe(24 / 16);
27
39
  });
28
40
  it('should handle theme values', () => {
29
- ThemeManager.setThemeObject({
30
- fontSizes: {
31
- sm: 16,
32
- lg: 24,
33
- '2xl': 32,
34
- },
41
+ const fontSize = createFontSize({
42
+ sm: 16,
43
+ lg: 24,
44
+ '2xl': 32,
35
45
  });
36
- expect(FontSize.rem('sm')).toBe(1); // 16/16
37
- expect(FontSize.rem('lg')).toBe(1.5); // 24/16
38
- expect(FontSize.rem('2xl')).toBe(2); // 32/16
46
+ expect(fontSize.rem('sm')).toBe(1); // 16/16
47
+ expect(fontSize.rem('lg')).toBe(1.5); // 24/16
48
+ expect(fontSize.rem('2xl')).toBe(2); // 32/16
39
49
  });
40
50
  it('should return 0 for invalid keys', () => {
41
- expect(FontSize.rem('invalid')).toBe(0);
51
+ const fontSize = createFontSize();
52
+ // @ts-ignore
53
+ expect(fontSize.rem('invalid')).toBe(0);
42
54
  });
43
55
  });
44
56
  describe('css', () => {
45
57
  it('should return CSS string with px unit', () => {
46
- expect(FontSize.css('sm')).toBe('14px');
47
- expect(FontSize.css('lg')).toBe('18px');
48
- expect(FontSize.css('2xl')).toBe('24px');
58
+ const fontSize = createFontSize();
59
+ expect(fontSize.css('sm')).toBe('14px');
60
+ expect(fontSize.css('lg')).toBe('18px');
61
+ expect(fontSize.css('2xl')).toBe('24px');
49
62
  });
50
63
  });
51
64
  describe('with theme', () => {
52
65
  it('should return value from theme', () => {
53
- expect(FontSize.px('sm')).toBe(fontSizeMap.sm);
54
- expect(FontSize.px('lg')).toBe(fontSizeMap.lg);
55
- expect(FontSize.px('2xl')).toBe(fontSizeMap['2xl']);
56
- ThemeManager.setThemeObject({
57
- fontSizes: {
58
- sm: 16,
59
- lg: 24,
60
- '2xl': 32,
61
- custom: 42,
62
- '11': 100,
63
- },
66
+ const fontSize = createFontSize();
67
+ expect(fontSize.px('sm')).toBe(fontSizeMap['sm']);
68
+ expect(fontSize.px('lg')).toBe(fontSizeMap['lg']);
69
+ expect(fontSize.px('2xl')).toBe(fontSizeMap['2xl']);
70
+ const fontSize2 = createFontSize({
71
+ sm: 16,
72
+ lg: 24,
73
+ '2xl': 32,
74
+ custom: 42,
75
+ '11': 100,
64
76
  });
65
- expect(FontSize.px('sm')).toBe(16);
66
- expect(FontSize.px('lg')).toBe(24);
67
- expect(FontSize.px('2xl')).toBe(32);
68
- expect(FontSize.px('custom')).toBe(42);
69
- expect(FontSize.px('11')).toBe(100);
77
+ expect(fontSize2.px('sm')).toBe(16);
78
+ expect(fontSize2.px('lg')).toBe(24);
79
+ expect(fontSize2.px('2xl')).toBe(32);
80
+ expect(fontSize2.px('custom')).toBe(42);
81
+ expect(fontSize2.px('11')).toBe(100);
70
82
  });
71
83
  });
72
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"font-size.spec.js","sourceRoot":"","sources":["../../src/core/font-size.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"font-size.spec.js","sourceRoot":"","sources":["../../src/core/font-size.spec.ts"],"names":[],"mappings":"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"}