@xo-union/tk-component-header-nav
Version:
56 lines • 1.58 kB
JavaScript
import React from "react";
import PropTypes from "prop-types";
import { H4 } from "@xo-union/tk-ui-typography";
import { useHeaderNavContext } from "../Context.js";
import { Menu1 } from "../MegaMenu/MenuSections.js";
const Heading = _ref => {
let {
id,
children
} = _ref;
const {
classes
} = useHeaderNavContext();
return /*#__PURE__*/React.createElement(H4, {
as: "div",
role: "heading",
"aria-level": "1",
id: id,
className: classes.heading
}, /*#__PURE__*/React.createElement("span", {
className: classes['heading-text-container']
}, /*#__PURE__*/React.createElement("span", {
className: classes['heading-text']
}, children)));
};
process.env.NODE_ENV !== "production" ? Heading.propTypes = {
children: PropTypes.node,
id: PropTypes.string
} : void 0;
const TopLevelNav = _ref2 => {
let {
headingContent,
children
} = _ref2;
const {
classes,
mainMenuHeadingID,
mainMenuID,
navMenuRefs
} = useHeaderNavContext();
return /*#__PURE__*/React.createElement(Menu1, {
ref: navMenuRefs.topLevelNavRef,
id: mainMenuID,
className: classes['top-level-nav'],
"aria-labelledby": mainMenuHeadingID
}, /*#__PURE__*/React.createElement("div", {
className: classes['top-level-nav-items-container']
}, /*#__PURE__*/React.createElement(Heading, {
id: mainMenuHeadingID
}, headingContent), children));
};
process.env.NODE_ENV !== "production" ? TopLevelNav.propTypes = {
children: PropTypes.node,
headingContent: PropTypes.string
} : void 0;
export default TopLevelNav;