Skip to content
This repository was archived by the owner on Jun 3, 2020. It is now read-only.

Commit f6f3e9e

Browse files
committed
Added ability for root element to be either non-semantic html (div) or semantic html (nav).
1 parent 12b2baa commit f6f3e9e

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

dist-modules/sidebar.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,14 +363,24 @@ var Sidebar = function (_Component) {
363363
}
364364
}
365365

366+
var sideBar = this.props.sideBarElement === 'nav' ? _react2.default.createElement(
367+
'nav',
368+
{ className: this.props.sidebarClassName,
369+
style: sidebarStyle,
370+
ref: this.saveSidebarRef },
371+
this.props.sidebar
372+
) : _react2.default.createElement(
373+
'div',
374+
{ className: this.props.sidebarClassName,
375+
style: sidebarStyle,
376+
ref: this.saveSidebarRef },
377+
this.props.sidebar
378+
);
379+
366380
return _react2.default.createElement(
367381
'div',
368382
rootProps,
369-
_react2.default.createElement(
370-
'div',
371-
{ className: this.props.sidebarClassName, style: sidebarStyle, ref: this.saveSidebarRef },
372-
this.props.sidebar
373-
),
383+
sideBar,
374384
_react2.default.createElement('div', { className: this.props.overlayClassName,
375385
style: overlayStyle,
376386
role: 'presentation',
@@ -439,6 +449,9 @@ Sidebar.propTypes = {
439449
// Enable/Disable sidebar shadow
440450
shadow: _propTypes2.default.bool,
441451

452+
// if an element other than 'div' is to be rendered as the sidebar root.
453+
sideBarElement: _propTypes2.default.string,
454+
442455
// distance we have to drag the sidebar to toggle open state
443456
dragToggleDistance: _propTypes2.default.number,
444457

@@ -457,6 +470,7 @@ Sidebar.defaultProps = {
457470
touchHandleWidth: 20,
458471
pullRight: false,
459472
shadow: true,
473+
sidebarElement: 'div',
460474
dragToggleDistance: 30,
461475
onSetOpen: function onSetOpen() {},
462476
styles: {},

src/sidebar.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,11 +317,23 @@ class Sidebar extends Component {
317317
}
318318
}
319319

320+
const sideBar = this.props.sideBarElement === 'nav'
321+
? <nav className={this.props.sidebarClassName}
322+
style={sidebarStyle}
323+
ref={this.saveSidebarRef}>
324+
{this.props.sidebar}
325+
</nav>
326+
: <div className={this.props.sidebarClassName}
327+
style={sidebarStyle}
328+
ref={this.saveSidebarRef}>
329+
{this.props.sidebar}
330+
</div>;
331+
320332
return (
321333
<div {...rootProps}>
322-
<div className={this.props.sidebarClassName} style={sidebarStyle} ref={this.saveSidebarRef}>
323-
{this.props.sidebar}
324-
</div>
334+
335+
{sideBar}
336+
325337
<div className={this.props.overlayClassName}
326338
style={overlayStyle}
327339
role="presentation"
@@ -386,6 +398,9 @@ Sidebar.propTypes = {
386398
// Enable/Disable sidebar shadow
387399
shadow: PropTypes.bool,
388400

401+
// if an element other than 'div' is to be rendered as the sidebar root.
402+
sideBarElement: PropTypes.string,
403+
389404
// distance we have to drag the sidebar to toggle open state
390405
dragToggleDistance: PropTypes.number,
391406

@@ -404,6 +419,7 @@ Sidebar.defaultProps = {
404419
touchHandleWidth: 20,
405420
pullRight: false,
406421
shadow: true,
422+
sidebarElement: 'div',
407423
dragToggleDistance: 30,
408424
onSetOpen: () => {},
409425
styles: {},

0 commit comments

Comments
 (0)