Skip to content

Commit a7e9082

Browse files
committed
Add override classNames and styles for NavItem
1 parent 45e9897 commit a7e9082

File tree

2 files changed

+29
-11
lines changed

2 files changed

+29
-11
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ expanded | boolean | false | Whether the navigation item is expanded or collapse
151151
eventKey | any | _(required)_ | Value passed to the `onSelect` handler, useful for identifying the selected navigation item.
152152
onClick | function(event) | | Callback fired when the navigation item is clicked.
153153
onSelect | function(eventKey, event) | | Callback fired when a navigation item is selected.
154+
navitemClassName | | |
155+
navitemStyle | | |
156+
subnavClassName | | |
157+
subnavStyle | | |
154158

155159
#### NavIcon
156160

src/NavItem.jsx

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@ class NavItem extends PureComponent {
9898
// Sub navigation item
9999
subnav,
100100

101+
// Override className and style
102+
navitemClassName,
103+
navitemStyle,
104+
subnavClassName,
105+
subnavStyle,
106+
101107
// Default props
102108
className,
103109
style,
@@ -122,7 +128,8 @@ class NavItem extends PureComponent {
122128
>
123129
<div
124130
{...props}
125-
className={styles.navitem}
131+
className={cx(navitemClassName, styles.navitem)}
132+
style={navitemStyle}
126133
disabled={disabled}
127134
role="menuitem"
128135
tabIndex="-1"
@@ -131,12 +138,16 @@ class NavItem extends PureComponent {
131138
this.handleSelect
132139
)}
133140
>
141+
{navIcon && navIcon.props &&
134142
<div className={styles.navicon}>
135-
{navIcon && navIcon.props ? navIcon.props.children : null}
143+
{navIcon.props.children}
136144
</div>
145+
}
146+
{navText && navText.props &&
137147
<div className={styles.navtext}>
138-
{navText && navText.props ? navText.props.children : null}
148+
{navText.props.children}
139149
</div>
150+
}
140151
</div>
141152
</Component>
142153
);
@@ -188,7 +199,8 @@ class NavItem extends PureComponent {
188199
>
189200
<div
190201
{...props}
191-
className={styles.navitem}
202+
className={cx(navitemClassName, styles.navitem)}
203+
style={navitemStyle}
192204
disabled={disabled}
193205
role="menuitem"
194206
tabIndex="-1"
@@ -197,25 +209,27 @@ class NavItem extends PureComponent {
197209
(navItems.length === 0) ? this.handleSelect : noop
198210
)}
199211
>
212+
{navIcon && navIcon.props &&
200213
<div className={styles.navicon}>
201-
{navIcon && navIcon.props ? navIcon.props.children : null}
214+
{navIcon.props.children}
202215
</div>
216+
}
217+
{navText && navText.props &&
203218
<div className={styles.navtext}>
204-
{navText && navText.props ? navText.props.children : null}
219+
{navText.props.children}
205220
</div>
221+
}
206222
{others}
207223
</div>
208224
{(navItems.length > 0) &&
209225
<div
210-
{...props}
211226
role="menu"
212-
className={cx({
213-
[styles.sidenavSubnav]: true
214-
})}
227+
className={cx(subnavClassName, styles.sidenavSubnav)}
228+
style={subnavStyle}
215229
>
216230
<Component
217231
role="heading"
218-
className={cx(className, styles.sidenavSubnavitem, {
232+
className={cx(styles.sidenavSubnavitem, {
219233
[styles.highlighted]: active,
220234
[styles.disabled]: disabled
221235
})}

0 commit comments

Comments
 (0)