phaser-wind 0.1.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.
- package/README.md +317 -95
- package/dist/core/color.d.ts +287 -0
- package/dist/core/color.d.ts.map +1 -0
- package/dist/core/color.js +386 -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 +252 -0
- package/dist/core/color.spec.js.map +1 -0
- package/dist/core/font-size.d.ts +34 -0
- package/dist/core/font-size.d.ts.map +1 -0
- package/dist/core/font-size.js +68 -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 +73 -0
- package/dist/core/font-size.spec.js.map +1 -0
- package/dist/core/font.d.ts +94 -0
- package/dist/core/font.d.ts.map +1 -0
- package/dist/core/font.js +178 -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 +84 -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 → core}/pallete.d.ts.map +1 -1
- package/dist/core/pallete.js.map +1 -0
- package/dist/core/radius.d.ts +34 -0
- package/dist/core/radius.d.ts.map +1 -0
- package/dist/core/radius.js +46 -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 +61 -0
- package/dist/core/radius.spec.js.map +1 -0
- package/dist/core/shadow.d.ts +23 -0
- package/dist/core/shadow.d.ts.map +1 -0
- package/dist/core/shadow.js +23 -0
- package/dist/core/shadow.js.map +1 -0
- package/dist/core/spacing.d.ts +39 -0
- package/dist/core/spacing.d.ts.map +1 -0
- package/dist/core/spacing.js +82 -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 +49 -0
- package/dist/core/spacing.spec.js.map +1 -0
- package/dist/font/index.d.ts +2 -1
- package/dist/font/index.d.ts.map +1 -1
- package/dist/font/index.js +2 -1
- 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/theme/index.d.ts +3 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/theme-config.d.ts +98 -0
- package/dist/theme/theme-config.d.ts.map +1 -0
- package/dist/theme/theme-config.js +156 -0
- package/dist/theme/theme-config.js.map +1 -0
- package/dist/theme/theme-manager.d.ts +108 -0
- package/dist/theme/theme-manager.d.ts.map +1 -0
- package/dist/theme/theme-manager.js +190 -0
- package/dist/theme/theme-manager.js.map +1 -0
- package/dist/theme/type.d.ts +1 -0
- package/dist/theme/type.d.ts.map +1 -0
- package/dist/theme/type.js +2 -0
- package/dist/theme/type.js.map +1 -0
- 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 +5 -3
- package/dist/color/color-picker.d.ts +0 -13
- package/dist/color/color-picker.d.ts.map +0 -1
- package/dist/color/color-picker.js +0 -61
- 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 -41
- 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.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
- /package/dist/{color → core}/pallete.d.ts +0 -0
- /package/dist/{color → core}/pallete.js +0 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
import { ThemeManager } from '../theme/theme-manager';
|
|
3
|
+
import { FontSize } from './font-size';
|
|
4
|
+
/**
|
|
5
|
+
* Font picker for accessing theme fonts and font families
|
|
6
|
+
*/
|
|
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
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* Get font family from theme
|
|
27
|
+
* @param key - Font key (e.g., 'primary', 'display') or full path (e.g., 'fonts.primary')
|
|
28
|
+
* @returns Font family string
|
|
29
|
+
*/
|
|
30
|
+
family: (key) => {
|
|
31
|
+
// Check if it's a theme token (with or without fonts. prefix)
|
|
32
|
+
const fontPath = key.includes('.') ? key : `fonts.${key}`;
|
|
33
|
+
const themeValue = ThemeManager.getToken(fontPath);
|
|
34
|
+
if (themeValue && typeof themeValue === 'string') {
|
|
35
|
+
return themeValue;
|
|
36
|
+
}
|
|
37
|
+
// Fallback: check if it's a direct theme token (backwards compatibility)
|
|
38
|
+
if (ThemeManager.hasToken(key)) {
|
|
39
|
+
const themeValue = ThemeManager.getToken(key);
|
|
40
|
+
if (themeValue && typeof themeValue === 'string') {
|
|
41
|
+
return themeValue;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Fallback to the key itself if not found in theme
|
|
45
|
+
return key;
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* Get all available font tokens from current theme
|
|
49
|
+
* @returns Array of font token keys
|
|
50
|
+
*/
|
|
51
|
+
getAvailableFonts: () => {
|
|
52
|
+
const theme = ThemeManager.getCurrentTheme();
|
|
53
|
+
if (theme.fonts && typeof theme.fonts === 'object') {
|
|
54
|
+
return Object.keys(theme.fonts);
|
|
55
|
+
}
|
|
56
|
+
return [];
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Typography picker for accessing complete typography styles from theme
|
|
61
|
+
*/
|
|
62
|
+
export class TypographyPicker {
|
|
63
|
+
/**
|
|
64
|
+
* Get complete typography style from theme
|
|
65
|
+
* @param key - Typography key (e.g., 'heading', 'body') or full path
|
|
66
|
+
* @returns Typography style object
|
|
67
|
+
*/
|
|
68
|
+
static style(key) {
|
|
69
|
+
// Check if it's a theme token (with or without typography. prefix)
|
|
70
|
+
const typographyPath = key.includes('.') ? key : `typography.${key}`;
|
|
71
|
+
if (ThemeManager.hasToken(typographyPath)) {
|
|
72
|
+
const themeValue = ThemeManager.getToken(typographyPath);
|
|
73
|
+
if (themeValue && typeof themeValue === 'object') {
|
|
74
|
+
// Resolve any theme references in the typography object
|
|
75
|
+
const resolved = this.resolveTypographyReferences(themeValue);
|
|
76
|
+
return resolved;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Fallback: check if it's a direct theme token
|
|
80
|
+
if (ThemeManager.hasToken(key)) {
|
|
81
|
+
const themeValue = ThemeManager.getToken(key);
|
|
82
|
+
if (themeValue && typeof themeValue === 'object') {
|
|
83
|
+
const resolved = this.resolveTypographyReferences(themeValue);
|
|
84
|
+
return resolved;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Return empty object if not found
|
|
88
|
+
return {};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get Phaser-compatible text style from typography token
|
|
92
|
+
* @param key - Typography key
|
|
93
|
+
* @returns Object compatible with Phaser text styles
|
|
94
|
+
*/
|
|
95
|
+
static phaserStyle(key) {
|
|
96
|
+
const style = this.style(key);
|
|
97
|
+
const result = {
|
|
98
|
+
fontStyle: style.fontWeight && Number(style.fontWeight) >= 600 ? 'bold' : 'normal',
|
|
99
|
+
};
|
|
100
|
+
if (style.fontSize) {
|
|
101
|
+
result.fontSize = style.fontSize;
|
|
102
|
+
}
|
|
103
|
+
if (style.fontFamily) {
|
|
104
|
+
result.fontFamily = style.fontFamily;
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get all available typography tokens from current theme
|
|
110
|
+
* @returns Array of typography token keys
|
|
111
|
+
*/
|
|
112
|
+
static getAvailableTypography() {
|
|
113
|
+
const theme = ThemeManager.getCurrentTheme();
|
|
114
|
+
if (theme.typography && typeof theme.typography === 'object') {
|
|
115
|
+
return Object.keys(theme.typography);
|
|
116
|
+
}
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Resolve theme references in typography objects
|
|
121
|
+
* @param typographyObject - Typography style object
|
|
122
|
+
* @returns Resolved typography object
|
|
123
|
+
*/
|
|
124
|
+
static resolveTypographyReferences(typographyObject) {
|
|
125
|
+
const resolved = { ...typographyObject };
|
|
126
|
+
// Resolve fontSize if it's a theme reference
|
|
127
|
+
if (resolved['fontSize'] && typeof resolved['fontSize'] === 'string') {
|
|
128
|
+
if (resolved['fontSize'].includes('.')) {
|
|
129
|
+
resolved['fontSize'] = ThemeManager.resolveToken(resolved['fontSize']);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Resolve fontFamily if it's a theme reference
|
|
133
|
+
if (resolved['fontFamily'] && typeof resolved['fontFamily'] === 'string') {
|
|
134
|
+
if (resolved['fontFamily'].includes('.')) {
|
|
135
|
+
resolved['fontFamily'] = ThemeManager.resolveToken(resolved['fontFamily']);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return resolved;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Effect picker for accessing theme effects like shadows
|
|
143
|
+
*/
|
|
144
|
+
export class EffectPicker {
|
|
145
|
+
/**
|
|
146
|
+
* Get effect configuration from theme
|
|
147
|
+
* @param key - Effect key (e.g., 'shadow-md') or full path
|
|
148
|
+
* @returns Effect configuration object
|
|
149
|
+
*/
|
|
150
|
+
static config(key) {
|
|
151
|
+
// Check if it's a theme token (with or without effects. prefix)
|
|
152
|
+
const effectPath = key.includes('.') ? key : `effects.${key}`;
|
|
153
|
+
if (ThemeManager.hasToken(effectPath)) {
|
|
154
|
+
const themeValue = ThemeManager.getToken(effectPath);
|
|
155
|
+
if (themeValue && typeof themeValue === 'object') {
|
|
156
|
+
// Resolve color references
|
|
157
|
+
const resolved = { ...themeValue };
|
|
158
|
+
if ('color' in resolved && typeof resolved.color === 'string') {
|
|
159
|
+
resolved.color = ThemeManager.resolveToken(resolved.color);
|
|
160
|
+
}
|
|
161
|
+
return resolved;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return {};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get all available effect tokens from current theme
|
|
168
|
+
* @returns Array of effect token keys
|
|
169
|
+
*/
|
|
170
|
+
static getAvailableEffects() {
|
|
171
|
+
const theme = ThemeManager.getCurrentTheme();
|
|
172
|
+
if (theme.effects && typeof theme.effects === 'object') {
|
|
173
|
+
return Object.keys(theme.effects);
|
|
174
|
+
}
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
}
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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/
|
|
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 @@
|
|
|
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":"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"}
|
|
@@ -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"}
|