16 - Color Palette Generator
Previous15 - Contact Form with Email and Message ValidationNext17 - Drag-and-Drop Feature for Rearranging Items
Last updated
Last updated
import React, { useState } from 'react';
import chroma from 'chroma-js';
function ColorPaletteGenerator() {
const [paletteSize, setPaletteSize] = useState(5);
const [colors, setColors] = useState([]);
const generatePalette = () => {
const colors = [];
for (let i = 0; i < paletteSize; i++) {
colors.push(chroma.random().hex());
}
setColors(colors);
};
const copyColors = () => {
const colorCodes = colors.join(', ');
navigator.clipboard.writeText(colorCodes);
};
return (
<div>
<input
type="number"
value={paletteSize}
onChange={(event) => setPaletteSize(event.target.value)}
/>
<button onClick={generatePalette}>Generate Palette</button>
<div>
{colors.map((color) => (
<div
style={{ backgroundColor: color, width: 50, height: 50 }}
/>
))}
</div>
<button onClick={copyColors}>Copy Color Codes</button>
</div>
);
}
export default ColorPaletteGenerator;