+ )}
{/* In case when method is overloaded we need to indicate which overload is deprecated */}
{entry.deprecated ? (
@@ -45,6 +48,9 @@ export function ClassMethodInfo(props: {
@returns
+ {entry.htmlReturnDescription && (
+
+ )}
{entry.htmlUsageNotes && !props.hideUsageNotes ? (
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/templates/function-reference.tsx b/adev/shared-docs/pipeline/api-gen/rendering/templates/function-reference.tsx
index 408f9baa7694..10cbd2242172 100644
--- a/adev/shared-docs/pipeline/api-gen/rendering/templates/function-reference.tsx
+++ b/adev/shared-docs/pipeline/api-gen/rendering/templates/function-reference.tsx
@@ -32,31 +32,43 @@ import {SectionUsageNotes} from './section-usage-notes';
export const signatureCard = (
name: string,
signature: FunctionSignatureMetadataRenderable,
- opts: {id: string; printSignaturesAsHeader: boolean; hideUsageNotes?: boolean},
+ opts: {
+ id: string;
+ printSignaturesAsHeader: boolean;
+ hideUsageNotes?: boolean;
+ hideHeader?: boolean;
+ hideDescription?: boolean;
+ },
) => {
return (
-
+ {!opts.hideHeader && (
+
+ )}
-
+
);
@@ -64,7 +76,6 @@ export const signatureCard = (
/** Component to render a function API reference document. */
export function FunctionReference(entry: FunctionEntryRenderable) {
- // Use signatures as header if there are multiple signatures.
const printSignaturesAsHeader = entry.signatures.length > 1;
return (
@@ -73,14 +84,15 @@ export function FunctionReference(entry: FunctionEntryRenderable) {
- {entry.signatures.length > 1 &&
- entry.signatures.map((s, i) =>
- signatureCard(s.name, getFunctionMetadataRenderable(s, entry.moduleName, entry.repo), {
- id: `${s.name}_${i}`,
- printSignaturesAsHeader,
- hideUsageNotes: true,
- }),
- )}
+ {entry.signatures.map((s, i) =>
+ signatureCard(s.name, getFunctionMetadataRenderable(s, entry.moduleName, entry.repo), {
+ id: `${s.name}_${i}`,
+ printSignaturesAsHeader,
+ hideHeader: !printSignaturesAsHeader,
+ hideUsageNotes: true,
+ hideDescription: true,
+ }),
+ )}
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/templates/parameter.tsx b/adev/shared-docs/pipeline/api-gen/rendering/templates/parameter.tsx
index 0c8f5356ffa3..db717533dc49 100644
--- a/adev/shared-docs/pipeline/api-gen/rendering/templates/parameter.tsx
+++ b/adev/shared-docs/pipeline/api-gen/rendering/templates/parameter.tsx
@@ -8,9 +8,9 @@
import {h} from 'preact';
import {ParameterEntryRenderable} from '../entities/renderables.mjs';
-import {RawHtml} from './raw-html';
import {PARAM_GROUP_CLASS_NAME} from '../styling/css-classes.mjs';
import {CodeSymbol} from './code-symbols';
+import {RawHtml} from './raw-html';
/** Component to render a function or method parameter reference doc fragment. */
export function Parameter(props: {param: ParameterEntryRenderable}) {
@@ -21,7 +21,9 @@ export function Parameter(props: {param: ParameterEntryRenderable}) {
{/*TODO: isOptional, isRestParam*/}
@param
{param.name}
-
+
+
+
);
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/transforms/function-transforms.mts b/adev/shared-docs/pipeline/api-gen/rendering/transforms/function-transforms.mts
index 46befb4cdbb5..22ea35dc19d4 100644
--- a/adev/shared-docs/pipeline/api-gen/rendering/transforms/function-transforms.mts
+++ b/adev/shared-docs/pipeline/api-gen/rendering/transforms/function-transforms.mts
@@ -20,7 +20,7 @@ import {
setEntryFlags,
} from './jsdoc-transforms.mjs';
import {addModuleName} from './module-name.mjs';
-import {addRenderableFunctionParams} from './params-transforms.mjs';
+import {addHtmlReturnDescription, addRenderableFunctionParams} from './params-transforms.mjs';
import {addRepo} from './repo.mjs';
/** Given an unprocessed function entry, get the fully renderable function entry. */
@@ -50,11 +50,13 @@ export function getFunctionMetadataRenderable(
repo: string,
): FunctionSignatureMetadataRenderable {
return addHtmlAdditionalLinks(
- addRenderableFunctionParams(
- addHtmlUsageNotes(
- setEntryFlags(
- addHtmlJsDocTagComments(
- addHtmlDescription(addRepo(addModuleName(entry, moduleName), repo)),
+ addHtmlReturnDescription(
+ addRenderableFunctionParams(
+ addHtmlUsageNotes(
+ setEntryFlags(
+ addHtmlJsDocTagComments(
+ addHtmlDescription(addRepo(addModuleName(entry, moduleName), repo)),
+ ),
),
),
),
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/transforms/jsdoc-transforms.mts b/adev/shared-docs/pipeline/api-gen/rendering/transforms/jsdoc-transforms.mts
index 5f067da7bb0c..cee207415b9d 100644
--- a/adev/shared-docs/pipeline/api-gen/rendering/transforms/jsdoc-transforms.mts
+++ b/adev/shared-docs/pipeline/api-gen/rendering/transforms/jsdoc-transforms.mts
@@ -112,7 +112,7 @@ export function addHtmlUsageNotes
(entry: T): T & HasHtml
}
/** Given a markdown JsDoc text, gets the rendered HTML. */
-function getHtmlForJsDocText(text: string): string {
+export function getHtmlForJsDocText(text: string): string {
const mdToParse = convertLinks(wrapExampleHtmlElementsWithCode(text));
const parsed = parseMarkdown(mdToParse, {
apiEntries: getSymbolsAsApiEntries(),
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/transforms/params-transforms.mts b/adev/shared-docs/pipeline/api-gen/rendering/transforms/params-transforms.mts
index 3048b70cef0f..2b374d2c8529 100644
--- a/adev/shared-docs/pipeline/api-gen/rendering/transforms/params-transforms.mts
+++ b/adev/shared-docs/pipeline/api-gen/rendering/transforms/params-transforms.mts
@@ -7,7 +7,7 @@
*/
import {HasModuleName, HasParams, HasRenderableParams} from '../entities/traits.mjs';
-import {addHtmlDescription} from './jsdoc-transforms.mjs';
+import {addHtmlDescription, getHtmlForJsDocText} from './jsdoc-transforms.mjs';
import {addModuleName} from './module-name.mjs';
export function addRenderableFunctionParams(
@@ -22,3 +22,13 @@ export function addRenderableFunctionParams
params,
};
}
+
+/** Converts `returnDescription` to `htmlReturnDescription` for rendering. */
+export function addHtmlReturnDescription<
+ T extends {returnDescription?: string; moduleName: string},
+>(entry: T): T & {htmlReturnDescription?: string} {
+ const htmlReturnDescription = entry.returnDescription
+ ? getHtmlForJsDocText(entry.returnDescription)
+ : undefined;
+ return {...entry, htmlReturnDescription};
+}
diff --git a/adev/shared-docs/styles/_reference.scss b/adev/shared-docs/styles/_reference.scss
index fe251c4e0796..8bed9e061dc6 100644
--- a/adev/shared-docs/styles/_reference.scss
+++ b/adev/shared-docs/styles/_reference.scss
@@ -340,6 +340,11 @@
}
}
+ .docs-param-type {
+ display: inline-block;
+ margin-inline-end: 0.5rem;
+ }
+
.docs-parameter-description {
p:first-child {
margin-block-start: 0;