@wordpress/components
Version:
UI components for WordPress.
38 lines (37 loc) • 1.05 kB
JavaScript
import { useStoreState } from "@ariakit/react";
import { forwardRef } from "@wordpress/element";
import { TabPanel as StyledTabPanel } from "./styles";
import warning from "@wordpress/warning";
import { useTabsContext } from "./context";
import { jsx as _jsx } from "react/jsx-runtime";
const TabPanel = forwardRef(function TabPanel2({
children,
tabId,
focusable = true,
...otherProps
}, ref) {
const context = useTabsContext();
const selectedId = useStoreState(context?.store, "selectedId");
if (!context) {
globalThis.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}`;
return /* @__PURE__ */ _jsx(StyledTabPanel, {
ref,
store,
id: `${instancedTabId}-view`,
tabId: instancedTabId,
focusable,
...otherProps,
children: selectedId === instancedTabId && children
});
});
export {
TabPanel
};
//# sourceMappingURL=tabpanel.js.map