import React, {useLayoutEffect, useState} from "react"; import {randId} from "../../Helpers/random"; import iro from "@jaames/iro"; function BrightnessSlider({brightness, onChange}) { const [random] = useState(randId()); useLayoutEffect(() => { const colorPicker = new iro.ColorPicker("#brightness-picker-" + random, { color: `rgb(${brightness}, ${brightness}, ${brightness})`, layout: [ { component: iro.ui.Slider, options: { borderColor: '#888' } } ], }); colorPicker.on("input:end", color => { onChange(color.rgb.r); }); return () => { const elem = document.getElementById(`brightness-picker-${random}`); if (elem === null) { return; } elem.innerHTML = ""; }; }, [brightness]); return (
); } export default BrightnessSlider;