phaser-wind 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +124 -135
  2. package/dist/core/color.d.ts +287 -0
  3. package/dist/core/color.d.ts.map +1 -0
  4. package/dist/core/color.js +386 -0
  5. package/dist/core/color.js.map +1 -0
  6. package/dist/core/color.spec.d.ts +2 -0
  7. package/dist/core/color.spec.d.ts.map +1 -0
  8. package/dist/core/color.spec.js +252 -0
  9. package/dist/core/color.spec.js.map +1 -0
  10. package/dist/core/font-size.d.ts +34 -0
  11. package/dist/core/font-size.d.ts.map +1 -0
  12. package/dist/core/font-size.js +68 -0
  13. package/dist/core/font-size.js.map +1 -0
  14. package/dist/core/font-size.spec.d.ts +2 -0
  15. package/dist/core/font-size.spec.d.ts.map +1 -0
  16. package/dist/core/font-size.spec.js +73 -0
  17. package/dist/core/font-size.spec.js.map +1 -0
  18. package/dist/{font/font-picker.d.ts → core/font.d.ts} +22 -21
  19. package/dist/core/font.d.ts.map +1 -0
  20. package/dist/{font/font-picker.js → core/font.js} +28 -62
  21. package/dist/core/font.js.map +1 -0
  22. package/dist/core/font.spec.d.ts +2 -0
  23. package/dist/core/font.spec.d.ts.map +1 -0
  24. package/dist/core/font.spec.js +84 -0
  25. package/dist/core/font.spec.js.map +1 -0
  26. package/dist/core/index.d.ts +8 -0
  27. package/dist/core/index.d.ts.map +1 -0
  28. package/dist/core/index.js +8 -0
  29. package/dist/core/index.js.map +1 -0
  30. package/dist/{color → core}/pallete.d.ts.map +1 -1
  31. package/dist/core/pallete.js.map +1 -0
  32. package/dist/core/radius.d.ts +34 -0
  33. package/dist/core/radius.d.ts.map +1 -0
  34. package/dist/core/radius.js +46 -0
  35. package/dist/core/radius.js.map +1 -0
  36. package/dist/core/radius.spec.d.ts +2 -0
  37. package/dist/core/radius.spec.d.ts.map +1 -0
  38. package/dist/core/radius.spec.js +61 -0
  39. package/dist/core/radius.spec.js.map +1 -0
  40. package/dist/core/shadow.d.ts +23 -0
  41. package/dist/core/shadow.d.ts.map +1 -0
  42. package/dist/core/shadow.js +23 -0
  43. package/dist/core/shadow.js.map +1 -0
  44. package/dist/core/spacing.d.ts +39 -0
  45. package/dist/core/spacing.d.ts.map +1 -0
  46. package/dist/core/spacing.js +82 -0
  47. package/dist/core/spacing.js.map +1 -0
  48. package/dist/core/spacing.spec.d.ts +2 -0
  49. package/dist/core/spacing.spec.d.ts.map +1 -0
  50. package/dist/core/spacing.spec.js +49 -0
  51. package/dist/core/spacing.spec.js.map +1 -0
  52. package/dist/font/index.d.ts +2 -2
  53. package/dist/font/index.d.ts.map +1 -1
  54. package/dist/font/index.js +2 -2
  55. package/dist/font/index.js.map +1 -1
  56. package/dist/index.d.ts +2 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +2 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/theme/theme-config.d.ts +31 -95
  61. package/dist/theme/theme-config.d.ts.map +1 -1
  62. package/dist/theme/theme-config.js +12 -52
  63. package/dist/theme/theme-config.js.map +1 -1
  64. package/dist/theme/theme-manager.d.ts +18 -6
  65. package/dist/theme/theme-manager.d.ts.map +1 -1
  66. package/dist/theme/theme-manager.js +25 -6
  67. package/dist/theme/theme-manager.js.map +1 -1
  68. package/dist/utils/index.d.ts +2 -0
  69. package/dist/utils/index.d.ts.map +1 -0
  70. package/dist/utils/index.js +2 -0
  71. package/dist/utils/index.js.map +1 -0
  72. package/dist/utils/is-valid-color.d.ts +13 -0
  73. package/dist/utils/is-valid-color.d.ts.map +1 -0
  74. package/dist/utils/is-valid-color.js +32 -0
  75. package/dist/utils/is-valid-color.js.map +1 -0
  76. package/dist/utils/is-valid-color.spec.d.ts +2 -0
  77. package/dist/utils/is-valid-color.spec.d.ts.map +1 -0
  78. package/dist/utils/is-valid-color.spec.js +82 -0
  79. package/dist/utils/is-valid-color.spec.js.map +1 -0
  80. package/package.json +5 -3
  81. package/dist/color/color-picker.d.ts +0 -23
  82. package/dist/color/color-picker.d.ts.map +0 -1
  83. package/dist/color/color-picker.js +0 -118
  84. package/dist/color/color-picker.js.map +0 -1
  85. package/dist/color/color-picker.spec.d.ts +0 -2
  86. package/dist/color/color-picker.spec.d.ts.map +0 -1
  87. package/dist/color/color-picker.spec.js +0 -60
  88. package/dist/color/color-picker.spec.js.map +0 -1
  89. package/dist/color/index.d.ts +0 -3
  90. package/dist/color/index.d.ts.map +0 -1
  91. package/dist/color/index.js +0 -3
  92. package/dist/color/index.js.map +0 -1
  93. package/dist/color/pallete.js.map +0 -1
  94. package/dist/examples/nested-theme-example.d.ts +0 -28
  95. package/dist/examples/nested-theme-example.d.ts.map +0 -1
  96. package/dist/examples/nested-theme-example.js +0 -313
  97. package/dist/examples/nested-theme-example.js.map +0 -1
  98. package/dist/examples/usage-example.d.ts +0 -17
  99. package/dist/examples/usage-example.d.ts.map +0 -1
  100. package/dist/examples/usage-example.js +0 -158
  101. package/dist/examples/usage-example.js.map +0 -1
  102. package/dist/font/font-picker.d.ts.map +0 -1
  103. package/dist/font/font-picker.js.map +0 -1
  104. package/dist/font/font-size-picker.d.ts +0 -19
  105. package/dist/font/font-size-picker.d.ts.map +0 -1
  106. package/dist/font/font-size-picker.js +0 -24
  107. package/dist/font/font-size-picker.js.map +0 -1
  108. package/dist/font/font-size-picker.spec.d.ts +0 -2
  109. package/dist/font/font-size-picker.spec.d.ts.map +0 -1
  110. package/dist/font/font-size-picker.spec.js +0 -48
  111. package/dist/font/font-size-picker.spec.js.map +0 -1
  112. /package/dist/{color → core}/pallete.d.ts +0 -0
  113. /package/dist/{color → core}/pallete.js +0 -0
