import { Tabs as FumadocsTabs, Tab as FumadocsTab } from 'fumadocs-ui/components/tabs';
import React, { isValidElement } from 'react';
export function TabItem({ value, label: _label, children, default: _isDefault, className, attributes }: any) {
return {children};
}
export default function Tabs({ children, defaultValue, values, groupId, className }: any) {
let items: string[] = [];
const childrenArray = React.Children.toArray(children);
if (values) {
items = values.map((v: any) => v.label);
} else {
childrenArray.forEach((child) => {
if (isValidElement(child)) {
const props = child.props as any;
const label = props.label || props.value;
items.push(label);
}
});
}
const newChildren = childrenArray.map((child, index) => {
if (isValidElement(child)) {
const props = child.props as any;
let label = props.label;
if (!label && values) {
const valObj = values.find((v: any) => v.value === props.value);
if (valObj) label = valObj.label;
}
if (!label) label = props.value;
return {props.children};
}
return child;
});
let newDefaultValue = defaultValue;
if (defaultValue && values) {
const valObj = values.find((v: any) => v.value === defaultValue);
if (valObj) newDefaultValue = valObj.label;
} else if (defaultValue) {
const child = childrenArray.find((c: any) => (c as any).props.value === defaultValue);
if (child) {
newDefaultValue = (child as any).props.label || (child as any).props.value;
}
}
return (
{newChildren}
);
}