import { CSSProperties, FC, useState } from 'react'; import { ConfirmModal, SliderField } from '../components'; import { gamepadSliderClasses } from '../utils/static-classes'; interface ColorPickerModalProps { closeModal: () => void; onConfirm?(HSLString: string): any; title?: string; defaultH?: number; defaultS?: number; defaultL?: number; defaultA?: number; } export const ColorPickerModal: FC = ({ closeModal, onConfirm = () => {}, title = 'Color Picker', defaultH = 0, defaultS = 100, defaultL = 50, defaultA = 1, }) => { const [H, setH] = useState(defaultH); const [S, setS] = useState(defaultS); const [L, setL] = useState(defaultL); const [A, setA] = useState(defaultA); const colorPickerCSSVars = { '--decky-color-picker-hvalue': `${H}`, '--decky-color-picker-svalue': `${S}%`, '--decky-color-picker-lvalue': `${L}%`, '--decky-color-picker-avalue': `${A}`, } as CSSProperties; return ( { onConfirm(`hsla(${H}, ${S}%, ${L}%, ${A})`); closeModal(); }} >
{title}
); };