diff --git a/packages/website/src/components/CodeListing.tsx b/packages/website/src/components/CodeListing.tsx index be6744eef..a0456d48c 100644 --- a/packages/website/src/components/CodeListing.tsx +++ b/packages/website/src/components/CodeListing.tsx @@ -36,7 +36,7 @@ export function CodeListing({ inheritanceData?: InheritanceData | null; }) { return ( - + {deprecation ? ( diff --git a/packages/website/src/components/DocContainer.tsx b/packages/website/src/components/DocContainer.tsx index 7802ecc63..9c5c1159b 100644 --- a/packages/website/src/components/DocContainer.tsx +++ b/packages/website/src/components/DocContainer.tsx @@ -6,7 +6,7 @@ import { PrismAsyncLight as SyntaxHighlighter } from 'react-syntax-highlighter'; import { vscDarkPlus } from 'react-syntax-highlighter/dist/cjs/styles/prism'; import { HyperlinkedText } from './HyperlinkedText'; import { Section } from './Section'; -import { TableOfContentsItems } from './TableOfContentsItems'; +import { TableOfContentItems } from './TableOfContentItems'; import { TypeParamTable } from './TypeParamTable'; import { TSDoc } from './tsdoc/TSDoc'; import type { ApiClassJSON, ApiItemJSON } from '~/DocModel/ApiNodeJSONEncoder'; @@ -26,6 +26,7 @@ export interface DocContainerProps { typeParams?: TypeParameterData[]; comment?: AnyDocNodeJSON | null; methods?: ApiClassJSON['methods'] | null; + properties?: ApiClassJSON['properties'] | null; } export function DocContainer({ @@ -38,6 +39,7 @@ export function DocContainer({ extendsTokens, implementsTokens, methods, + properties, }: DocContainerProps) { const matches = useMediaQuery('(max-width: 768px)', true, { getInitialValueInEffect: false }); @@ -102,7 +104,7 @@ export function DocContainer({ {children} - {kind === 'Class' && methods ? ( + {kind === 'Class' && methods && properties ? ( diff --git a/packages/website/src/components/TableOfContentsItems.tsx b/packages/website/src/components/TableOfContentItems.tsx similarity index 70% rename from packages/website/src/components/TableOfContentsItems.tsx rename to packages/website/src/components/TableOfContentItems.tsx index 07b855216..2158e92b4 100644 --- a/packages/website/src/components/TableOfContentsItems.tsx +++ b/packages/website/src/components/TableOfContentItems.tsx @@ -24,10 +24,26 @@ const useStyles = createStyles((theme) => ({ }, })); -export function TableOfContentsItems({ members }: { members: ApiClassJSON['methods'] | ApiInterfaceJSON['methods'] }) { +export function TableOfContentItems({ + methods, + properties, +}: { + methods: ApiClassJSON['methods'] | ApiInterfaceJSON['methods']; + properties: ApiClassJSON['properties'] | ApiInterfaceJSON['properties']; +}) { const { classes } = useStyles(); - const items = members.map((member) => { + const propertyItems = properties.map((prop) => ( + key={prop.name} href={`#${prop.name}`} component="a" className={classes.link}> + + + {prop.name} + + + + )); + + const methodItems = methods.map((member) => { const key = `${member.name}${member.overloadIndex && member.overloadIndex > 1 ? `:${member.overloadIndex}` : ''}`; return ( @@ -50,9 +66,12 @@ export function TableOfContentsItems({ members }: { members: ApiClassJSON['metho - Table of contents + Table of content - {items} + Properties + {propertyItems} + Methods + {methodItems} ); } diff --git a/packages/website/src/components/model/Class.tsx b/packages/website/src/components/model/Class.tsx index 27ffaeb51..2bcd8728e 100644 --- a/packages/website/src/components/model/Class.tsx +++ b/packages/website/src/components/model/Class.tsx @@ -14,6 +14,7 @@ export function Class({ data }: { data: ApiClassJSON }) { implementsTokens={data.implementsTokens} comment={data.comment} methods={data.methods} + properties={data.properties} > {data.constructor ? : null}