ndla-ui
Version:
UI component library for NDLA.
51 lines (45 loc) • 1.17 kB
JSX
/**
* Copyright (c) 2016-present, NDLA.
*
* This source code is licensed under the GPLv3 license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import React from 'react';
import PropTypes from 'prop-types';
import BEMHelper from 'react-bem-helper';
import { uuid } from 'ndla-util';
import { Home } from 'ndla-icons/common';
import BreadcrumbItem from './BreadcrumbItem';
const classes = BEMHelper({
name: 'breadcrumb',
prefix: 'c-',
});
const Breadcrumb = ({ children, items }) => (
<div {...classes()}>
{children}
<ol {...classes('list')}>
{items.map((item, i) => (
<BreadcrumbItem
classes={classes}
home={i === 0}
key={uuid()}
isCurrent={i === items.length - 1}
to={item.to}
name={item.name}>
{i === 0 ? <Home className="c-icon--20" /> : item.name}
</BreadcrumbItem>
))}
</ol>
</div>
);
Breadcrumb.propTypes = {
children: PropTypes.node,
items: PropTypes.arrayOf(
PropTypes.shape({
to: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
}),
),
};
export default Breadcrumb;