import React from "react" import { Button, SIZE, KIND } from "baseui/button" import { Block } from "baseui/block" import { StatefulTooltip, PLACEMENT } from "baseui/tooltip" import { useActiveObject, useEditor } from "@layerhub-io/react" import { StatefulPopover } from "baseui/popover" import DeleteIcon from "~/components/Icons/Delete" import LayersIcon from "~/components/Icons/Layers" import AlignCenter from "~/components/Icons/AlignCenter" import AlignLeft from "~/components/Icons/AlignLeft" import AlignRight from "~/components/Icons/AlignRight" import AlignTop from "~/components/Icons/AlignTop" import AlignMiddle from "~/components/Icons/AlignMiddle" import BringToFront from "~/components/Icons/BringToFront" import SendToBack from "~/components/Icons/SendToBack" import AlignBottom from "~/components/Icons/AlignBottom" export default function () { const [state, setState] = React.useState({ isGroup: false, isMultiple: false }) const activeObject = useActiveObject() as any const editor = useEditor() React.useEffect(() => { if (activeObject) { setState({ isGroup: activeObject.type === "group", isMultiple: activeObject.type === "activeSelection" }) } }, [activeObject]) React.useEffect(() => { let watcher = async () => { if (activeObject) { // @ts-ignore setState({ isGroup: activeObject.type === "group", isMultiple: activeObject.type === "activeSelection" }) } } if (editor) { editor.on("history:changed", watcher) } return () => { if (editor) { editor.off("history:changed", watcher) } } }, [editor, activeObject]) return ( {state.isGroup ? ( ) : state.isMultiple ? ( ) : null} {(state.isGroup || !state.isMultiple) && } ) } function CommonLayers() { const editor = useEditor() const [checked, setChecked] = React.useState(true) const activeObject = useActiveObject() React.useEffect(() => { if (activeObject) { // @ts-ignore setChecked(!!activeObject.clipPath) } }, [activeObject]) return ( ( )} returnFocus autoFocus > ) } function CommonAlign() { const editor = useEditor() return ( ( )} returnFocus autoFocus > ) }