ndla-ui
Version:
UI component library for NDLA.
45 lines (37 loc) • 1.05 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import BEMHelper from 'react-bem-helper';
import { breakpoints } from 'ndla-util';
import OneColumn from '../Layout/OneColumn';
const classes = BEMHelper('c-subject-header');
const SubjectHeader = ({ images, heading }) => (
<header {...classes()}>
{images &&
images.map(image =>
image.types.map(type => (
<div
key={`${image.url}${type}`}
{...classes('background', type)}
style={{ backgroundImage: `url(${image.url})` }}
/>
)),
)}
<OneColumn noPadding>
<h1 {...classes('heading')}>{heading}</h1>
</OneColumn>
</header>
);
SubjectHeader.propTypes = {
images: PropTypes.arrayOf(
PropTypes.shape({
url: PropTypes.string.isRequired,
types: PropTypes.arrayOf(PropTypes.oneOf(Object.keys(breakpoints)))
.isRequired,
}),
),
heading: PropTypes.string.isRequired,
};
SubjectHeader.defaultProps = {
images: null,
};
export default SubjectHeader;