This release is 10 versions behind 4.7.10 — the latest version of @hono/hono. Jump to latest
Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
Web framework built on Web Standards
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
76%
Published
4 months ago (4.6.20)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924/* eslint-disable @typescript-eslint/no-explicit-any */ import type { BaseMime } from '../utils/mime.ts' import type { StringLiteralUnion } from '../utils/types.ts' /** * This code is based on React. * https://github.com/facebook/react * MIT License * Copyright (c) Meta Platforms, Inc. and affiliates. */ // eslint-disable-next-line @typescript-eslint/no-namespace export namespace JSX { export type CrossOrigin = 'anonymous' | 'use-credentials' | '' | undefined export interface CSSProperties { [propertyKey: string]: unknown } type AnyAttributes = { [attributeName: string]: any } interface JSXAttributes { dangerouslySetInnerHTML?: { __html: string } } interface EventAttributes { onScroll?: (event: Event) => void onScrollCapture?: (event: Event) => void onScrollEnd?: (event: Event) => void onScrollEndCapture?: (event: Event) => void onWheel?: (event: WheelEvent) => void onWheelCapture?: (event: WheelEvent) => void onAnimationCancel?: (event: AnimationEvent) => void onAnimationCancelCapture?: (event: AnimationEvent) => void onAnimationEnd?: (event: AnimationEvent) => void onAnimationEndCapture?: (event: AnimationEvent) => void onAnimationIteration?: (event: AnimationEvent) => void onAnimationIterationCapture?: (event: AnimationEvent) => void onAnimationStart?: (event: AnimationEvent) => void onAnimationStartCapture?: (event: AnimationEvent) => void onCopy?: (event: ClipboardEvent) => void onCopyCapture?: (event: ClipboardEvent) => void onCut?: (event: ClipboardEvent) => void onCutCapture?: (event: ClipboardEvent) => void onPaste?: (event: ClipboardEvent) => void onPasteCapture?: (event: ClipboardEvent) => void onCompositionEnd?: (event: CompositionEvent) => void onCompositionEndCapture?: (event: CompositionEvent) => void onCompositionStart?: (event: CompositionEvent) => void onCompositionStartCapture?: (event: CompositionEvent) => void onCompositionUpdate?: (event: CompositionEvent) => void onCompositionUpdateCapture?: (event: CompositionEvent) => void onBlur?: (event: FocusEvent) => void onBlurCapture?: (event: FocusEvent) => void onFocus?: (event: FocusEvent) => void onFocusCapture?: (event: FocusEvent) => void onFocusIn?: (event: FocusEvent) => void onFocusInCapture?: (event: FocusEvent) => void onFocusOut?: (event: FocusEvent) => void onFocusOutCapture?: (event: FocusEvent) => void onFullscreenChange?: (event: Event) => void onFullscreenChangeCapture?: (event: Event) => void onFullscreenError?: (event: Event) => void onFullscreenErrorCapture?: (event: Event) => void onKeyDown?: (event: KeyboardEvent) => void onKeyDownCapture?: (event: KeyboardEvent) => void onKeyPress?: (event: KeyboardEvent) => void onKeyPressCapture?: (event: KeyboardEvent) => void onKeyUp?: (event: KeyboardEvent) => void onKeyUpCapture?: (event: KeyboardEvent) => void onAuxClick?: (event: MouseEvent) => void onAuxClickCapture?: (event: MouseEvent) => void onClick?: (event: MouseEvent) => void onClickCapture?: (event: MouseEvent) => void onContextMenu?: (event: MouseEvent) => void onContextMenuCapture?: (event: MouseEvent) => void onDoubleClick?: (event: MouseEvent) => void onDoubleClickCapture?: (event: MouseEvent) => void onMouseDown?: (event: MouseEvent) => void onMouseDownCapture?: (event: MouseEvent) => void onMouseEnter?: (event: MouseEvent) => void onMouseEnterCapture?: (event: MouseEvent) => void onMouseLeave?: (event: MouseEvent) => void onMouseLeaveCapture?: (event: MouseEvent) => void onMouseMove?: (event: MouseEvent) => void onMouseMoveCapture?: (event: MouseEvent) => void onMouseOut?: (event: MouseEvent) => void onMouseOutCapture?: (event: MouseEvent) => void onMouseOver?: (event: MouseEvent) => void onMouseOverCapture?: (event: MouseEvent) => void onMouseUp?: (event: MouseEvent) => void onMouseUpCapture?: (event: MouseEvent) => void onMouseWheel?: (event: WheelEvent) => void onMouseWheelCapture?: (event: WheelEvent) => void onGotPointerCapture?: (event: PointerEvent) => void onGotPointerCaptureCapture?: (event: PointerEvent) => void onLostPointerCapture?: (event: PointerEvent) => void onLostPointerCaptureCapture?: (event: PointerEvent) => void onPointerCancel?: (event: PointerEvent) => void onPointerCancelCapture?: (event: PointerEvent) => void onPointerDown?: (event: PointerEvent) => void onPointerDownCapture?: (event: PointerEvent) => void onPointerEnter?: (event: PointerEvent) => void onPointerEnterCapture?: (event: PointerEvent) => void onPointerLeave?: (event: PointerEvent) => void onPointerLeaveCapture?: (event: PointerEvent) => void onPointerMove?: (event: PointerEvent) => void onPointerMoveCapture?: (event: PointerEvent) => void onPointerOut?: (event: PointerEvent) => void onPointerOutCapture?: (event: PointerEvent) => void onPointerOver?: (event: PointerEvent) => void onPointerOverCapture?: (event: PointerEvent) => void onPointerUp?: (event: PointerEvent) => void onPointerUpCapture?: (event: PointerEvent) => void onTouchCancel?: (event: TouchEvent) => void onTouchCancelCapture?: (event: TouchEvent) => void onTouchEnd?: (event: TouchEvent) => void onTouchEndCapture?: (event: TouchEvent) => void onTouchMove?: (event: TouchEvent) => void onTouchMoveCapture?: (event: TouchEvent) => void onTouchStart?: (event: TouchEvent) => void onTouchStartCapture?: (event: TouchEvent) => void onTransitionCancel?: (event: TransitionEvent) => void onTransitionCancelCapture?: (event: TransitionEvent) => void onTransitionEnd?: (event: TransitionEvent) => void onTransitionEndCapture?: (event: TransitionEvent) => void onTransitionRun?: (event: TransitionEvent) => void onTransitionRunCapture?: (event: TransitionEvent) => void onTransitionStart?: (event: TransitionEvent) => void onTransitionStartCapture?: (event: TransitionEvent) => void onFormData?: (event: FormDataEvent) => void onFormDataCapture?: (event: FormDataEvent) => void onReset?: (event: Event) => void onResetCapture?: (event: Event) => void onSubmit?: (event: Event) => void onSubmitCapture?: (event: Event) => void onInvalid?: (event: Event) => void onInvalidCapture?: (event: Event) => void onSelect?: (event: Event) => void onSelectCapture?: (event: Event) => void onSelectChange?: (event: Event) => void onSelectChangeCapture?: (event: Event) => void onInput?: (event: InputEvent) => void onInputCapture?: (event: InputEvent) => void onBeforeInput?: (event: InputEvent) => void onBeforeInputCapture?: (event: InputEvent) => void onChange?: (event: Event) => void onChangeCapture?: (event: Event) => void } export interface HTMLAttributes extends JSXAttributes, EventAttributes, AnyAttributes { accesskey?: string | undefined autocapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters' | undefined autofocus?: boolean | undefined class?: string | Promise<string> | undefined contenteditable?: boolean | 'inherit' | undefined contextmenu?: string | undefined dir?: string | undefined draggable?: 'true' | 'false' | boolean | undefined enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined hidden?: boolean | undefined id?: string | undefined inert?: boolean | undefined inputmode?: | 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' | undefined is?: string | undefined itemid?: string | undefined itemprop?: string | undefined itemref?: string | undefined itemscope?: boolean | undefined itemtype?: string | undefined lang?: string | undefined nonce?: string | undefined placeholder?: string | undefined /** @see https://developer.mozilla.org/en-US/docs/Web/API/Popover_API */ popover?: boolean | 'auto' | 'manual' | undefined slot?: string | undefined spellcheck?: boolean | undefined style?: CSSProperties | string | undefined tabindex?: number | undefined title?: string | undefined translate?: 'yes' | 'no' | undefined itemProp?: string | undefined } type HTMLAttributeReferrerPolicy = | '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url' type HTMLAttributeAnchorTarget = StringLiteralUnion<'_self' | '_blank' | '_parent' | '_top'> interface AnchorHTMLAttributes extends HTMLAttributes { download?: string | boolean | undefined href?: string | undefined hreflang?: string | undefined media?: string | undefined ping?: string | undefined target?: HTMLAttributeAnchorTarget | undefined type?: StringLiteralUnion<BaseMime> | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined } interface AudioHTMLAttributes extends MediaHTMLAttributes {} interface AreaHTMLAttributes extends HTMLAttributes { alt?: string | undefined coords?: string | undefined download?: string | boolean | undefined href?: string | undefined hreflang?: string | undefined media?: string | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined shape?: string | undefined target?: HTMLAttributeAnchorTarget | undefined } interface BaseHTMLAttributes extends HTMLAttributes { href?: string | undefined target?: HTMLAttributeAnchorTarget | undefined } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: string | undefined } /** @see https://developer.mozilla.org/en-US/docs/Web/API/Popover_API */ type HTMLAttributePopoverTargetAction = 'show' | 'hide' | 'toggle' interface ButtonHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined form?: string | undefined formenctype?: HTMLAttributeFormEnctype | undefined formmethod?: HTMLAttributeFormMethod | undefined formnovalidate?: boolean | undefined formtarget?: HTMLAttributeAnchorTarget | undefined name?: string | undefined type?: 'submit' | 'reset' | 'button' | undefined value?: string | ReadonlyArray<string> | number | undefined popovertarget?: string | undefined popovertargetaction?: HTMLAttributePopoverTargetAction | undefined // React 19 compatibility formAction?: string | Function | undefined } interface CanvasHTMLAttributes extends HTMLAttributes { height?: number | string | undefined width?: number | string | undefined } interface ColHTMLAttributes extends HTMLAttributes { span?: number | undefined width?: number | string | undefined } interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number | undefined } interface DataHTMLAttributes extends HTMLAttributes { value?: string | ReadonlyArray<string> | number | undefined } interface DetailsHTMLAttributes extends HTMLAttributes { open?: boolean | undefined } interface DelHTMLAttributes extends HTMLAttributes { cite?: string | undefined dateTime?: string | undefined } interface DialogHTMLAttributes extends HTMLAttributes { open?: boolean | undefined } interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string | undefined src?: string | undefined type?: StringLiteralUnion<BaseMime> | undefined width?: number | string | undefined } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined form?: string | undefined name?: string | undefined } /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#method */ type HTMLAttributeFormMethod = 'get' | 'post' | 'dialog' /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#enctype */ type HTMLAttributeFormEnctype = | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' /** @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#autocomplete */ type HTMLAttributeFormAutocomplete = 'on' | 'off' interface FormHTMLAttributes extends HTMLAttributes { 'accept-charset'?: StringLiteralUnion<'utf-8'> | undefined autocomplete?: HTMLAttributeFormAutocomplete | undefined enctype?: HTMLAttributeFormEnctype | undefined method?: HTMLAttributeFormMethod | undefined name?: string | undefined novalidate?: boolean | undefined target?: HTMLAttributeAnchorTarget | undefined // React 19 compatibility action?: string | Function | undefined } interface HtmlHTMLAttributes extends HTMLAttributes { manifest?: string | undefined } interface IframeHTMLAttributes extends HTMLAttributes { allow?: string | undefined allowfullscreen?: boolean | undefined height?: number | string | undefined loading?: 'eager' | 'lazy' | undefined name?: string | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined sandbox?: string | undefined seamless?: boolean | undefined src?: string | undefined srcdoc?: string | undefined width?: number | string | undefined } interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined crossorigin?: CrossOrigin decoding?: 'async' | 'auto' | 'sync' | undefined height?: number | string | undefined loading?: 'eager' | 'lazy' | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined sizes?: string | undefined src?: string | undefined srcset?: string | undefined usemap?: string | undefined width?: number | string | undefined } interface InsHTMLAttributes extends HTMLAttributes { cite?: string | undefined datetime?: string | undefined } type HTMLInputTypeAttribute = StringLiteralUnion< | 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week' > type AutoFillAddressKind = 'billing' | 'shipping' type AutoFillBase = '' | 'off' | 'on' type AutoFillContactField = | 'email' | 'tel' | 'tel-area-code' | 'tel-country-code' | 'tel-extension' | 'tel-local' | 'tel-local-prefix' | 'tel-local-suffix' | 'tel-national' type AutoFillContactKind = 'home' | 'mobile' | 'work' type AutoFillCredentialField = 'webauthn' type AutoFillNormalField = | 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday-day' | 'bday-month' | 'bday-year' | 'cc-csc' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-family-name' | 'cc-given-name' | 'cc-name' | 'cc-number' | 'cc-type' | 'country' | 'country-name' | 'current-password' | 'family-name' | 'given-name' | 'honorific-prefix' | 'honorific-suffix' | 'name' | 'new-password' | 'one-time-code' | 'organization' | 'postal-code' | 'street-address' | 'transaction-amount' | 'transaction-currency' | 'username' type OptionalPrefixToken<T extends string> = `${T} ` | '' type OptionalPostfixToken<T extends string> = ` ${T}` | '' type AutoFillField = | AutoFillNormalField | `${OptionalPrefixToken<AutoFillContactKind>}${AutoFillContactField}` type AutoFillSection = `section-${string}` type AutoFill = | AutoFillBase | `${OptionalPrefixToken<AutoFillSection>}${OptionalPrefixToken<AutoFillAddressKind>}${AutoFillField}${OptionalPostfixToken<AutoFillCredentialField>}` interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined alt?: string | undefined autocomplete?: StringLiteralUnion<AutoFill> | undefined capture?: boolean | 'user' | 'environment' | undefined // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean | undefined disabled?: boolean | undefined form?: string | undefined formenctype?: HTMLAttributeFormEnctype | undefined formmethod?: HTMLAttributeFormMethod | undefined formnovalidate?: boolean | undefined formtarget?: HTMLAttributeAnchorTarget | undefined height?: number | string | undefined list?: string | undefined max?: number | string | undefined maxlength?: number | undefined min?: number | string | undefined minlength?: number | undefined multiple?: boolean | undefined name?: string | undefined pattern?: string | undefined placeholder?: string | undefined readonly?: boolean | undefined required?: boolean | undefined size?: number | undefined src?: string | undefined step?: number | string | undefined type?: HTMLInputTypeAttribute | undefined value?: string | ReadonlyArray<string> | number | undefined width?: number | string | undefined popovertarget?: string | undefined popovertargetaction?: HTMLAttributePopoverTargetAction | undefined // React 19 compatibility formAction?: string | Function | undefined } interface KeygenHTMLAttributes extends HTMLAttributes { challenge?: string | undefined disabled?: boolean | undefined form?: string | undefined keytype?: string | undefined name?: string | undefined } interface LabelHTMLAttributes extends HTMLAttributes { form?: string | undefined for?: string | undefined } interface LiHTMLAttributes extends HTMLAttributes { value?: string | ReadonlyArray<string> | number | undefined } interface LinkHTMLAttributes extends HTMLAttributes { as?: string | undefined crossorigin?: CrossOrigin href?: string | undefined hreflang?: string | undefined integrity?: string | undefined media?: string | undefined imagesrcset?: string | undefined imagesizes?: string | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined sizes?: string | undefined type?: StringLiteralUnion<BaseMime> | undefined charSet?: string | undefined // React 19 compatibility rel?: string | undefined precedence?: string | undefined title?: string | undefined disabled?: boolean | undefined onError?: ((event: Event) => void) | undefined onLoad?: ((event: Event) => void) | undefined blocking?: 'render' | undefined } interface MapHTMLAttributes extends HTMLAttributes { name?: string | undefined } interface MenuHTMLAttributes extends HTMLAttributes { type?: string | undefined } interface MediaHTMLAttributes extends HTMLAttributes { autoplay?: boolean | undefined controls?: boolean | undefined controlslist?: string | undefined crossorigin?: CrossOrigin loop?: boolean | undefined mediagroup?: string | undefined muted?: boolean | undefined playsinline?: boolean | undefined preload?: string | undefined src?: string | undefined } /** * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#http-equiv */ type MetaHttpEquiv = | 'content-security-policy' | 'content-type' | 'default-style' | 'x-ua-compatible' | 'refresh' /** * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name */ type MetaName = | 'application-name' | 'author' | 'description' | 'generator' | 'keywords' | 'referrer' | 'theme-color' | 'color-scheme' | 'viewport' | 'creator' | 'googlebot' | 'publisher' | 'robots' /** * @see https://ogp.me/ */ type MetaProperty = | 'og:title' | 'og:type' | 'og:image' | 'og:url' | 'og:audio' | 'og:description' | 'og:determiner' | 'og:locale' | 'og:locale:alternate' | 'og:site_name' | 'og:video' | 'og:image:url' | 'og:image:secure_url' | 'og:image:type' | 'og:image:width' | 'og:image:height' | 'og:image:alt' interface MetaHTMLAttributes extends HTMLAttributes { charset?: StringLiteralUnion<'utf-8'> | undefined 'http-equiv'?: StringLiteralUnion<MetaHttpEquiv> | undefined name?: StringLiteralUnion<MetaName> | undefined media?: string | undefined content?: string | undefined property?: StringLiteralUnion<MetaProperty> | undefined // React 19 compatibility httpEquiv?: StringLiteralUnion<MetaHttpEquiv> | undefined } interface MeterHTMLAttributes extends HTMLAttributes { form?: string | undefined high?: number | undefined low?: number | undefined max?: number | string | undefined min?: number | string | undefined optimum?: number | undefined value?: string | ReadonlyArray<string> | number | undefined } interface QuoteHTMLAttributes extends HTMLAttributes { cite?: string | undefined } interface ObjectHTMLAttributes extends HTMLAttributes { data?: string | undefined form?: string | undefined height?: number | string | undefined name?: string | undefined type?: StringLiteralUnion<BaseMime> | undefined usemap?: string | undefined width?: number | string | undefined } interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean | undefined start?: number | undefined type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined label?: string | undefined } interface OptionHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined label?: string | undefined selected?: boolean | undefined value?: string | ReadonlyArray<string> | number | undefined } interface OutputHTMLAttributes extends HTMLAttributes { form?: string | undefined for?: string | undefined name?: string | undefined } interface ParamHTMLAttributes extends HTMLAttributes { name?: string | undefined value?: string | ReadonlyArray<string> | number | undefined } interface ProgressHTMLAttributes extends HTMLAttributes { max?: number | string | undefined value?: string | ReadonlyArray<string> | number | undefined } interface SlotHTMLAttributes extends HTMLAttributes { name?: string | undefined } interface ScriptHTMLAttributes extends HTMLAttributes { async?: boolean | undefined crossorigin?: CrossOrigin defer?: boolean | undefined integrity?: string | undefined nomodule?: boolean | undefined referrerpolicy?: HTMLAttributeReferrerPolicy | undefined src?: string | undefined /** * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type */ type?: StringLiteralUnion<'' | 'text/javascript' | 'importmap' | 'module'> | undefined // React 19 compatibility crossOrigin?: CrossOrigin fetchPriority?: string | undefined noModule?: boolean | undefined referrer?: HTMLAttributeReferrerPolicy | undefined onError?: ((event: Event) => void) | undefined onLoad?: ((event: Event) => void) | undefined blocking?: 'render' | undefined } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined disabled?: boolean | undefined form?: string | undefined multiple?: boolean | undefined name?: string | undefined required?: boolean | undefined size?: number | undefined value?: string | ReadonlyArray<string> | number | undefined } type MediaMime = BaseMime & (`image/${string}` | `audio/${string}` | `video/${string}`) interface SourceHTMLAttributes extends HTMLAttributes { height?: number | string | undefined media?: string | undefined sizes?: string | undefined src?: string | undefined srcset?: string | undefined type?: StringLiteralUnion<MediaMime> | undefined width?: number | string | undefined } interface StyleHTMLAttributes extends HTMLAttributes { media?: string | undefined scoped?: boolean | undefined /** * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style#type */ type?: '' | 'text/css' | undefined // React 19 compatibility href?: string | undefined precedence?: string | undefined title?: string | undefined disabled?: boolean | undefined blocking?: 'render' | undefined } interface TableHTMLAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | undefined bgcolor?: string | undefined border?: number | undefined cellpadding?: number | string | undefined cellspacing?: number | string | undefined frame?: boolean | undefined rules?: 'none' | 'groups' | 'rows' | 'columns' | 'all' | undefined summary?: string | undefined width?: number | string | undefined } interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined cols?: number | undefined dirname?: string | undefined disabled?: boolean | undefined form?: string | undefined maxlength?: number | undefined minlength?: number | undefined name?: string | undefined placeholder?: string | undefined readonly?: boolean | undefined required?: boolean | undefined rows?: number | undefined value?: string | ReadonlyArray<string> | number | undefined wrap?: string | undefined } interface TdHTMLAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined colspan?: number | undefined headers?: string | undefined rowspan?: number | undefined scope?: string | undefined abbr?: string | undefined height?: number | string | undefined width?: number | string | undefined valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined } interface ThHTMLAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined colspan?: number | undefined headers?: string | undefined rowspan?: number | undefined scope?: 'row' | 'col' | 'rowgroup' | 'colgroup' | string | undefined abbr?: string | undefined } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: string | undefined } interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean | undefined kind?: string | undefined label?: string | undefined src?: string | undefined srclang?: string | undefined } interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string | undefined playsinline?: boolean | undefined poster?: string | undefined width?: number | string | undefined disablePictureInPicture?: boolean | undefined disableRemotePlayback?: boolean | undefined } export interface IntrinsicElements { a: AnchorHTMLAttributes abbr: HTMLAttributes address: HTMLAttributes area: AreaHTMLAttributes article: HTMLAttributes aside: HTMLAttributes audio: AudioHTMLAttributes b: HTMLAttributes base: BaseHTMLAttributes bdi: HTMLAttributes bdo: HTMLAttributes big: HTMLAttributes blockquote: BlockquoteHTMLAttributes body: HTMLAttributes br: HTMLAttributes button: ButtonHTMLAttributes canvas: CanvasHTMLAttributes caption: HTMLAttributes center: HTMLAttributes cite: HTMLAttributes code: HTMLAttributes col: ColHTMLAttributes colgroup: ColgroupHTMLAttributes data: DataHTMLAttributes datalist: HTMLAttributes dd: HTMLAttributes del: DelHTMLAttributes details: DetailsHTMLAttributes dfn: HTMLAttributes dialog: DialogHTMLAttributes div: HTMLAttributes dl: HTMLAttributes dt: HTMLAttributes em: HTMLAttributes embed: EmbedHTMLAttributes fieldset: FieldsetHTMLAttributes figcaption: HTMLAttributes figure: HTMLAttributes footer: HTMLAttributes form: FormHTMLAttributes h1: HTMLAttributes h2: HTMLAttributes h3: HTMLAttributes h4: HTMLAttributes h5: HTMLAttributes h6: HTMLAttributes head: HTMLAttributes header: HTMLAttributes hgroup: HTMLAttributes hr: HTMLAttributes html: HtmlHTMLAttributes i: HTMLAttributes iframe: IframeHTMLAttributes img: ImgHTMLAttributes input: InputHTMLAttributes ins: InsHTMLAttributes kbd: HTMLAttributes keygen: KeygenHTMLAttributes label: LabelHTMLAttributes legend: HTMLAttributes li: LiHTMLAttributes link: LinkHTMLAttributes main: HTMLAttributes map: MapHTMLAttributes mark: HTMLAttributes menu: MenuHTMLAttributes menuitem: HTMLAttributes meta: MetaHTMLAttributes meter: MeterHTMLAttributes nav: HTMLAttributes noscript: HTMLAttributes object: ObjectHTMLAttributes ol: OlHTMLAttributes optgroup: OptgroupHTMLAttributes option: OptionHTMLAttributes output: OutputHTMLAttributes p: HTMLAttributes param: ParamHTMLAttributes picture: HTMLAttributes pre: HTMLAttributes progress: ProgressHTMLAttributes q: QuoteHTMLAttributes rp: HTMLAttributes rt: HTMLAttributes ruby: HTMLAttributes s: HTMLAttributes samp: HTMLAttributes search: HTMLAttributes slot: SlotHTMLAttributes script: ScriptHTMLAttributes section: HTMLAttributes select: SelectHTMLAttributes small: HTMLAttributes source: SourceHTMLAttributes span: HTMLAttributes strong: HTMLAttributes style: StyleHTMLAttributes sub: HTMLAttributes summary: HTMLAttributes sup: HTMLAttributes table: TableHTMLAttributes template: HTMLAttributes tbody: HTMLAttributes td: TdHTMLAttributes textarea: TextareaHTMLAttributes tfoot: HTMLAttributes th: ThHTMLAttributes thead: HTMLAttributes time: TimeHTMLAttributes title: HTMLAttributes tr: HTMLAttributes track: TrackHTMLAttributes u: HTMLAttributes ul: HTMLAttributes var: HTMLAttributes video: VideoHTMLAttributes wbr: HTMLAttributes } } export interface IntrinsicElements extends JSX.IntrinsicElements {}