@@ -1,22 +1,38 @@
1
1
  /* eslint-disable no-magic-numbers */
2
2
  import { ThemeManager } from '../theme/theme-manager';
3
+ import { FontSize } from './font-size';
3
4
  /**
4
5
  * Font picker for accessing theme fonts and font families
5
6
  */
6
- export class FontPicker {
7
+ export const Font = {
8
+ /**
9
+ * Get font size in pixels
10
+ * @param key - Font size key (e.g., 'sm', 'lg', '2xl')
11
+ * @returns Font size in pixels
12
+ */
13
+ size: (key) => {
14
+ return FontSize.px(key);
15
+ },
16
+ /**
17
+ * Get font size and family combined in CSS format
18
+ * @param size - Font size key (e.g., 'sm', 'lg', '2xl')
19
+ * @param family - Font family key (e.g., 'primary', 'display') or full path
20
+ * @returns Font string in format "16px 'Arial'"
21
+ */
22
+ format: ({ size, family }) => {
23
+ return `${FontSize.px(size)}px '${Font.family(family)}'`;
24
+ },
7
25
  /**
8
26
  * Get font family from theme
9
27
  * @param key - Font key (e.g., 'primary', 'display') or full path (e.g., 'fonts.primary')
10
28
  * @returns Font family string
11
29
  */
12
- static family(key) {
30
+ family: (key) => {
13
31
  // Check if it's a theme token (with or without fonts. prefix)
14
32
  const fontPath = key.includes('.') ? key : `fonts.${key}`;
15
- if (ThemeManager.hasToken(fontPath)) {
16
- const themeValue = ThemeManager.getToken(fontPath);
17
- if (themeValue && typeof themeValue === 'string') {
18
- return themeValue;
19
- }
33
+ const themeValue = ThemeManager.getToken(fontPath);
34
+ if (themeValue && typeof themeValue === 'string') {
35
+ return themeValue;
20
36
  }
21
37
  // Fallback: check if it's a direct theme token (backwards compatibility)
22
38
  if (ThemeManager.hasToken(key)) {
@@ -27,69 +43,19 @@ export class FontPicker {
27
43
  }
28
44
  // Fallback to the key itself if not found in theme
29
45
  return key;
30
- }
46
+ },
31
47
  /**
32
48
  * Get all available font tokens from current theme
33
49
  * @returns Array of font token keys
34
50
  */
35
- static getAvailableFonts() {
51
+ getAvailableFonts: () => {
36
52
  const theme = ThemeManager.getCurrentTheme();
37
53
  if (theme.fonts && typeof theme.fonts === 'object') {
38
54
  return Object.keys(theme.fonts);
39
55
  }
40
56
  return [];
41
- }
42
- }
43
- /**
44
- * Spacing picker for accessing theme spacing values
45
- */
46
- export class SpacingPicker {
47
- /**
48
- * Get spacing value in pixels from theme
49
- * @param key - Spacing key (e.g., 'sm', 'lg') or full path (e.g., 'spacing.md')
50
- * @returns Spacing value in pixels
51
- */
52
- static px(key) {
53
- // Check if it's a theme token (with or without spacing. prefix)
54
- const spacingPath = key.includes('.') ? key : `spacing.${key}`;
55
- if (ThemeManager.hasToken(spacingPath)) {
56
- const themeValue = ThemeManager.getToken(spacingPath);
57
- if (themeValue && typeof themeValue === 'number') {
58
- return themeValue;
59
- }
60
- }
61
- // Fallback: check if it's a direct theme token (backwards compatibility)
62
- if (ThemeManager.hasToken(key)) {
63
- const themeValue = ThemeManager.getToken(key);
64
- if (themeValue && typeof themeValue === 'number') {
65
- return themeValue;
66
- }
67
- }
68
- // Default fallback values
69
- const defaultSpacing = {
70
- xs: 4,
71
- sm: 8,
72
- md: 16,
73
- lg: 24,
74
- xl: 32,
75
- '2xl': 48,
76
- '3xl': 64,
77
- '4xl': 96,
78
- };
79
- return defaultSpacing[key] ?? 16; // Default to 16px
80
- }
81
- /**
82
- * Get all available spacing tokens from current theme
83
- * @returns Array of spacing token keys
84
- */
85
- static getAvailableSpacing() {
86
- const theme = ThemeManager.getCurrentTheme();
87
- if (theme.spacing && typeof theme.spacing === 'object') {
88
- return Object.keys(theme.spacing);
89
- }
90
- return [];
91
- }
92
- }
57
+ },
58
+ };
93
59
  /**
94
60
  * Typography picker for accessing complete typography styles from theme
95
61
  */
@@ -209,4 +175,4 @@ export class EffectPicker {
209
175
  return [];
210
176
  }
211
177
  }
212
- //# sourceMappingURL=font-picker.js.map
178
+ //# sourceMappingURL=font.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/core/font.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=font.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.spec.d.ts","sourceRoot":"","sources":["../../src/core/font.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ /* eslint-disable no-magic-numbers */
2
+ /* eslint-disable max-lines-per-function */
3
+ /* eslint-disable sonarjs/no-duplicate-string */
4
+ import { afterAll, beforeEach, describe, expect, it } from 'vitest';
5
+ import { ThemeManager } from '../theme';
6
+ import { Font } from './font';
7
+ describe('Font', () => {
8
+ beforeEach(() => {
9
+ ThemeManager.clear;
10
+ });
11
+ afterAll(() => {
12
+ ThemeManager.clear();
13
+ });
14
+ describe('size', () => {
15
+ it('should return correct font size in pixels', () => {
16
+ expect(Font.size('xs')).toBe(12);
17
+ expect(Font.size('sm')).toBe(14);
18
+ expect(Font.size('base')).toBe(16);
19
+ expect(Font.size('lg')).toBe(18);
20
+ expect(Font.size('xl')).toBe(20);
21
+ });
22
+ });
23
+ describe('format', () => {
24
+ beforeEach(() => {
25
+ ThemeManager.setThemeObject({
26
+ fonts: {
27
+ primary: 'Arial',
28
+ secondary: 'Helvetica',
29
+ },
30
+ });
31
+ });
32
+ it('should return font string with size and family', () => {
33
+ expect(Font.format({ size: 'base', family: 'primary' })).toBe("16px 'Arial'");
34
+ expect(Font.format({ size: 'lg', family: 'secondary' })).toBe("18px 'Helvetica'");
35
+ });
36
+ });
37
+ describe('family', () => {
38
+ beforeEach(() => {
39
+ ThemeManager.setThemeObject({
40
+ fonts: {
41
+ primary: 'Arial',
42
+ display: 'Helvetica',
43
+ },
44
+ });
45
+ });
46
+ it('should return font family from theme using short key', () => {
47
+ expect(Font.family('primary')).toBe('Arial');
48
+ expect(Font.family('display')).toBe('Helvetica');
49
+ });
50
+ it('should return font family from theme using full path', () => {
51
+ expect(Font.family('fonts.primary')).toBe('Arial');
52
+ expect(Font.family('fonts.display')).toBe('Helvetica');
53
+ });
54
+ it('should return key itself if font not found in theme', () => {
55
+ expect(Font.family('Times New Roman')).toBe('Times New Roman');
56
+ });
57
+ });
58
+ describe('getAvailableFonts', () => {
59
+ it('should return array of available font tokens', () => {
60
+ ThemeManager.setThemeObject({
61
+ fonts: {
62
+ primary: 'Arial',
63
+ secondary: 'Helvetica',
64
+ display: 'Roboto',
65
+ monospace: 'Courier New',
66
+ anotherCrazyFont: 'Comic Sans MS',
67
+ },
68
+ });
69
+ expect(Font.getAvailableFonts()).toEqual(expect.arrayContaining([
70
+ 'primary',
71
+ 'secondary',
72
+ 'monospace',
73
+ 'display',
74
+ 'anotherCrazyFont',
75
+ ]));
76
+ });
77
+ it('should return empty array if no fonts in theme', () => {
78
+ const fonts = ThemeManager.getCurrentTheme().fonts ?? {};
79
+ ThemeManager.setThemeObject({ fonts: {} });
80
+ expect(Font.getAvailableFonts()).toEqual(Object.keys(fonts));
81
+ });
82
+ });
83
+ });
84
+ //# sourceMappingURL=font.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.spec.js","sourceRoot":"","sources":["../../src/core/font.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from './color';
2
+ export * from './font';
3
+ export * from './font-size';
4
+ export * from './pallete';
5
+ export * from './radius';
6
+ export * from './shadow';
7
+ export * from './spacing';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './color';
2
+ export * from './font';
3
+ export * from './font-size';
4
+ export * from './pallete';
5
+ export * from './radius';
6
+ export * from './shadow';
7
+ export * from './spacing';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pallete.d.ts","sourceRoot":"","sources":["../../src/color/pallete.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiSnB,CAAC"}
1
+ {"version":3,"file":"pallete.d.ts","sourceRoot":"","sources":["../../src/core/pallete.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiSnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pallete.js","sourceRoot":"","sources":["../../src/core/pallete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Available border radius keys matching Tailwind CSS radius scale
3
+ */
4
+ export type RadiusKey = 'none' | 'sm' | 'default' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full';
5
+ export type RadiusMap = Record<RadiusKey, number>;
6
+ /**
7
+ * Mapping of radius keys to their pixel values
8
+ */
9
+ export declare const radiusMap: RadiusMap;
10
+ /**
11
+ * Utility functions for working with border radius values
12
+ */
13
+ export declare const Radius: {
14
+ getValueByKey: (key: RadiusKey | string) => number;
15
+ /**
16
+ * Get border radius in pixels
17
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
18
+ * @returns Border radius value in pixels
19
+ */
20
+ px: (key: RadiusKey) => number;
21
+ /**
22
+ * Get border radius in rem units (relative to 16px base)
23
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
24
+ * @returns Border radius value in rem units
25
+ */
26
+ rem: (key: RadiusKey) => number;
27
+ /**
28
+ * Get border radius as CSS pixel string
29
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
30
+ * @returns Border radius value as CSS string (e.g., '4px')
31
+ */
32
+ css: (key: RadiusKey) => string;
33
+ };
34
+ //# sourceMappingURL=radius.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.d.ts","sourceRoot":"","sources":["../../src/core/radius.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,IAAI,GACJ,SAAS,GACT,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,MAAM,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,SAUvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM;yBACI,SAAS,GAAG,MAAM,KAAG,MAAM;IAQhD;;;;OAIG;cACO,SAAS,KAAG,MAAM;IAE5B;;;;OAIG;eACQ,SAAS,KAAG,MAAM;IAE7B;;;;OAIG;eACQ,SAAS,KAAG,MAAM;CAC9B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { ThemeManager } from '../theme';
2
+ /**
3
+ * Mapping of radius keys to their pixel values
4
+ */
5
+ export const radiusMap = {
6
+ none: 0,
7
+ sm: 2,
8
+ default: 4,
9
+ md: 6,
10
+ lg: 8,
11
+ xl: 12,
12
+ '2xl': 16,
13
+ '3xl': 24,
14
+ full: 9999,
15
+ };
16
+ /**
17
+ * Utility functions for working with border radius values
18
+ */
19
+ export const Radius = {
20
+ getValueByKey: (key) => {
21
+ const value = ThemeManager.getToken(`radius.${key}`);
22
+ if (typeof value === 'number') {
23
+ return value;
24
+ }
25
+ return radiusMap[key] ?? 0;
26
+ },
27
+ /**
28
+ * Get border radius in pixels
29
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
30
+ * @returns Border radius value in pixels
31
+ */
32
+ px: (key) => radiusMap[key],
33
+ /**
34
+ * Get border radius in rem units (relative to 16px base)
35
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
36
+ * @returns Border radius value in rem units
37
+ */
38
+ rem: (key) => radiusMap[key] / 16,
39
+ /**
40
+ * Get border radius as CSS pixel string
41
+ * @param key - Radius key (e.g., 'sm', 'lg', 'full')
42
+ * @returns Border radius value as CSS string (e.g., '4px')
43
+ */
44
+ css: (key) => `${radiusMap[key]}px`,
45
+ };
46
+ //# sourceMappingURL=radius.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.js","sourceRoot":"","sources":["../../src/core/radius.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAkBxC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;IACL,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,aAAa,EAAE,CAAC,GAAuB,EAAU,EAAE;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC,GAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD;;;;OAIG;IACH,EAAE,EAAE,CAAC,GAAc,EAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;IAE9C;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAc,EAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;IAEpD;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAc,EAAU,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI;CACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=radius.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.spec.d.ts","sourceRoot":"","sources":["../../src/core/radius.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
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 { afterAll, beforeEach, describe, expect, it } from 'vitest';
6
+ import { ThemeManager, defaultLightTheme } from '../theme';
7
+ import { Radius, radiusMap } from './radius';
8
+ describe('Radius', () => {
9
+ afterAll(() => {
10
+ ThemeManager.clear();
11
+ });
12
+ beforeEach(() => {
13
+ ThemeManager.init(defaultLightTheme);
14
+ });
15
+ describe('px', () => {
16
+ it('should return pixel value for radius key', () => {
17
+ expect(Radius.px('sm')).toBe(2);
18
+ expect(Radius.px('lg')).toBe(8);
19
+ expect(Radius.px('full')).toBe(9999);
20
+ });
21
+ });
22
+ describe('rem', () => {
23
+ it('should convert pixel value to rem', () => {
24
+ expect(Radius.rem('sm')).toBe(2 / 16);
25
+ expect(Radius.rem('lg')).toBe(8 / 16);
26
+ expect(Radius.rem('full')).toBe(9999 / 16);
27
+ });
28
+ });
29
+ describe('css', () => {
30
+ it('should return CSS string with px unit', () => {
31
+ expect(Radius.css('sm')).toBe('2px');
32
+ expect(Radius.css('lg')).toBe('8px');
33
+ expect(Radius.css('full')).toBe('9999px');
34
+ });
35
+ });
36
+ describe('getValueByKey', () => {
37
+ it('should return value from radiusMap', () => {
38
+ expect(Radius.getValueByKey('sm')).toBe(radiusMap.sm);
39
+ expect(Radius.getValueByKey('lg')).toBe(radiusMap.lg);
40
+ expect(Radius.getValueByKey('full')).toBe(radiusMap.full);
41
+ });
42
+ });
43
+ describe('with theme', () => {
44
+ it('should return value from theme', () => {
45
+ expect(Radius.getValueByKey('sm')).toBe(radiusMap.sm);
46
+ expect(Radius.getValueByKey('custom')).toBe(0);
47
+ expect(Radius.getValueByKey('11')).toBe(0);
48
+ ThemeManager.setThemeObject({
49
+ radius: {
50
+ sm: 10,
51
+ custom: 42,
52
+ '11': 100,
53
+ },
54
+ });
55
+ expect(Radius.getValueByKey('sm')).toBe(10);
56
+ expect(Radius.getValueByKey('custom')).toBe(42);
57
+ expect(Radius.getValueByKey('11')).toBe(100);
58
+ });
59
+ });
60
+ });
61
+ //# sourceMappingURL=radius.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.spec.js","sourceRoot":"","sources":["../../src/core/radius.spec.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,8BAA8B;AAC9B,2CAA2C;AAC3C,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,QAAQ,CAAC,GAAG,EAAE;QACZ,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;QAClB,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE3C,YAAY,CAAC,cAAc,CAAC;gBAC1B,MAAM,EAAE;oBACN,EAAE,EAAE,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,IAAI,EAAE,GAAG;iBACV;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type ShadowKey = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'inner';
2
+ /**
3
+ * Shadow configuration type defining blur, offset and alpha values
4
+ */
5
+ export type ShadowConfig = {
6
+ blur: number;
7
+ offsetX: number;
8
+ offsetY: number;
9
+ alpha: number;
10
+ };
11
+ /**
12
+ * Utility for working with shadow configurations
13
+ */
14
+ export declare const Shadow: {
15
+ /**
16
+ * Get shadow configuration for given key
17
+ * @param key - Shadow key (e.g., 'sm', 'lg', 'inner')
18
+ * @param defaultKey - Optional default key if provided key is invalid
19
+ * @returns Shadow configuration with blur, offset and alpha values
20
+ */
21
+ get: (key: ShadowKey, defaultKey?: ShadowKey) => ShadowConfig;
22
+ };
23
+ //# sourceMappingURL=shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../src/core/shadow.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpE;;GAEG;AACH,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;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;;;;OAKG;eACQ,SAAS,eAAc,SAAS,KAAU,YAAY;CAWlE,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Utility for working with shadow configurations
3
+ */
4
+ export const Shadow = {
5
+ /**
6
+ * Get shadow configuration for given key
7
+ * @param key - Shadow key (e.g., 'sm', 'lg', 'inner')
8
+ * @param defaultKey - Optional default key if provided key is invalid
9
+ * @returns Shadow configuration with blur, offset and alpha values
10
+ */
11
+ get: (key, defaultKey = 'md') => {
12
+ const shadows = {
13
+ sm: { blur: 2, offsetX: 1, offsetY: 1, alpha: 0.15 },
14
+ md: { blur: 4, offsetX: 2, offsetY: 2, alpha: 0.2 },
15
+ lg: { blur: 6, offsetX: 4, offsetY: 4, alpha: 0.25 },
16
+ xl: { blur: 8, offsetX: 6, offsetY: 6, alpha: 0.3 },
17
+ '2xl': { blur: 12, offsetX: 8, offsetY: 8, alpha: 0.35 },
18
+ inner: { blur: 4, offsetX: -2, offsetY: -2, alpha: 0.2 },
19
+ };
20
+ return shadows[key] || shadows[defaultKey];
21
+ },
22
+ };
23
+ //# sourceMappingURL=shadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/core/shadow.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;;;;OAKG;IACH,GAAG,EAAE,CAAC,GAAc,EAAE,aAAwB,IAAI,EAAgB,EAAE;QAClE,MAAM,OAAO,GAAoC;YAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;YACnD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;YACnD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACxD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;SACzD,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Valid spacing scale keys following Tailwind's spacing scale
3
+ * Values range from '0' to '96', including fractional values
4
+ */
5
+ 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';
6
+ /**
7
+ * Maps spacing scale keys to their pixel values
8
+ */
9
+ export type SpacingMap = Record<SpacingKey, number>;
10
+ /**
11
+ * Spacing scale mapping following Tailwind's spacing scale
12
+ * Values are in pixels, with a base unit of 4px (1 = 4px)
13
+ */
14
+ export declare const spacingMap: SpacingMap;
15
+ /**
16
+ * Utility functions for working with spacing values
17
+ */
18
+ export declare const Spacing: {
19
+ getValueByKey: (key: SpacingKey | string) => number;
20
+ /**
21
+ * Get spacing value in pixels
22
+ * @param key - Spacing scale key
23
+ * @returns Pixel value
24
+ */
25
+ px: (key: SpacingKey | string) => number;
26
+ /**
27
+ * Get spacing value in rem units (divided by 16)
28
+ * @param key - Spacing scale key
29
+ * @returns Rem value
30
+ */
31
+ rem: (key: SpacingKey | string) => number;
32
+ /**
33
+ * Get spacing value as CSS pixel string
34
+ * @param key - Spacing scale key
35
+ * @returns CSS pixel value string (e.g. "16px")
36
+ */
37
+ css: (key: SpacingKey | string) => string;
38
+ };
39
+ //# sourceMappingURL=spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/core/spacing.ts"],"names":[],"mappings":"AAEA;;;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;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,UAoCxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO;yBACG,UAAU,GAAG,MAAM,KAAG,MAAM;IASjD;;;;OAIG;cACO,UAAU,GAAG,MAAM,KAAG,MAAM;IAKtC;;;;OAIG;eACQ,UAAU,GAAG,MAAM,KAAG,MAAM;IAKvC;;;;OAIG;eACQ,UAAU,GAAG,MAAM,KAAG,MAAM;CAIxC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { ThemeManager } from '../theme/theme-manager';
2
+ /**
3
+ * Spacing scale mapping following Tailwind's spacing scale
4
+ * Values are in pixels, with a base unit of 4px (1 = 4px)
5
+ */
6
+ export const spacingMap = {
7
+ '0': 0,
8
+ px: 1,
9
+ '0.5': 2,
10
+ '1': 4,
11
+ '1.5': 6,
12
+ '2': 8,
13
+ '2.5': 10,
14
+ '3': 12,
15
+ '3.5': 14,
16
+ '4': 16,
17
+ '5': 20,
18
+ '6': 24,
19
+ '7': 28,
20
+ '8': 32,
21
+ '9': 36,
22
+ '10': 40,
23
+ '11': 44,
24
+ '12': 48,
25
+ '14': 56,
26
+ '16': 64,
27
+ '20': 80,
28
+ '24': 96,
29
+ '28': 112,
30
+ '32': 128,
31
+ '36': 144,
32
+ '40': 160,
33
+ '44': 176,
34
+ '48': 192,
35
+ '52': 208,
36
+ '56': 224,
37
+ '60': 240,
38
+ '64': 256,
39
+ '72': 288,
40
+ '80': 320,
41
+ '96': 384,
42
+ };
43
+ /**
44
+ * Utility functions for working with spacing values
45
+ */
46
+ export const Spacing = {
47
+ getValueByKey: (key) => {
48
+ const value = ThemeManager.getToken(`spacing.${key}`);
49
+ if (typeof value === 'number') {
50
+ return value;
51
+ }
52
+ return spacingMap[key] ?? 0;
53
+ },
54
+ /**
55
+ * Get spacing value in pixels
56
+ * @param key - Spacing scale key
57
+ * @returns Pixel value
58
+ */
59
+ px: (key) => {
60
+ const value = Spacing.getValueByKey(key);
61
+ return value;
62
+ },
63
+ /**
64
+ * Get spacing value in rem units (divided by 16)
65
+ * @param key - Spacing scale key
66
+ * @returns Rem value
67
+ */
68
+ rem: (key) => {
69
+ const value = Spacing.getValueByKey(key);
70
+ return value / 16;
71
+ },
72
+ /**
73
+ * Get spacing value as CSS pixel string
74
+ * @param key - Spacing scale key
75
+ * @returns CSS pixel value string (e.g. "16px")
76
+ */
77
+ css: (key) => {
78
+ const value = Spacing.getValueByKey(key);
79
+ return `${value}px`;
80
+ },
81
+ };
82
+ //# sourceMappingURL=spacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../src/core/spacing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAgDtD;;;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;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,aAAa,EAAE,CAAC,GAAwB,EAAU,EAAE;QAClD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,UAAU,CAAC,GAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,EAAE,EAAE,CAAC,GAAwB,EAAU,EAAE;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAwB,EAAU,EAAE;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,GAAG,EAAE,CAAC,GAAwB,EAAU,EAAE;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spacing.spec.d.ts.map