@yamada-ui/tabs
Version:
Yamada UI tabs component
47 lines (45 loc) • 1.21 kB
JavaScript
"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