@primer/react
Version:
An implementation of GitHub's Primer Design System using React
79 lines (76 loc) • 2.43 kB
JavaScript
import React from 'react';
import { clsx } from 'clsx';
import classes from './Header.module.css.js';
import { defaultSxProp } from '../utils/defaultSxProp.js';
import Box from '../Box/Box.js';
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const Header = /*#__PURE__*/React.forwardRef(function Header({
children,
className,
sx: sxProp = defaultSxProp,
as = 'header',
...rest
}, forwardRef) {
if (sxProp !== defaultSxProp || as !== 'header') {
return /*#__PURE__*/React.createElement(Box, _extends({
as: as,
sx: sxProp,
ref: forwardRef,
className: clsx(className, classes.Header)
}, rest), children);
}
return /*#__PURE__*/React.createElement("header", _extends({
ref: forwardRef,
className: clsx(className, classes.Header)
}, rest), children);
});
Header.displayName = 'Header';
const HeaderItem = /*#__PURE__*/React.forwardRef(function HeaderItem({
children,
className,
sx: sxProp = defaultSxProp,
full,
...rest
}, forwardRef) {
if (sxProp !== defaultSxProp) {
return /*#__PURE__*/React.createElement(Box, _extends({
as: 'div',
sx: sxProp,
ref: forwardRef,
className: clsx(className, classes.HeaderItem),
"data-full": full
}, rest), children);
}
return /*#__PURE__*/React.createElement("div", _extends({
ref: forwardRef,
className: clsx(className, classes.HeaderItem),
"data-full": full
}, rest), children);
});
HeaderItem.displayName = 'Header.Item';
const HeaderLink = /*#__PURE__*/React.forwardRef(function HeaderLink({
children,
className,
sx: sxProp = defaultSxProp,
as = 'a',
...rest
}, forwardRef) {
if (sxProp !== defaultSxProp || as !== 'a') {
return /*#__PURE__*/React.createElement(Box, _extends({
as: as,
sx: sxProp,
ref: forwardRef,
className: clsx(className, classes.HeaderLink)
}, rest), children);
}
return /*#__PURE__*/React.createElement("a", _extends({
ref: forwardRef,
className: clsx(className, classes.HeaderLink)
}, rest), children);
});
HeaderLink.displayName = 'Header.Link';
var Header$1 = Object.assign(Header, {
Link: HeaderLink,
Item: HeaderItem
});
export { Header$1 as default };