"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"); /** * 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}`; const selectedId = store.useState(state => state.selectedId); return (0, _react.createElement)(_styles.TabPanel, { ref: ref, store: store // For TabPanel, the id passed here is the id attribute of the DOM // element. // `tabId` is the id of the tab that controls this panel. , id: `${instancedTabId}-view`, tabId: instancedTabId, focusable: focusable, ...otherProps }, selectedId === instancedTabId && children); }); exports.TabPanel = TabPanel; //# sourceMappingURL=tabpanel.js.map