Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import React from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { MEDIA_QUERIES } from '@govuk-react/constants';
// Label to be linked to checkbox in parent component
// in order to provide toggle function of mobile menu
// when javascript is not present.
const Button = styled('label')({
display: 'flex',
alignItems: 'center',
[MEDIA_QUERIES.LARGESCREEN]: {
display: 'none',
},
});
const ButtonText = styled('div')({
cursor: 'default',
':hover': {
textDecoration: 'underline',
},
});
const ButtonIcon = styled('div')(({ open }) => ({
content: '""',
display: 'inline-block',
width: '0',
height: '0',
marginRight: errorText ? SPACING.SCALE_3 : undefined,
paddingLeft: errorText ? SPACING.SCALE_2 : undefined,
}),
);
const StyledInput = styled('input')(
{
boxSizing: 'border-box',
fontFamily: NTA_LIGHT,
WebkitFontSmoothing: 'antialiased',
MozOsxFontSmoothing: 'grayscale',
fontWeight: 400,
textTransform: 'none',
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_19,
lineHeight: LINE_HEIGHT.SIZE_19,
},
width: '100%',
padding: '5px 4px 4px',
border: `2px solid ${BLACK}`,
':focus': {
outline: `3px solid ${YELLOW}`,
outlineOffset: 0,
},
},
({ errorText }) => ({
border: errorText ? `4px solid ${ERROR_COLOUR}` : `2px solid ${BLACK}`,
}),
);
import styled from 'styled-components';
import { BLUE } from 'govuk-colours';
import { MEDIA_QUERIES, SPACING } from '@govuk-react/constants';
const BottomNavWrapper = styled('div')({
borderBottom: `10px solid ${BLUE}`,
maxWidth: '960px',
margin: '0 auto',
width: `calc(100% - ${SPACING.SCALE_5})`,
[MEDIA_QUERIES.LARGESCREEN]: {
width: `calc(100% - ${SPACING.SCALE_6})`,
},
});
export default BottomNavWrapper;
const TopNavWrapper = styled('div')(({ bgColor, color }) => ({
display: 'flex',
justifyContent: 'center',
backgroundColor: bgColor,
color,
fontFamily: NTA_LIGHT,
fontWeight: 400,
fontSize: FONT_SIZE.SIZE_14,
lineHeight: LINE_HEIGHT.SIZE_14,
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
},
}));
import styled from 'styled-components';
import PropTypes from 'prop-types';
import { MEDIA_QUERIES, SPACING_POINTS } from '@govuk-react/constants';
import { spacing, typography } from '@govuk-react/lib';
const StyledList = styled('ul')(
typography.font({ size: 19 }),
{
boxSizing: 'border-box',
display: 'flex',
flexDirection: 'column',
marginTop: SPACING_POINTS[5],
padding: SPACING_POINTS[2],
justifyContent: 'space-between',
width: '100%',
[MEDIA_QUERIES.LARGESCREEN]: {
flexDirection: 'row',
},
},
spacing.withWhiteSpace({ marginBottom: 6 })
);
/**
*
* ### Usage
*
* Simple usage with `asPaginationItem` HOC
* ```jsx
* import { asPaginationItem } from '@govuk-react/hoc';
*
* const PaginationAnchor = asPaginationItem('a');
*
import styled from 'styled-components';
import { MEDIA_QUERIES, SPACING } from '@govuk-react/constants';
const SearchWrapper = styled('div')({
marginTop: SPACING.SCALE_1,
width: '50%',
minWidth: '110px',
[MEDIA_QUERIES.LARGESCREEN]: {
width: '100%',
},
});
export default SearchWrapper;
LINE_HEIGHT,
MEDIA_QUERIES,
NTA_LIGHT,
} from '@govuk-react/constants';
const StyledInput = styled('input')(
{
boxSizing: 'border-box',
fontFamily: NTA_LIGHT,
WebkitFontSmoothing: 'antialiased',
MozOsxFontSmoothing: 'grayscale',
fontWeight: 400,
textTransform: 'none',
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_19,
lineHeight: LINE_HEIGHT.SIZE_19,
width: '50%',
},
width: '100%',
padding: '5px 4px 4px',
border: `2px solid ${BLACK}`,
':focus': {
outline: `3px solid ${YELLOW}`,
outlineOffset: 0,
},
},
({ error, errorColor }) => ({
border: error ? `4px solid ${errorColor || ERROR_COLOUR}` : undefined,
}),
);
import styled from 'styled-components';
import { MEDIA_QUERIES, SPACING } from '@govuk-react/constants';
const LogoSearchWrapper = styled('div')({
display: 'flex',
justifyContent: 'space-between',
[MEDIA_QUERIES.LARGESCREEN]: {
display: 'block',
paddingRight: SPACING.SCALE_3,
width: '33.33%',
},
});
export default LogoSearchWrapper;
import styled from 'styled-components';
import { PROPOSITION_BORDER } from 'govuk-colours';
import { MEDIA_QUERIES, SPACING } from '@govuk-react/constants';
const Li = styled('li')({
flex: '1 0 50%',
width: '100%',
listStyleType: 'none',
margin: 0,
padding: '3px 0',
borderBottom: `1px solid ${PROPOSITION_BORDER}`,
[MEDIA_QUERIES.LARGESCREEN]: {
borderBottom: 0,
flex: 'none',
width: 'auto',
paddingRight: SPACING.SCALE_3,
},
});
export default Li;
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import { BLUE } from 'govuk-colours';
import { FONT_SIZE, LINE_HEIGHT, MEDIA_QUERIES, SPACING } from '@govuk-react/constants';
import { spacing } from '@govuk-react/lib';
const StyledRelatedItems = styled('div')(
{
borderTop: `10px solid ${BLUE}`,
paddingTop: SPACING.SCALE_1,
width: '100%',
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
},
'> h3': {
marginBottom: SPACING.SCALE_2,
},
'> ul': {
marginBottom: SPACING.SCALE_4,
'> li': {
marginBottom: `calc(${SPACING.SCALE_2} + 2px)`,
},
},
},
spacing.withWhiteSpace({ marginBottom: 0 })
);