Page MenuHomeSealhub

jdd-component.ts
No OneTemporary

jdd-component.ts

import { toKebabCase, toPascalCase } from "js-convert-case";
export function jddComponentTemplate(component_name: string) {
return `import type { FlatTemplatable } from "tempstream";
import { TempstreamJSX } from "tempstream";
import type {
ExtractStructuredComponentArgumentsParsed,
JDDContext,
} from "@sealcode/jdd";
import { Component, ComponentArguments } from "@sealcode/jdd";
const component_arguments = {
title: new ComponentArguments.ShortText(),
content: new ComponentArguments.Markdown(),
} as const;
export class ${toPascalCase(
component_name
)} extends Component<typeof component_arguments> {
getArguments() {
return component_arguments;
}
toHTML(
{
title,
content,
}: ExtractStructuredComponentArgumentsParsed<typeof component_arguments>,
classes: string[],
{ render_markdown }: JDDContext
): FlatTemplatable {
return (
<div class={["${toKebabCase(component_name)}", ...classes]}>
<h2>{title} • ${toPascalCase(component_name)} </h2>
<div>{render_markdown(content)}</div>
</div>
);
}
}
`;
}

File Metadata

Mime Type
text/x-java
Expires
Wed, May 7, 19:44 (1 d, 9 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
626414
Default Alt Text
jdd-component.ts (1 KB)

Event Timeline