@atlaskit/side-navigation
Version:
A highly composable side navigation component that supports nested views.
53 lines (52 loc) • 1.73 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _excluded = ["children", "data-testid"];
/**
* __Container__
*
* A container for Header and Footer that safely handles props to the child component
*/
var HeaderContainer = function HeaderContainer(_ref) {
var children = _ref.children,
testId = _ref['data-testid'],
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
// https://stackoverflow.com/a/39333479
var safeProps = function (_ref2) {
var className = _ref2.className,
onClick = _ref2.onClick,
onMouseDown = _ref2.onMouseDown,
onDragStart = _ref2.onDragStart,
draggable = _ref2.draggable,
ref = _ref2.ref,
tabIndex = _ref2.tabIndex,
disabled = _ref2.disabled;
return {
className: className,
onClick: onClick,
onMouseDown: onMouseDown,
onDragStart: onDragStart,
draggable: draggable,
ref: ref,
tabIndex: tabIndex,
disabled: disabled
};
}(props);
return (
/*#__PURE__*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
_react.default.createElement("div", (0, _extends2.default)({
"data-testid": testId,
style: {
position: 'relative'
}
}, safeProps), children)
);
};
var _default = exports.default = HeaderContainer;