@xo-union/tk-component-header-nav
Version:
41 lines • 1.41 kB
JavaScript
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
import React from "react";
import PropTypes from "prop-types";
import { ClickTracker } from "@xo-union/tk-component-analytics";
import { withClasses } from "@xo-union/react-css-modules";
import classesPropType from "@xo-union/classes-prop-type";
import { Caption } from "@xo-union/tk-ui-typography";
import styles from "../../css/sub-nav.module.css";
import ThemeContext from "../ThemeContext/index.js";
const SubNav = _ref => {
let {
children,
analyticsProps,
classes
} = _ref;
return /*#__PURE__*/React.createElement(ClickTracker, _extends({
eventName: "Menu Interaction",
eventData: element => ({
userDecisionArea: 'sub nav',
selectionURL: element.href
})
}, analyticsProps), /*#__PURE__*/React.createElement(ThemeContext.Provider, {
value: classes
}, /*#__PURE__*/React.createElement(Caption, {
className: classes['sub-nav-container']
}, /*#__PURE__*/React.createElement("ul", {
role: "list",
className: classes['sub-nav-item-list']
}, children))));
};
process.env.NODE_ENV !== "production" ? SubNav.propTypes = {
classes: classesPropType(),
children: PropTypes.node.isRequired,
analyticsProps: PropTypes.shape({
product: PropTypes.string.isRequired
})
} : void 0;
SubNav.defaultProps = {
analyticsProps: {}
};
export default withClasses(styles)(SubNav);