From d535377d3197c3d18743dc18e92e7579dde0faf4 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Tue, 5 Aug 2025 13:58:16 -0500 Subject: [PATCH] refactor: Make HTMLAttribute type declarations consistent --- src/jsx.d.ts | 1446 +++++++++++++++++++++++++------------------------- 1 file changed, 724 insertions(+), 722 deletions(-) diff --git a/src/jsx.d.ts b/src/jsx.d.ts index ad17309c2d..500cb4b127 100644 --- a/src/jsx.d.ts +++ b/src/jsx.d.ts @@ -1681,295 +1681,297 @@ export namespace JSXInternal { > & AreaAriaRoles; - interface ArticleHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'article' - | 'application' - | 'document' - | 'feed' - | 'main' - | 'none' - | 'presentation' - | 'region' - | undefined - >; - } - - interface AsideHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'complementary' - | 'feed' - | 'none' - | 'note' - | 'presentation' - | 'region' - | 'search' - | 'doc-dedication' - | 'doc-example' - | 'doc-footnote' - | 'doc-glossary' - | 'doc-pullquote' - | 'doc-tip' - | undefined - >; - } - - interface AudioHTMLAttributes - extends MediaHTMLAttributes { - role?: Signalish<'application' | undefined>; - } - - interface BaseHTMLAttributes - extends HTMLAttributes { - href?: Signalish; - role?: never; - target?: Signalish; - } - - interface BlockquoteHTMLAttributes - extends HTMLAttributes { - cite?: Signalish; - } - - interface BrHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'none' | 'presentation' | undefined>; - } - - interface ButtonHTMLAttributes - extends HTMLAttributes { - command?: Signalish; - commandfor?: Signalish; - commandFor?: Signalish; - disabled?: Signalish; - form?: Signalish; - formaction?: Signalish; - formAction?: Signalish; - formenctype?: Signalish; - formEncType?: Signalish; - formmethod?: Signalish; - formMethod?: Signalish; - formnovalidate?: Signalish; - formNoValidate?: Signalish; - formtarget?: Signalish; - formTarget?: Signalish; - name?: Signalish; - popovertarget?: Signalish; - popoverTarget?: Signalish; - popovertargetaction?: Signalish<'hide' | 'show' | 'toggle' | undefined>; - popoverTargetAction?: Signalish<'hide' | 'show' | 'toggle' | undefined>; - role?: Signalish< - | 'button' - | 'checkbox' - | 'combobox' - | 'gridcell' - | 'link' - | 'menuitem' - | 'menuitemcheckbox' - | 'menuitemradio' - | 'option' - | 'radio' - | 'separator' - | 'slider' - | 'switch' - | 'tab' - | 'treeitem' - | undefined - >; - type?: Signalish<'submit' | 'reset' | 'button' | undefined>; - value?: Signalish; - } - - interface CanvasHTMLAttributes - extends HTMLAttributes { - height?: Signalish; - width?: Signalish; - } - - interface CaptionHTMLAttributes - extends HTMLAttributes { - role?: 'caption'; - } - - interface ColHTMLAttributes - extends HTMLAttributes { - role?: never; - span?: Signalish; - width?: Signalish; - } - - interface ColgroupHTMLAttributes - extends HTMLAttributes { - role?: never; - span?: Signalish; - } - - interface DataHTMLAttributes - extends HTMLAttributes { - value?: Signalish; - } - - interface DataListHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'listbox' | undefined>; - } - - interface DdHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface DelHTMLAttributes - extends HTMLAttributes { - cite?: Signalish; - datetime?: Signalish; - dateTime?: Signalish; - } - - interface DetailsHTMLAttributes - extends HTMLAttributes { - name?: Signalish; - open?: Signalish; - role?: Signalish<'group' | undefined>; - } - - interface DialogHTMLAttributes - extends HTMLAttributes { - onCancel?: GenericEventHandler | undefined; - onClose?: GenericEventHandler | undefined; - open?: Signalish; - closedby?: Signalish<'none' | 'closerequest' | 'any' | undefined>; - closedBy?: Signalish<'none' | 'closerequest' | 'any' | undefined>; - role?: Signalish<'dialog' | 'alertdialog' | undefined>; - } - - interface DlHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'group' | 'list' | 'none' | 'presentation' | undefined>; - } - - interface DtHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'listitem' | undefined>; - } - - interface EmbedHTMLAttributes - extends HTMLAttributes { - height?: Signalish; - role?: Signalish< - 'application' | 'document' | 'img' | 'none' | 'presentation' | undefined - >; - src?: Signalish; - type?: Signalish; - width?: Signalish; - } - - interface FieldsetHTMLAttributes - extends HTMLAttributes { - disabled?: Signalish; - form?: Signalish; - name?: Signalish; - role?: Signalish< - 'group' | 'none' | 'presentation' | 'radiogroup' | undefined - >; - } - - interface FigcaptionHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'group' | 'none' | 'presentation' | undefined>; - } - - interface FooterHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'contentinfo' - | 'group' - | 'none' - | 'presentation' - | 'doc-footnote' - | undefined - >; - } - - interface FormHTMLAttributes - extends HTMLAttributes { - 'accept-charset'?: Signalish; - acceptCharset?: Signalish; - action?: Signalish; - autocomplete?: Signalish; - autoComplete?: Signalish; - enctype?: Signalish; - encType?: Signalish; - method?: Signalish; - name?: Signalish; - novalidate?: Signalish; - noValidate?: Signalish; - rel?: Signalish; - role?: Signalish<'form' | 'none' | 'presentation' | 'search' | undefined>; - target?: Signalish; - } - - interface HeadingHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - 'heading' | 'none' | 'presentation' | 'tab' | 'doc-subtitle' | undefined - >; - } - - interface HeadHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface HeaderHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'banner' | 'group' | 'none' | 'presentation' | undefined>; - } - - interface HrHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - 'separator' | 'none' | 'presentation' | 'doc-pagebreak' | undefined - >; - } - - interface HtmlHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'document' | undefined>; - } - - interface IframeHTMLAttributes - extends HTMLAttributes { - allow?: Signalish; - allowFullScreen?: Signalish; - allowTransparency?: Signalish; - /** @deprecated */ - frameborder?: Signalish; - /** @deprecated */ - frameBorder?: Signalish; - height?: Signalish; - loading?: Signalish<'eager' | 'lazy' | undefined>; - /** @deprecated */ - marginHeight?: Signalish; - /** @deprecated */ - marginWidth?: Signalish; - name?: Signalish; - referrerpolicy?: Signalish; - referrerPolicy?: Signalish; - role?: Signalish< - 'application' | 'document' | 'img' | 'none' | 'presentation' | undefined - >; - sandbox?: Signalish; - /** @deprecated */ - scrolling?: Signalish; - seamless?: Signalish; - src?: Signalish; - srcdoc?: Signalish; - srcDoc?: Signalish; - width?: Signalish; - } + type ArticleHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'article' + | 'application' + | 'document' + | 'feed' + | 'main' + | 'none' + | 'presentation' + | 'region' + | undefined + >; + }; + + type AsideHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'complementary' + | 'feed' + | 'none' + | 'note' + | 'presentation' + | 'region' + | 'search' + | 'doc-dedication' + | 'doc-example' + | 'doc-footnote' + | 'doc-glossary' + | 'doc-pullquote' + | 'doc-tip' + | undefined + >; + }; + + type AudioHTMLAttributes = + MediaHTMLAttributes & { + role?: Signalish<'application' | undefined>; + }; + + type BaseHTMLAttributes = + HTMLAttributes & { + href?: Signalish; + role?: never; + target?: Signalish; + }; + + type BlockquoteHTMLAttributes = + HTMLAttributes & { + cite?: Signalish; + }; + + type BrHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'none' | 'presentation' | undefined>; + }; + + type ButtonHTMLAttributes = + HTMLAttributes & { + command?: Signalish; + commandfor?: Signalish; + commandFor?: Signalish; + disabled?: Signalish; + form?: Signalish; + formaction?: Signalish; + formAction?: Signalish; + formenctype?: Signalish; + formEncType?: Signalish; + formmethod?: Signalish; + formMethod?: Signalish; + formnovalidate?: Signalish; + formNoValidate?: Signalish; + formtarget?: Signalish; + formTarget?: Signalish; + name?: Signalish; + popovertarget?: Signalish; + popoverTarget?: Signalish; + popovertargetaction?: Signalish<'hide' | 'show' | 'toggle' | undefined>; + popoverTargetAction?: Signalish<'hide' | 'show' | 'toggle' | undefined>; + role?: Signalish< + | 'button' + | 'checkbox' + | 'combobox' + | 'gridcell' + | 'link' + | 'menuitem' + | 'menuitemcheckbox' + | 'menuitemradio' + | 'option' + | 'radio' + | 'separator' + | 'slider' + | 'switch' + | 'tab' + | 'treeitem' + | undefined + >; + type?: Signalish<'submit' | 'reset' | 'button' | undefined>; + value?: Signalish; + }; + + type CanvasHTMLAttributes = + HTMLAttributes & { + height?: Signalish; + width?: Signalish; + }; + + type CaptionHTMLAttributes = + HTMLAttributes & { + role?: 'caption'; + }; + + type ColHTMLAttributes = + HTMLAttributes & { + role?: never; + span?: Signalish; + width?: Signalish; + }; + + type ColgroupHTMLAttributes = + HTMLAttributes & { + role?: never; + span?: Signalish; + }; + + type DataHTMLAttributes = + HTMLAttributes & { + value?: Signalish; + }; + + type DataListHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'listbox' | undefined>; + }; + + type DdHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type DelHTMLAttributes = + HTMLAttributes & { + cite?: Signalish; + datetime?: Signalish; + dateTime?: Signalish; + }; + + type DetailsHTMLAttributes = + HTMLAttributes & { + name?: Signalish; + open?: Signalish; + role?: Signalish<'group' | undefined>; + }; + + type DialogHTMLAttributes = + HTMLAttributes & { + onCancel?: GenericEventHandler | undefined; + onClose?: GenericEventHandler | undefined; + open?: Signalish; + closedby?: Signalish<'none' | 'closerequest' | 'any' | undefined>; + closedBy?: Signalish<'none' | 'closerequest' | 'any' | undefined>; + role?: Signalish<'dialog' | 'alertdialog' | undefined>; + }; + + type DlHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'group' | 'list' | 'none' | 'presentation' | undefined>; + }; + + type DtHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'listitem' | undefined>; + }; + + type EmbedHTMLAttributes = + HTMLAttributes & { + height?: Signalish; + role?: Signalish< + 'application' | 'document' | 'img' | 'none' | 'presentation' | undefined + >; + src?: Signalish; + type?: Signalish; + width?: Signalish; + }; + + type FieldsetHTMLAttributes = + HTMLAttributes & { + disabled?: Signalish; + form?: Signalish; + name?: Signalish; + role?: Signalish< + 'group' | 'none' | 'presentation' | 'radiogroup' | undefined + >; + }; + + type FigcaptionHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'group' | 'none' | 'presentation' | undefined>; + }; + + type FooterHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'contentinfo' + | 'group' + | 'none' + | 'presentation' + | 'doc-footnote' + | undefined + >; + }; + + type FormHTMLAttributes = + HTMLAttributes & { + 'accept-charset'?: Signalish; + acceptCharset?: Signalish; + action?: Signalish; + autocomplete?: Signalish; + autoComplete?: Signalish; + enctype?: Signalish; + encType?: Signalish; + method?: Signalish; + name?: Signalish; + novalidate?: Signalish; + noValidate?: Signalish; + rel?: Signalish; + role?: Signalish<'form' | 'none' | 'presentation' | 'search' | undefined>; + target?: Signalish; + }; + + type HeadingHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + 'heading' | 'none' | 'presentation' | 'tab' | 'doc-subtitle' | undefined + >; + }; + + type HeadHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type HeaderHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + 'banner' | 'group' | 'none' | 'presentation' | undefined + >; + }; + + type HrHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + 'separator' | 'none' | 'presentation' | 'doc-pagebreak' | undefined + >; + }; + + type HtmlHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'document' | undefined>; + }; + + type IframeHTMLAttributes = + HTMLAttributes & { + allow?: Signalish; + allowFullScreen?: Signalish; + allowTransparency?: Signalish; + /** @deprecated */ + frameborder?: Signalish; + /** @deprecated */ + frameBorder?: Signalish; + height?: Signalish; + loading?: Signalish<'eager' | 'lazy' | undefined>; + /** @deprecated */ + marginHeight?: Signalish; + /** @deprecated */ + marginWidth?: Signalish; + name?: Signalish; + referrerpolicy?: Signalish; + referrerPolicy?: Signalish; + role?: Signalish< + 'application' | 'document' | 'img' | 'none' | 'presentation' | undefined + >; + sandbox?: Signalish; + /** @deprecated */ + scrolling?: Signalish; + seamless?: Signalish; + src?: Signalish; + srcdoc?: Signalish; + srcDoc?: Signalish; + width?: Signalish; + }; type HTMLAttributeCrossOrigin = 'anonymous' | 'use-credentials'; @@ -2284,290 +2286,290 @@ export namespace JSXInternal { > & InputAriaRoles; - interface InsHTMLAttributes - extends HTMLAttributes { - cite?: Signalish; - datetime?: Signalish; - dateTime?: Signalish; - } - - interface KeygenHTMLAttributes - extends HTMLAttributes { - challenge?: Signalish; - disabled?: Signalish; - form?: Signalish; - keyType?: Signalish; - keyParams?: Signalish; - name?: Signalish; - } - - interface LabelHTMLAttributes - extends HTMLAttributes { - for?: Signalish; - form?: Signalish; - htmlFor?: Signalish; - role?: never; - } - - interface LegendHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface LiHTMLAttributes - extends HTMLAttributes { - value?: Signalish; - } - - interface LinkHTMLAttributes - extends HTMLAttributes { - as?: Signalish; - crossorigin?: Signalish; - crossOrigin?: Signalish; - fetchpriority?: Signalish<'high' | 'low' | 'auto' | undefined>; - fetchPriority?: Signalish<'high' | 'low' | 'auto' | undefined>; - href?: Signalish; - hreflang?: Signalish; - hrefLang?: Signalish; - integrity?: Signalish; - media?: Signalish; - imageSrcSet?: Signalish; - referrerpolicy?: Signalish; - referrerPolicy?: Signalish; - rel?: Signalish; - role?: never; - sizes?: Signalish; - type?: Signalish; - charset?: Signalish; - charSet?: Signalish; - } - - interface MainHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'main' | undefined>; - } - - interface MapHTMLAttributes - extends HTMLAttributes { - name?: Signalish; - role?: never; - } - - interface MarqueeHTMLAttributes - extends HTMLAttributes { - behavior?: Signalish<'scroll' | 'slide' | 'alternate' | undefined>; - bgColor?: Signalish; - direction?: Signalish<'left' | 'right' | 'up' | 'down' | undefined>; - height?: Signalish; - hspace?: Signalish; - loop?: Signalish; - scrollAmount?: Signalish; - scrollDelay?: Signalish; - trueSpeed?: Signalish; - vspace?: Signalish; - width?: Signalish; - } - - interface MediaHTMLAttributes - extends HTMLAttributes { - autoplay?: Signalish; - autoPlay?: Signalish; - controls?: Signalish; - controlslist?: Signalish; - controlsList?: Signalish; - crossorigin?: Signalish; - crossOrigin?: Signalish; - currentTime?: Signalish; - defaultMuted?: Signalish; - defaultPlaybackRate?: Signalish; - disableremoteplayback?: Signalish; - disableRemotePlayback?: Signalish; - loop?: Signalish; - mediaGroup?: Signalish; - muted?: Signalish; - playbackRate?: Signalish; - preload?: Signalish<'auto' | 'metadata' | 'none' | undefined>; - preservesPitch?: Signalish; - src?: Signalish; - srcObject?: Signalish; - volume?: Signalish; - } - - interface MenuHTMLAttributes - extends HTMLAttributes { - role: - | 'list' - | 'group' - | 'listbox' - | 'menu' - | 'menubar' - | 'none' - | 'presentation' - | 'radiogroup' - | 'tablist' - | 'toolbar' - | 'tree'; - type?: Signalish; - } - - interface MetaHTMLAttributes - extends HTMLAttributes { - charset?: Signalish; - charSet?: Signalish; - content?: Signalish; - 'http-equiv'?: Signalish; - httpEquiv?: Signalish; - name?: Signalish; - media?: Signalish; - role?: never; - } - - interface MeterHTMLAttributes - extends HTMLAttributes { - form?: Signalish; - high?: Signalish; - low?: Signalish; - max?: Signalish; - min?: Signalish; - optimum?: Signalish; - role?: Signalish<'meter' | undefined>; - value?: Signalish; - } - - interface NavHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'navigation' - | 'menu' - | 'menubar' - | 'none' - | 'presentation' - | 'tablist' - | undefined - >; - } - - interface NoScriptHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface ObjectHTMLAttributes - extends HTMLAttributes { - classID?: Signalish; - data?: Signalish; - form?: Signalish; - height?: Signalish; - name?: Signalish; - role?: Signalish<'application' | 'document' | 'img' | undefined>; - type?: Signalish; - usemap?: Signalish; - useMap?: Signalish; - width?: Signalish; - wmode?: Signalish; - } - - interface OlHTMLAttributes - extends HTMLAttributes { - reversed?: Signalish; - role?: Signalish< - | 'list' - | 'group' - | 'listbox' - | 'menu' - | 'menubar' - | 'none' - | 'presentation' - | 'radiogroup' - | 'tablist' - | 'toolbar' - | 'tree' - | undefined - >; - start?: Signalish; - type?: Signalish<'1' | 'a' | 'A' | 'i' | 'I' | undefined>; - } - - interface OptgroupHTMLAttributes - extends HTMLAttributes { - disabled?: Signalish; - label?: Signalish; - role?: Signalish<'group' | undefined>; - } - - interface OptionHTMLAttributes - extends HTMLAttributes { - disabled?: Signalish; - label?: Signalish; - role?: Signalish<'option' | undefined>; - selected?: Signalish; - value?: Signalish; - } - - interface OutputHTMLAttributes - extends HTMLAttributes { - for?: Signalish; - form?: Signalish; - htmlFor?: Signalish; - name?: Signalish; - } - - interface ParamHTMLAttributes - extends HTMLAttributes { - name?: Signalish; - role?: never; - value?: Signalish; - } - - interface PictureHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface ProgressHTMLAttributes - extends HTMLAttributes { - max?: Signalish; - role?: Signalish<'progressbar' | undefined>; - value?: Signalish; - } - - interface QuoteHTMLAttributes - extends HTMLAttributes { - cite?: Signalish; - } - - interface ScriptHTMLAttributes - extends HTMLAttributes { - async?: Signalish; - /** @deprecated */ - charset?: Signalish; - /** @deprecated */ - charSet?: Signalish; - crossorigin?: Signalish; - crossOrigin?: Signalish; - defer?: Signalish; - integrity?: Signalish; - nomodule?: Signalish; - noModule?: Signalish; - referrerpolicy?: Signalish; - referrerPolicy?: Signalish; - role?: never; - src?: Signalish; - type?: Signalish; - } - - interface SearchHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'search' - | 'form' - | 'group' - | 'none' - | 'presentation' - | 'region' - | undefined - >; - } + type InsHTMLAttributes = + HTMLAttributes & { + cite?: Signalish; + datetime?: Signalish; + dateTime?: Signalish; + }; + + type KeygenHTMLAttributes = + HTMLAttributes & { + challenge?: Signalish; + disabled?: Signalish; + form?: Signalish; + keyType?: Signalish; + keyParams?: Signalish; + name?: Signalish; + }; + + type LabelHTMLAttributes = + HTMLAttributes & { + for?: Signalish; + form?: Signalish; + htmlFor?: Signalish; + role?: never; + }; + + type LegendHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type LiHTMLAttributes = + HTMLAttributes & { + value?: Signalish; + }; + + type LinkHTMLAttributes = + HTMLAttributes & { + as?: Signalish; + crossorigin?: Signalish; + crossOrigin?: Signalish; + fetchpriority?: Signalish<'high' | 'low' | 'auto' | undefined>; + fetchPriority?: Signalish<'high' | 'low' | 'auto' | undefined>; + href?: Signalish; + hreflang?: Signalish; + hrefLang?: Signalish; + integrity?: Signalish; + media?: Signalish; + imageSrcSet?: Signalish; + referrerpolicy?: Signalish; + referrerPolicy?: Signalish; + rel?: Signalish; + role?: never; + sizes?: Signalish; + type?: Signalish; + charset?: Signalish; + charSet?: Signalish; + }; + + type MainHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'main' | undefined>; + }; + + type MapHTMLAttributes = + HTMLAttributes & { + name?: Signalish; + role?: never; + }; + + type MarqueeHTMLAttributes = + HTMLAttributes & { + behavior?: Signalish<'scroll' | 'slide' | 'alternate' | undefined>; + bgColor?: Signalish; + direction?: Signalish<'left' | 'right' | 'up' | 'down' | undefined>; + height?: Signalish; + hspace?: Signalish; + loop?: Signalish; + scrollAmount?: Signalish; + scrollDelay?: Signalish; + trueSpeed?: Signalish; + vspace?: Signalish; + width?: Signalish; + }; + + type MediaHTMLAttributes = + HTMLAttributes & { + autoplay?: Signalish; + autoPlay?: Signalish; + controls?: Signalish; + controlslist?: Signalish; + controlsList?: Signalish; + crossorigin?: Signalish; + crossOrigin?: Signalish; + currentTime?: Signalish; + defaultMuted?: Signalish; + defaultPlaybackRate?: Signalish; + disableremoteplayback?: Signalish; + disableRemotePlayback?: Signalish; + loop?: Signalish; + mediaGroup?: Signalish; + muted?: Signalish; + playbackRate?: Signalish; + preload?: Signalish<'auto' | 'metadata' | 'none' | undefined>; + preservesPitch?: Signalish; + src?: Signalish; + srcObject?: Signalish; + volume?: Signalish; + }; + + type MenuHTMLAttributes = + HTMLAttributes & { + role: + | 'list' + | 'group' + | 'listbox' + | 'menu' + | 'menubar' + | 'none' + | 'presentation' + | 'radiogroup' + | 'tablist' + | 'toolbar' + | 'tree'; + type?: Signalish; + }; + + type MetaHTMLAttributes = + HTMLAttributes & { + charset?: Signalish; + charSet?: Signalish; + content?: Signalish; + 'http-equiv'?: Signalish; + httpEquiv?: Signalish; + name?: Signalish; + media?: Signalish; + role?: never; + }; + + type MeterHTMLAttributes = + HTMLAttributes & { + form?: Signalish; + high?: Signalish; + low?: Signalish; + max?: Signalish; + min?: Signalish; + optimum?: Signalish; + role?: Signalish<'meter' | undefined>; + value?: Signalish; + }; + + type NavHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'navigation' + | 'menu' + | 'menubar' + | 'none' + | 'presentation' + | 'tablist' + | undefined + >; + }; + + type NoScriptHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type ObjectHTMLAttributes = + HTMLAttributes & { + classID?: Signalish; + data?: Signalish; + form?: Signalish; + height?: Signalish; + name?: Signalish; + role?: Signalish<'application' | 'document' | 'img' | undefined>; + type?: Signalish; + usemap?: Signalish; + useMap?: Signalish; + width?: Signalish; + wmode?: Signalish; + }; + + type OlHTMLAttributes = + HTMLAttributes & { + reversed?: Signalish; + role?: Signalish< + | 'list' + | 'group' + | 'listbox' + | 'menu' + | 'menubar' + | 'none' + | 'presentation' + | 'radiogroup' + | 'tablist' + | 'toolbar' + | 'tree' + | undefined + >; + start?: Signalish; + type?: Signalish<'1' | 'a' | 'A' | 'i' | 'I' | undefined>; + }; + + type OptgroupHTMLAttributes = + HTMLAttributes & { + disabled?: Signalish; + label?: Signalish; + role?: Signalish<'group' | undefined>; + }; + + type OptionHTMLAttributes = + HTMLAttributes & { + disabled?: Signalish; + label?: Signalish; + role?: Signalish<'option' | undefined>; + selected?: Signalish; + value?: Signalish; + }; + + type OutputHTMLAttributes = + HTMLAttributes & { + for?: Signalish; + form?: Signalish; + htmlFor?: Signalish; + name?: Signalish; + }; + + type ParamHTMLAttributes = + HTMLAttributes & { + name?: Signalish; + role?: never; + value?: Signalish; + }; + + type PictureHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type ProgressHTMLAttributes = + HTMLAttributes & { + max?: Signalish; + role?: Signalish<'progressbar' | undefined>; + value?: Signalish; + }; + + type QuoteHTMLAttributes = + HTMLAttributes & { + cite?: Signalish; + }; + + type ScriptHTMLAttributes = + HTMLAttributes & { + async?: Signalish; + /** @deprecated */ + charset?: Signalish; + /** @deprecated */ + charSet?: Signalish; + crossorigin?: Signalish; + crossOrigin?: Signalish; + defer?: Signalish; + integrity?: Signalish; + nomodule?: Signalish; + noModule?: Signalish; + referrerpolicy?: Signalish; + referrerPolicy?: Signalish; + role?: never; + src?: Signalish; + type?: Signalish; + }; + + type SearchHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'search' + | 'form' + | 'group' + | 'none' + | 'presentation' + | 'region' + | undefined + >; + }; interface PartialSelectHTMLAttributes extends HTMLAttributes { @@ -2603,155 +2605,155 @@ export namespace JSXInternal { > & SelectAriaRoles; - interface SlotHTMLAttributes - extends HTMLAttributes { - name?: Signalish; - role?: never; - } - - interface SourceHTMLAttributes - extends HTMLAttributes { - height?: Signalish; - media?: Signalish; - role?: never; - sizes?: Signalish; - src?: Signalish; - srcset?: Signalish; - srcSet?: Signalish; - type?: Signalish; - width?: Signalish; - } - - interface StyleHTMLAttributes - extends HTMLAttributes { - media?: Signalish; - role?: never; - scoped?: Signalish; - type?: Signalish; - } - - interface TableHTMLAttributes - extends HTMLAttributes { - cellPadding?: Signalish; - cellSpacing?: Signalish; - summary?: Signalish; - width?: Signalish; - } - - interface TdHTMLAttributes - extends HTMLAttributes { - align?: Signalish< - 'left' | 'center' | 'right' | 'justify' | 'char' | undefined - >; - colspan?: Signalish; - colSpan?: Signalish; - headers?: Signalish; - rowspan?: Signalish; - rowSpan?: Signalish; - scope?: Signalish; - abbr?: Signalish; - height?: Signalish; - width?: Signalish; - valign?: Signalish<'top' | 'middle' | 'bottom' | 'baseline' | undefined>; - } - - interface TemplateHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface TextareaHTMLAttributes - extends HTMLAttributes { - autocomplete?: Signalish; - autoComplete?: Signalish; - cols?: Signalish; - defaultValue?: Signalish; - dirName?: Signalish; - disabled?: Signalish; - form?: Signalish; - maxlength?: Signalish; - maxLength?: Signalish; - minlength?: Signalish; - minLength?: Signalish; - name?: Signalish; - placeholder?: Signalish; - readOnly?: Signalish; - required?: Signalish; - role?: Signalish<'textbox' | undefined>; - rows?: Signalish; - value?: Signalish; - wrap?: Signalish; - onChange?: GenericEventHandler | undefined; - } - - interface ThHTMLAttributes - extends HTMLAttributes { - align?: Signalish< - 'left' | 'center' | 'right' | 'justify' | 'char' | undefined - >; - colspan?: Signalish; - colSpan?: Signalish; - headers?: Signalish; - rowspan?: Signalish; - rowSpan?: Signalish; - scope?: Signalish; - abbr?: Signalish; - } - - interface TimeHTMLAttributes - extends HTMLAttributes { - datetime?: Signalish; - dateTime?: Signalish; - } - - interface TitleHTMLAttributes - extends HTMLAttributes { - role?: never; - } - - interface TrackHTMLAttributes - extends MediaHTMLAttributes { - default?: Signalish; - kind?: Signalish; - label?: Signalish; - role?: never; - srclang?: Signalish; - srcLang?: Signalish; - } - - interface UlHTMLAttributes - extends HTMLAttributes { - role?: Signalish< - | 'list' - | 'group' - | 'listbox' - | 'menu' - | 'menubar' - | 'none' - | 'presentation' - | 'radiogroup' - | 'tablist' - | 'toolbar' - | 'tree' - | undefined - >; - } - - interface VideoHTMLAttributes - extends MediaHTMLAttributes { - disablePictureInPicture?: Signalish; - height?: Signalish; - playsinline?: Signalish; - playsInline?: Signalish; - poster?: Signalish; - width?: Signalish; - role?: Signalish<'application' | undefined>; - } - - interface WbrHTMLAttributes - extends HTMLAttributes { - role?: Signalish<'none' | 'presentation' | undefined>; - } + type SlotHTMLAttributes = + HTMLAttributes & { + name?: Signalish; + role?: never; + }; + + type SourceHTMLAttributes = + HTMLAttributes & { + height?: Signalish; + media?: Signalish; + role?: never; + sizes?: Signalish; + src?: Signalish; + srcset?: Signalish; + srcSet?: Signalish; + type?: Signalish; + width?: Signalish; + }; + + type StyleHTMLAttributes = + HTMLAttributes & { + media?: Signalish; + role?: never; + scoped?: Signalish; + type?: Signalish; + }; + + type TableHTMLAttributes = + HTMLAttributes & { + cellPadding?: Signalish; + cellSpacing?: Signalish; + summary?: Signalish; + width?: Signalish; + }; + + type TdHTMLAttributes = + HTMLAttributes & { + align?: Signalish< + 'left' | 'center' | 'right' | 'justify' | 'char' | undefined + >; + colspan?: Signalish; + colSpan?: Signalish; + headers?: Signalish; + rowspan?: Signalish; + rowSpan?: Signalish; + scope?: Signalish; + abbr?: Signalish; + height?: Signalish; + width?: Signalish; + valign?: Signalish<'top' | 'middle' | 'bottom' | 'baseline' | undefined>; + }; + + type TemplateHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type TextareaHTMLAttributes = + HTMLAttributes & { + autocomplete?: Signalish; + autoComplete?: Signalish; + cols?: Signalish; + defaultValue?: Signalish; + dirName?: Signalish; + disabled?: Signalish; + form?: Signalish; + maxlength?: Signalish; + maxLength?: Signalish; + minlength?: Signalish; + minLength?: Signalish; + name?: Signalish; + placeholder?: Signalish; + readOnly?: Signalish; + required?: Signalish; + role?: Signalish<'textbox' | undefined>; + rows?: Signalish; + value?: Signalish; + wrap?: Signalish; + onChange?: GenericEventHandler | undefined; + }; + + type ThHTMLAttributes = + HTMLAttributes & { + align?: Signalish< + 'left' | 'center' | 'right' | 'justify' | 'char' | undefined + >; + colspan?: Signalish; + colSpan?: Signalish; + headers?: Signalish; + rowspan?: Signalish; + rowSpan?: Signalish; + scope?: Signalish; + abbr?: Signalish; + }; + + type TimeHTMLAttributes = + HTMLAttributes & { + datetime?: Signalish; + dateTime?: Signalish; + }; + + type TitleHTMLAttributes = + HTMLAttributes & { + role?: never; + }; + + type TrackHTMLAttributes = + MediaHTMLAttributes & { + default?: Signalish; + kind?: Signalish; + label?: Signalish; + role?: never; + srclang?: Signalish; + srcLang?: Signalish; + }; + + type UlHTMLAttributes = + HTMLAttributes & { + role?: Signalish< + | 'list' + | 'group' + | 'listbox' + | 'menu' + | 'menubar' + | 'none' + | 'presentation' + | 'radiogroup' + | 'tablist' + | 'toolbar' + | 'tree' + | undefined + >; + }; + + type VideoHTMLAttributes = + MediaHTMLAttributes & { + disablePictureInPicture?: Signalish; + height?: Signalish; + playsinline?: Signalish; + playsInline?: Signalish; + poster?: Signalish; + width?: Signalish; + role?: Signalish<'application' | undefined>; + }; + + type WbrHTMLAttributes = + HTMLAttributes & { + role?: Signalish<'none' | 'presentation' | undefined>; + }; export type DetailedHTMLProps< HA extends HTMLAttributes,