phaser-wind 0.5.1 → 0.5.2

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 (59) hide show
  1. package/dist/components/column.js +2 -0
  2. package/dist/components/column.js.map +1 -0
  3. package/dist/core/color.js +205 -0
  4. package/dist/core/color.js.map +1 -0
  5. package/dist/core/color.spec.js +243 -0
  6. package/dist/core/color.spec.js.map +1 -0
  7. package/dist/core/font-size.js +63 -0
  8. package/dist/core/font-size.js.map +1 -0
  9. package/dist/core/font-size.spec.js +85 -0
  10. package/dist/core/font-size.spec.js.map +1 -0
  11. package/dist/core/font.js +37 -0
  12. package/dist/core/font.js.map +1 -0
  13. package/dist/core/font.spec.js +80 -0
  14. package/dist/core/font.spec.js.map +1 -0
  15. package/dist/core/index.js +8 -0
  16. package/dist/core/index.js.map +1 -0
  17. package/dist/core/palette.js +292 -0
  18. package/dist/core/palette.js.map +1 -0
  19. package/dist/core/radius.js +38 -0
  20. package/dist/core/radius.js.map +1 -0
  21. package/dist/core/radius.spec.js +56 -0
  22. package/dist/core/radius.spec.js.map +1 -0
  23. package/dist/core/shadow.js +33 -0
  24. package/dist/core/shadow.js.map +1 -0
  25. package/dist/core/shadow.spec.js +21 -0
  26. package/dist/core/shadow.spec.js.map +1 -0
  27. package/dist/core/spacing.js +70 -0
  28. package/dist/core/spacing.js.map +1 -0
  29. package/dist/core/spacing.spec.js +38 -0
  30. package/dist/core/spacing.spec.js.map +1 -0
  31. package/dist/exceptions.js +2 -0
  32. package/dist/exceptions.js.map +1 -0
  33. package/dist/font/index.js +3 -0
  34. package/dist/font/index.js.map +1 -0
  35. package/dist/index.js +7 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/plugin/index.js +2 -0
  38. package/dist/plugin/index.js.map +1 -0
  39. package/dist/plugin/plugin.js +91 -0
  40. package/dist/plugin/plugin.js.map +1 -0
  41. package/dist/scene/index.js +2 -0
  42. package/dist/scene/index.js.map +1 -0
  43. package/dist/scene/scene-with-phaser-wind.js +11 -0
  44. package/dist/scene/scene-with-phaser-wind.js.map +1 -0
  45. package/dist/theme/index.js +3 -0
  46. package/dist/theme/index.js.map +1 -0
  47. package/dist/theme/theme-config.js +159 -0
  48. package/dist/theme/theme-config.js.map +1 -0
  49. package/dist/theme/theme-manager.js +4 -0
  50. package/dist/theme/theme-manager.js.map +1 -0
  51. package/dist/theme/type.js +2 -0
  52. package/dist/theme/type.js.map +1 -0
  53. package/dist/utils/index.js +2 -0
  54. package/dist/utils/index.js.map +1 -0
  55. package/dist/utils/is-valid-color.js +32 -0
  56. package/dist/utils/is-valid-color.js.map +1 -0
  57. package/dist/utils/is-valid-color.spec.js +82 -0
  58. package/dist/utils/is-valid-color.spec.js.map +1 -0
  59. package/package.json +7 -7
