Skip to content

Commit ebd0670

Browse files
author
Jakub Jankowski
authored
feat: toc external link (#187)
1 parent 16cef72 commit ebd0670

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/TableOfContents/index.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ function TableOfContentsInner<T extends TableOfContentsItem = TableOfContentsIte
140140
return (
141141
<RowComponent
142142
key={index}
143-
item={item}
143+
item={isExternalLink(item) ? { ...item, isExternalLink: true } : item}
144144
index={index}
145145
isExpanded={isExpanded}
146146
toggleExpanded={toggleExpandedFunctions[index]}
@@ -346,3 +346,11 @@ function findAncestorIndices(currentDepth: number, precedingContents: TableOfCon
346346
parentIndex,
347347
];
348348
}
349+
350+
function isExternalLink(item: TableOfContentsItem): boolean {
351+
return isTableOfContentsLink(item) && item.to !== void 0 && /^(http|#|mailto)/.test(item.to);
352+
}
353+
354+
function isTableOfContentsLink(item: TableOfContentsItem): item is ITableOfContentsLink {
355+
return 'to' in item;
356+
}

0 commit comments

Comments
 (0)