pouncejs
Version:
A collection of UI components from Panther labs
44 lines (33 loc) • 1.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.TabList = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _tabs = require("@reach/tabs");
var _Flex = _interopRequireDefault(require("../Flex"));
var TabList = /*#__PURE__*/_react.default.forwardRef(function TabList(_ref, ref) {
var children = _ref.children,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children"]);
var _useTabsContext = (0, _tabs.useTabsContext)(),
focusedIndex = _useTabsContext.focusedIndex,
selectedIndex = _useTabsContext.selectedIndex;
return (
/*#__PURE__*/
// @ts-ignore Typing is wrong on @reach-ui, allowing only div | undefined for `as`
_react.default.createElement(_tabs.TabList, (0, _extends2.default)({
as: _Flex.default,
ref: ref,
flexWrap: "wrap"
}, rest), _react.default.Children.toArray(children).map(function (child, index) {
return /*#__PURE__*/_react.default.cloneElement(child, {
isSelected: selectedIndex === index,
isFocused: focusedIndex === index
});
}))
);
});
exports.TabList = TabList;
var _default = TabList;
exports.default = _default;