in packages/docusaurus-theme-common/src/utils/docsUtils.tsx [80:104]
export function findFirstCategoryLink(
item: PropSidebarItemCategory,
): string | undefined {
if (item.href) {
return item.href;
}
for (const subItem of item.items) {
if (subItem.type === 'link') {
return subItem.href;
} else if (subItem.type === 'category') {
const categoryLink = findFirstCategoryLink(subItem);
if (categoryLink) {
return categoryLink;
}
} else if (subItem.type === 'html') {
// skip
} else {
throw new Error(
`Unexpected category item type for ${JSON.stringify(subItem)}`,
);
}
}
return undefined;
}