import { h } from 'preact'; import { useCallback, useState } from "preact/hooks"; export function Tabs({ children, selectedIndex: selectedIndexProp, onChange, className }) { const [selectedIndex, setSelectedIndex] = useState(selectedIndexProp); const handleSelected = (index) => () => { setSelectedIndex(index); onChange && onChange(index) }; const RenderChildren = useCallback(() => { return children.map((child, i) => { child.props.selected = i == selectedIndex child.props.onClick = handleSelected(i) return child; }) }, [selectedIndex]) return (