mirror of
https://github.com/billsonnn/nitro-react.git
synced 2025-01-18 21:36:27 +01:00
add css color generator
This commit is contained in:
parent
097912ec57
commit
eb605e8c29
49
css-utils/CSSColorUtils.js
Normal file
49
css-utils/CSSColorUtils.js
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
const lightenHexColor = (hex, percent) =>
|
||||||
|
{
|
||||||
|
// Remove the hash symbol if present
|
||||||
|
hex = hex.replace(/^#/, '');
|
||||||
|
|
||||||
|
// Convert hex to RGB
|
||||||
|
let r = parseInt(hex.substring(0, 2), 16);
|
||||||
|
let g = parseInt(hex.substring(2, 4), 16);
|
||||||
|
let b = parseInt(hex.substring(4, 6), 16);
|
||||||
|
|
||||||
|
// Adjust RGB values
|
||||||
|
r = Math.round(Math.min(255, r + 255 * percent));
|
||||||
|
g = Math.round(Math.min(255, g + 255 * percent));
|
||||||
|
b = Math.round(Math.min(255, b + 255 * percent));
|
||||||
|
|
||||||
|
// Convert RGB back to hex
|
||||||
|
const result = ((r << 16) | (g << 8) | b).toString(16);
|
||||||
|
|
||||||
|
// Make sure result has 6 digits
|
||||||
|
return '#' + result.padStart(6, '0');
|
||||||
|
}
|
||||||
|
|
||||||
|
const generateShades = (colors) =>
|
||||||
|
{
|
||||||
|
for (let color in colors)
|
||||||
|
{
|
||||||
|
let hex = colors[color]
|
||||||
|
let extended = {}
|
||||||
|
const shades = [ 50, 100, 200, 300, 400, 500, 600, 700, 900, 950 ];
|
||||||
|
|
||||||
|
for (let i = 0; i < shades.length; i++)
|
||||||
|
{
|
||||||
|
let shade = shades[i];
|
||||||
|
extended[shade] = lightenHexColor(hex, shades[(shades.length - 1 - i) ] / 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
colors[color] = {
|
||||||
|
DEFAULT: hex,
|
||||||
|
...extended
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return colors;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
generateShades,
|
||||||
|
lightenHexColor
|
||||||
|
}
|
@ -1,19 +1,23 @@
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
|
||||||
|
const { generateShades } = require('./css-utils/CSSColorUtils');
|
||||||
|
|
||||||
const colors = {
|
const colors = {
|
||||||
'toolbar': 'rgba(28, 28, 32, .95)'
|
'toolbar': '#555555',
|
||||||
};
|
};
|
||||||
|
|
||||||
const boxShadow = {
|
const boxShadow = {
|
||||||
|
'inner1px': 'inset 0 0 0 1px rgba(255,255,255,.3)'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
fontFamily: {
|
fontFamily: {
|
||||||
sans: [ 'Ubuntu', 'sans-serif' ],
|
sans: [ 'Ubuntu', 'sans-serif' ],
|
||||||
},
|
},
|
||||||
colors,
|
colors: generateShades(colors),
|
||||||
boxShadow,
|
boxShadow,
|
||||||
height: {
|
height: {
|
||||||
'toolbar': '55px'
|
'toolbar': '55px'
|
||||||
|
Loading…
Reference in New Issue
Block a user