import { useReactFlow } from "@xyflow/react"; import { useState } from "react"; // @ts-ignore import Palette from "~icons/tabler/palette-filled.jsx"; // @ts-ignore import Square from "~icons/tabler/square-filled.jsx"; import Tooltip from "../../Tooltip.tsx"; import { COLORS } from "../../common.ts"; export default function Group(props: any) { const reactFlow = useReactFlow(); const [displayingColorPicker, setDisplayingColorPicker] = useState(false); function setColor(newValue: string) { reactFlow.updateNodeData(props.id, (prevData: any) => ({ ...prevData, params: { color: newValue }, })); setDisplayingColorPicker(false); } function toggleColorPicker(e: React.MouseEvent) { e.stopPropagation(); setDisplayingColorPicker(!displayingColorPicker); } const currentColor = props.data?.params?.color || "gray"; return (
{displayingColorPicker && }
); } function ColorPicker(props: { currentColor: string; onPick: (color: string) => void }) { const colors = Object.keys(COLORS).filter((color) => color !== props.currentColor); return (
{colors.map((color) => ( ))}
); }