tailwindcss-palette-generator
Version:
Color palette generation library for TailwindCSS.
51 lines • 1.66 kB
JavaScript
import { initialOptions } from "./consts.js";
import generateColorPalette from "./generateColorPalette.js";
import PaletteError from "./palette-error.js";
import { checkParam, getHexColor, isValidColor } from "./utils.js";
const getPalette = (params) => {
const palette = {};
if (!params) {
throw new PaletteError("Please provide a valid palette configuration.");
}
const getColorOptions = (colorPalette) => {
const { color, shade, shades } = colorPalette;
return {
mainShade: shade ?? initialOptions.mainShade,
primaryColor: getHexColor(color),
shades: shades ?? initialOptions.shades
};
};
const addPalette = (name, options) => {
palette[name] = generateColorPalette(options);
};
if (Array.isArray(params)) {
for (const colorPalette of params) {
if (checkParam(colorPalette)) {
const options = getColorOptions(colorPalette);
addPalette(colorPalette.name, options);
}
}
} else if (typeof params === "object" && params !== null) {
if (checkParam(params)) {
const options = getColorOptions(params);
addPalette(params.name, options);
}
} else if (typeof params === "string") {
if (!isValidColor(params)) {
throw new PaletteError(`Invalid color: '${params}'. Please provide a valid color.`);
}
const options = {
mainShade: initialOptions.mainShade,
primaryColor: getHexColor(params),
shades: initialOptions.shades
};
addPalette("primary", options);
}
return palette;
};
var getPalette_default = getPalette;
export {
getPalette_default as default,
getPalette
};
//# sourceMappingURL=getPalette.js.map