import React from "react" import { Block } from "baseui/block" import { HexColorPicker } from "react-colorful" import Common from "./Common" import { useActiveObject } from "@layerhub-io/react" import { groupBy } from "lodash" import { PLACEMENT, StatefulPopover } from "baseui/popover" import Flip from "./Shared/Flip" import { SketchPicker, CompactPicker, SwatchesPicker } from 'react-color' import { colors } from '~/constants/colors' const PRESET_COLORS = colors export default function (props) { const { has_common = false, has_toolbox = false } = props const [state, setState] = React.useState({ colors: [], colorMap: {} }) const vectorPaths = React.useRef({}) const activeObject = useActiveObject() as any React.useEffect(() => { if (activeObject && activeObject.type === "StaticVector") { const objects = activeObject._objects[0]._objects const objectColors = groupBy(objects, "fill") vectorPaths.current = objectColors setState({ ...state, colors: Object.keys(objectColors), colorMap: activeObject.colorMap }) } }, [activeObject]) const changeBackgroundColor = (prev: string, next: string) => { const objectRef = activeObject objectRef.updateLayerColor(prev, next) setState({ ...state, colorMap: { ...state.colorMap, [prev]: next, }, }) } return ( { has_toolbox && ( {Object.keys(state.colorMap).map((c, index) => { return ( { changeBackgroundColor(c, color.hex) }} /> changeBackgroundColor(c, color)} /> {/* { changeBackgroundColor(c, color.hex) }} /> */} } accessibilityType={"tooltip"} >
) })}
) } { has_common && }
) }