import React from "react" import { Block } from "baseui/block" import { Input } from "baseui/input" import { Slider } from "baseui/slider" import { ILayer } from "@layerhub-io/types" import { StatefulPopover, PLACEMENT } from "baseui/popover" import { useActiveObject, useEditor } from "@layerhub-io/react" import { Button, SIZE, KIND } from "baseui/button" import OpacityIcon from "~/components/Icons/Opacity." export default function () { const editor = useEditor() const [state, setState] = React.useState({ opacity: 1 }) const activeObject = useActiveObject() as Required React.useEffect(() => { if (activeObject) { setState({ opacity: activeObject.opacity * 100 }) } }, [activeObject]) const onChange = React.useCallback( (value: number) => { setState({ opacity: value }) editor.objects.update({ opacity: value / 100 }) }, [editor] ) return ( ( Opacity {}} value={Math.round(state.opacity)} /> null, ThumbValue: () => null, TickBar: () => null, Track: { style: { paddingRight: 0, paddingLeft: 0, }, }, Thumb: { style: { height: "12px", width: "12px", }, }, }} min={0} max={100} marks={false} value={[state.opacity]} // @ts-ignore onChange={({ value }) => onChange(value)} /> )} > ) }