Skip to content

Commit 0299693

Browse files
committed
Add customizable classnames for bar and container
1 parent 6082e0c commit 0299693

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/js/ScrollArea.jsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ export default class ScrollArea extends React.Component{
9797
onPositionChange={this.handleScrollbarYPositionChange.bind(this)}
9898
containerStyle={this.props.verticalContainerStyle}
9999
scrollbarStyle={this.props.verticalScrollbarStyle}
100+
className={this.props.scrollbarClassName}
101+
containerClassName={this.props.containerClassName}
100102
smoothScrolling={withMotion}
101103
minScrollSize={this.props.minScrollSize}
102104
type="vertical"/>
@@ -112,6 +114,8 @@ export default class ScrollArea extends React.Component{
112114
onPositionChange={this.handleScrollbarXPositionChange.bind(this)}
113115
containerStyle={this.props.horizontalContainerStyle}
114116
scrollbarStyle={this.props.horizontalScrollbarStyle}
117+
className={this.props.scrollbarClassName}
118+
containerClassName={this.props.containerClassName}
115119
smoothScrolling={withMotion}
116120
minScrollSize={this.props.minScrollSize}
117121
type="horizontal"/>
@@ -391,6 +395,8 @@ ScrollArea.propTypes = {
391395
style: React.PropTypes.object,
392396
speed: React.PropTypes.number,
393397
contentClassName: React.PropTypes.string,
398+
scrollbarClassName: React.PropTypes.string,
399+
containerClassName: React.PropTypes.string,
394400
contentStyle: React.PropTypes.object,
395401
vertical: React.PropTypes.bool,
396402
verticalContainerStyle: React.PropTypes.object,

src/js/Scrollbar.jsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ class ScrollBar extends React.Component {
5959
}
6060

6161
render(){
62-
let {smoothScrolling, isDragging, type, scrollbarStyle, containerStyle} = this.props;
62+
let {smoothScrolling, isDragging, type, scrollbarStyle, className, containerStyle, containerClassName} = this.props;
6363
let isVoriziontal = type === 'horizontal';
6464
let isVertical = type === 'vertical';
6565
let scrollStyles = this.createScrollStyles();
6666
let springifiedScrollStyles = smoothScrolling ? modifyObjValues(scrollStyles, x => spring(x)) : scrollStyles;
6767

68-
let scrollbarClasses = `scrollbar-container ${isDragging ? 'active' : ''} ${isVoriziontal ? 'horizontal' : ''} ${isVertical ? 'vertical' : ''}`;
68+
let scrollbarClasses = `scrollbar-container ${containerClassName || ''} ${isDragging ? 'active' : ''} ${isVoriziontal ? 'horizontal' : ''} ${isVertical ? 'vertical' : ''}`;
6969

7070
return (
7171
<Motion style={{...scrollbarStyle, ...springifiedScrollStyles}}>
@@ -75,7 +75,7 @@ class ScrollBar extends React.Component {
7575
onMouseDown={this.handleScrollBarContainerClick.bind(this)}
7676
ref={ x => { this.scrollbarContainer = x}}>
7777

78-
<div className="scrollbar"
78+
<div className={`scrollbar ${className || ''}`}
7979
style={style}
8080
onMouseDown={this.handleMouseDown.bind(this)}
8181
>
@@ -163,6 +163,8 @@ ScrollBar.propTypes = {
163163
realSize: React.PropTypes.number,
164164
containerSize: React.PropTypes.number,
165165
position: React.PropTypes.number,
166+
className: React.PropTypes.string,
167+
containerClassName: React.PropTypes.string,
166168
containerStyle: React.PropTypes.object,
167169
scrollbarStyle: React.PropTypes.object,
168170
type: React.PropTypes.oneOf(['vertical', 'horizontal']),

0 commit comments

Comments
 (0)