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 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 })
);
/**
import LabelText from '@govuk-react/label-text';
import ErrorText from '@govuk-react/error-text';
import HintText from '@govuk-react/hint-text';
import { FONT_SIZE, LINE_HEIGHT, NTA_LIGHT, MEDIA_QUERIES } 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_14,
lineHeight: LINE_HEIGHT.SIZE_14,
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
width: '50%',
},
width: '100%',
padding: '5px 4px 4px',
});
/**
*
* ### Usage
*
* Simple
* ```jsx
* Upload a document
* ```
*
({ errorText }) => ({
borderLeft: errorText ? `4px solid ${ERROR_COLOUR}` : undefined,
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}`,
}),
RESPONSIVE_4,
} from '@govuk-react/constants';
import { spacing } from '@govuk-react/lib';
const StyledErrorText = styled(Link)({
fontFamily: NTA_LIGHT,
WebkitFontSmoothing: 'antialiased',
MozOsxFontSmoothing: 'grayscale',
fontWeight: 700,
marginBottom: SPACING.SCALE_1,
textDecoration: 'underline',
textDecorationSkipInk: 'none',
textTransform: 'none',
cursor: 'pointer',
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
':visited': {
color: `${ERROR_COLOUR}`,
},
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_19,
lineHeight: LINE_HEIGHT.SIZE_19,
},
color: `${ERROR_COLOUR}`,
paddingTop: '4px',
paddingBottom: '2px',
});
const StyledErrorSummary = styled('div')(
{
color: TEXT_COLOUR,
import styled from 'styled-components';
import { BLACK, YELLOW, ERROR_COLOUR } from 'govuk-colours';
import { FONT_SIZE, LINE_HEIGHT, MEDIA_QUERIES, NTA_LIGHT } from '@govuk-react/constants';
import Label from '@govuk-react/label';
import LabelText from '@govuk-react/label-text';
import ErrorText from '@govuk-react/error-text';
import HintText from '@govuk-react/hint-text';
const TextAreaField = styled('textarea')(
{
boxSizing: 'border-box',
fontFamily: NTA_LIGHT,
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: '75%',
},
width: '100%',
padding: '5px 4px 4px',
border: `2px solid ${BLACK}`,
':focus': {
outline: `3px solid ${YELLOW}`,
outlineOffset: 0,
},
},
({ error }) => ({
border: error ? `4px solid ${ERROR_COLOUR}` : undefined,
display: 'inline-block',
margin: '0 8px 0 0',
padding: '2px 5px',
fontFamily: NTA_LIGHT,
fontWeight: 700,
fontSize: FONT_SIZE.SIZE_14,
lineHeight: LINE_HEIGHT.SIZE_14,
textTransform: 'uppercase',
letterSpacing: '1px',
textDecoration: 'none',
color: WHITE,
backgroundColor: BLUE,
WebkitFontMmoothing: 'antialiased',
MozOsxFontSmoothing: 'grayscale',
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
paddingBottom: 0,
},
});
/**
*
* ### Usage
*
* Simple
* ```jsx
* beta
* ```
*
* ### References:
* - https://govuk-elements.herokuapp.com/alpha-beta-banners/
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,
},
}));
},
}),
);
const InnerWrap = styled('div')({
display: 'flex',
alignItems: 'center',
width: '100%',
});
const PageTitle = styled('span')({
fontSize: FONT_SIZE.SIZE_14,
lineHeight: LINE_HEIGHT.SIZE_14,
textDecoration: 'underline',
[MEDIA_QUERIES.LARGESCREEN]: {
fontSize: FONT_SIZE.SIZE_16,
lineHeight: LINE_HEIGHT.SIZE_16,
},
});
const asPaginationItem = (AnchorType) => {
const PaginationItem = props => (
{props.previousPage && }
{props.children}
{props.nextPage && }
import {
FONT_SIZE,
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,