@atlaskit/navigation-system
Version:
The latest navigation system for Atlassian apps.
54 lines (53 loc) • 2.53 kB
JavaScript
"use strict";
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.EndItem = void 0;
var _react = _interopRequireWildcard(require("react"));
var _listItem = require("../../components/list-item");
var _iconButton = require("./themed/icon-button");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
/**
* __EndItem__
*
* An icon button for the `TopNavEnd` layout area of the top navigation. Used for adding custom actions that are not already provided.
*
* For common actions, like `Notifications`, `Help`, `Profile`, `Settings`, use the provided components as appropriate.
*/
var EndItem = exports.EndItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
var label = _ref.label,
icon = _ref.icon,
onClick = _ref.onClick,
onMouseEnter = _ref.onMouseEnter,
isSelected = _ref.isSelected,
testId = _ref.testId,
interactionName = _ref.interactionName,
ariaControls = _ref['aria-controls'],
ariaExpanded = _ref['aria-expanded'],
ariaHasPopup = _ref['aria-haspopup'],
_ref$isListItem = _ref.isListItem,
isListItem = _ref$isListItem === void 0 ? true : _ref$isListItem,
shortcut = _ref.shortcut;
var Wrapper = isListItem ? _listItem.ListItem : _react.Fragment;
return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(_iconButton.IconButton, {
ref: forwardedRef,
icon: icon,
label: label,
onClick: onClick,
onMouseEnter: onMouseEnter,
appearance: "subtle",
isSelected: isSelected,
isTooltipDisabled: false,
testId: testId,
interactionName: interactionName,
"aria-controls": ariaControls,
"aria-expanded": ariaExpanded,
"aria-haspopup": ariaHasPopup
// Only creating object when shortcut is provided
,
tooltip: shortcut ? {
shortcut: shortcut
} : undefined
}));
});