@hackplan/polaris
Version:
Shopify’s product component library
32 lines (31 loc) • 1.26 kB
JavaScript
import React from 'react';
import classNames from 'classnames';
import Scrollable from '../Scrollable';
import WithinContentContext from '../WithinContentContext';
import NavigationContext from './context';
import { Section, Item } from './components';
import styles from './Navigation.scss';
export default class Navigation extends React.Component {
render() {
const { children, contextControl, location, onDismiss, iconOnly, } = this.props;
const navClassName = classNames(styles.Navigation, iconOnly && styles['Navigation-IconOnly']);
const contextControlMarkup = contextControl && (<div className={styles.ContextControl}>{contextControl}</div>);
const context = {
location,
onNavigationDismiss: onDismiss,
iconOnly,
};
return (<NavigationContext.Provider value={context}>
<WithinContentContext.Provider value>
<nav className={navClassName}>
{contextControlMarkup}
<Scrollable className={styles.PrimaryNavigation}>
{children}
</Scrollable>
</nav>
</WithinContentContext.Provider>
</NavigationContext.Provider>);
}
}
Navigation.Item = Item;
Navigation.Section = Section;