Skip to content

Commit c6e9bf9

Browse files
committed
Fix overload rendering
Resolves #453 Resolves #1100
1 parent e4fbb1c commit c6e9bf9

File tree

9 files changed

+49
-297
lines changed

9 files changed

+49
-297
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
### Bug Fixes
44

55
- The private member visibility option will now be respected in generated sites, #1992.
6+
- Overload rendering will no longer be broken if JavaScript is disabled, #453.
7+
- All overloads are now shown at once rather than requiring clicks to see the documentation for each signature, #1100.
68

79
## v0.23.6 (2022-07-08)
810

src/lib/output/themes/default/assets/bootstrap.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Application, registerComponent } from "./typedoc/Application";
22
import { MenuHighlight } from "./typedoc/components/MenuHighlight";
33
import { initSearch } from "./typedoc/components/Search";
4-
import { Signature } from "./typedoc/components/Signature";
54
import { Toggle } from "./typedoc/components/Toggle";
65
import { Filter } from "./typedoc/components/Filter";
76
import { Accordion } from "./typedoc/components/Accordion";
@@ -10,7 +9,6 @@ import { initTheme } from "./typedoc/Theme";
109
initSearch();
1110

1211
registerComponent(MenuHighlight, ".menu-highlight");
13-
registerComponent(Signature, ".tsd-signatures");
1412
registerComponent(Toggle, "a[data-toggle]");
1513
registerComponent(Accordion, ".tsd-index-accordion");
1614
registerComponent(Filter, ".tsd-filter-item input[type=checkbox]");

src/lib/output/themes/default/assets/typedoc/components/Signature.ts

Lines changed: 0 additions & 169 deletions
This file was deleted.

src/lib/output/themes/default/partials/header.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { hasTypeParameters, join, renderFlags } from "../../lib";
22
import { JSX } from "../../../../utils";
33
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
44
import type { PageEvent } from "../../../events";
5-
import { DeclarationReflection, Reflection } from "../../../../models";
5+
import { DeclarationReflection, Reflection, ReflectionKind } from "../../../../models";
66

