import FocusTrap from 'focus-trap-react'; import { Box, Button, config, Menu, PopOut, RectCords, Text } from 'folds'; import React, { MouseEventHandler, ReactNode, useState } from 'react'; import { stopPropagation } from '../utils/keyboard'; type HexColorPickerPopOutProps = { children: (onOpen: MouseEventHandler, opened: boolean) => ReactNode; picker: ReactNode; onRemove?: () => void; }; export function HexColorPickerPopOut({ picker, onRemove, children }: HexColorPickerPopOutProps) { const [cords, setCords] = useState(); const handleOpen: MouseEventHandler = (evt) => { setCords(evt.currentTarget.getBoundingClientRect()); }; return ( setCords(undefined), clickOutsideDeactivates: true, escapeDeactivates: stopPropagation, }} > {picker} {onRemove && ( )} } > {children(handleOpen, !!cords)} ); }