diff --git a/a.ts b/a.ts index d490d5e..13f4a7f 100644 --- a/a.ts +++ b/a.ts @@ -13,49 +13,79 @@ import { renderElement } from "./lib/mod.ts"; export interface AElementProps extends GlobalAttributes { /** * `attributionsrc` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @experimental */ attributionsrc?: string | undefined; /** * `charset` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @deprecated */ charset?: string | undefined; /** * `coords` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @deprecated */ coords?: string | undefined; - /** `download` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `download` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ download?: string | undefined; - /** `href` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `href` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ href?: string | undefined; - /** `hreflang` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `hreflang` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ hreflang?: string | undefined; /** * `name` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @deprecated */ name?: string | undefined; - /** `ping` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `ping` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ ping?: string | undefined; - /** `referrerpolicy` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `referrerpolicy` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ referrerpolicy?: string | undefined; - /** `rel` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `rel` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ rel?: string | undefined; /** * `rev` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @deprecated */ rev?: string | undefined; /** * `shape` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see * @deprecated */ shape?: string | undefined; - /** `target` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `target` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ target?: string | undefined; - /** `type` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. */ + /** + * `type` is an attribute of the [`a`](https://developer.mozilla.org/docs/Web/HTML/Element/a) element. + * @see + */ type?: string | undefined; } diff --git a/area.ts b/area.ts index bc57473..b80a16e 100644 --- a/area.ts +++ b/area.ts @@ -11,33 +11,62 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface AreaElementProps extends GlobalAttributes { - /** `alt` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `alt` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ alt?: string | undefined; - /** `coords` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `coords` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ coords?: string | undefined; - /** `download` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `download` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ download?: string | undefined; - /** `href` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `href` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ href?: string | undefined; /** * `nohref` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see * @deprecated */ nohref?: string | undefined; - /** `ping` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `ping` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ ping?: string | undefined; - /** `referrerpolicy` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `referrerpolicy` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ referrerpolicy?: string | undefined; - /** `rel` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `rel` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ rel?: string | undefined; - /** `shape` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `shape` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ shape?: string | undefined; /** * `tabindex` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see * @deprecated */ tabindex?: string | undefined; - /** `target` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. */ + /** + * `target` is an attribute of the [`area`](https://developer.mozilla.org/docs/Web/HTML/Element/area) element. + * @see + */ target?: string | undefined; } diff --git a/audio.ts b/audio.ts index 2d6c506..63672fc 100644 --- a/audio.ts +++ b/audio.ts @@ -11,23 +11,50 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface AudioElementProps extends GlobalAttributes { - /** `autoplay` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `autoplay` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ autoplay?: string | undefined; - /** `controls` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `controls` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ controls?: string | undefined; - /** `controlslist` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `controlslist` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ controlslist?: string | undefined; - /** `crossorigin` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `crossorigin` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ crossorigin?: string | undefined; - /** `disableremoteplayback` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `disableremoteplayback` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ disableremoteplayback?: string | undefined; - /** `loop` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `loop` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ loop?: string | undefined; - /** `muted` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `muted` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ muted?: string | undefined; - /** `preload` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `preload` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ preload?: string | undefined; - /** `src` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. */ + /** + * `src` is an attribute of the [`audio`](https://developer.mozilla.org/docs/Web/HTML/Element/audio) element. + * @see + */ src?: string | undefined; } diff --git a/base.ts b/base.ts index 18d2b1d..fcd3080 100644 --- a/base.ts +++ b/base.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface BaseElementProps extends GlobalAttributes { - /** `href` is an attribute of the [`base`](https://developer.mozilla.org/docs/Web/HTML/Element/base) element. */ + /** + * `href` is an attribute of the [`base`](https://developer.mozilla.org/docs/Web/HTML/Element/base) element. + * @see + */ href?: string | undefined; - /** `target` is an attribute of the [`base`](https://developer.mozilla.org/docs/Web/HTML/Element/base) element. */ + /** + * `target` is an attribute of the [`base`](https://developer.mozilla.org/docs/Web/HTML/Element/base) element. + * @see + */ target?: string | undefined; } diff --git a/blockquote.ts b/blockquote.ts index 50645cc..098d2ec 100644 --- a/blockquote.ts +++ b/blockquote.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface BlockquoteElementProps extends GlobalAttributes { - /** `cite` is an attribute of the [`blockquote`](https://developer.mozilla.org/docs/Web/HTML/Element/blockquote) element. */ + /** + * `cite` is an attribute of the [`blockquote`](https://developer.mozilla.org/docs/Web/HTML/Element/blockquote) element. + * @see + */ cite?: string | undefined; } diff --git a/body.ts b/body.ts index 153479e..507e249 100644 --- a/body.ts +++ b/body.ts @@ -13,51 +13,61 @@ import { renderElement } from "./lib/mod.ts"; export interface BodyElementProps extends GlobalAttributes { /** * `alink` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ alink?: string | undefined; /** * `background` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ background?: string | undefined; /** * `bgcolor` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `bottommargin` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ bottommargin?: string | undefined; /** * `leftmargin` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ leftmargin?: string | undefined; /** * `link` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ link?: string | undefined; /** * `rightmargin` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ rightmargin?: string | undefined; /** * `text` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ text?: string | undefined; /** * `topmargin` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ topmargin?: string | undefined; /** * `vlink` is an attribute of the [`body`](https://developer.mozilla.org/docs/Web/HTML/Element/body) element. + * @see * @deprecated */ vlink?: string | undefined; diff --git a/br.ts b/br.ts index e4caa85..af4f3cf 100644 --- a/br.ts +++ b/br.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface BrElementProps extends GlobalAttributes { /** * `clear` is an attribute of the [`br`](https://developer.mozilla.org/docs/Web/HTML/Element/br) element. + * @see * @deprecated */ clear?: string | undefined; diff --git a/button.ts b/button.ts index a365539..713c2ec 100644 --- a/button.ts +++ b/button.ts @@ -11,29 +11,65 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface ButtonElementProps extends GlobalAttributes { - /** `disabled` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `disabled` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ disabled?: string | undefined; - /** `form` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `form` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ form?: string | undefined; - /** `formaction` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `formaction` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ formaction?: string | undefined; - /** `formenctype` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `formenctype` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ formenctype?: string | undefined; - /** `formmethod` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `formmethod` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ formmethod?: string | undefined; - /** `formnovalidate` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `formnovalidate` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ formnovalidate?: string | undefined; - /** `formtarget` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `formtarget` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ formtarget?: string | undefined; - /** `name` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `name` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ name?: string | undefined; - /** `popovertarget` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `popovertarget` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ popovertarget?: string | undefined; - /** `popovertargetaction` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `popovertargetaction` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ popovertargetaction?: string | undefined; - /** `type` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `type` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ type?: string | undefined; - /** `value` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. */ + /** + * `value` is an attribute of the [`button`](https://developer.mozilla.org/docs/Web/HTML/Element/button) element. + * @see + */ value?: string | undefined; } diff --git a/canvas.ts b/canvas.ts index 91df3c4..cec29d5 100644 --- a/canvas.ts +++ b/canvas.ts @@ -11,14 +11,21 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface CanvasElementProps extends GlobalAttributes { - /** `height` is an attribute of the [`canvas`](https://developer.mozilla.org/docs/Web/HTML/Element/canvas) element. */ + /** + * `height` is an attribute of the [`canvas`](https://developer.mozilla.org/docs/Web/HTML/Element/canvas) element. + * @see + */ height?: string | undefined; /** * `moz-opaque` is an attribute of the [`canvas`](https://developer.mozilla.org/docs/Web/HTML/Element/canvas) element. + * @see * @deprecated */ "moz-opaque"?: string | undefined; - /** `width` is an attribute of the [`canvas`](https://developer.mozilla.org/docs/Web/HTML/Element/canvas) element. */ + /** + * `width` is an attribute of the [`canvas`](https://developer.mozilla.org/docs/Web/HTML/Element/canvas) element. + * @see + */ width?: string | undefined; } diff --git a/caption.ts b/caption.ts index 2f0f556..47935a7 100644 --- a/caption.ts +++ b/caption.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface CaptionElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`caption`](https://developer.mozilla.org/docs/Web/HTML/Element/caption) element. + * @see * @deprecated */ align?: string | undefined; diff --git a/cli/codegen.ts b/cli/codegen.ts index 6b9a41b..8a32464 100644 --- a/cli/codegen.ts +++ b/cli/codegen.ts @@ -15,6 +15,8 @@ * └── ./mod.ts */ +import { toPascalCase } from "@std/text/to-pascal-case"; +import type { SourceFile } from "ts-morph"; import { Project } from "ts-morph"; import bcd from "@mdn/browser-compat-data" with { type: "json" }; @@ -106,102 +108,7 @@ if (import.meta.main) { // Create a file for each element. const descriptors = getDescriptors(); for (const descriptor of descriptors) { - const sourceFile = project.createSourceFile( - `${descriptor.tag}.ts`, - undefined, - { overwrite: true }, - ); - - // Add file prelude. - sourceFile.addStatements(`/** - * @fileoverview - * - * This file was generated. Do not modify this file directly. - */`); - - // Add the type imports. - sourceFile.addImportDeclaration({ - isTypeOnly: true, - moduleSpecifier: "./lib/mod.ts", - namedImports: ["AnyProps", "GlobalAttributes"], - }); - - // Add the variable imports. - sourceFile.addImportDeclaration({ - moduleSpecifier: "./lib/mod.ts", - namedImports: ["renderElement"], - }); - - // Add an interface for the props. - type InterfaceProperties = Parameters< - typeof sourceFile.addInterface - >[0]["properties"]; - const properties: InterfaceProperties = descriptor.attrs.map((attr) => ({ - name: attr.includes("-") ? `'${attr}'` : attr, - hasQuestionToken: true, - type: "string | undefined", - docs: toDocs({ - description: - `\`${attr}\` is an attribute of the [\`${descriptor.tag}\`](${descriptor.see}) element.`, - isExperimental: bcd.html.elements[descriptor.tag][attr].__compat - ?.status?.experimental, - isDeprecated: bcd.html.elements[descriptor.tag][attr].__compat - ?.status?.deprecated, - }), - })); - if (descriptor.tag === "input") { - // TODO(https://github.com/FartLabs/htx/issues/5): Resolve. - properties.unshift({ - name: "type", - hasQuestionToken: true, - type: getInputTypes().map((type) => `'${type}'`).join(" | "), - }); - } - - sourceFile.addInterface({ - name: descriptor.propsInterfaceName, - isExported: true, - extends: ["GlobalAttributes"], - properties, - docs: toDocs({ - description: - `${descriptor.propsInterfaceName} are the props for the [\`${descriptor.tag}\`](${descriptor.see}) element.`, - see: descriptor.see, - isDeprecated: descriptor.isDeprecated, - isExperimental: descriptor.isExperimental, - }), - }); - - // Add the element render function. - sourceFile.addFunction({ - name: descriptor.functionName, - isExported: true, - parameters: [ - { - name: "props", - type: descriptor.propsInterfaceName, - hasQuestionToken: true, - }, - ...(!descriptor.isVoid - ? [{ - name: "children", - type: "string[]", - isRestParameter: true, - }] - : []), - ], - returnType: "string", - docs: toDocs({ - description: - `${descriptor.functionName} renders the [\`${descriptor.tag}\`](${descriptor.see}) element.`, - isDeprecated: descriptor.isDeprecated, - isExperimental: descriptor.isExperimental, - see: descriptor.see, - }), - statements: descriptor.isVoid - ? `return renderElement("${descriptor.tag}", props as AnyProps, true);` - : `return renderElement("${descriptor.tag}", props as AnyProps, false, children);`, - }); + addElementFile(project, descriptor); } // Create the mod file. @@ -242,22 +149,170 @@ if (import.meta.main) { } /** - * Descriptor represents the data for an HTML element. - * - * From this data, we can generate a TypeScript file for each element. + * addElementFile adds a TypeScript file for the given HTML element descriptor. */ -export interface Descriptor { - tag: string; - functionName: string; - propsInterfaceName: string; - isVoid: boolean; - attrs: string[]; - description?: string; - see?: string; - isDeprecated?: boolean; - isExperimental?: boolean; +export function addElementFile( + project: Project, + descriptor: Descriptor, +): void { + const sourceFile = project.createSourceFile( + `${descriptor.tag}.ts`, + undefined, + { overwrite: true }, + ); + + // Add file prelude. + sourceFile.addStatements(`/** +* @fileoverview +* +* This file was generated. Do not modify this file directly. +*/`); + + // Add the type imports. + sourceFile.addImportDeclaration({ + isTypeOnly: true, + moduleSpecifier: "./lib/mod.ts", + namedImports: ["AnyProps", "GlobalAttributes"], + }); + + // Add the variable imports. + sourceFile.addImportDeclaration({ + moduleSpecifier: "./lib/mod.ts", + namedImports: ["renderElement"], + }); + + // Add the props interface. + addPropsInterfaces(sourceFile, descriptor); + + // Add the element render function. + const propsRenderTypeCast = descriptor.tag !== "input" + ? " as AnyProps" + : " as unknown as AnyProps"; + sourceFile.addFunction({ + name: descriptor.functionName, + isExported: true, + parameters: [ + { + name: "props", + type: descriptor.propsInterfaceName, + hasQuestionToken: true, + }, + ...(!descriptor.isVoid + ? [{ + name: "children", + type: "string[]", + isRestParameter: true, + }] + : []), + ], + returnType: "string", + docs: toDocs({ + description: + `${descriptor.functionName} renders the [\`${descriptor.tag}\`](${descriptor.see}) element.`, + isDeprecated: descriptor.isDeprecated, + isExperimental: descriptor.isExperimental, + see: descriptor.see, + }), + statements: descriptor.isVoid + ? `return renderElement("${descriptor.tag}", props${propsRenderTypeCast}, true);` + : `return renderElement("${descriptor.tag}", props${propsRenderTypeCast}, false, children);`, + }); +} + +/** + * addPropsInterfaces adds the interfaces to the given source file. + */ +export function addPropsInterfaces( + sourceFile: SourceFile, + descriptor: Descriptor, +): void { + const properties: InterfaceProperties = descriptor.attrs.map((attr) => ({ + name: attr.includes("-") ? `'${attr}'` : attr, + hasQuestionToken: true, + type: "string | undefined", + docs: toDocs({ + see: `${descriptor.see}#${attr}`, + description: + `\`${attr}\` is an attribute of the [\`${descriptor.tag}\`](${descriptor.see}) element.`, + isExperimental: bcd.html.elements[descriptor.tag][attr].__compat + ?.status?.experimental, + isDeprecated: bcd.html.elements[descriptor.tag][attr].__compat + ?.status?.deprecated, + }), + })); + + switch (descriptor.tag) { + case "input": { + sourceFile.addTypeAlias({ + name: "InputElementType", + isExported: true, + type: getInputTypes().map((type) => `"${type}"`).join(" | "), + docs: toDocs({ + description: "InputElementType is the type of the input element.", + see: "https://developer.mozilla.org/docs/Web/HTML/Element/input#type", + }), + }); + + sourceFile.addInterface({ + name: descriptor.propsInterfaceName, + isExported: true, + extends: ["GlobalAttributes"], + properties: [ + ...properties, + { + name: "type", + hasQuestionToken: true, + type: "InputElementType | undefined", + docs: toDocs({ + description: "`type` is the type of the input element.", + see: + "https://developer.mozilla.org/docs/Web/HTML/Element/input#type", + }), + }, + { + name: "value", + type: "string | undefined", + hasQuestionToken: true, + docs: toDocs({ + description: "`value` is the value of the input element.", + see: + "https://developer.mozilla.org/docs/Web/HTML/Element/input#value", + }), + }, + ], + docs: toDocs({ + description: + `${descriptor.propsInterfaceName} are the base props for the [\`${descriptor.tag}\`](${descriptor.see}) element.`, + see: descriptor.see, + isDeprecated: descriptor.isDeprecated, + isExperimental: descriptor.isExperimental, + }), + }); + break; + } + + default: { + sourceFile.addInterface({ + name: descriptor.propsInterfaceName, + isExported: true, + extends: ["GlobalAttributes"], + properties, + docs: toDocs({ + description: + `${descriptor.propsInterfaceName} are the props for the [\`${descriptor.tag}\`](${descriptor.see}) element.`, + see: descriptor.see, + isDeprecated: descriptor.isDeprecated, + isExperimental: descriptor.isExperimental, + }), + }); + } + } } +type InterfaceProperties = Parameters< + SourceFile["addInterface"] +>[number]["properties"]; + /** * getDescriptors returns the descriptors for each HTML element. */ @@ -268,7 +323,7 @@ export function getDescriptors(): Descriptor[] { descriptors.push({ tag, functionName: toFunctionName(tag), - propsInterfaceName: `${capitalize(tag)}ElementProps`, + propsInterfaceName: `${toPascalCase(tag)}ElementProps`, isVoid: isVoid(tag), attrs, see: bcd.html.elements[tag].__compat?.mdn_url, @@ -280,6 +335,23 @@ export function getDescriptors(): Descriptor[] { return descriptors; } +/** + * Descriptor represents the data for an HTML element. + * + * From this data, we can generate a TypeScript file for each element. + */ +export interface Descriptor { + tag: string; + functionName: string; + propsInterfaceName: string; + isVoid: boolean; + attrs: string[]; + description?: string; + see?: string; + isDeprecated?: boolean; + isExperimental?: boolean; +} + /** * getAttrs returns the attributes for the given HTML element tag. */ @@ -299,13 +371,6 @@ export function getInputTypes(): string[] { .map((attr) => attr.replace(re, "")); } -/** - * capitalize capitalizes the first letter of the given string. - */ -export function capitalize(s: string): string { - return s.charAt(0).toUpperCase() + s.slice(1); -} - /** * toFunctionName converts the given string to a valid function name. */ diff --git a/col.ts b/col.ts index e8652c3..59ff500 100644 --- a/col.ts +++ b/col.ts @@ -13,28 +13,36 @@ import { renderElement } from "./lib/mod.ts"; export interface ColElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see * @deprecated */ align?: string | undefined; /** * `char` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see * @deprecated */ charoff?: string | undefined; - /** `span` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. */ + /** + * `span` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see + */ span?: string | undefined; /** * `valign` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see * @deprecated */ valign?: string | undefined; /** * `width` is an attribute of the [`col`](https://developer.mozilla.org/docs/Web/HTML/Element/col) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/colgroup.ts b/colgroup.ts index 3b91a6a..a2f171a 100644 --- a/colgroup.ts +++ b/colgroup.ts @@ -13,28 +13,36 @@ import { renderElement } from "./lib/mod.ts"; export interface ColgroupElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see * @deprecated */ align?: string | undefined; /** * `char` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see * @deprecated */ charoff?: string | undefined; - /** `span` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. */ + /** + * `span` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see + */ span?: string | undefined; /** * `valign` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see * @deprecated */ valign?: string | undefined; /** * `width` is an attribute of the [`colgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/colgroup) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/data.ts b/data.ts index 216731b..97e83cb 100644 --- a/data.ts +++ b/data.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface DataElementProps extends GlobalAttributes { - /** `value` is an attribute of the [`data`](https://developer.mozilla.org/docs/Web/HTML/Element/data) element. */ + /** + * `value` is an attribute of the [`data`](https://developer.mozilla.org/docs/Web/HTML/Element/data) element. + * @see + */ value?: string | undefined; } diff --git a/del.ts b/del.ts index d7d90ae..4a47a33 100644 --- a/del.ts +++ b/del.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface DelElementProps extends GlobalAttributes { - /** `cite` is an attribute of the [`del`](https://developer.mozilla.org/docs/Web/HTML/Element/del) element. */ + /** + * `cite` is an attribute of the [`del`](https://developer.mozilla.org/docs/Web/HTML/Element/del) element. + * @see + */ cite?: string | undefined; - /** `datetime` is an attribute of the [`del`](https://developer.mozilla.org/docs/Web/HTML/Element/del) element. */ + /** + * `datetime` is an attribute of the [`del`](https://developer.mozilla.org/docs/Web/HTML/Element/del) element. + * @see + */ datetime?: string | undefined; } diff --git a/deno.json b/deno.json index c6af91c..273ebdb 100644 --- a/deno.json +++ b/deno.json @@ -4,6 +4,7 @@ "version": "0.0.5", "imports": { "@mdn/browser-compat-data": "npm:@mdn/browser-compat-data@^5.5.19", + "@std/text": "jsr:@std/text@^1.0.8", "ts-morph": "npm:ts-morph@^22.0.0" }, "tasks": { diff --git a/details.ts b/details.ts index 3c57f7b..d1d2000 100644 --- a/details.ts +++ b/details.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface DetailsElementProps extends GlobalAttributes { - /** `name` is an attribute of the [`details`](https://developer.mozilla.org/docs/Web/HTML/Element/details) element. */ + /** + * `name` is an attribute of the [`details`](https://developer.mozilla.org/docs/Web/HTML/Element/details) element. + * @see + */ name?: string | undefined; - /** `open` is an attribute of the [`details`](https://developer.mozilla.org/docs/Web/HTML/Element/details) element. */ + /** + * `open` is an attribute of the [`details`](https://developer.mozilla.org/docs/Web/HTML/Element/details) element. + * @see + */ open?: string | undefined; } diff --git a/dialog.ts b/dialog.ts index 77ce27a..073f3eb 100644 --- a/dialog.ts +++ b/dialog.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface DialogElementProps extends GlobalAttributes { - /** `open` is an attribute of the [`dialog`](https://developer.mozilla.org/docs/Web/HTML/Element/dialog) element. */ + /** + * `open` is an attribute of the [`dialog`](https://developer.mozilla.org/docs/Web/HTML/Element/dialog) element. + * @see + */ open?: string | undefined; } diff --git a/dir.ts b/dir.ts index b42bd57..5cb8986 100644 --- a/dir.ts +++ b/dir.ts @@ -14,6 +14,7 @@ import { renderElement } from "./lib/mod.ts"; export interface DirElementProps extends GlobalAttributes { /** * `compact` is an attribute of the [`dir`](https://developer.mozilla.org/docs/Web/HTML/Element/dir) element. + * @see * @deprecated */ compact?: string | undefined; diff --git a/div.ts b/div.ts index 543cb99..8d8afd3 100644 --- a/div.ts +++ b/div.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface DivElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`div`](https://developer.mozilla.org/docs/Web/HTML/Element/div) element. + * @see * @deprecated */ align?: string | undefined; diff --git a/embed.ts b/embed.ts index d783ca1..d0047bd 100644 --- a/embed.ts +++ b/embed.ts @@ -13,21 +13,35 @@ import { renderElement } from "./lib/mod.ts"; export interface EmbedElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see * @deprecated */ align?: string | undefined; - /** `height` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. */ + /** + * `height` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see + */ height?: string | undefined; /** * `name` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see * @deprecated */ name?: string | undefined; - /** `src` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. */ + /** + * `src` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see + */ src?: string | undefined; - /** `type` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. */ + /** + * `type` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see + */ type?: string | undefined; - /** `width` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. */ + /** + * `width` is an attribute of the [`embed`](https://developer.mozilla.org/docs/Web/HTML/Element/embed) element. + * @see + */ width?: string | undefined; } diff --git a/fieldset.ts b/fieldset.ts index 1197ab2..048db78 100644 --- a/fieldset.ts +++ b/fieldset.ts @@ -11,11 +11,20 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface FieldsetElementProps extends GlobalAttributes { - /** `disabled` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. */ + /** + * `disabled` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. + * @see + */ disabled?: string | undefined; - /** `form` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. */ + /** + * `form` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. + * @see + */ form?: string | undefined; - /** `name` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. */ + /** + * `name` is an attribute of the [`fieldset`](https://developer.mozilla.org/docs/Web/HTML/Element/fieldset) element. + * @see + */ name?: string | undefined; } diff --git a/font.ts b/font.ts index 9ad8af1..8b50436 100644 --- a/font.ts +++ b/font.ts @@ -14,16 +14,19 @@ import { renderElement } from "./lib/mod.ts"; export interface FontElementProps extends GlobalAttributes { /** * `color` is an attribute of the [`font`](https://developer.mozilla.org/docs/Web/HTML/Element/font) element. + * @see * @deprecated */ color?: string | undefined; /** * `face` is an attribute of the [`font`](https://developer.mozilla.org/docs/Web/HTML/Element/font) element. + * @see * @deprecated */ face?: string | undefined; /** * `size` is an attribute of the [`font`](https://developer.mozilla.org/docs/Web/HTML/Element/font) element. + * @see * @deprecated */ size?: string | undefined; diff --git a/form.ts b/form.ts index 89a9eb9..160c4a2 100644 --- a/form.ts +++ b/form.ts @@ -11,23 +11,50 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface FormElementProps extends GlobalAttributes { - /** `accept-charset` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `accept-charset` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ "accept-charset"?: string | undefined; - /** `action` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `action` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ action?: string | undefined; - /** `autocomplete` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `autocomplete` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ autocomplete?: string | undefined; - /** `enctype` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `enctype` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ enctype?: string | undefined; - /** `method` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `method` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ method?: string | undefined; - /** `name` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `name` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ name?: string | undefined; - /** `novalidate` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `novalidate` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ novalidate?: string | undefined; - /** `rel` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `rel` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ rel?: string | undefined; - /** `target` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. */ + /** + * `target` is an attribute of the [`form`](https://developer.mozilla.org/docs/Web/HTML/Element/form) element. + * @see + */ target?: string | undefined; } diff --git a/frame.ts b/frame.ts index 18e412f..f47d1eb 100644 --- a/frame.ts +++ b/frame.ts @@ -14,36 +14,43 @@ import { renderElement } from "./lib/mod.ts"; export interface FrameElementProps extends GlobalAttributes { /** * `frameborder` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ frameborder?: string | undefined; /** * `marginheight` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ marginheight?: string | undefined; /** * `marginwidth` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ marginwidth?: string | undefined; /** * `name` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ name?: string | undefined; /** * `noresize` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ noresize?: string | undefined; /** * `scrolling` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ scrolling?: string | undefined; /** * `src` is an attribute of the [`frame`](https://developer.mozilla.org/docs/Web/HTML/Element/frame) element. + * @see * @deprecated */ src?: string | undefined; diff --git a/frameset.ts b/frameset.ts index af30915..1578ec5 100644 --- a/frameset.ts +++ b/frameset.ts @@ -14,11 +14,13 @@ import { renderElement } from "./lib/mod.ts"; export interface FramesetElementProps extends GlobalAttributes { /** * `cols` is an attribute of the [`frameset`](https://developer.mozilla.org/docs/Web/HTML/Element/frameset) element. + * @see * @deprecated */ cols?: string | undefined; /** * `rows` is an attribute of the [`frameset`](https://developer.mozilla.org/docs/Web/HTML/Element/frameset) element. + * @see * @deprecated */ rows?: string | undefined; diff --git a/head.ts b/head.ts index 18f25c0..4111aec 100644 --- a/head.ts +++ b/head.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface HeadElementProps extends GlobalAttributes { /** * `profile` is an attribute of the [`head`](https://developer.mozilla.org/docs/Web/HTML/Element/head) element. + * @see * @deprecated */ profile?: string | undefined; diff --git a/hr.ts b/hr.ts index 5380298..91e8eaf 100644 --- a/hr.ts +++ b/hr.ts @@ -13,26 +13,31 @@ import { renderElement } from "./lib/mod.ts"; export interface HrElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`hr`](https://developer.mozilla.org/docs/Web/HTML/Element/hr) element. + * @see * @deprecated */ align?: string | undefined; /** * `color` is an attribute of the [`hr`](https://developer.mozilla.org/docs/Web/HTML/Element/hr) element. + * @see * @deprecated */ color?: string | undefined; /** * `noshade` is an attribute of the [`hr`](https://developer.mozilla.org/docs/Web/HTML/Element/hr) element. + * @see * @deprecated */ noshade?: string | undefined; /** * `size` is an attribute of the [`hr`](https://developer.mozilla.org/docs/Web/HTML/Element/hr) element. + * @see * @deprecated */ size?: string | undefined; /** * `width` is an attribute of the [`hr`](https://developer.mozilla.org/docs/Web/HTML/Element/hr) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/html.ts b/html.ts index 5add309..1c8f283 100644 --- a/html.ts +++ b/html.ts @@ -13,15 +13,20 @@ import { renderElement } from "./lib/mod.ts"; export interface HtmlElementProps extends GlobalAttributes { /** * `manifest` is an attribute of the [`html`](https://developer.mozilla.org/docs/Web/HTML/Element/html) element. + * @see * @deprecated */ manifest?: string | undefined; /** * `version` is an attribute of the [`html`](https://developer.mozilla.org/docs/Web/HTML/Element/html) element. + * @see * @deprecated */ version?: string | undefined; - /** `xmlns` is an attribute of the [`html`](https://developer.mozilla.org/docs/Web/HTML/Element/html) element. */ + /** + * `xmlns` is an attribute of the [`html`](https://developer.mozilla.org/docs/Web/HTML/Element/html) element. + * @see + */ xmlns?: string | undefined; } diff --git a/iframe.ts b/iframe.ts index 56c28b8..6bf4dcc 100644 --- a/iframe.ts +++ b/iframe.ts @@ -13,73 +13,113 @@ import { renderElement } from "./lib/mod.ts"; export interface IframeElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ align?: string | undefined; - /** `allow` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `allow` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ allow?: string | undefined; - /** `allowfullscreen` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `allowfullscreen` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ allowfullscreen?: string | undefined; /** * `allowpaymentrequest` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ allowpaymentrequest?: string | undefined; /** * `browsingtopics` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @experimental */ browsingtopics?: string | undefined; /** * `credentialless` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @experimental */ credentialless?: string | undefined; /** * `csp` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @experimental */ csp?: string | undefined; /** * `frameborder` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ frameborder?: string | undefined; - /** `height` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `height` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ height?: string | undefined; - /** `loading` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `loading` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ loading?: string | undefined; /** * `longdesc` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ longdesc?: string | undefined; /** * `marginheight` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ marginheight?: string | undefined; /** * `marginwidth` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ marginwidth?: string | undefined; - /** `name` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `name` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ name?: string | undefined; - /** `referrerpolicy` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `referrerpolicy` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ referrerpolicy?: string | undefined; - /** `sandbox` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `sandbox` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ sandbox?: string | undefined; /** * `scrolling` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see * @deprecated */ scrolling?: string | undefined; - /** `src` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `src` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ src?: string | undefined; - /** `srcdoc` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `srcdoc` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ srcdoc?: string | undefined; - /** `width` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. */ + /** + * `width` is an attribute of the [`iframe`](https://developer.mozilla.org/docs/Web/HTML/Element/iframe) element. + * @see + */ width?: string | undefined; } diff --git a/img.ts b/img.ts index 88f3ab1..b376a96 100644 --- a/img.ts +++ b/img.ts @@ -13,64 +13,110 @@ import { renderElement } from "./lib/mod.ts"; export interface ImgElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ align?: string | undefined; - /** `alt` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `alt` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ alt?: string | undefined; /** * `attributionsrc` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @experimental */ attributionsrc?: string | undefined; /** * `border` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ border?: string | undefined; - /** `crossorigin` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `crossorigin` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ crossorigin?: string | undefined; - /** `decoding` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `decoding` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ decoding?: string | undefined; - /** `fetchpriority` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `fetchpriority` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ fetchpriority?: string | undefined; - /** `height` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `height` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ height?: string | undefined; /** * `hspace` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ hspace?: string | undefined; - /** `ismap` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `ismap` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ ismap?: string | undefined; - /** `loading` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `loading` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ loading?: string | undefined; /** * `longdesc` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ longdesc?: string | undefined; /** * `name` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ name?: string | undefined; - /** `referrerpolicy` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `referrerpolicy` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ referrerpolicy?: string | undefined; - /** `sizes` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `sizes` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ sizes?: string | undefined; - /** `src` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `src` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ src?: string | undefined; - /** `srcset` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `srcset` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ srcset?: string | undefined; - /** `usemap` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `usemap` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ usemap?: string | undefined; /** * `vspace` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see * @deprecated */ vspace?: string | undefined; - /** `width` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. */ + /** + * `width` is an attribute of the [`img`](https://developer.mozilla.org/docs/Web/HTML/Element/img) element. + * @see + */ width?: string | undefined; } diff --git a/input.ts b/input.ts index 85398d9..02eeb71 100644 --- a/input.ts +++ b/input.ts @@ -7,105 +7,202 @@ import type { AnyProps, GlobalAttributes } from "./lib/mod.ts"; import { renderElement } from "./lib/mod.ts"; /** - * InputElementProps are the props for the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * InputElementType is the type of the input element. + * @see + */ +export type InputElementType = + | "button" + | "checkbox" + | "color" + | "date" + | "datetime-local" + | "email" + | "file" + | "hidden" + | "image" + | "month" + | "number" + | "password" + | "radio" + | "range" + | "reset" + | "search" + | "submit" + | "tel" + | "text" + | "time" + | "url" + | "week"; + +/** + * InputElementProps are the base props for the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. * @see */ export interface InputElementProps extends GlobalAttributes { - type?: - | "button" - | "checkbox" - | "color" - | "date" - | "datetime-local" - | "email" - | "file" - | "hidden" - | "image" - | "month" - | "number" - | "password" - | "radio" - | "range" - | "reset" - | "search" - | "submit" - | "tel" - | "text" - | "time" - | "url" - | "week"; - /** `accept` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `accept` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ accept?: string | undefined; /** * `align` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see * @deprecated */ align?: string | undefined; - /** `alt` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `alt` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ alt?: string | undefined; - /** `capture` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `capture` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ capture?: string | undefined; - /** `checked` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `checked` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ checked?: string | undefined; - /** `dirname` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `dirname` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ dirname?: string | undefined; - /** `disabled` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `disabled` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ disabled?: string | undefined; - /** `form` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `form` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ form?: string | undefined; - /** `formaction` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `formaction` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ formaction?: string | undefined; - /** `formenctype` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `formenctype` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ formenctype?: string | undefined; - /** `formmethod` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `formmethod` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ formmethod?: string | undefined; - /** `formnovalidate` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `formnovalidate` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ formnovalidate?: string | undefined; - /** `formtarget` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `formtarget` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ formtarget?: string | undefined; - /** `list` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `list` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ list?: string | undefined; - /** `max` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `max` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ max?: string | undefined; - /** `maxlength` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `maxlength` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ maxlength?: string | undefined; - /** `min` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `min` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ min?: string | undefined; - /** `minlength` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `minlength` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ minlength?: string | undefined; /** * `mozactionhint` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see * @deprecated */ mozactionhint?: string | undefined; - /** `multiple` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `multiple` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ multiple?: string | undefined; - /** `name` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `name` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ name?: string | undefined; - /** `pattern` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `pattern` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ pattern?: string | undefined; - /** `placeholder` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `placeholder` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ placeholder?: string | undefined; - /** `popovertarget` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `popovertarget` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ popovertarget?: string | undefined; - /** `popovertargetaction` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `popovertargetaction` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ popovertargetaction?: string | undefined; - /** `readonly` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `readonly` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ readonly?: string | undefined; - /** `src` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `src` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ src?: string | undefined; - /** `step` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. */ + /** + * `step` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see + */ step?: string | undefined; /** * `usemap` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see * @deprecated */ usemap?: string | undefined; /** * `x-moz-errormessage` is an attribute of the [`input`](https://developer.mozilla.org/docs/Web/HTML/Element/input) element. + * @see * @deprecated */ "x-moz-errormessage"?: string | undefined; + /** + * `type` is the type of the input element. + * @see + */ + type?: InputElementType | undefined; + /** + * `value` is the value of the input element. + * @see + */ + value?: string | undefined; } /** @@ -113,5 +210,5 @@ export interface InputElementProps extends GlobalAttributes { * @see */ export function input(props?: InputElementProps): string { - return renderElement("input", props as AnyProps, true); + return renderElement("input", props as unknown as AnyProps, true); } diff --git a/ins.ts b/ins.ts index 6d5040a..ccdbb2a 100644 --- a/ins.ts +++ b/ins.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface InsElementProps extends GlobalAttributes { - /** `cite` is an attribute of the [`ins`](https://developer.mozilla.org/docs/Web/HTML/Element/ins) element. */ + /** + * `cite` is an attribute of the [`ins`](https://developer.mozilla.org/docs/Web/HTML/Element/ins) element. + * @see + */ cite?: string | undefined; - /** `datetime` is an attribute of the [`ins`](https://developer.mozilla.org/docs/Web/HTML/Element/ins) element. */ + /** + * `datetime` is an attribute of the [`ins`](https://developer.mozilla.org/docs/Web/HTML/Element/ins) element. + * @see + */ datetime?: string | undefined; } diff --git a/label.ts b/label.ts index 1204266..a85407b 100644 --- a/label.ts +++ b/label.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface LabelElementProps extends GlobalAttributes { - /** `for` is an attribute of the [`label`](https://developer.mozilla.org/docs/Web/HTML/Element/label) element. */ + /** + * `for` is an attribute of the [`label`](https://developer.mozilla.org/docs/Web/HTML/Element/label) element. + * @see + */ for?: string | undefined; } diff --git a/legend.ts b/legend.ts index 000360f..03b4508 100644 --- a/legend.ts +++ b/legend.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface LegendElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`legend`](https://developer.mozilla.org/docs/Web/HTML/Element/legend) element. + * @see * @deprecated */ align?: string | undefined; diff --git a/li.ts b/li.ts index 2b0a37d..a2d0151 100644 --- a/li.ts +++ b/li.ts @@ -13,10 +13,14 @@ import { renderElement } from "./lib/mod.ts"; export interface LiElementProps extends GlobalAttributes { /** * `type` is an attribute of the [`li`](https://developer.mozilla.org/docs/Web/HTML/Element/li) element. + * @see * @deprecated */ type?: string | undefined; - /** `value` is an attribute of the [`li`](https://developer.mozilla.org/docs/Web/HTML/Element/li) element. */ + /** + * `value` is an attribute of the [`li`](https://developer.mozilla.org/docs/Web/HTML/Element/li) element. + * @see + */ value?: string | undefined; } diff --git a/link.ts b/link.ts index 54fabef..17b3d67 100644 --- a/link.ts +++ b/link.ts @@ -11,58 +11,105 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface LinkElementProps extends GlobalAttributes { - /** `as` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `as` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ as?: string | undefined; /** * `blocking` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see * @experimental */ blocking?: string | undefined; /** * `charset` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see * @deprecated */ charset?: string | undefined; - /** `crossorigin` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `crossorigin` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ crossorigin?: string | undefined; - /** `disabled` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `disabled` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ disabled?: string | undefined; - /** `fetchpriority` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `fetchpriority` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ fetchpriority?: string | undefined; - /** `href` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `href` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ href?: string | undefined; - /** `hreflang` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `hreflang` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ hreflang?: string | undefined; - /** `imagesizes` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `imagesizes` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ imagesizes?: string | undefined; - /** `imagesrcset` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `imagesrcset` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ imagesrcset?: string | undefined; - /** `integrity` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `integrity` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ integrity?: string | undefined; - /** `media` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `media` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ media?: string | undefined; /** * `methods` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see * @deprecated */ methods?: string | undefined; - /** `referrerpolicy` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `referrerpolicy` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ referrerpolicy?: string | undefined; - /** `rel` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `rel` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ rel?: string | undefined; /** * `rev` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see * @deprecated */ rev?: string | undefined; - /** `sizes` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `sizes` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ sizes?: string | undefined; /** * `target` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see * @deprecated */ target?: string | undefined; - /** `type` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. */ + /** + * `type` is an attribute of the [`link`](https://developer.mozilla.org/docs/Web/HTML/Element/link) element. + * @see + */ type?: string | undefined; } diff --git a/map.ts b/map.ts index 54b3784..f1c76ca 100644 --- a/map.ts +++ b/map.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface MapElementProps extends GlobalAttributes { - /** `name` is an attribute of the [`map`](https://developer.mozilla.org/docs/Web/HTML/Element/map) element. */ + /** + * `name` is an attribute of the [`map`](https://developer.mozilla.org/docs/Web/HTML/Element/map) element. + * @see + */ name?: string | undefined; } diff --git a/marquee.ts b/marquee.ts index bbe0b76..39b5f4a 100644 --- a/marquee.ts +++ b/marquee.ts @@ -14,56 +14,67 @@ import { renderElement } from "./lib/mod.ts"; export interface MarqueeElementProps extends GlobalAttributes { /** * `behavior` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ behavior?: string | undefined; /** * `bgcolor` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `direction` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ direction?: string | undefined; /** * `height` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ height?: string | undefined; /** * `hspace` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ hspace?: string | undefined; /** * `loop` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ loop?: string | undefined; /** * `scrollamount` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ scrollamount?: string | undefined; /** * `scrolldelay` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ scrolldelay?: string | undefined; /** * `truespeed` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ truespeed?: string | undefined; /** * `vspace` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ vspace?: string | undefined; /** * `width` is an attribute of the [`marquee`](https://developer.mozilla.org/docs/Web/HTML/Element/marquee) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/menu.ts b/menu.ts index f88895c..7c7652e 100644 --- a/menu.ts +++ b/menu.ts @@ -13,6 +13,7 @@ import { renderElement } from "./lib/mod.ts"; export interface MenuElementProps extends GlobalAttributes { /** * `label` is an attribute of the [`menu`](https://developer.mozilla.org/docs/Web/HTML/Element/menu) element. + * @see * @deprecated */ label?: string | undefined; diff --git a/meta.ts b/meta.ts index aed8450..30f5db9 100644 --- a/meta.ts +++ b/meta.ts @@ -11,16 +11,29 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface MetaElementProps extends GlobalAttributes { - /** `charset` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. */ + /** + * `charset` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. + * @see + */ charset?: string | undefined; - /** `content` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. */ + /** + * `content` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. + * @see + */ content?: string | undefined; - /** `http-equiv` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. */ + /** + * `http-equiv` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. + * @see + */ "http-equiv"?: string | undefined; - /** `name` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. */ + /** + * `name` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. + * @see + */ name?: string | undefined; /** * `scheme` is an attribute of the [`meta`](https://developer.mozilla.org/docs/Web/HTML/Element/meta) element. + * @see * @deprecated */ scheme?: string | undefined; diff --git a/meter.ts b/meter.ts index ead740b..4030b44 100644 --- a/meter.ts +++ b/meter.ts @@ -11,17 +11,35 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface MeterElementProps extends GlobalAttributes { - /** `high` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `high` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ high?: string | undefined; - /** `low` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `low` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ low?: string | undefined; - /** `max` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `max` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ max?: string | undefined; - /** `min` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `min` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ min?: string | undefined; - /** `optimum` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `optimum` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ optimum?: string | undefined; - /** `value` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. */ + /** + * `value` is an attribute of the [`meter`](https://developer.mozilla.org/docs/Web/HTML/Element/meter) element. + * @see + */ value?: string | undefined; } diff --git a/object.ts b/object.ts index 634dfca..af60667 100644 --- a/object.ts +++ b/object.ts @@ -13,60 +13,87 @@ import { renderElement } from "./lib/mod.ts"; export interface ObjectElementProps extends GlobalAttributes { /** * `archive` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ archive?: string | undefined; /** * `border` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ border?: string | undefined; /** * `classid` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ classid?: string | undefined; /** * `codebase` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ codebase?: string | undefined; /** * `codetype` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ codetype?: string | undefined; - /** `data` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `data` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ data?: string | undefined; /** * `declare` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ declare?: string | undefined; - /** `form` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `form` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ form?: string | undefined; - /** `height` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `height` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ height?: string | undefined; - /** `name` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `name` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ name?: string | undefined; /** * `standby` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ standby?: string | undefined; /** * `tabindex` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ tabindex?: string | undefined; - /** `type` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `type` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ type?: string | undefined; /** * `usemap` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see * @deprecated */ usemap?: string | undefined; - /** `width` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. */ + /** + * `width` is an attribute of the [`object`](https://developer.mozilla.org/docs/Web/HTML/Element/object) element. + * @see + */ width?: string | undefined; } diff --git a/ol.ts b/ol.ts index 673ba48..1d2a66f 100644 --- a/ol.ts +++ b/ol.ts @@ -13,14 +13,24 @@ import { renderElement } from "./lib/mod.ts"; export interface OlElementProps extends GlobalAttributes { /** * `compact` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. + * @see * @deprecated */ compact?: string | undefined; - /** `reversed` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. */ + /** + * `reversed` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. + * @see + */ reversed?: string | undefined; - /** `start` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. */ + /** + * `start` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. + * @see + */ start?: string | undefined; - /** `type` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. */ + /** + * `type` is an attribute of the [`ol`](https://developer.mozilla.org/docs/Web/HTML/Element/ol) element. + * @see + */ type?: string | undefined; } diff --git a/optgroup.ts b/optgroup.ts index d0bff10..543c841 100644 --- a/optgroup.ts +++ b/optgroup.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface OptgroupElementProps extends GlobalAttributes { - /** `disabled` is an attribute of the [`optgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/optgroup) element. */ + /** + * `disabled` is an attribute of the [`optgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/optgroup) element. + * @see + */ disabled?: string | undefined; - /** `label` is an attribute of the [`optgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/optgroup) element. */ + /** + * `label` is an attribute of the [`optgroup`](https://developer.mozilla.org/docs/Web/HTML/Element/optgroup) element. + * @see + */ label?: string | undefined; } diff --git a/option.ts b/option.ts index 5a19cc5..c3971bc 100644 --- a/option.ts +++ b/option.ts @@ -11,13 +11,25 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface OptionElementProps extends GlobalAttributes { - /** `disabled` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. */ + /** + * `disabled` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. + * @see + */ disabled?: string | undefined; - /** `label` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. */ + /** + * `label` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. + * @see + */ label?: string | undefined; - /** `selected` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. */ + /** + * `selected` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. + * @see + */ selected?: string | undefined; - /** `value` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. */ + /** + * `value` is an attribute of the [`option`](https://developer.mozilla.org/docs/Web/HTML/Element/option) element. + * @see + */ value?: string | undefined; } diff --git a/output.ts b/output.ts index 16e550c..bbc4b18 100644 --- a/output.ts +++ b/output.ts @@ -11,11 +11,20 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface OutputElementProps extends GlobalAttributes { - /** `for` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. */ + /** + * `for` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. + * @see + */ for?: string | undefined; - /** `form` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. */ + /** + * `form` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. + * @see + */ form?: string | undefined; - /** `name` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. */ + /** + * `name` is an attribute of the [`output`](https://developer.mozilla.org/docs/Web/HTML/Element/output) element. + * @see + */ name?: string | undefined; } diff --git a/param.ts b/param.ts index 474c28b..53c7127 100644 --- a/param.ts +++ b/param.ts @@ -14,21 +14,25 @@ import { renderElement } from "./lib/mod.ts"; export interface ParamElementProps extends GlobalAttributes { /** * `name` is an attribute of the [`param`](https://developer.mozilla.org/docs/Web/HTML/Element/param) element. + * @see * @deprecated */ name?: string | undefined; /** * `type` is an attribute of the [`param`](https://developer.mozilla.org/docs/Web/HTML/Element/param) element. + * @see * @deprecated */ type?: string | undefined; /** * `value` is an attribute of the [`param`](https://developer.mozilla.org/docs/Web/HTML/Element/param) element. + * @see * @deprecated */ value?: string | undefined; /** * `valuetype` is an attribute of the [`param`](https://developer.mozilla.org/docs/Web/HTML/Element/param) element. + * @see * @deprecated */ valuetype?: string | undefined; diff --git a/pre.ts b/pre.ts index 4af456b..bcf3155 100644 --- a/pre.ts +++ b/pre.ts @@ -13,16 +13,19 @@ import { renderElement } from "./lib/mod.ts"; export interface PreElementProps extends GlobalAttributes { /** * `cols` is an attribute of the [`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre) element. + * @see * @deprecated */ cols?: string | undefined; /** * `width` is an attribute of the [`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre) element. + * @see * @deprecated */ width?: string | undefined; /** * `wrap` is an attribute of the [`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre) element. + * @see * @deprecated */ wrap?: string | undefined; diff --git a/progress.ts b/progress.ts index 29aebf9..2bf6e7e 100644 --- a/progress.ts +++ b/progress.ts @@ -11,9 +11,15 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface ProgressElementProps extends GlobalAttributes { - /** `max` is an attribute of the [`progress`](https://developer.mozilla.org/docs/Web/HTML/Element/progress) element. */ + /** + * `max` is an attribute of the [`progress`](https://developer.mozilla.org/docs/Web/HTML/Element/progress) element. + * @see + */ max?: string | undefined; - /** `value` is an attribute of the [`progress`](https://developer.mozilla.org/docs/Web/HTML/Element/progress) element. */ + /** + * `value` is an attribute of the [`progress`](https://developer.mozilla.org/docs/Web/HTML/Element/progress) element. + * @see + */ value?: string | undefined; } diff --git a/q.ts b/q.ts index e9bd9db..f64b629 100644 --- a/q.ts +++ b/q.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface QElementProps extends GlobalAttributes { - /** `cite` is an attribute of the [`q`](https://developer.mozilla.org/docs/Web/HTML/Element/q) element. */ + /** + * `cite` is an attribute of the [`q`](https://developer.mozilla.org/docs/Web/HTML/Element/q) element. + * @see + */ cite?: string | undefined; } diff --git a/script.ts b/script.ts index c9344ec..1c021e9 100644 --- a/script.ts +++ b/script.ts @@ -11,33 +11,62 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface ScriptElementProps extends GlobalAttributes { - /** `async` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `async` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ async?: string | undefined; /** * `attributionsrc` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see * @experimental */ attributionsrc?: string | undefined; /** * `blocking` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see * @experimental */ blocking?: string | undefined; - /** `crossorigin` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `crossorigin` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ crossorigin?: string | undefined; - /** `defer` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `defer` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ defer?: string | undefined; - /** `fetchpriority` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `fetchpriority` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ fetchpriority?: string | undefined; - /** `integrity` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `integrity` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ integrity?: string | undefined; - /** `nomodule` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `nomodule` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ nomodule?: string | undefined; - /** `referrerpolicy` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `referrerpolicy` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ referrerpolicy?: string | undefined; - /** `src` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `src` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ src?: string | undefined; - /** `type` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. */ + /** + * `type` is an attribute of the [`script`](https://developer.mozilla.org/docs/Web/HTML/Element/script) element. + * @see + */ type?: string | undefined; } diff --git a/select.ts b/select.ts index 66a603b..a651b44 100644 --- a/select.ts +++ b/select.ts @@ -11,17 +11,35 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface SelectElementProps extends GlobalAttributes { - /** `disabled` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `disabled` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ disabled?: string | undefined; - /** `form` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `form` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ form?: string | undefined; - /** `multiple` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `multiple` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ multiple?: string | undefined; - /** `name` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `name` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ name?: string | undefined; - /** `required` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `required` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ required?: string | undefined; - /** `size` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. */ + /** + * `size` is an attribute of the [`select`](https://developer.mozilla.org/docs/Web/HTML/Element/select) element. + * @see + */ size?: string | undefined; } diff --git a/slot.ts b/slot.ts index 0d4be11..2d031e8 100644 --- a/slot.ts +++ b/slot.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface SlotElementProps extends GlobalAttributes { - /** `name` is an attribute of the [`slot`](https://developer.mozilla.org/docs/Web/HTML/Element/slot) element. */ + /** + * `name` is an attribute of the [`slot`](https://developer.mozilla.org/docs/Web/HTML/Element/slot) element. + * @see + */ name?: string | undefined; } diff --git a/source.ts b/source.ts index b751079..dfca1a5 100644 --- a/source.ts +++ b/source.ts @@ -11,19 +11,40 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface SourceElementProps extends GlobalAttributes { - /** `height` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `height` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ height?: string | undefined; - /** `media` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `media` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ media?: string | undefined; - /** `sizes` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `sizes` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ sizes?: string | undefined; - /** `src` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `src` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ src?: string | undefined; - /** `srcset` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `srcset` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ srcset?: string | undefined; - /** `type` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `type` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ type?: string | undefined; - /** `width` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. */ + /** + * `width` is an attribute of the [`source`](https://developer.mozilla.org/docs/Web/HTML/Element/source) element. + * @see + */ width?: string | undefined; } diff --git a/style.ts b/style.ts index b91b5ac..bf0b268 100644 --- a/style.ts +++ b/style.ts @@ -13,13 +13,18 @@ import { renderElement } from "./lib/mod.ts"; export interface StyleElementProps extends GlobalAttributes { /** * `blocking` is an attribute of the [`style`](https://developer.mozilla.org/docs/Web/HTML/Element/style) element. + * @see * @experimental */ blocking?: string | undefined; - /** `media` is an attribute of the [`style`](https://developer.mozilla.org/docs/Web/HTML/Element/style) element. */ + /** + * `media` is an attribute of the [`style`](https://developer.mozilla.org/docs/Web/HTML/Element/style) element. + * @see + */ media?: string | undefined; /** * `type` is an attribute of the [`style`](https://developer.mozilla.org/docs/Web/HTML/Element/style) element. + * @see * @deprecated */ type?: string | undefined; diff --git a/table.ts b/table.ts index d5dd2a1..6131a0c 100644 --- a/table.ts +++ b/table.ts @@ -13,46 +13,55 @@ import { renderElement } from "./lib/mod.ts"; export interface TableElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ align?: string | undefined; /** * `bgcolor` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `border` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ border?: string | undefined; /** * `cellpadding` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ cellpadding?: string | undefined; /** * `cellspacing` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ cellspacing?: string | undefined; /** * `frame` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ frame?: string | undefined; /** * `rules` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ rules?: string | undefined; /** * `summary` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ summary?: string | undefined; /** * `width` is an attribute of the [`table`](https://developer.mozilla.org/docs/Web/HTML/Element/table) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/tbody.ts b/tbody.ts index c430944..91fe6f0 100644 --- a/tbody.ts +++ b/tbody.ts @@ -13,26 +13,31 @@ import { renderElement } from "./lib/mod.ts"; export interface TbodyElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`tbody`](https://developer.mozilla.org/docs/Web/HTML/Element/tbody) element. + * @see * @deprecated */ align?: string | undefined; /** * `bgcolor` is an attribute of the [`tbody`](https://developer.mozilla.org/docs/Web/HTML/Element/tbody) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`tbody`](https://developer.mozilla.org/docs/Web/HTML/Element/tbody) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`tbody`](https://developer.mozilla.org/docs/Web/HTML/Element/tbody) element. + * @see * @deprecated */ charoff?: string | undefined; /** * `valign` is an attribute of the [`tbody`](https://developer.mozilla.org/docs/Web/HTML/Element/tbody) element. + * @see * @deprecated */ valign?: string | undefined; diff --git a/td.ts b/td.ts index 227aded..aa0b79a 100644 --- a/td.ts +++ b/td.ts @@ -13,52 +13,70 @@ import { renderElement } from "./lib/mod.ts"; export interface TdElementProps extends GlobalAttributes { /** * `abbr` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ abbr?: string | undefined; /** * `align` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ align?: string | undefined; /** * `axis` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ axis?: string | undefined; /** * `bgcolor` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ charoff?: string | undefined; - /** `colspan` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. */ + /** + * `colspan` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see + */ colspan?: string | undefined; - /** `headers` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. */ + /** + * `headers` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see + */ headers?: string | undefined; - /** `rowspan` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. */ + /** + * `rowspan` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see + */ rowspan?: string | undefined; /** * `scope` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ scope?: string | undefined; /** * `valign` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ valign?: string | undefined; /** * `width` is an attribute of the [`td`](https://developer.mozilla.org/docs/Web/HTML/Element/td) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/template.ts b/template.ts index e3c0045..563728d 100644 --- a/template.ts +++ b/template.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface TemplateElementProps extends GlobalAttributes { - /** `shadowrootmode` is an attribute of the [`template`](https://developer.mozilla.org/docs/Web/HTML/Element/template) element. */ + /** + * `shadowrootmode` is an attribute of the [`template`](https://developer.mozilla.org/docs/Web/HTML/Element/template) element. + * @see + */ shadowrootmode?: string | undefined; } diff --git a/textarea.ts b/textarea.ts index f8cae8e..e095182 100644 --- a/textarea.ts +++ b/textarea.ts @@ -11,33 +11,75 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface TextareaElementProps extends GlobalAttributes { - /** `autocomplete` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `autocomplete` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ autocomplete?: string | undefined; - /** `cols` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `cols` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ cols?: string | undefined; - /** `dirname` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `dirname` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ dirname?: string | undefined; - /** `disabled` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `disabled` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ disabled?: string | undefined; - /** `form` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `form` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ form?: string | undefined; - /** `maxlength` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `maxlength` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ maxlength?: string | undefined; - /** `minlength` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `minlength` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ minlength?: string | undefined; - /** `name` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `name` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ name?: string | undefined; - /** `placeholder` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `placeholder` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ placeholder?: string | undefined; - /** `readonly` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `readonly` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ readonly?: string | undefined; - /** `required` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `required` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ required?: string | undefined; - /** `rows` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `rows` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ rows?: string | undefined; - /** `spellcheck` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `spellcheck` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ spellcheck?: string | undefined; - /** `wrap` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. */ + /** + * `wrap` is an attribute of the [`textarea`](https://developer.mozilla.org/docs/Web/HTML/Element/textarea) element. + * @see + */ wrap?: string | undefined; } diff --git a/tfoot.ts b/tfoot.ts index 5abe738..e225d59 100644 --- a/tfoot.ts +++ b/tfoot.ts @@ -13,26 +13,31 @@ import { renderElement } from "./lib/mod.ts"; export interface TfootElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`tfoot`](https://developer.mozilla.org/docs/Web/HTML/Element/tfoot) element. + * @see * @deprecated */ align?: string | undefined; /** * `bgcolor` is an attribute of the [`tfoot`](https://developer.mozilla.org/docs/Web/HTML/Element/tfoot) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`tfoot`](https://developer.mozilla.org/docs/Web/HTML/Element/tfoot) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`tfoot`](https://developer.mozilla.org/docs/Web/HTML/Element/tfoot) element. + * @see * @deprecated */ charoff?: string | undefined; /** * `valign` is an attribute of the [`tfoot`](https://developer.mozilla.org/docs/Web/HTML/Element/tfoot) element. + * @see * @deprecated */ valign?: string | undefined; diff --git a/th.ts b/th.ts index 0d807a8..2a6c60a 100644 --- a/th.ts +++ b/th.ts @@ -11,48 +11,70 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface ThElementProps extends GlobalAttributes { - /** `abbr` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. */ + /** + * `abbr` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see + */ abbr?: string | undefined; /** * `align` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ align?: string | undefined; /** * `axis` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ axis?: string | undefined; /** * `bgcolor` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ charoff?: string | undefined; - /** `colspan` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. */ + /** + * `colspan` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see + */ colspan?: string | undefined; - /** `headers` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. */ + /** + * `headers` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see + */ headers?: string | undefined; - /** `rowspan` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. */ + /** + * `rowspan` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see + */ rowspan?: string | undefined; - /** `scope` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. */ + /** + * `scope` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see + */ scope?: string | undefined; /** * `valign` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ valign?: string | undefined; /** * `width` is an attribute of the [`th`](https://developer.mozilla.org/docs/Web/HTML/Element/th) element. + * @see * @deprecated */ width?: string | undefined; diff --git a/thead.ts b/thead.ts index 1852446..62775e1 100644 --- a/thead.ts +++ b/thead.ts @@ -13,26 +13,31 @@ import { renderElement } from "./lib/mod.ts"; export interface TheadElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`thead`](https://developer.mozilla.org/docs/Web/HTML/Element/thead) element. + * @see * @deprecated */ align?: string | undefined; /** * `bgcolor` is an attribute of the [`thead`](https://developer.mozilla.org/docs/Web/HTML/Element/thead) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`thead`](https://developer.mozilla.org/docs/Web/HTML/Element/thead) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`thead`](https://developer.mozilla.org/docs/Web/HTML/Element/thead) element. + * @see * @deprecated */ charoff?: string | undefined; /** * `valign` is an attribute of the [`thead`](https://developer.mozilla.org/docs/Web/HTML/Element/thead) element. + * @see * @deprecated */ valign?: string | undefined; diff --git a/time.ts b/time.ts index 92648cd..ae215ed 100644 --- a/time.ts +++ b/time.ts @@ -11,7 +11,10 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface TimeElementProps extends GlobalAttributes { - /** `datetime` is an attribute of the [`time`](https://developer.mozilla.org/docs/Web/HTML/Element/time) element. */ + /** + * `datetime` is an attribute of the [`time`](https://developer.mozilla.org/docs/Web/HTML/Element/time) element. + * @see + */ datetime?: string | undefined; } diff --git a/tr.ts b/tr.ts index a062d36..0ca7d71 100644 --- a/tr.ts +++ b/tr.ts @@ -13,26 +13,31 @@ import { renderElement } from "./lib/mod.ts"; export interface TrElementProps extends GlobalAttributes { /** * `align` is an attribute of the [`tr`](https://developer.mozilla.org/docs/Web/HTML/Element/tr) element. + * @see * @deprecated */ align?: string | undefined; /** * `bgcolor` is an attribute of the [`tr`](https://developer.mozilla.org/docs/Web/HTML/Element/tr) element. + * @see * @deprecated */ bgcolor?: string | undefined; /** * `char` is an attribute of the [`tr`](https://developer.mozilla.org/docs/Web/HTML/Element/tr) element. + * @see * @deprecated */ char?: string | undefined; /** * `charoff` is an attribute of the [`tr`](https://developer.mozilla.org/docs/Web/HTML/Element/tr) element. + * @see * @deprecated */ charoff?: string | undefined; /** * `valign` is an attribute of the [`tr`](https://developer.mozilla.org/docs/Web/HTML/Element/tr) element. + * @see * @deprecated */ valign?: string | undefined; diff --git a/track.ts b/track.ts index 7b8fe76..08dc6d1 100644 --- a/track.ts +++ b/track.ts @@ -11,15 +11,30 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface TrackElementProps extends GlobalAttributes { - /** `default` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. */ + /** + * `default` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. + * @see + */ default?: string | undefined; - /** `kind` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. */ + /** + * `kind` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. + * @see + */ kind?: string | undefined; - /** `label` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. */ + /** + * `label` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. + * @see + */ label?: string | undefined; - /** `src` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. */ + /** + * `src` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. + * @see + */ src?: string | undefined; - /** `srclang` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. */ + /** + * `srclang` is an attribute of the [`track`](https://developer.mozilla.org/docs/Web/HTML/Element/track) element. + * @see + */ srclang?: string | undefined; } diff --git a/ul.ts b/ul.ts index 15fc8d4..ac48d45 100644 --- a/ul.ts +++ b/ul.ts @@ -13,11 +13,13 @@ import { renderElement } from "./lib/mod.ts"; export interface UlElementProps extends GlobalAttributes { /** * `compact` is an attribute of the [`ul`](https://developer.mozilla.org/docs/Web/HTML/Element/ul) element. + * @see * @deprecated */ compact?: string | undefined; /** * `type` is an attribute of the [`ul`](https://developer.mozilla.org/docs/Web/HTML/Element/ul) element. + * @see * @deprecated */ type?: string | undefined; diff --git a/video.ts b/video.ts index d0f6460..f5482f3 100644 --- a/video.ts +++ b/video.ts @@ -11,33 +11,75 @@ import { renderElement } from "./lib/mod.ts"; * @see */ export interface VideoElementProps extends GlobalAttributes { - /** `autoplay` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `autoplay` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ autoplay?: string | undefined; - /** `controls` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `controls` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ controls?: string | undefined; - /** `controlslist` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `controlslist` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ controlslist?: string | undefined; - /** `crossorigin` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `crossorigin` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ crossorigin?: string | undefined; - /** `disablepictureinpicture` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `disablepictureinpicture` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ disablepictureinpicture?: string | undefined; - /** `disableremoteplayback` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `disableremoteplayback` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ disableremoteplayback?: string | undefined; - /** `height` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `height` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ height?: string | undefined; - /** `loop` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `loop` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ loop?: string | undefined; - /** `muted` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `muted` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ muted?: string | undefined; - /** `playsinline` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `playsinline` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ playsinline?: string | undefined; - /** `poster` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `poster` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ poster?: string | undefined; - /** `preload` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `preload` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ preload?: string | undefined; - /** `src` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `src` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ src?: string | undefined; - /** `width` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. */ + /** + * `width` is an attribute of the [`video`](https://developer.mozilla.org/docs/Web/HTML/Element/video) element. + * @see + */ width?: string | undefined; }