* Filter search by collectionId
* Improve spec, remove recursive import
* Add userId filter for documents.search
* 💚
* Search filter UI
* WIP UI
* Date filtering
Prevent dupe menu
* Refactor
* button
* Added year option, improved hover states
* Add new indexes
* Remove manual string interpolation in SQL construction
* Move dateFilter validation to controller
* Fixes: Double query when changing filter
Fixes: Visual jump between filters in dropdown
* Add option to clear filters
* More clearly define dropdowns in dark mode
* Checkbox -> Checkmark
51 lines
1.0 KiB
JavaScript
51 lines
1.0 KiB
JavaScript
// @flow
|
|
import * as React from 'react';
|
|
import styled from 'styled-components';
|
|
import HelpText from 'components/HelpText';
|
|
|
|
export type Props = {
|
|
checked?: boolean,
|
|
label?: string,
|
|
className?: string,
|
|
note?: string,
|
|
small?: boolean,
|
|
};
|
|
|
|
const LabelText = styled.span`
|
|
font-weight: 500;
|
|
margin-left: ${props => (props.small ? '6px' : '10px')};
|
|
${props => (props.small ? `color: ${props.theme.textSecondary}` : '')};
|
|
`;
|
|
|
|
const Wrapper = styled.div`
|
|
padding-bottom: 8px;
|
|
${props => (props.small ? 'font-size: 14px' : '')};
|
|
`;
|
|
|
|
const Label = styled.label`
|
|
display: flex;
|
|
align-items: center;
|
|
user-select: none;
|
|
`;
|
|
|
|
export default function Checkbox({
|
|
label,
|
|
note,
|
|
className,
|
|
small,
|
|
short,
|
|
...rest
|
|
}: Props) {
|
|
return (
|
|
<React.Fragment>
|
|
<Wrapper small={small}>
|
|
<Label>
|
|
<input type="checkbox" {...rest} />
|
|
{label && <LabelText small={small}>{label}</LabelText>}
|
|
</Label>
|
|
{note && <HelpText small>{note}</HelpText>}
|
|
</Wrapper>
|
|
</React.Fragment>
|
|
);
|
|
}
|