import { createElement } from "react"; /** * WordPress dependencies */ import { forwardRef } from '@wordpress/element'; /** * Internal dependencies */ import { TabPanel as StyledTabPanel } from './styles'; import warning from '@wordpress/warning'; import { useTabsContext } from './context'; export const TabPanel = forwardRef(function TabPanel({ children, tabId, focusable = true, ...otherProps }, ref) { const context = useTabsContext(); if (!context) { typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? warning('`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 createElement(StyledTabPanel, { 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); }); //# sourceMappingURL=tabpanel.js.map