77
export const header = (context: DefaultThemeRenderContext, props: PageEvent<Reflection>) => {
88
const HeadingLevel = props.model.isProject() ? "h2" : "h1";
99
return (
1010
<div class="tsd-page-title">
1111
{!!props.model.parent && <ul class="tsd-breadcrumb">{context.breadcrumb(props.model)}</ul>}
1212
<HeadingLevel>
13-
{props.model.kindString !== "Project" && `${props.model.kindString ?? ""} `}
13+
{props.model.kind !== ReflectionKind.Project && `${props.model.kindString ?? ""} `}
1414
{props.model.name}
1515
{props.model instanceof DeclarationReflection &&
1616
props.model.version !== undefined &&

src/lib/output/themes/default/partials/member.getterSetter.tsx

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,27 @@ export const memberGetterSetter = (context: DefaultThemeRenderContext, props: De
66
<>
77
<ul class={"tsd-signatures " + props.cssClasses}>
88
{!!props.getSignature && (
9-
<li class="tsd-signature" id={props.getSignature.anchor}>
10-
<span class="tsd-signature-symbol">get</span> {props.name}
11-
{context.memberSignatureTitle(props.getSignature, {
12-
hideName: true,
13-
})}
14-
</li>
9+
<>
10+
<li class="tsd-signature" id={props.getSignature.anchor}>
11+
<span class="tsd-signature-symbol">get</span> {props.name}
12+
{context.memberSignatureTitle(props.getSignature, {
13+
hideName: true,
14+
})}
15+
</li>
16+
<li class="tsd-description">{context.memberSignatureBody(props.getSignature)}</li>
17+
</>
1518
)}
1619
{!!props.setSignature && (
17-
<li class="tsd-signature" id={props.setSignature.anchor}>
18-
<span class="tsd-signature-symbol">set</span> {props.name}
19-
{context.memberSignatureTitle(props.setSignature, {
20-
hideName: true,
21-
})}
22-
</li>
20+
<>
21+
<li class="tsd-signature" id={props.setSignature.anchor}>
22+
<span class="tsd-signature-symbol">set</span> {props.name}
23+
{context.memberSignatureTitle(props.setSignature, {
24+
hideName: true,
25+
})}
26+
</li>
27+
<li class="tsd-description">{context.memberSignatureBody(props.setSignature)}</li>
28+
</>
2329
)}
2430
</ul>
25-
26-
<ul class="tsd-descriptions">
27-
{!!props.getSignature && <li class="tsd-description">{context.memberSignatureBody(props.getSignature)}</li>}
28-
{!!props.setSignature && <li class="tsd-description">{context.memberSignatureBody(props.setSignature)}</li>}
29-
</ul>
3031
</>
3132
);

src/lib/output/themes/default/partials/member.signature.title.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { join, renderTypeParametersSignature, wbr } from "../../lib";
22
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
33
import { JSX } from "../../../../utils";
4-
import type { SignatureReflection } from "../../../../models";
4+
import { ReflectionKind, SignatureReflection } from "../../../../models";
55

66
export const memberSignatureTitle = (
77
context: DefaultThemeRenderContext,
@@ -13,7 +13,7 @@ export const memberSignatureTitle = (
1313
wbr(props.name)
1414
) : (
1515
<>
16-
{props.kindString === "Constructor signature" && (
16+
{props.kind === ReflectionKind.ConstructorSignature && (
1717
<>
1818
{!!props.flags.isAbstract && <span class="tsd-signature-symbol">abstract </span>}
1919
<span class="tsd-signature-symbol">new </span>

src/lib/output/themes/default/partials/member.signatures.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
22
import { JSX } from "../../../../utils";
33
import type { DeclarationReflection } from "../../../../models";
4+
import { anchorIcon } from "./anchor-icon";
45

56
export const memberSignatures = (context: DefaultThemeRenderContext, props: DeclarationReflection) => (
67
<>
78
<ul class={"tsd-signatures " + props.cssClasses}>
89
{props.signatures?.map((item) => (
9-
<li class="tsd-signature" id={item.anchor}>
10-
{context.memberSignatureTitle(item)}
11-
</li>
12-
))}
13-
</ul>
14-
15-
<ul class="tsd-descriptions">
16-
{props.signatures?.map((item) => (
17-
<li class="tsd-description">{context.memberSignatureBody(item)}</li>
10+
<>
11+
<li class="tsd-signature tsd-anchor-link" id={item.anchor}>
12+
{context.memberSignatureTitle(item)}
13+
{anchorIcon(context, item.anchor)}
14+
</li>
15+
<li class="tsd-description">{context.memberSignatureBody(item)}</li>
16+
</>
1817
))}
1918
</ul>
2019
</>

src/lib/output/themes/default/partials/parameter.tsx

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,18 @@ export const parameter = (context: DefaultThemeRenderContext, props: Declaration
1010
<li class="tsd-parameter-signature">
1111
<ul class={"tsd-signatures " + props.cssClasses}>
1212
{props.signatures.map((item) => (
13-
<li class="tsd-signature" id={item.anchor}>
14-
{context.memberSignatureTitle(item, {
15-
hideName: true,
16-
})}
17-
</li>
18-
))}
19-
</ul>
20-
21-
<ul class="tsd-descriptions">
22-
{props.signatures.map((item) => (
23-
<li class="tsd-description">
24-
{context.memberSignatureBody(item, {
25-
hideSources: true,
26-
})}
27-
</li>
13+
<>
14+
<li class="tsd-signature" id={item.anchor}>
15+
{context.memberSignatureTitle(item, {
16+
hideName: true,
17+
})}
18+
</li>
19+
<li class="tsd-description">
20+
{context.memberSignatureBody(item, {
21+
hideSources: true,
22+
})}
23+
</li>
24+
</>
2825
))}
2926
</ul>
3027
</li>

0 commit comments

Comments
 (0)