fix: rebase issues and code style
This commit is contained in:
parent
703c5d7c91
commit
c100c11a2f
20 changed files with 28 additions and 419 deletions
60
new-lamassu-admin/src/components/inputs/base/Select.js
Normal file
60
new-lamassu-admin/src/components/inputs/base/Select.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import React from 'react'
|
||||
import { useSelect } from 'downshift'
|
||||
import { startCase } from 'lodash/fp'
|
||||
import classnames from 'classnames'
|
||||
|
||||
import { ReactComponent as Arrowdown } from '../../styling/icons/action/arrow/regular.svg'
|
||||
|
||||
import styles from './Select.styles'
|
||||
import { makeStyles } from '@material-ui/core/styles'
|
||||
|
||||
const useStyles = makeStyles(styles)
|
||||
|
||||
function Select ({ label, items, ...props }) {
|
||||
const classes = useStyles()
|
||||
|
||||
const {
|
||||
isOpen,
|
||||
selectedItem,
|
||||
getToggleButtonProps,
|
||||
getLabelProps,
|
||||
getMenuProps,
|
||||
getItemProps
|
||||
} = useSelect({
|
||||
items,
|
||||
selectedItem: props.selectedItem,
|
||||
onSelectedItemChange: item => {
|
||||
props.onSelectedItemChange(item.selectedItem)
|
||||
}
|
||||
})
|
||||
|
||||
const selectClassNames = {
|
||||
[classes.select]: true,
|
||||
[classes.selectFiltered]: selectedItem !== props.default,
|
||||
[classes.open]: isOpen
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={classnames(selectClassNames)}>
|
||||
<label {...getLabelProps()}>{startCase(label)}</label>
|
||||
<button
|
||||
{...getToggleButtonProps()}
|
||||
>
|
||||
{startCase(selectedItem)} <Arrowdown />
|
||||
</button>
|
||||
<ul {...getMenuProps()}>
|
||||
{isOpen &&
|
||||
items.map((item, index) => (
|
||||
<li
|
||||
key={`${item}${index}`}
|
||||
{...getItemProps({ item, index })}
|
||||
>
|
||||
{startCase(item)}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Select
|
||||
Loading…
Add table
Add a link
Reference in a new issue