diff --git a/packages/website/src/components/CodeListing.tsx b/packages/website/src/components/CodeListing.tsx
index 17c6aa272..81cd50b46 100644
--- a/packages/website/src/components/CodeListing.tsx
+++ b/packages/website/src/components/CodeListing.tsx
@@ -42,7 +42,7 @@ export function CodeListing({
{optional ? '?' : ''}
{separator}
-
+
diff --git a/packages/website/src/components/DocContainer.tsx b/packages/website/src/components/DocContainer.tsx
index 7a868a893..5b4286417 100644
--- a/packages/website/src/components/DocContainer.tsx
+++ b/packages/website/src/components/DocContainer.tsx
@@ -1,4 +1,4 @@
-import { Group, Stack, Title, Text, Box } from '@mantine/core';
+import { Group, Stack, Title, Text, Box, MediaQuery, Aside, ScrollArea } from '@mantine/core';
import { useMediaQuery } from '@mantine/hooks';
import type { ReactNode } from 'react';
import { VscListSelection, VscSymbolParameter } from 'react-icons/vsc';
@@ -6,8 +6,10 @@ 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 { TypeParamTable } from './TypeParamTable';
import { TSDoc } from './tsdoc/TSDoc';
+import type { DocClass } from '~/DocModel/DocClass';
import type { DocItem } from '~/DocModel/DocItem';
import type { AnyDocNodeJSON } from '~/DocModel/comment/CommentNode';
import { generateIcon } from '~/util/icon';
@@ -23,6 +25,7 @@ export interface DocContainerProps {
implementsTokens?: TokenDocumentation[][];
typeParams?: TypeParameterData[];
comment?: AnyDocNodeJSON | null;
+ methods?: ReturnType['methods'] | null;
}
export function DocContainer({
@@ -34,68 +37,85 @@ export function DocContainer({
children,
extendsTokens,
implementsTokens,
+ methods,
}: DocContainerProps) {
const matches = useMediaQuery('(max-width: 768px)', true, { getInitialValueInEffect: false });
return (
-
-
-
- {generateIcon(kind)}
- {name}
-
-
+
+
+
+
+ {generateIcon(kind)}
+ {name}
+
+
- } padded dense={matches}>
- {summary ? : No summary provided.}
-
+ } padded dense={matches}>
+ {summary ? : No summary provided.}
+
-
-
- {excerpt}
-
-
+
+
+ {excerpt}
+
+
- {extendsTokens?.length ? (
-
-
- Extends
-
-
-
-
-
- ) : null}
-
- {implementsTokens?.length ? (
-
-
- Implements
-
-
- {implementsTokens.map((token, idx) => (
- <>
-
- {idx < implementsTokens.length - 1 ? ', ' : ''}
- >
- ))}
-
-
- ) : null}
-
-
- {typeParams?.length ? (
- } padded dense={matches} defaultClosed>
-
-
+ {extendsTokens?.length ? (
+
+
+ Extends
+
+
+
+
+
) : null}
- {children}
+
+ {implementsTokens?.length ? (
+
+
+ Implements
+
+
+ {implementsTokens.map((token, idx) => (
+ <>
+
+ {idx < implementsTokens.length - 1 ? ', ' : ''}
+ >
+ ))}
+
+
+ ) : null}
+
+
+ {typeParams?.length ? (
+ } padded dense={matches} defaultClosed>
+
+
+ ) : null}
+ {children}
+
-
+ {kind === 'Class' && methods ? (
+
+
+
+ ) : null}
+
);
}
diff --git a/packages/website/src/components/MethodItem.tsx b/packages/website/src/components/MethodItem.tsx
index 10747d19e..43a824340 100644
--- a/packages/website/src/components/MethodItem.tsx
+++ b/packages/website/src/components/MethodItem.tsx
@@ -34,9 +34,9 @@ export function MethodItem({ data }: { data: MethodResolvable }) {
Protected
) : null}
{data.kind === 'Method' && method.static ? Static : null}
- {`${getShorthandName(data)}`}
+ {`${getShorthandName(data)}`}
:
-
+
diff --git a/packages/website/src/components/ParameterTable.tsx b/packages/website/src/components/ParameterTable.tsx
index f8f011108..859396ffc 100644
--- a/packages/website/src/components/ParameterTable.tsx
+++ b/packages/website/src/components/ParameterTable.tsx
@@ -17,7 +17,7 @@ export function ParameterTable({ data }: { data: ParameterDocumentation[] }) {
};
return (
-
+
);
diff --git a/packages/website/src/components/Section.tsx b/packages/website/src/components/Section.tsx
index a3fbd0905..21894a3a4 100644
--- a/packages/website/src/components/Section.tsx
+++ b/packages/website/src/components/Section.tsx
@@ -41,7 +41,7 @@ export function Section({
const { classes } = useStyles({ opened });
return (
-
+
setOpened((o) => !o)}>
diff --git a/packages/website/src/components/SidebarItems.tsx b/packages/website/src/components/SidebarItems.tsx
index 7d4022e7c..dc980a806 100644
--- a/packages/website/src/components/SidebarItems.tsx
+++ b/packages/website/src/components/SidebarItems.tsx
@@ -103,7 +103,9 @@ export function SidebarItems({
setOpened((o) => !o)}>
- {member.name}
+
+ {member.name}
+
{member.overloadIndex && member.overloadIndex > 1 ? (
{member.overloadIndex}
diff --git a/packages/website/src/components/SidebarLayout.tsx b/packages/website/src/components/SidebarLayout.tsx
index 8e7868464..211f796ca 100644
--- a/packages/website/src/components/SidebarLayout.tsx
+++ b/packages/website/src/components/SidebarLayout.tsx
@@ -3,7 +3,6 @@ import {
AppShell,
Navbar,
MediaQuery,
- Aside,
Header,
Burger,
Anchor,
@@ -26,8 +25,6 @@ import { type PropsWithChildren, useState } from 'react';
import { VscChevronDown, VscPackage } from 'react-icons/vsc';
import { WiDaySunny, WiNightClear } from 'react-icons/wi';
import { SidebarItems } from './SidebarItems';
-import { TableOfContentsItems } from './TableOfContentsItems';
-import type { DocClass } from '~/DocModel/DocClass';
import type { DocItem } from '~/DocModel/DocItem';
import type { findMember } from '~/util/model.server';
import type { getMembers } from '~/util/parse.server';
@@ -155,21 +152,6 @@ export function SidebarLayout({ packageName, data, children }: PropsWithChildren
) : null}
}
- aside={
- packageName && data?.member && data.member.kind === 'Class' ? (
-
-
-
- ) : (
- <>>
- )
- }
// footer={
//