@@ -0,0 +1,37 @@
1
+ import { createFontSize, } from './font-size';
2
+ export const fontMap = {
3
+ primary: 'Inter, system-ui, sans-serif',
4
+ secondary: 'Roboto, Arial, sans-serif',
5
+ monospace: 'Fira Code, Consolas, monospace',
6
+ display: 'Poppins, Inter, sans-serif',
7
+ };
8
+ export const createFont = (fonts, fontSizes) => {
9
+ const map = {
10
+ ...fontMap,
11
+ ...fonts,
12
+ };
13
+ const fontSizeApi = createFontSize(fontSizes);
14
+ const getFamily = (key) => {
15
+ if (key.includes('.')) {
16
+ const [, short] = key.split('.');
17
+ if (short && typeof map[short] === 'string') {
18
+ return map[short];
19
+ }
20
+ }
21
+ return typeof map[key] === 'string' ? map[key] : key;
22
+ };
23
+ return {
24
+ size: (key) => {
25
+ return fontSizeApi.px(key) ?? 0;
26
+ },
27
+ format: ({ size, family }) => {
28
+ const sizePx = fontSizeApi.px(size) ?? 0;
29
+ return `${sizePx}px '${getFamily(family)}'`;
30
+ },
31
+ family: (key) => getFamily(key),
32
+ getAvailableFonts: () => {
33
+ return Array.from(new Set([...Object.keys(fontMap), ...Object.keys(map)]));
34
+ },
35
+ };
36
+ };
37
+ //# sourceMappingURL=font.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/core/font.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,8BAA8B;IACvC,SAAS,EAAE,2BAA2B;IACtC,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,4BAA4B;CAC7B,CAAC;AA0BX,MAAM,CAAC,MAAM,UAAU,GAAG,CAIxB,KAAc,EACd,SAAsB,EACO,EAAE;IAC/B,MAAM,GAAG,GAAY;QACnB,GAAG,OAAO;QACV,GAAI,KAA6B;KACvB,CAAC;IAEb,MAAM,WAAW,GAA4B,cAAc,CACzD,SAAuB,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;QACxC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,GAAG,CAAC,KAAK,CAAW,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,GAAG,CAAC;IACnE,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,CACJ,GAE+D,EACvD,EAAE;YACV,OAAO,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAU,EAAE;YACnC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC,MAAgB,CAAC,GAAG,CAAC;QACxD,CAAC;QACD,MAAM,EAAE,CACN,GAA8D,EACtD,EAAE,CAAC,SAAS,CAAC,GAAa,CAAC;QACrC,iBAAiB,EAAE,GAAa,EAAE;YAChC,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CAAC,CAAC,GAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAc,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACtE,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,80 @@
1
+ /* eslint-disable no-magic-numbers */
2
+ /* eslint-disable max-lines-per-function */
3
+ /* eslint-disable sonarjs/no-duplicate-string */
4
+ import { describe, expect, it } from 'vitest';
5
+ import { createFont, fontMap } from './font';
6
+ describe('Font', () => {
7
+ describe('size', () => {
8
+ it('should return correct font size in pixels', () => {
9
+ const font = createFont();
10
+ expect(font.size('xs')).toBe(12);
11
+ expect(font.size('sm')).toBe(14);
12
+ expect(font.size('base')).toBe(16);
13
+ expect(font.size('lg')).toBe(18);
14
+ expect(font.size('xl')).toBe(20);
15
+ });
16
+ });
17
+ describe('format', () => {
18
+ it('should return font string with size and family', () => {
19
+ const font = createFont();
20
+ expect(font.format({ size: 'base', family: 'primary' })).toBe("16px 'Inter, system-ui, sans-serif'");
21
+ expect(font.format({ size: 'lg', family: 'secondary' })).toBe("18px 'Roboto, Arial, sans-serif'");
22
+ });
23
+ });
24
+ describe('family', () => {
25
+ it('should return font family from theme using short key', () => {
26
+ const font = createFont({
27
+ primary: 'Arial',
28
+ display: 'Helvetica',
29
+ }, {
30
+ base: 16,
31
+ });
32
+ expect(font.family('primary')).toBe('Arial');
33
+ expect(font.family('display')).toBe('Helvetica');
34
+ });
35
+ it('should return font family from theme using full path', () => {
36
+ const font = createFont({
37
+ primary: 'Arial',
38
+ display: 'Helvetica',
39
+ }, {
40
+ base: 16,
41
+ });
42
+ expect(font.family('primary')).toBe('Arial');
43
+ expect(font.family('display')).toBe('Helvetica');
44
+ });
45
+ it('should return key itself if font not found in theme', () => {
46
+ const font = createFont({
47
+ primary: 'Arial',
48
+ display: 'Helvetica',
49
+ }, {
50
+ base: 16,
51
+ });
52
+ expect(font.family('primary')).toBe('Arial');
53
+ });
54
+ });
55
+ describe('getAvailableFonts', () => {
56
+ it('should return array of available font tokens', () => {
57
+ const font = createFont({
58
+ primary: 'Arial',
59
+ secondary: 'Helvetica',
60
+ monospace: 'Courier New',
61
+ display: 'Roboto',
62
+ anotherCrazyFont: 'Comic Sans MS',
63
+ }, {
64
+ base: 16,
65
+ });
66
+ expect(font.getAvailableFonts()).toEqual(expect.arrayContaining([
67
+ 'primary',
68
+ 'secondary',
69
+ 'monospace',
70
+ 'display',
71
+ 'anotherCrazyFont',
72
+ ]));
73
+ });
74
+ it('should return empty array if no fonts in theme', () => {
75
+ const font = createFont();
76
+ expect(font.getAvailableFonts()).toEqual(Object.keys(fontMap));
77
+ });
78
+ });
79
+ });
80
+ //# 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 './palette';
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"}
@@ -0,0 +1,292 @@
1
+ // https://github.com/tailwindlabs/tailwindcss/blob/main/packages/tailwindcss/src/compat/colors.ts
2
+ export const palette = {
3
+ black: '#000',
4
+ white: '#fff',
5
+ slate: {
6
+ '50': 'rgb(248, 250, 252)',
7
+ '100': 'rgb(241, 245, 249)',
8
+ '200': 'rgb(226, 232, 240)',
9
+ '300': 'rgb(203, 213, 225)',
10
+ '400': 'rgb(148, 163, 184)',
11
+ '500': 'rgb(100, 116, 139)',
12
+ '600': 'rgb(71, 85, 105)',
13
+ '700': 'rgb(51, 65, 85)',
14
+ '800': 'rgb(30, 41, 59)',
15
+ '900': 'rgb(15, 23, 42)',
16
+ '950': 'rgb(2, 6, 23)',
17
+ },
18
+ gray: {
19
+ '50': 'rgb(249, 250, 251)',
20
+ '100': 'rgb(243, 244, 246)',
21
+ '200': 'rgb(229, 231, 235)',
22
+ '300': 'rgb(209, 213, 219)',
23
+ '400': 'rgb(156, 163, 175)',
24
+ '500': 'rgb(107, 114, 128)',
25
+ '600': 'rgb(75, 85, 99)',
26
+ '700': 'rgb(55, 65, 81)',
27
+ '800': 'rgb(31, 41, 55)',
28
+ '900': 'rgb(17, 24, 39)',
29
+ '950': 'rgb(3, 7, 18)',
30
+ },
31
+ zinc: {
32
+ '50': 'rgb(250, 250, 250)',
33
+ '100': 'rgb(244, 244, 245)',
34
+ '200': 'rgb(228, 228, 231)',
35
+ '300': 'rgb(212, 212, 216)',
36
+ '400': 'rgb(161, 161, 170)',
37
+ '500': 'rgb(113, 113, 122)',
38
+ '600': 'rgb(82, 82, 91)',
39
+ '700': 'rgb(63, 63, 70)',
40
+ '800': 'rgb(39, 39, 42)',
41
+ '900': 'rgb(24, 24, 27)',
42
+ '950': 'rgb(9, 9, 11)',
43
+ },
44
+ neutral: {
45
+ '50': 'rgb(250, 250, 250)',
46
+ '100': 'rgb(245, 245, 245)',
47
+ '200': 'rgb(229, 229, 229)',
48
+ '300': 'rgb(212, 212, 212)',
49
+ '400': 'rgb(163, 163, 163)',
50
+ '500': 'rgb(115, 115, 115)',
51
+ '600': 'rgb(82, 82, 82)',
52
+ '700': 'rgb(64, 64, 64)',
53
+ '800': 'rgb(38, 38, 38)',
54
+ '900': 'rgb(23, 23, 23)',
55
+ '950': 'rgb(10, 10, 10)',
56
+ },
57
+ stone: {
58
+ '50': 'rgb(250, 250, 249)',
59
+ '100': 'rgb(245, 245, 244)',
60
+ '200': 'rgb(231, 229, 228)',
61
+ '300': 'rgb(214, 211, 209)',
62
+ '400': 'rgb(168, 162, 158)',
63
+ '500': 'rgb(120, 113, 108)',
64
+ '600': 'rgb(87, 83, 78)',
65
+ '700': 'rgb(68, 64, 60)',
66
+ '800': 'rgb(41, 37, 36)',
67
+ '900': 'rgb(28, 25, 23)',
68
+ '950': 'rgb(12, 10, 9)',
69
+ },
70
+ red: {
71
+ '50': 'rgb(254, 242, 242)',
72
+ '100': 'rgb(254, 226, 226)',
73
+ '200': 'rgb(254, 202, 202)',
74
+ '300': 'rgb(252, 165, 165)',
75
+ '400': 'rgb(248, 113, 113)',
76
+ '500': 'rgb(239, 68, 68)',
77
+ '600': 'rgb(220, 38, 38)',
78
+ '700': 'rgb(185, 28, 28)',
79
+ '800': 'rgb(153, 27, 27)',
80
+ '900': 'rgb(127, 29, 29)',
81
+ '950': 'rgb(69, 10, 10)',
82
+ },
83
+ orange: {
84
+ '50': 'rgb(255, 247, 237)',
85
+ '100': 'rgb(255, 237, 213)',
86
+ '200': 'rgb(254, 215, 170)',
87
+ '300': 'rgb(253, 186, 116)',
88
+ '400': 'rgb(251, 146, 60)',
89
+ '500': 'rgb(249, 115, 22)',
90
+ '600': 'rgb(234, 88, 12)',
91
+ '700': 'rgb(194, 65, 12)',
92
+ '800': 'rgb(154, 52, 18)',
93
+ '900': 'rgb(124, 45, 18)',
94
+ '950': 'rgb(67, 20, 7)',
95
+ },
96
+ amber: {
97
+ '50': 'rgb(255, 251, 235)',
98
+ '100': 'rgb(254, 243, 199)',
99
+ '200': 'rgb(253, 230, 138)',
100
+ '300': 'rgb(252, 211, 77)',
101
+ '400': 'rgb(251, 191, 36)',
102
+ '500': 'rgb(245, 158, 11)',
103
+ '600': 'rgb(217, 119, 6)',
104
+ '700': 'rgb(180, 83, 9)',
105
+ '800': 'rgb(146, 64, 14)',
106
+ '900': 'rgb(120, 53, 15)',
107
+ '950': 'rgb(69, 26, 3)',
108
+ },
109
+ yellow: {
110
+ '50': 'rgb(254, 252, 232)',
111
+ '100': 'rgb(254, 249, 195)',
112
+ '200': 'rgb(254, 240, 138)',
113
+ '300': 'rgb(253, 224, 71)',
114
+ '400': 'rgb(250, 204, 21)',
115
+ '500': 'rgb(234, 179, 8)',
116
+ '600': 'rgb(202, 138, 4)',
117
+ '700': 'rgb(161, 98, 7)',
118
+ '800': 'rgb(133, 77, 14)',
119
+ '900': 'rgb(113, 63, 18)',
120
+ '950': 'rgb(66, 32, 6)',
121
+ },
122
+ lime: {
123
+ '50': 'rgb(247, 254, 231)',
124
+ '100': 'rgb(236, 252, 203)',
125
+ '200': 'rgb(217, 249, 157)',
126
+ '300': 'rgb(190, 242, 100)',
127
+ '400': 'rgb(163, 230, 53)',
128
+ '500': 'rgb(132, 204, 22)',
129
+ '600': 'rgb(101, 163, 13)',
130
+ '700': 'rgb(77, 124, 15)',
131
+ '800': 'rgb(63, 98, 18)',
132
+ '900': 'rgb(54, 83, 20)',
133
+ '950': 'rgb(26, 46, 5)',
134
+ },
135
+ green: {
136
+ '50': 'rgb(240, 253, 244)',
137
+ '100': 'rgb(220, 252, 231)',
138
+ '200': 'rgb(187, 247, 208)',
139
+ '300': 'rgb(134, 239, 172)',
140
+ '400': 'rgb(74, 222, 128)',
141
+ '500': 'rgb(34, 197, 94)',
142
+ '600': 'rgb(22, 163, 74)',
143
+ '700': 'rgb(21, 128, 61)',
144
+ '800': 'rgb(22, 101, 52)',
145
+ '900': 'rgb(20, 83, 45)',
146
+ '950': 'rgb(5, 46, 22)',
147
+ },
148
+ emerald: {
149
+ '50': 'rgb(236, 253, 245)',
150
+ '100': 'rgb(209, 250, 229)',
151
+ '200': 'rgb(167, 243, 208)',
152
+ '300': 'rgb(110, 231, 183)',
153
+ '400': 'rgb(52, 211, 153)',
154
+ '500': 'rgb(16, 185, 129)',
155
+ '600': 'rgb(5, 150, 105)',
156
+ '700': 'rgb(4, 120, 87)',
157
+ '800': 'rgb(6, 95, 70)',
158
+ '900': 'rgb(6, 78, 59)',
159
+ '950': 'rgb(2, 44, 34)',
160
+ },
161
+ teal: {
162
+ '50': 'rgb(240, 253, 250)',
163
+ '100': 'rgb(204, 251, 241)',
164
+ '200': 'rgb(153, 246, 228)',
165
+ '300': 'rgb(94, 234, 212)',
166
+ '400': 'rgb(45, 212, 191)',
167
+ '500': 'rgb(20, 184, 166)',
168
+ '600': 'rgb(13, 148, 136)',
169
+ '700': 'rgb(15, 118, 110)',
170
+ '800': 'rgb(17, 94, 89)',
171
+ '900': 'rgb(19, 78, 74)',
172
+ '950': 'rgb(4, 47, 46)',
173
+ },
174
+ cyan: {
175
+ '50': 'rgb(236, 254, 255)',
176
+ '100': 'rgb(207, 250, 254)',
177
+ '200': 'rgb(165, 243, 252)',
178
+ '300': 'rgb(103, 232, 249)',
179
+ '400': 'rgb(34, 211, 238)',
180
+ '500': 'rgb(6, 182, 212)',
181
+ '600': 'rgb(8, 145, 178)',
182
+ '700': 'rgb(14, 116, 144)',
183
+ '800': 'rgb(21, 94, 117)',
184
+ '900': 'rgb(22, 78, 99)',
185
+ '950': 'rgb(8, 51, 68)',
186
+ },
187
+ sky: {
188
+ '50': 'rgb(240, 249, 255)',
189
+ '100': 'rgb(224, 242, 254)',
190
+ '200': 'rgb(186, 230, 253)',
191
+ '300': 'rgb(125, 211, 252)',
192
+ '400': 'rgb(56, 189, 248)',
193
+ '500': 'rgb(14, 165, 233)',
194
+ '600': 'rgb(2, 132, 199)',
195
+ '700': 'rgb(3, 105, 161)',
196
+ '800': 'rgb(7, 89, 133)',
197
+ '900': 'rgb(12, 74, 110)',
198
+ '950': 'rgb(8, 47, 73)',
199
+ },
200
+ blue: {
201
+ '50': 'rgb(239, 246, 255)',
202
+ '100': 'rgb(219, 234, 254)',
203
+ '200': 'rgb(191, 219, 254)',
204
+ '300': 'rgb(147, 197, 253)',
205
+ '400': 'rgb(96, 165, 250)',
206
+ '500': 'rgb(59, 130, 246)',
207
+ '600': 'rgb(37, 99, 235)',
208
+ '700': 'rgb(29, 78, 216)',
209
+ '800': 'rgb(30, 64, 175)',
210
+ '900': 'rgb(30, 58, 138)',
211
+ '950': 'rgb(23, 37, 84)',
212
+ },
213
+ indigo: {
214
+ '50': 'rgb(238, 242, 255)',
215
+ '100': 'rgb(224, 231, 255)',
216
+ '200': 'rgb(199, 210, 254)',
217
+ '300': 'rgb(165, 180, 252)',
218
+ '400': 'rgb(129, 140, 248)',
219
+ '500': 'rgb(99, 102, 241)',
220
+ '600': 'rgb(79, 70, 229)',
221
+ '700': 'rgb(67, 56, 202)',
222
+ '800': 'rgb(55, 48, 163)',
223
+ '900': 'rgb(49, 46, 129)',
224
+ '950': 'rgb(30, 27, 75)',
225
+ },
226
+ violet: {
227
+ '50': 'rgb(245, 243, 255)',
228
+ '100': 'rgb(237, 233, 254)',
229
+ '200': 'rgb(221, 214, 254)',
230
+ '300': 'rgb(196, 181, 253)',
231
+ '400': 'rgb(167, 139, 250)',
232
+ '500': 'rgb(139, 92, 246)',
233
+ '600': 'rgb(124, 58, 237)',
234
+ '700': 'rgb(109, 40, 217)',
235
+ '800': 'rgb(91, 33, 182)',
236
+ '900': 'rgb(76, 29, 149)',
237
+ '950': 'rgb(46, 16, 101)',
238
+ },
239
+ purple: {
240
+ '50': 'rgb(250, 245, 255)',
241
+ '100': 'rgb(243, 232, 255)',
242
+ '200': 'rgb(233, 213, 255)',
243
+ '300': 'rgb(216, 180, 254)',
244
+ '400': 'rgb(192, 132, 252)',
245
+ '500': 'rgb(168, 85, 247)',
246
+ '600': 'rgb(147, 51, 234)',
247
+ '700': 'rgb(126, 34, 206)',
248
+ '800': 'rgb(107, 33, 168)',
249
+ '900': 'rgb(88, 28, 135)',
250
+ '950': 'rgb(59, 7, 100)',
251
+ },
252
+ fuchsia: {
253
+ '50': 'rgb(253, 244, 255)',
254
+ '100': 'rgb(250, 232, 255)',
255
+ '200': 'rgb(245, 208, 254)',
256
+ '300': 'rgb(240, 171, 252)',
257
+ '400': 'rgb(232, 121, 249)',
258
+ '500': 'rgb(217, 70, 239)',
259
+ '600': 'rgb(192, 38, 211)',
260
+ '700': 'rgb(162, 28, 175)',
261
+ '800': 'rgb(134, 25, 143)',
262
+ '900': 'rgb(112, 26, 117)',
263
+ '950': 'rgb(74, 4, 78)',
264
+ },
265
+ pink: {
266
+ '50': 'rgb(253, 242, 248)',
267
+ '100': 'rgb(252, 231, 243)',
268
+ '200': 'rgb(251, 207, 232)',
269
+ '300': 'rgb(249, 168, 212)',
270
+ '400': 'rgb(244, 114, 182)',
271
+ '500': 'rgb(236, 72, 153)',
272
+ '600': 'rgb(219, 39, 119)',
273
+ '700': 'rgb(190, 24, 93)',
274
+ '800': 'rgb(157, 23, 77)',
275
+ '900': 'rgb(131, 24, 67)',
276
+ '950': 'rgb(80, 7, 36)',
277
+ },
278
+ rose: {
279
+ '50': 'rgb(255, 241, 242)',
280
+ '100': 'rgb(255, 228, 230)',
281
+ '200': 'rgb(254, 205, 211)',
282
+ '300': 'rgb(253, 164, 175)',
283
+ '400': 'rgb(251, 113, 133)',
284
+ '500': 'rgb(244, 63, 94)',
285
+ '600': 'rgb(225, 29, 72)',
286
+ '700': 'rgb(190, 18, 60)',
287
+ '800': 'rgb(159, 18, 57)',
288
+ '900': 'rgb(136, 19, 55)',
289
+ '950': 'rgb(76, 5, 25)',
290
+ },
291
+ };
292
+ //# sourceMappingURL=palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/core/palette.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Mapping of radius keys to their pixel values
3
+ */
4
+ /** Default radius scale mapping (in pixels). */
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
+ * Create a radius API bound to an optional theme radius map.
18
+ * @example
19
+ * const r = createRadius({ card: 12 });
20
+ * r.css('card'); // '12px'
21
+ */
22
+ export const createRadius = (themeRadius) => {
23
+ const map = {
24
+ ...radiusMap,
25
+ ...themeRadius,
26
+ };
27
+ const get = (key) => {
28
+ return typeof map[key] === 'number' ? map[key] : 0;
29
+ };
30
+ return {
31
+ px: (key) => get(key),
32
+ rem: (key) => get(key) / 16,
33
+ css: (key) => `${get(key)}px`,
34
+ };
35
+ };
36
+ /** Convenience instance using default radius map (no theme). */
37
+ export const Radius = createRadius(undefined);
38
+ //# sourceMappingURL=radius.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.js","sourceRoot":"","sources":["../../src/core/radius.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,gDAAgD;AAChD,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;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAG1B,WAAe,EACD,EAAE;IAChB,MAAM,GAAG,GAAc;QACrB,GAAG,SAAS;QACZ,GAAI,WAAqC;KAC7B,CAAC;IAEf,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE;QAClC,OAAO,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,CAAC,GAAwD,EAAU,EAAE,CACvE,GAAG,CAAC,GAAa,CAAC;QACpB,GAAG,EAAE,CAAC,GAAwD,EAAU,EAAE,CACxE,GAAG,CAAC,GAAa,CAAC,GAAG,EAAE;QACzB,GAAG,EAAE,CAAC,GAAwD,EAAU,EAAE,CACxE,GAAG,GAAG,CAAC,GAAa,CAAC,IAAI;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,CAAC,MAAM,MAAM,GAAyB,YAAY,CAAY,SAAS,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /* eslint-disable no-magic-numbers */
2
+ /* eslint-disable max-lines */
3
+ /* eslint-disable max-lines-per-function */
4
+ /* eslint-disable sonarjs/no-duplicate-string */
5
+ import { describe, expect, it } from 'vitest';
6
+ import { createRadius, radiusMap, Radius } from './radius';
7
+ describe('Radius', () => {
8
+ describe('px', () => {
9
+ it('should return pixel value for radius key', () => {
10
+ const radius = createRadius();
11
+ expect(radius.px('sm')).toBe(2);
12
+ expect(radius.px('lg')).toBe(8);
13
+ expect(radius.px('full')).toBe(9999);
14
+ });
15
+ });
16
+ describe('rem', () => {
17
+ it('should convert pixel value to rem', () => {
18
+ const radius = createRadius();
19
+ expect(radius.rem('sm')).toBe(2 / 16);
20
+ expect(radius.rem('lg')).toBe(8 / 16);
21
+ expect(radius.rem('full')).toBe(9999 / 16);
22
+ });
23
+ });
24
+ describe('css', () => {
25
+ it('should return CSS string with px unit', () => {
26
+ const radius = createRadius();
27
+ expect(radius.css('sm')).toBe('2px');
28
+ expect(radius.css('lg')).toBe('8px');
29
+ expect(radius.css('full')).toBe('9999px');
30
+ });
31
+ it('should work with default Radius constant', () => {
32
+ expect(Radius.px('sm')).toBe(2);
33
+ expect(Radius.css('lg')).toBe('8px');
34
+ expect(Radius.rem('full')).toBe(9999 / 16);
35
+ });
36
+ });
37
+ describe('getValueByKey', () => {
38
+ it('should return value from radiusMap', () => {
39
+ const radius = createRadius();
40
+ expect(radius.px('sm')).toBe(radiusMap['sm']);
41
+ expect(radius.px('lg')).toBe(radiusMap['lg']);
42
+ expect(radius.px('full')).toBe(radiusMap['full']);
43
+ });
44
+ });
45
+ describe('with theme', () => {
46
+ it('should return value from theme', () => {
47
+ const radius1 = createRadius();
48
+ expect(radius1.px('sm')).toBe(radiusMap['sm']);
49
+ const radius2 = createRadius();
50
+ expect(radius2.px('sm')).toBe(2);
51
+ expect(radius2.px('custom')).toBe(0);
52
+ expect(radius2.px('11')).toBe(0);
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=radius.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius.spec.js","sourceRoot":"","sources":["../../src/core/radius.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /** Default shadow presets. */
2
+ export const defaultShadowMap = {
3
+ sm: { blur: 2, offsetX: 1, offsetY: 1, alpha: 0.15 },
4
+ md: { blur: 4, offsetX: 2, offsetY: 2, alpha: 0.2 },
5
+ lg: { blur: 6, offsetX: 4, offsetY: 4, alpha: 0.25 },
6
+ xl: { blur: 8, offsetX: 6, offsetY: 6, alpha: 0.3 },
7
+ '2xl': { blur: 12, offsetX: 8, offsetY: 8, alpha: 0.35 },
8
+ inner: { blur: 4, offsetX: -2, offsetY: -2, alpha: 0.2 },
9
+ };
10
+ /**
11
+ * Create a shadow API bound to an optional effects map.
12
+ * @example
13
+ * const sh = createShadow({ glow: { blur: 8, offsetX: 0, offsetY: 0, alpha: .6 } });
14
+ * sh.get('glow');
15
+ */
16
+ export const createShadow = (effects) => {
17
+ const map = {
18
+ ...defaultShadowMap,
19
+ ...effects,
20
+ };
21
+ const getConfig = (key) => {
22
+ const cfg = map[key];
23
+ if (cfg && typeof cfg === 'object')
24
+ return cfg;
25
+ return defaultShadowMap['md'];
26
+ };
27
+ return {
28
+ get: (key) => getConfig(key),
29
+ };
30
+ };
31
+ /** Convenience instance using default shadows (no theme). */
32
+ export const Shadow = createShadow(undefined);
33
+ //# sourceMappingURL=shadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../src/core/shadow.ts"],"names":[],"mappings":"AAgBA,8BAA8B;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;IACnD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;CACzD,CAAC;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAG1B,OAAW,EACG,EAAE;IAChB,MAAM,GAAG,GAAc;QACrB,GAAG,gBAAgB;QACnB,GAAI,OAA4C;KACpC,CAAC;IAEf,MAAM,SAAS,GAAG,CAAC,GAAW,EAAgB,EAAE;QAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAmB,CAAC;QAC/D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,CACH,GAAsE,EACxD,EAAE,CAAC,SAAS,CAAC,GAAa,CAAC;KAC5C,CAAC;AACJ,CAAC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAyB,YAAY,CAAY,SAAS,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /* eslint-disable no-magic-numbers */
2
+ import { describe, expect, it } from 'vitest';
3
+ import { Shadow, createShadow } from './shadow';
4
+ describe('Shadow', () => {
5
+ it('should provide defaults via Shadow constant', () => {
6
+ expect(Shadow.get('sm')).toEqual({
7
+ blur: 2,
8
+ offsetX: 1,
9
+ offsetY: 1,
10
+ alpha: 0.15,
11
+ });
12
+ expect(Shadow.get('md').blur).toBe(4);
13
+ });
14
+ it('should allow theme effect keys via factory', () => {
15
+ const shadow = createShadow({
16
+ customGlow: { blur: 20, offsetX: 0, offsetY: 0, alpha: 0.5 },
17
+ });
18
+ expect(shadow.get('customGlow').blur).toBe(20);
19
+ });
20
+ });
21
+ //# sourceMappingURL=shadow.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow.spec.js","sourceRoot":"","sources":["../../src/core/shadow.spec.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;SAC7D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}