"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.TabPanel = void 0;
var _react = require("react");
var _element = require("@wordpress/element");
var _styles = require("./styles");
var _warning = _interopRequireDefault(require("@wordpress/warning"));
var _context = require("./context");
/**
 * External dependencies
 */

/**
 * WordPress dependencies
 */

const TabPanel = (0, _element.forwardRef)(function TabPanel({
  children,
  tabId,
  focusable = true,
  ...otherProps
}, ref) {
  const context = (0, _context.useTabsContext)();
  if (!context) {
    typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('`Tabs.TabPanel` must be wrapped in a `Tabs` component.') : void 0;
    return null;
  }
  const {
    store,
    instanceId
  } = context;
  const instancedTabId = `${instanceId}-${tabId}`;
  return (0, _react.createElement)(_styles.TabPanel, {
    ref: ref,
    store: store,
    id: instancedTabId,
    focusable: focusable,
    ...otherProps
  }, children);
});
exports.TabPanel = TabPanel;
//# sourceMappingURL=tabpanel.js.map