UNPKG

@yamada-ui/tabs

Version:

Yamada UI tabs component

47 lines (45 loc) 1.21 kB
"use client" import { TabPanelProvider, useTabsContext } from "./chunk-BUHUHEQA.mjs"; // src/tab-panels.tsx import { forwardRef, ui } from "@yamada-ui/core"; import { cx, getValidChildren } from "@yamada-ui/utils"; import { createElement } from "react"; import { jsx } from "react/jsx-runtime"; var TabPanels = forwardRef( ({ className, children, ...rest }, ref) => { const { selectedIndex, styles, tabPanelsProps } = useTabsContext(); const validChildren = getValidChildren(children); const cloneChildren = validChildren.map((child, index) => { const selected = index === selectedIndex; return createElement( TabPanelProvider, { key: index, value: { index, selected, selectedIndex } }, child ); }); const css = { w: "100%", ...styles.tabPanels }; return /* @__PURE__ */ jsx( ui.div, { ref, className: cx("ui-tabs__panels", className), __css: css, ...tabPanelsProps, ...rest, children: cloneChildren } ); } ); TabPanels.displayName = "TabPanels"; TabPanels.__ui__ = "TabPanels"; export { TabPanels }; //# sourceMappingURL=chunk-URCVY5EZ.mjs.map