@pubsweet/ui
Version:
React component library for use in pubsweet apps
68 lines (55 loc) • 1.42 kB
JavaScript
import React from 'react'
import PropTypes from 'prop-types'
import styled from 'styled-components'
import { AlignmentBoxWithLabel } from '../molecules'
const mainGrey = '#666'
const Root = styled.div`
display: flex;
margin-left: auto;
`
const MiddleLine = styled.div`
background-color: ${mainGrey};
height: 40px;
width: 1px;
`
const AlignmentTool = ({ data, onClickAlignmentBox }) => {
const onClick = event => {
const { id } = event.currentTarget
onClickAlignmentBox(id)
}
const leftData = data[0]
const rightData = data[1]
const noBorderRight = { right: true }
const noBorderLeft = { left: true }
return (
<Root>
<AlignmentBoxWithLabel
active={leftData.active}
id={leftData.id}
labelText={leftData.label}
noBorder={noBorderRight}
onClick={onClick}
/>
<MiddleLine />
<AlignmentBoxWithLabel
active={rightData.active}
id={rightData.id}
labelPositionRight
labelText={rightData.label}
noBorder={noBorderLeft}
onClick={onClick}
/>
</Root>
)
}
AlignmentTool.propTypes = {
data: PropTypes.arrayOf(
PropTypes.shape({
active: PropTypes.bool.isRequired,
id: PropTypes.string.isRequired,
label: PropTypes.string.isRequired,
}),
).isRequired,
onClickAlignmentBox: PropTypes.func.isRequired,
}
export default AlignmentTool