import { FunctionalComponent, h, ComponentChild } from "preact"; import style from "./style.module.css"; import { useState } from "preact/hooks"; export interface TabItem { label: string icon?: string render: () => ComponentChild } export interface TabsProps { class?: string items: TabItem[] } const Tabs: FunctionalComponent = ({ items, ...props }) => { const [ selectedTabIndex, setSelectedTabIndex ] = useState(0); const onTabClick = (tabIndex: number) => { setSelectedTabIndex(tabIndex); }; const selectedTab = items[selectedTabIndex]; return (
{ selectedTab.render() }
); }; export default Tabs;