@admin-layout/tailwind-design-pro 10.0.9-alpha.38 → 10.0.9-alpha.39
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/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
- package/lib/components/Layout/BasicLayout/index.js +61 -56
- package/lib/components/Layout/BasicLayout/index.js.map +1 -1
- package/lib/components/Layout/TailwindLayout.d.ts.map +1 -1
- package/lib/components/Layout/TailwindLayout.js +12 -9
- package/lib/components/Layout/TailwindLayout.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.d.ts +6 -5
- package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.js +30 -31
- package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeToggle.js +2 -2
- package/lib/components/ThemeProvider/index.d.ts +2 -5
- package/lib/components/ThemeProvider/index.d.ts.map +1 -1
- package/lib/components/ThemeProvider/themes/airbnb.d.ts +3 -0
- package/lib/components/ThemeProvider/themes/airbnb.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/airbnb.js +186 -0
- package/lib/components/ThemeProvider/themes/airbnb.js.map +1 -0
- package/lib/components/ThemeProvider/themes/default.d.ts +3 -0
- package/lib/components/ThemeProvider/themes/default.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/default.js +183 -0
- package/lib/components/ThemeProvider/themes/default.js.map +1 -0
- package/lib/components/ThemeProvider/themes/github.d.ts +3 -0
- package/lib/components/ThemeProvider/themes/github.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/github.js +190 -0
- package/lib/components/ThemeProvider/themes/github.js.map +1 -0
- package/lib/components/ThemeProvider/themes/index.d.ts +15 -0
- package/lib/components/ThemeProvider/themes/index.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/index.js +7 -0
- package/lib/components/ThemeProvider/themes/index.js.map +1 -0
- package/lib/components/ThemeProvider/themes/slack.d.ts +3 -0
- package/lib/components/ThemeProvider/themes/slack.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/slack.js +188 -0
- package/lib/components/ThemeProvider/themes/slack.js.map +1 -0
- package/lib/components/ThemeProvider/themes/spotify.d.ts +3 -0
- package/lib/components/ThemeProvider/themes/spotify.d.ts.map +1 -0
- package/lib/components/ThemeProvider/themes/spotify.js +189 -0
- package/lib/components/ThemeProvider/themes/spotify.js.map +1 -0
- package/lib/components/ThemeProvider/types.d.ts +104 -116
- package/lib/components/ThemeProvider/types.d.ts.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/tailwindConfig.d.ts +35 -80
- package/lib/tailwindConfig.d.ts.map +1 -1
- package/lib/tailwindConfig.js +19 -118
- package/lib/tailwindConfig.js.map +1 -1
- package/package.json +2 -2
- package/lib/components/ThemeProvider/themeRegistry.d.ts +0 -3
- package/lib/components/ThemeProvider/themeRegistry.d.ts.map +0 -1
- package/lib/components/ThemeProvider/themeRegistry.js +0 -388
- package/lib/components/ThemeProvider/themeRegistry.js.map +0 -1
- package/lib/components/ThemeProvider/themeUtils.d.ts +0 -26
- package/lib/components/ThemeProvider/themeUtils.d.ts.map +0 -1
- package/lib/components/ThemeProvider/themeUtils.js +0 -192
- package/lib/components/ThemeProvider/themeUtils.js.map +0 -1
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts an HSL color string (like '210 40% 98%') to a hex color code
|
|
3
|
-
* @param hsl HSL color string in the format 'hue saturation% lightness%'
|
|
4
|
-
* @returns Hex color code like '#ffffff'
|
|
5
|
-
*/
|
|
6
|
-
function hslToHex(hsl) {
|
|
7
|
-
// Parse the HSL values
|
|
8
|
-
const [h, s, l] = hsl.split(' ').map((val, index) => {
|
|
9
|
-
if (index === 0) return parseInt(val, 10);
|
|
10
|
-
return parseInt(val.replace('%', ''), 10) / 100;
|
|
11
|
-
});
|
|
12
|
-
// Calculate RGB values
|
|
13
|
-
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
14
|
-
const x = c * (1 - Math.abs(h / 60 % 2 - 1));
|
|
15
|
-
const m = l - c / 2;
|
|
16
|
-
let r = 0,
|
|
17
|
-
g = 0,
|
|
18
|
-
b = 0;
|
|
19
|
-
if (0 <= h && h < 60) {
|
|
20
|
-
[r, g, b] = [c, x, 0];
|
|
21
|
-
} else if (60 <= h && h < 120) {
|
|
22
|
-
[r, g, b] = [x, c, 0];
|
|
23
|
-
} else if (120 <= h && h < 180) {
|
|
24
|
-
[r, g, b] = [0, c, x];
|
|
25
|
-
} else if (180 <= h && h < 240) {
|
|
26
|
-
[r, g, b] = [0, x, c];
|
|
27
|
-
} else if (240 <= h && h < 300) {
|
|
28
|
-
[r, g, b] = [x, 0, c];
|
|
29
|
-
} else if (300 <= h && h < 360) {
|
|
30
|
-
[r, g, b] = [c, 0, x];
|
|
31
|
-
}
|
|
32
|
-
// Convert to hex
|
|
33
|
-
const toHex = val => {
|
|
34
|
-
const hex = Math.round((val + m) * 255).toString(16);
|
|
35
|
-
return hex.length === 1 ? '0' + hex : hex;
|
|
36
|
-
};
|
|
37
|
-
return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Converts a hex color code to an HSL color string
|
|
41
|
-
* @param hex Hex color code like '#ffffff'
|
|
42
|
-
* @returns HSL color string in the format 'hue saturation% lightness%'
|
|
43
|
-
*/
|
|
44
|
-
function hexToHsl(hex) {
|
|
45
|
-
// Remove the # if present
|
|
46
|
-
hex = hex.replace(/^#/, '');
|
|
47
|
-
// Parse the hex values
|
|
48
|
-
let r, g, b;
|
|
49
|
-
if (hex.length === 3) {
|
|
50
|
-
r = parseInt(hex[0] + hex[0], 16) / 255;
|
|
51
|
-
g = parseInt(hex[1] + hex[1], 16) / 255;
|
|
52
|
-
b = parseInt(hex[2] + hex[2], 16) / 255;
|
|
53
|
-
} else {
|
|
54
|
-
r = parseInt(hex.substring(0, 2), 16) / 255;
|
|
55
|
-
g = parseInt(hex.substring(2, 4), 16) / 255;
|
|
56
|
-
b = parseInt(hex.substring(4, 6), 16) / 255;
|
|
57
|
-
}
|
|
58
|
-
// Find the min and max values to calculate saturation
|
|
59
|
-
const max = Math.max(r, g, b);
|
|
60
|
-
const min = Math.min(r, g, b);
|
|
61
|
-
// Calculate lightness
|
|
62
|
-
const lightness = (max + min) / 2;
|
|
63
|
-
// Calculate saturation
|
|
64
|
-
let s = 0;
|
|
65
|
-
if (max !== min) {
|
|
66
|
-
s = lightness > 0.5 ? (max - min) / (2 - max - min) : (max - min) / (max + min);
|
|
67
|
-
}
|
|
68
|
-
// Calculate hue
|
|
69
|
-
let h = 0;
|
|
70
|
-
if (max !== min) {
|
|
71
|
-
if (max === r) {
|
|
72
|
-
h = (g - b) / (max - min) + (g < b ? 6 : 0);
|
|
73
|
-
} else if (max === g) {
|
|
74
|
-
h = (b - r) / (max - min) + 2;
|
|
75
|
-
} else {
|
|
76
|
-
h = (r - g) / (max - min) + 4;
|
|
77
|
-
}
|
|
78
|
-
h *= 60;
|
|
79
|
-
}
|
|
80
|
-
// Round values
|
|
81
|
-
h = Math.round(h);
|
|
82
|
-
s = Math.round(s * 100);
|
|
83
|
-
const l = Math.round(lightness * 100);
|
|
84
|
-
return `${h} ${s}% ${l}%`;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Applies a theme to the document by setting CSS variables
|
|
88
|
-
* @param theme The theme configuration to apply
|
|
89
|
-
* @param options Options including dark mode flag and overrides
|
|
90
|
-
*/
|
|
91
|
-
function applyTheme(theme, options) {
|
|
92
|
-
const {
|
|
93
|
-
isDarkMode,
|
|
94
|
-
primaryColor,
|
|
95
|
-
fontFamily
|
|
96
|
-
} = options;
|
|
97
|
-
const modeKey = isDarkMode ? 'dark' : 'light';
|
|
98
|
-
const colors = theme.colors[modeKey];
|
|
99
|
-
// Apply all variables from the theme
|
|
100
|
-
Object.entries(colors).forEach(([key, value]) => {
|
|
101
|
-
document.documentElement.style.setProperty(`--${key}`, value);
|
|
102
|
-
});
|
|
103
|
-
// Override primary color if specified
|
|
104
|
-
if (primaryColor) {
|
|
105
|
-
try {
|
|
106
|
-
// Convert to HSL format if it's a hex color
|
|
107
|
-
if (primaryColor.startsWith('#')) {
|
|
108
|
-
const hslValue = hexToHsl(primaryColor);
|
|
109
|
-
document.documentElement.style.setProperty('--primary', hslValue);
|
|
110
|
-
// Generate primary foreground color - typically white or black depending on primary color lightness
|
|
111
|
-
const [,, lightness] = hslValue.split(' ');
|
|
112
|
-
const light = parseInt(lightness.replace('%', ''), 10);
|
|
113
|
-
const foreground = light > 60 ? '0 0% 0%' : '0 0% 100%';
|
|
114
|
-
document.documentElement.style.setProperty('--primary-foreground', foreground);
|
|
115
|
-
// Update ring color to match primary
|
|
116
|
-
document.documentElement.style.setProperty('--ring', hslValue);
|
|
117
|
-
// Apply related styles
|
|
118
|
-
applyThemeColors(theme, hslValue);
|
|
119
|
-
} else {
|
|
120
|
-
document.documentElement.style.setProperty('--primary', primaryColor);
|
|
121
|
-
}
|
|
122
|
-
} catch (error) {
|
|
123
|
-
console.error('Failed to apply primary color:', error);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
// Apply all typography
|
|
127
|
-
if (fontFamily) {
|
|
128
|
-
document.documentElement.style.setProperty('--font-family', fontFamily);
|
|
129
|
-
document.documentElement.style.fontFamily = fontFamily;
|
|
130
|
-
}
|
|
131
|
-
// Apply font sizes
|
|
132
|
-
Object.entries(theme.fontSizes).forEach(([key, value]) => {
|
|
133
|
-
document.documentElement.style.setProperty(`--font-size-${key}`, value);
|
|
134
|
-
});
|
|
135
|
-
// Apply spacing
|
|
136
|
-
Object.entries(theme.spacing).forEach(([key, value]) => {
|
|
137
|
-
// CSS variables can't have dots, replace with underscores
|
|
138
|
-
const normalizedKey = String(key).replace('.', '_');
|
|
139
|
-
document.documentElement.style.setProperty(`--spacing-${normalizedKey}`, value);
|
|
140
|
-
});
|
|
141
|
-
// Apply border radius
|
|
142
|
-
Object.entries(theme.borderRadius).forEach(([key, value]) => {
|
|
143
|
-
const normalizedKey = key === 'DEFAULT' ? 'default' : key.replace(/\./g, '_');
|
|
144
|
-
document.documentElement.style.setProperty(`--radius-${normalizedKey}`, value);
|
|
145
|
-
});
|
|
146
|
-
// Set global radius
|
|
147
|
-
document.documentElement.style.setProperty('--radius', theme.borderRadius.DEFAULT);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Apply theme color variations based on primary color
|
|
151
|
-
* @param theme Current theme
|
|
152
|
-
* @param primaryHsl Primary color in HSL format
|
|
153
|
-
*/
|
|
154
|
-
function applyThemeColors(theme, primaryHsl) {
|
|
155
|
-
const [hue, saturation] = primaryHsl.split(' ');
|
|
156
|
-
const h = parseInt(hue, 10);
|
|
157
|
-
const s = parseInt(saturation.replace('%', ''), 10);
|
|
158
|
-
// Generate accent color based on primary (typically a lighter variant)
|
|
159
|
-
const accentH = (h + 10) % 360; // Slightly shift hue
|
|
160
|
-
const accentS = Math.max(0, s - 15); // Slightly less saturated
|
|
161
|
-
const accentL = 95; // Light background
|
|
162
|
-
document.documentElement.style.setProperty('--accent', `${accentH} ${accentS}% ${accentL}%`);
|
|
163
|
-
// Generate accent foreground (text on accent)
|
|
164
|
-
document.documentElement.style.setProperty('--accent-foreground', `${h} ${s}% 20%`);
|
|
165
|
-
// For muted colors (using hue but lower saturation)
|
|
166
|
-
document.documentElement.style.setProperty('--muted', `${h} 10% 95%`);
|
|
167
|
-
document.documentElement.style.setProperty('--muted-foreground', `${h} 10% 40%`);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Generates a color palette from a primary color
|
|
171
|
-
* @param primaryColor HSL color string for the primary color
|
|
172
|
-
* @returns Object with color variations
|
|
173
|
-
*/
|
|
174
|
-
function generateColorPalette(primaryColor) {
|
|
175
|
-
// Convert if hex
|
|
176
|
-
const hslColor = primaryColor.startsWith('#') ? hexToHsl(primaryColor) : primaryColor;
|
|
177
|
-
// Extract the HSL components
|
|
178
|
-
const [h, s, l] = hslColor.split(' ').map((val, index) => {
|
|
179
|
-
if (index === 0) return parseInt(val, 10);
|
|
180
|
-
return parseInt(val.replace('%', ''), 10);
|
|
181
|
-
});
|
|
182
|
-
// Generate a palette with different lightness values
|
|
183
|
-
const palette = {};
|
|
184
|
-
// Create 11 shades from 50 to 950
|
|
185
|
-
[50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950].forEach((shade, index) => {
|
|
186
|
-
// Adjust lightness based on shade (lighter for lower numbers)
|
|
187
|
-
// For example: 50 → 95% lightness, 950 → 10% lightness
|
|
188
|
-
const adjustedLightness = Math.min(98, Math.max(10, 100 - index * 9));
|
|
189
|
-
palette[shade] = `${h} ${s}% ${adjustedLightness}%`;
|
|
190
|
-
});
|
|
191
|
-
return palette;
|
|
192
|
-
}export{applyTheme,generateColorPalette,hexToHsl,hslToHex};//# sourceMappingURL=themeUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"themeUtils.js","sources":["../../../src/components/ThemeProvider/themeUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|