2020-04-27 17:29:46 +10:00
|
|
|
import React from "react";
|
|
|
|
|
import { Flex } from "theme-ui";
|
|
|
|
|
|
|
|
|
|
import ColorControl from "./ColorControl";
|
|
|
|
|
import AlphaBlendToggle from "./AlphaBlendToggle";
|
|
|
|
|
import GridSnappingToggle from "./GridSnappingToggle";
|
|
|
|
|
import RadioIconButton from "./RadioIconButton";
|
|
|
|
|
|
|
|
|
|
import ShapeRectangleIcon from "../../../icons/ShapeRectangleIcon";
|
|
|
|
|
import ShapeCircleIcon from "../../../icons/ShapeCircleIcon";
|
|
|
|
|
import ShapeTriangleIcon from "../../../icons/ShapeTriangleIcon";
|
|
|
|
|
|
|
|
|
|
import Divider from "./Divider";
|
|
|
|
|
|
|
|
|
|
function ShapeToolSettings({ settings, onSettingChange }) {
|
|
|
|
|
return (
|
|
|
|
|
<Flex sx={{ alignItems: "center" }}>
|
|
|
|
|
<ColorControl
|
|
|
|
|
color={settings.color}
|
|
|
|
|
onColorChange={(color) => onSettingChange({ color })}
|
|
|
|
|
/>
|
|
|
|
|
<Divider vertical />
|
|
|
|
|
<RadioIconButton
|
|
|
|
|
title="Shape Type Rectangle"
|
|
|
|
|
onClick={() => onSettingChange({ type: "rectangle" })}
|
|
|
|
|
isSelected={settings.type === "rectangle"}
|
|
|
|
|
>
|
|
|
|
|
<ShapeRectangleIcon />
|
|
|
|
|
</RadioIconButton>
|
|
|
|
|
<RadioIconButton
|
|
|
|
|
title="Shape Type Circle"
|
|
|
|
|
onClick={() => onSettingChange({ type: "circle" })}
|
2020-04-27 21:39:21 +10:00
|
|
|
isSelected={settings.type === "circle"}
|
2020-04-27 17:29:46 +10:00
|
|
|
>
|
2020-04-27 21:39:21 +10:00
|
|
|
<ShapeCircleIcon />
|
2020-04-27 17:29:46 +10:00
|
|
|
</RadioIconButton>
|
|
|
|
|
<RadioIconButton
|
|
|
|
|
title="Shape Type Triangle"
|
|
|
|
|
onClick={() => onSettingChange({ type: "triangle" })}
|
|
|
|
|
isSelected={settings.type === "triangle"}
|
|
|
|
|
>
|
2020-04-27 21:39:21 +10:00
|
|
|
<ShapeTriangleIcon />
|
2020-04-27 17:29:46 +10:00
|
|
|
</RadioIconButton>
|
|
|
|
|
<Divider vertical />
|
|
|
|
|
<AlphaBlendToggle
|
|
|
|
|
useBlending={settings.useBlending}
|
|
|
|
|
onBlendingChange={(useBlending) => onSettingChange({ useBlending })}
|
|
|
|
|
/>
|
|
|
|
|
<GridSnappingToggle
|
|
|
|
|
useGridSnapping={settings.useGridSnapping}
|
|
|
|
|
onGridSnappingChange={(useGridSnapping) =>
|
|
|
|
|
onSettingChange({ useGridSnapping })
|
|
|
|
|
}
|
|
|
|
|
/>
|
|
|
|
|
</Flex>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default ShapeToolSettings;
|