grungnet/src/components/SizeInput.js

57 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-04-06 21:47:06 -04:00
import React from "react";
2020-04-06 22:05:30 -04:00
import { Box, Flex, IconButton, Text } from "theme-ui";
2020-04-06 21:47:06 -04:00
function SizeInput({ value, onChange }) {
return (
<Box>
<Text sx={{ textAlign: "center" }} variant="heading" as="h1">
2020-04-06 21:47:06 -04:00
Size
</Text>
<Flex sx={{ alignItems: "center", justifyContent: "center" }}>
<IconButton
aria-label="Lower Token Size"
title="Lower Token Size"
2020-04-06 21:47:06 -04:00
onClick={() => value > 1 && onChange(value - 1)}
>
<svg
xmlns="http://www.w3.org/2000/svg"
height="24"
viewBox="0 0 24 24"
width="24"
fill="currentcolor"
>
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M18 13H6c-.55 0-1-.45-1-1s.45-1 1-1h12c.55 0 1 .45 1 1s-.45 1-1 1z" />
</svg>
</IconButton>
<Text as="p" aria-label="Current Token Size">
{value}
</Text>
2020-04-06 21:47:06 -04:00
<IconButton
aria-label="Increase Token Size"
title="Increase Token Size"
2020-04-06 21:47:06 -04:00
onClick={() => onChange(value + 1)}
>
<svg
xmlns="http://www.w3.org/2000/svg"
height="24"
viewBox="0 0 24 24"
width="24"
fill="currentcolor"
>
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1z" />
</svg>
</IconButton>
</Flex>
</Box>
);
}
SizeInput.defaultProps = {
value: 1,
onChange: () => {},
};
export default SizeInput;