feat(website): Show constructor information (#8540)

This commit is contained in:
Suneet Tipirneni
2022-08-22 03:45:53 -04:00
committed by GitHub
parent dd44e8b6ec
commit e42fd16369
66 changed files with 689 additions and 625 deletions

View File

@@ -1,20 +1,21 @@
import { DocContainer } from '../DocContainer';
import { MethodsSection, PropertiesSection } from '../Sections';
import type { DocClass } from '~/DocModel/DocClass';
import { ConstructorSection, MethodsSection, PropertiesSection } from '../Sections';
import type { ApiClassJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function Class({ data }: { data: ReturnType<DocClass['toJSON']> }) {
export function Class({ data }: { data: ApiClassJSON }) {
return (
<DocContainer
name={data.name}
kind={data.kind}
excerpt={data.excerpt}
summary={data.summary}
typeParams={data.typeParameterData}
typeParams={data.typeParameters}
extendsTokens={data.extendsTokens}
implementsTokens={data.implementsTokens}
comment={data.comment}
methods={data.methods}
>
{data.constructor ? <ConstructorSection data={data.constructor} /> : null}
<PropertiesSection data={data.properties} />
<MethodsSection data={data.methods} />
</DocContainer>

View File

@@ -4,9 +4,9 @@ import { VscSymbolEnumMember } from 'react-icons/vsc';
import { CodeListing, CodeListingSeparatorType } from '../CodeListing';
import { DocContainer } from '../DocContainer';
import { Section } from '../Section';
import type { DocEnum } from '~/DocModel/DocEnum';
import type { ApiEnumJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function Enum({ data }: { data: ReturnType<DocEnum['toJSON']> }) {
export function Enum({ data }: { data: ApiEnumJSON }) {
const matches = useMediaQuery('(max-width: 768px)', true, { getInitialValueInEffect: false });
return (

View File

@@ -1,15 +1,15 @@
import { DocContainer } from '../DocContainer';
import { ParametersSection } from '../Sections';
import type { DocFunction } from '~/DocModel/DocFunction';
import type { ApiFunctionJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function Function({ data }: { data: ReturnType<DocFunction['toJSON']> }) {
export function Function({ data }: { data: ApiFunctionJSON }) {
return (
<DocContainer
name={`${data.name}${data.overloadIndex && data.overloadIndex > 1 ? ` (${data.overloadIndex})` : ''}`}
kind={data.kind}
excerpt={data.excerpt}
summary={data.summary}
typeParams={data.typeParameterData}
typeParams={data.typeParameters}
>
<ParametersSection data={data.parameters} />
</DocContainer>

View File

@@ -1,15 +1,15 @@
import { DocContainer } from '../DocContainer';
import { MethodsSection, PropertiesSection } from '../Sections';
import type { DocInterface } from '~/DocModel/DocInterface';
import type { ApiInterfaceJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function Interface({ data }: { data: ReturnType<DocInterface['toJSON']> }) {
export function Interface({ data }: { data: ApiInterfaceJSON }) {
return (
<DocContainer
name={data.name}
kind={data.kind}
excerpt={data.excerpt}
summary={data.summary}
typeParams={data.typeParameterData}
typeParams={data.typeParameters}
>
<PropertiesSection data={data.properties} />
<MethodsSection data={data.methods} />

View File

@@ -1,14 +1,14 @@
import { DocContainer } from '../DocContainer';
import type { DocTypeAlias } from '~/DocModel/DocTypeAlias';
import type { ApiTypeAliasJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function TypeAlias({ data }: { data: ReturnType<DocTypeAlias['toJSON']> }) {
export function TypeAlias({ data }: { data: ApiTypeAliasJSON }) {
return (
<DocContainer
name={data.name}
kind={data.kind}
excerpt={data.excerpt}
summary={data.summary}
typeParams={data.typeParameterData}
typeParams={data.typeParameters}
/>
);
}

View File

@@ -1,6 +1,6 @@
import { DocContainer } from '../DocContainer';
import type { DocVariable } from '~/DocModel/DocVariable';
import type { ApiVariableJSON } from '~/DocModel/ApiNodeJSONEncoder';
export function Variable({ data }: { data: ReturnType<DocVariable['toJSON']> }) {
export function Variable({ data }: { data: ApiVariableJSON }) {
return <DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary} />;
}