-
Notifications
You must be signed in to change notification settings - Fork 86
Expand file tree
/
Copy pathBreadCrumbs.js
More file actions
48 lines (41 loc) · 1.08 KB
/
BreadCrumbs.js
File metadata and controls
48 lines (41 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import React from 'react';
import PropTypes from 'prop-types';
import classnames from 'classnames';
export const Crumb = ({ className, href, children, ...props }) => {
const text = children;
const cClassName = classnames(
'slds-list__item slds-text-heading--label',
className
);
return (
<li { ...props } className={ cClassName }>
<a href={ href }>{ text }</a>
</li>
);
};
Crumb.propTypes = {
href: PropTypes.string,
className: PropTypes.string,
children: PropTypes.node,
};
const BreadCrumbs = ({ label, className, children, ...props }) => {
const oClassName = classnames(
'slds-breadcrumb slds-list--horizontal',
className
);
return (
<nav { ...props } role='navigation'>
{label ?
<p id='bread-crumb-label' className='slds-assistive-text'>{ label }</p> : null}
<ol className={ oClassName } aria-labelledby='bread-crumb-label'>
{ children }
</ol>
</nav>
);
};
BreadCrumbs.propTypes = {
label: PropTypes.string,
className: PropTypes.string,
children: PropTypes.node,
};
export default BreadCrumbs;