import React, { useRef, useState } from 'react'; import { BoxSize, SilkeBox } from '../silke-box'; import { SilkeButtonProps } from '../silke-button'; import { useButtonContext } from '../silke-button/context'; import { SilkeColorSwatchButton } from '../silke-color-swatches'; import { PopoverOrigin, SilkePopover } from '../silke-popover'; import { SilkeColorPicker, SilkeColorPickerProps } from './silke-color-picker'; type SilkeColorPickerButtonProps = { anchorOrigin?: PopoverOrigin; targetOrigin?: PopoverOrigin; children?: React.ReactNode; } & SilkeColorPickerProps & Omit; export function SilkeColorPickerButton({ value, children, hideSwatches, hidePalettes, noVariables, onChange, anchorOrigin, targetOrigin, size, noTransparency, ...rest }: SilkeColorPickerButtonProps) { const context = useButtonContext(); const ref = useRef(null); const [open, setOpen] = useState(false); const buttonSize = size || context.size || 'base'; return ( <> setOpen(true)} /> {open && ( setOpen(false)} > {children} )} ); }