Skip to content

Commit e8b5dd0

Browse files
chore: update DocPTViewer
1 parent 2095b6a commit e8b5dd0

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

apps/showcase/components/doc/DocPTViewer.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,25 @@ const DocPTViewer: React.FC<React.HTMLAttributes<HTMLDivElement> & DocPTViewerPr
4848

4949
const enterSection = (enteredItem: PTNameType) => {
5050
const { name, item } = enteredItem;
51+
const nameToLower = name.toLowerCase();
52+
const itemToLower = item.toLowerCase();
5153
let elements: HTMLElement[] = [];
52-
let selector = `[data-pc-name="${name.toLowerCase()}${item.toLowerCase()}"]`;
5354

54-
if (item === 'root') {
55-
selector = `[data-pc-name="${name.toLowerCase()}"]`;
56-
}
55+
const selectors = [item === 'root' ? `[data-pc-name="${nameToLower}"]` : `[data-pc-name="${nameToLower}${itemToLower}"]`, `[data-pc-section="${itemToLower}"]`, `[data-pc-name="${itemToLower}"]`];
56+
57+
const searchContexts = [container.current, document.querySelector('body')].filter(Boolean) as HTMLElement[];
5758

58-
if (container.current) {
59-
elements = find(container.current, selector) as HTMLElement[];
59+
for (const selector of selectors) {
60+
for (const context of searchContexts) {
61+
elements = find(context, selector) as HTMLElement[];
62+
63+
if (elements && elements.length > 0) {
64+
break;
65+
}
66+
}
6067

61-
if (!elements || elements.length === 0) {
62-
selector = `[data-pc-name="${item.toLowerCase()}"]`;
63-
elements = find(container.current, selector) as HTMLElement[];
68+
if (elements && elements.length > 0) {
69+
break;
6470
}
6571
}
6672

0 commit comments

Comments
 (0)