1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
import React from 'react'
import { Text, Flex, IconButton } from '@chakra-ui/react'
import {
BiAlignJustify,
BiAlignLeft,
BiAlignMiddle,
BiAlignRight,
BiFont,
BiRightIndent,
} from 'react-icons/bi'
import { ChevronLeftIcon, ChevronRightIcon } from '@chakra-ui/icons'
export interface ToolbarProps {
setJustification: any
justification: number
setIndent: any
setFont: any
}
export const Toolbar = (props: ToolbarProps) => {
const { setJustification, setIndent, setFont, justification } = props
return (
<Flex py={3} alignItems="center" justifyContent="space-between" pr={4}>
<Flex>
<IconButton variant="ghost" icon={<ChevronLeftIcon />} aria-label="Previous node" />
<IconButton variant="ghost" icon={<ChevronRightIcon />} aria-label="Previous node" />
</Flex>
<Flex>
<IconButton
variant="ghost"
aria-label="Justify content"
icon={
[
<BiAlignJustify key="justify" />,
<BiAlignLeft key="left" />,
<BiAlignRight key="right" />,
<BiAlignMiddle key="center" />,
][justification]
}
onClick={() => setJustification((curr: number) => (curr + 1) % 4)}
/>
<IconButton
variant="ghost"
aria-label="Indent Text"
icon={<BiRightIndent />}
onClick={() => {
setIndent((curr: number) => (curr ? 0 : 1))
}}
/>
<IconButton
variant="ghost"
aria-label="Change font"
icon={<BiFont />}
onClick={() => {
setFont((curr: string) => (curr === 'sans serif' ? 'serif' : 'sans serif'))
}}
/>
</Flex>
</Flex>
)
}
|