import React, { Fragment, FC, ReactType } from 'react'; import { Tabs, TabList, Tab, TabPanel } from '../../components/Tab'; import css from './index.module.css'; export interface PackageListTabsCategories { [key: string]: { name: string; slug: string; items: unknown; }; } export interface PackageListTabsProps { title: string; emptyMessage?: string; items: []; tabListItems?: { slug: string; name: string; }[]; PackageList?: ReactType; packageListItems?: { title: string; items: []; }[]; pagination: { showMoreText: string; isLoading: boolean; hasAllItemsLoaded: boolean; setPagination: () => void; setIsLoading: () => void; }; updatePackageItems: () => void; onTabChange: (index, lastIndex) => void; selectedIndex?: number; } const PackageListTabs: FC = ({ title = '', emptyMessage, tabListItems, PackageList, packageListItems, updatePackageItems, pagination, onTabChange, selectedIndex, }) => { return ( onTabChange(index, lastIndex)} className={css.packageListTabs__tabs} selectedIndex={selectedIndex} /* MILA-1702 Enable forceRender so that packages can get indexed for SEO */ forceRenderTabPanel={true} >
{title}
{tabListItems && tabListItems.map(category => ( {category.name} ))}
{PackageList && packageListItems && packageListItems.map(category => (
))}
); }; export default PackageListTabs;