import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection'; import { VscSymbolEvent } from '@react-icons/all-files/vsc/VscSymbolEvent'; import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod'; import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty'; import { ChevronDown, ChevronUp } from 'lucide-react'; import Link from 'next/link'; import { Fragment } from 'react'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from './ui/Collapsible'; export async function Outline({ node }: { readonly node: any }) { const hasAny = node.members?.properties?.length || node.members?.events?.length || node.members?.methods?.length; return hasAny ? (

Table of contents

{node.members?.properties?.length ? (

Properties

{node.members.properties.map((property: any, idx: number) => { return (
{property.displayName}
); })}
) : null} {node.members?.methods?.length ? (

Methods

{node.members.methods.map((method: any, idx: number) => { return (
{method.displayName}
); })}
) : null} {node.members?.events?.length ? (

Events

{node.members.events.map((event: any, idx: number) => { return (
{event.displayName}
); })}
) : null}
) : null; }