@atlaskit/tabs
Version:
Tabs are used to organize content by grouping similar information on the same page.
55 lines (54 loc) • 2.4 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _compiled = require("@atlaskit/primitives/compiled");
var _useTab2 = _interopRequireDefault(require("../use-tab"));
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); }
/**
* __Tab__
*
* Tab represents an individual Tab displayed in a TabList.
*
* - [Examples](https://atlassian.design/components/tabs/examples)
* - [Code](https://atlassian.design/components/tabs/code)
* - [Usage](https://atlassian.design/components/tabs/usage)
*/
var Tab = /*#__PURE__*/(0, _react.forwardRef)(function Tab(_ref, ref) {
var children = _ref.children,
testId = _ref.testId;
var _useTab = (0, _useTab2.default)(),
onClick = _useTab.onClick,
id = _useTab.id,
ariaControls = _useTab['aria-controls'],
ariaPosinset = _useTab['aria-posinset'],
ariaSelected = _useTab['aria-selected'],
ariaSetsize = _useTab['aria-setsize'],
onKeyDown = _useTab.onKeyDown,
role = _useTab.role,
tabIndex = _useTab.tabIndex;
return /*#__PURE__*/_react.default.createElement(_compiled.Focusable, {
as: "div",
isInset: true,
testId: testId,
onClick: onClick,
id: id,
"aria-controls": ariaControls,
"aria-posinset": ariaPosinset,
"aria-selected": ariaSelected,
"aria-setsize": ariaSetsize,
onKeyDown: onKeyDown,
role: role,
tabIndex: tabIndex,
ref: ref
}, /*#__PURE__*/_react.default.createElement(_compiled.Text, {
weight: "medium",
color: "inherit",
maxLines: 1
}, children));
});
var _default = exports.default = Tab;