From ce73eed9ca56b6301a7ccb00b8e1cd5e0cc51989 Mon Sep 17 00:00:00 2001 From: Andrei Luca <1881266+iamandrewluca@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:14:09 +0200 Subject: [PATCH 1/3] refactor: make multiline to be singleline --- packages/runtime-dom/src/jsx.ts | 46 +++------------------------------ 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/packages/runtime-dom/src/jsx.ts b/packages/runtime-dom/src/jsx.ts index 5292441cde9..49b81fd611c 100644 --- a/packages/runtime-dom/src/jsx.ts +++ b/packages/runtime-dom/src/jsx.ts @@ -188,17 +188,7 @@ export interface AriaAttributes { * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ - 'aria-relevant'?: - | 'additions' - | 'additions removals' - | 'additions text' - | 'all' - | 'removals' - | 'removals additions' - | 'removals text' - | 'text' - | 'text additions' - | 'text removals' + 'aria-relevant'?: 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals' /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: Booleanish /** Defines a human-readable, author-localized description for the role of an element. */ @@ -309,15 +299,7 @@ export interface HTMLAttributes extends AriaAttributes, EventHandlers { * Hints at the type of data that might be entered by the user while editing the element or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ - inputmode?: - | 'none' - | 'text' - | 'tel' - | 'url' - | 'email' - | 'numeric' - | 'decimal' - | 'search' + inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is @@ -524,14 +506,7 @@ export interface InputHTMLAttributes extends HTMLAttributes { checked?: Booleanish | any[] | Set // for IDE v-model multi-checkbox support crossorigin?: string disabled?: Booleanish - enterKeyHint?: - | 'enter' - | 'done' - | 'go' - | 'next' - | 'previous' - | 'search' - | 'send' + enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' form?: string formaction?: string formenctype?: string @@ -840,20 +815,7 @@ export interface SVGAttributes extends AriaAttributes, EventHandlers { 'accent-height'?: Numberish accumulate?: 'none' | 'sum' additive?: 'replace' | 'sum' - 'alignment-baseline'?: - | 'auto' - | 'baseline' - | 'before-edge' - | 'text-before-edge' - | 'middle' - | 'central' - | 'after-edge' - | 'text-after-edge' - | 'ideographic' - | 'alphabetic' - | 'hanging' - | 'mathematical' - | 'inherit' + 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' allowReorder?: 'no' | 'yes' alphabetic?: Numberish amplitude?: Numberish From fa1e744c3e8ccd08672cc55056694d5bbfcc851b Mon Sep 17 00:00:00 2001 From: Andrei Luca <1881266+iamandrewluca@users.noreply.github.com> Date: Wed, 22 Jan 2025 18:58:43 +0200 Subject: [PATCH 2/3] fix(runtime-dom): add undefined to optional properties Closes #6068 --- packages/runtime-dom/src/jsx.ts | 1254 +++++++++++++++---------------- 1 file changed, 627 insertions(+), 627 deletions(-) diff --git a/packages/runtime-dom/src/jsx.ts b/packages/runtime-dom/src/jsx.ts index 49b81fd611c..18cc650fa18 100644 --- a/packages/runtime-dom/src/jsx.ts +++ b/packages/runtime-dom/src/jsx.ts @@ -48,189 +48,189 @@ type Numberish = number | string // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/ export interface AriaAttributes { /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ - 'aria-activedescendant'?: string + 'aria-activedescendant'?: string | undefined /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */ - 'aria-atomic'?: Booleanish + 'aria-atomic'?: Booleanish | undefined /** * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be * presented if they are made. */ - 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both' + 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both' | undefined /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */ - 'aria-busy'?: Booleanish + 'aria-busy'?: Booleanish | undefined /** * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. * @see aria-pressed @see aria-selected. */ - 'aria-checked'?: Booleanish | 'mixed' + 'aria-checked'?: Booleanish | 'mixed' | undefined /** * Defines the total number of columns in a table, grid, or treegrid. * @see aria-colindex. */ - 'aria-colcount'?: Numberish + 'aria-colcount'?: Numberish | undefined /** * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. * @see aria-colcount @see aria-colspan. */ - 'aria-colindex'?: Numberish + 'aria-colindex'?: Numberish | undefined /** * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-colindex @see aria-rowspan. */ - 'aria-colspan'?: Numberish + 'aria-colspan'?: Numberish | undefined /** * Identifies the element (or elements) whose contents or presence are controlled by the current element. * @see aria-owns. */ - 'aria-controls'?: string + 'aria-controls'?: string | undefined /** Indicates the element that represents the current item within a container or set of related elements. */ - 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' + 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby */ - 'aria-describedby'?: string + 'aria-describedby'?: string | undefined /** * Identifies the element that provides a detailed, extended description for the object. * @see aria-describedby. */ - 'aria-details'?: string + 'aria-details'?: string | undefined /** * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. * @see aria-hidden @see aria-readonly. */ - 'aria-disabled'?: Booleanish + 'aria-disabled'?: Booleanish | undefined /** * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ - 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' + 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. */ - 'aria-errormessage'?: string + 'aria-errormessage'?: string | undefined /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ - 'aria-expanded'?: Booleanish + 'aria-expanded'?: Booleanish | undefined /** * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, * allows assistive technology to override the general default of reading in document source order. */ - 'aria-flowto'?: string + 'aria-flowto'?: string | undefined /** * Indicates an element's "grabbed" state in a drag-and-drop operation. * @deprecated in ARIA 1.1 */ - 'aria-grabbed'?: Booleanish + 'aria-grabbed'?: Booleanish | undefined /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' + 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. */ - 'aria-hidden'?: Booleanish + 'aria-hidden'?: Booleanish | undefined /** * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ - 'aria-invalid'?: Booleanish | 'grammar' | 'spelling' + 'aria-invalid'?: Booleanish | 'grammar' | 'spelling' | undefined /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ - 'aria-keyshortcuts'?: string + 'aria-keyshortcuts'?: string | undefined /** * Defines a string value that labels the current element. * @see aria-labelledby. */ - 'aria-label'?: string + 'aria-label'?: string | undefined /** * Identifies the element (or elements) that labels the current element. * @see aria-describedby. */ - 'aria-labelledby'?: string + 'aria-labelledby'?: string | undefined /** Defines the hierarchical level of an element within a structure. */ - 'aria-level'?: Numberish + 'aria-level'?: Numberish | undefined /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */ - 'aria-live'?: 'off' | 'assertive' | 'polite' + 'aria-live'?: 'off' | 'assertive' | 'polite' | undefined /** Indicates whether an element is modal when displayed. */ - 'aria-modal'?: Booleanish + 'aria-modal'?: Booleanish | undefined /** Indicates whether a text box accepts multiple lines of input or only a single line. */ - 'aria-multiline'?: Booleanish + 'aria-multiline'?: Booleanish | undefined /** Indicates that the user may select more than one item from the current selectable descendants. */ - 'aria-multiselectable'?: Booleanish + 'aria-multiselectable'?: Booleanish | undefined /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ - 'aria-orientation'?: 'horizontal' | 'vertical' + 'aria-orientation'?: 'horizontal' | 'vertical' | undefined /** * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship * between DOM elements where the DOM hierarchy cannot be used to represent the relationship. * @see aria-controls. */ - 'aria-owns'?: string + 'aria-owns'?: string | undefined /** * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. * A hint could be a sample value or a brief description of the expected format. */ - 'aria-placeholder'?: string + 'aria-placeholder'?: string | undefined /** * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-setsize. */ - 'aria-posinset'?: Numberish + 'aria-posinset'?: Numberish | undefined /** * Indicates the current "pressed" state of toggle buttons. * @see aria-checked @see aria-selected. */ - 'aria-pressed'?: Booleanish | 'mixed' + 'aria-pressed'?: Booleanish | 'mixed' | undefined /** * Indicates that the element is not editable, but is otherwise operable. * @see aria-disabled. */ - 'aria-readonly'?: Booleanish + 'aria-readonly'?: Booleanish | undefined /** * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ - 'aria-relevant'?: 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals' + 'aria-relevant'?: 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals' | undefined /** Indicates that user input is required on the element before a form may be submitted. */ - 'aria-required'?: Booleanish + 'aria-required'?: Booleanish | undefined /** Defines a human-readable, author-localized description for the role of an element. */ - 'aria-roledescription'?: string + 'aria-roledescription'?: string | undefined /** * Defines the total number of rows in a table, grid, or treegrid. * @see aria-rowindex. */ - 'aria-rowcount'?: Numberish + 'aria-rowcount'?: Numberish | undefined /** * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. * @see aria-rowcount @see aria-rowspan. */ - 'aria-rowindex'?: Numberish + 'aria-rowindex'?: Numberish | undefined /** * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. * @see aria-rowindex @see aria-colspan. */ - 'aria-rowspan'?: Numberish + 'aria-rowspan'?: Numberish | undefined /** * Indicates the current "selected" state of various widgets. * @see aria-checked @see aria-pressed. */ - 'aria-selected'?: Booleanish + 'aria-selected'?: Booleanish | undefined /** * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. * @see aria-posinset. */ - 'aria-setsize'?: Numberish + 'aria-setsize'?: Numberish | undefined /** Indicates if items in a table or grid are sorted in ascending or descending order. */ - 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' + 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined /** Defines the maximum allowed value for a range widget. */ - 'aria-valuemax'?: Numberish + 'aria-valuemax'?: Numberish | undefined /** Defines the minimum allowed value for a range widget. */ - 'aria-valuemin'?: Numberish + 'aria-valuemin'?: Numberish | undefined /** * Defines the current value for a range widget. * @see aria-valuetext. */ - 'aria-valuenow'?: Numberish + 'aria-valuenow'?: Numberish | undefined /** Defines the human readable text alternative of aria-valuenow for a range widget. */ - 'aria-valuetext'?: string + 'aria-valuetext'?: string | undefined } // Vue's style normalization supports nested arrays @@ -243,68 +243,68 @@ export type StyleValue = | Array export interface HTMLAttributes extends AriaAttributes, EventHandlers { - innerHTML?: string + innerHTML?: string | undefined class?: any - style?: StyleValue + style?: StyleValue | undefined // Standard HTML Attributes - accesskey?: string - contenteditable?: Booleanish | 'inherit' | 'plaintext-only' - contextmenu?: string - dir?: string - draggable?: Booleanish - hidden?: Booleanish | '' | 'hidden' | 'until-found' - id?: string - inert?: Booleanish - lang?: string - placeholder?: string - spellcheck?: Booleanish - tabindex?: Numberish - title?: string - translate?: 'yes' | 'no' + accesskey?: string | undefined + contenteditable?: Booleanish | 'inherit' | 'plaintext-only' | undefined + contextmenu?: string | undefined + dir?: string | undefined + draggable?: Booleanish | undefined + hidden?: Booleanish | '' | 'hidden' | 'until-found' | undefined + id?: string | undefined + inert?: Booleanish | undefined + lang?: string | undefined + placeholder?: string | undefined + spellcheck?: Booleanish | undefined + tabindex?: Numberish | undefined + title?: string | undefined + translate?: 'yes' | 'no' | undefined // Unknown - radiogroup?: string // , + radiogroup?: string | undefined // , // WAI-ARIA - role?: string + role?: string | undefined // RDFa Attributes - about?: string - datatype?: string + about?: string | undefined + datatype?: string | undefined inlist?: any - prefix?: string - property?: string - resource?: string - typeof?: string - vocab?: string + prefix?: string | undefined + property?: string | undefined + resource?: string | undefined + typeof?: string | undefined + vocab?: string | undefined // Non-standard Attributes - autocapitalize?: string - autocorrect?: string - autosave?: string - color?: string - itemprop?: string - itemscope?: Booleanish - itemtype?: string - itemid?: string - itemref?: string - results?: Numberish - security?: string - unselectable?: 'on' | 'off' + autocapitalize?: string | undefined + autocorrect?: string | undefined + autosave?: string | undefined + color?: string | undefined + itemprop?: string | undefined + itemscope?: Booleanish | undefined + itemtype?: string | undefined + itemid?: string | undefined + itemref?: string | undefined + results?: Numberish | undefined + security?: string | undefined + unselectable?: 'on' | 'off' | undefined // Living Standard /** * Hints at the type of data that might be entered by the user while editing the element or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ - inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' + inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' | undefined /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is */ - is?: string + is?: string | undefined } type HTMLAttributeReferrerPolicy = @@ -320,156 +320,156 @@ type HTMLAttributeReferrerPolicy = export interface AnchorHTMLAttributes extends HTMLAttributes { download?: any - href?: string - hreflang?: string - media?: string - ping?: string - rel?: string - target?: string - type?: string - referrerpolicy?: HTMLAttributeReferrerPolicy + href?: string | undefined + hreflang?: string | undefined + media?: string | undefined + ping?: string | undefined + rel?: string | undefined + target?: string | undefined + type?: string | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined } export interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string - coords?: string + alt?: string | undefined + coords?: string | undefined download?: any - href?: string - hreflang?: string - media?: string - referrerpolicy?: HTMLAttributeReferrerPolicy - rel?: string - shape?: string - target?: string + href?: string | undefined + hreflang?: string | undefined + media?: string | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined + rel?: string | undefined + shape?: string | undefined + target?: string | undefined } export interface AudioHTMLAttributes extends MediaHTMLAttributes {} export interface BaseHTMLAttributes extends HTMLAttributes { - href?: string - target?: string + href?: string | undefined + target?: string | undefined } export interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string + cite?: string | undefined } export interface ButtonHTMLAttributes extends HTMLAttributes { - autofocus?: Booleanish - disabled?: Booleanish - form?: string - formaction?: string - formenctype?: string - formmethod?: string - formnovalidate?: Booleanish - formtarget?: string - name?: string - type?: 'submit' | 'reset' | 'button' - value?: string | ReadonlyArray | number + autofocus?: Booleanish | undefined + disabled?: Booleanish | undefined + form?: string | undefined + formaction?: string | undefined + formenctype?: string | undefined + formmethod?: string | undefined + formnovalidate?: Booleanish | undefined + formtarget?: string | undefined + name?: string | undefined + type?: 'submit' | 'reset' | 'button' | undefined + value?: string | ReadonlyArray | number | undefined } export interface CanvasHTMLAttributes extends HTMLAttributes { - height?: Numberish - width?: Numberish + height?: Numberish | undefined + width?: Numberish | undefined } export interface ColHTMLAttributes extends HTMLAttributes { - span?: Numberish - width?: Numberish + span?: Numberish | undefined + width?: Numberish | undefined } export interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: Numberish + span?: Numberish | undefined } export interface DataHTMLAttributes extends HTMLAttributes { - value?: string | ReadonlyArray | number + value?: string | ReadonlyArray | number | undefined } export interface DetailsHTMLAttributes extends HTMLAttributes { - name?: string - open?: Booleanish - onToggle?: (payload: ToggleEvent) => void + name?: string | undefined + open?: Booleanish | undefined + onToggle?: ((payload: ToggleEvent) => void) | undefined } export interface DelHTMLAttributes extends HTMLAttributes { - cite?: string - datetime?: string + cite?: string | undefined + datetime?: string | undefined } export interface DialogHTMLAttributes extends HTMLAttributes { - open?: Booleanish - onClose?: (payload: Event) => void + open?: Booleanish | undefined + onClose?: ((payload: Event) => void) | undefined } export interface EmbedHTMLAttributes extends HTMLAttributes { - height?: Numberish - src?: string - type?: string - width?: Numberish + height?: Numberish | undefined + src?: string | undefined + type?: string | undefined + width?: Numberish | undefined } export interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: Booleanish - form?: string - name?: string + disabled?: Booleanish | undefined + form?: string | undefined + name?: string | undefined } export interface FormHTMLAttributes extends HTMLAttributes { - acceptcharset?: string - action?: string - autocomplete?: string - enctype?: string - method?: string - name?: string - novalidate?: Booleanish - target?: string + acceptcharset?: string | undefined + action?: string | undefined + autocomplete?: string | undefined + enctype?: string | undefined + method?: string | undefined + name?: string | undefined + novalidate?: Booleanish | undefined + target?: string | undefined } export interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string + manifest?: string | undefined } export interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string - allowfullscreen?: Booleanish - allowtransparency?: Booleanish + allow?: string | undefined + allowfullscreen?: Booleanish | undefined + allowtransparency?: Booleanish | undefined /** @deprecated */ - frameborder?: Numberish - height?: Numberish - loading?: 'eager' | 'lazy' + frameborder?: Numberish | undefined + height?: Numberish | undefined + loading?: 'eager' | 'lazy' | undefined /** @deprecated */ - marginheight?: Numberish + marginheight?: Numberish | undefined /** @deprecated */ - marginwidth?: Numberish - name?: string - referrerpolicy?: HTMLAttributeReferrerPolicy - sandbox?: string + marginwidth?: Numberish | undefined + name?: string | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined + sandbox?: string | undefined /** @deprecated */ - scrolling?: string - seamless?: Booleanish - src?: string - srcdoc?: string - width?: Numberish + scrolling?: string | undefined + seamless?: Booleanish | undefined + src?: string | undefined + srcdoc?: string | undefined + width?: Numberish | undefined } export interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string - crossorigin?: 'anonymous' | 'use-credentials' | '' - decoding?: 'async' | 'auto' | 'sync' - height?: Numberish - loading?: 'eager' | 'lazy' - referrerpolicy?: HTMLAttributeReferrerPolicy - sizes?: string - src?: string - srcset?: string - usemap?: string - width?: Numberish + alt?: string | undefined + crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined + decoding?: 'async' | 'auto' | 'sync' | undefined + height?: Numberish | undefined + loading?: 'eager' | 'lazy' | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined + sizes?: string | undefined + src?: string | undefined + srcset?: string | undefined + usemap?: string | undefined + width?: Numberish | undefined } export interface InsHTMLAttributes extends HTMLAttributes { - cite?: string - datetime?: string + cite?: string | undefined + datetime?: string | undefined } export type InputTypeHTMLAttribute = @@ -498,557 +498,557 @@ export type InputTypeHTMLAttribute = | (string & {}) export interface InputHTMLAttributes extends HTMLAttributes { - accept?: string - alt?: string - autocomplete?: string - autofocus?: Booleanish - capture?: boolean | 'user' | 'environment' // https://www.w3.org/tr/html-media-capture/#the-capture-attribute - checked?: Booleanish | any[] | Set // for IDE v-model multi-checkbox support - crossorigin?: string - disabled?: Booleanish - enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' - form?: string - formaction?: string - formenctype?: string - formmethod?: string - formnovalidate?: Booleanish - formtarget?: string - height?: Numberish - indeterminate?: boolean - list?: string - max?: Numberish - maxlength?: Numberish - min?: Numberish - minlength?: Numberish - multiple?: Booleanish - name?: string - pattern?: string - placeholder?: string - readonly?: Booleanish - required?: Booleanish - size?: Numberish - src?: string - step?: Numberish - type?: InputTypeHTMLAttribute + accept?: string | undefined + alt?: string | undefined + autocomplete?: string | undefined + autofocus?: Booleanish | undefined + capture?: boolean | 'user' | 'environment' | undefined // https://www.w3.org/tr/html-media-capture/#the-capture-attribute + checked?: Booleanish | any[] | Set | undefined // for IDE v-model multi-checkbox support + crossorigin?: string | undefined + disabled?: Booleanish | undefined + enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined + form?: string | undefined + formaction?: string | undefined + formenctype?: string | undefined + formmethod?: string | undefined + formnovalidate?: Booleanish | undefined + formtarget?: string | undefined + height?: Numberish | undefined + indeterminate?: boolean | undefined + list?: string | undefined + max?: Numberish | undefined + maxlength?: Numberish | undefined + min?: Numberish | undefined + minlength?: Numberish | undefined + multiple?: Booleanish | undefined + name?: string | undefined + pattern?: string | undefined + placeholder?: string | undefined + readonly?: Booleanish | undefined + required?: Booleanish | undefined + size?: Numberish | undefined + src?: string | undefined + step?: Numberish | undefined + type?: InputTypeHTMLAttribute | undefined value?: any // we support :value to be bound to anything w/ v-model - width?: Numberish + width?: Numberish | undefined } export interface KeygenHTMLAttributes extends HTMLAttributes { - autofocus?: Booleanish - challenge?: string - disabled?: Booleanish - form?: string - keytype?: string - keyparams?: string - name?: string + autofocus?: Booleanish | undefined + challenge?: string | undefined + disabled?: Booleanish | undefined + form?: string | undefined + keytype?: string | undefined + keyparams?: string | undefined + name?: string | undefined } export interface LabelHTMLAttributes extends HTMLAttributes { - for?: string - form?: string + for?: string | undefined + form?: string | undefined } export interface LiHTMLAttributes extends HTMLAttributes { - value?: string | ReadonlyArray | number + value?: string | ReadonlyArray | number | undefined } export interface LinkHTMLAttributes extends HTMLAttributes { - as?: string - crossorigin?: string - href?: string - hreflang?: string - integrity?: string - media?: string - referrerpolicy?: HTMLAttributeReferrerPolicy - rel?: string - sizes?: string - type?: string - charset?: string + as?: string | undefined + crossorigin?: string | undefined + href?: string | undefined + hreflang?: string | undefined + integrity?: string | undefined + media?: string | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined + rel?: string | undefined + sizes?: string | undefined + type?: string | undefined + charset?: string | undefined } export interface MapHTMLAttributes extends HTMLAttributes { - name?: string + name?: string | undefined } export interface MenuHTMLAttributes extends HTMLAttributes { - type?: string + type?: string | undefined } export interface MediaHTMLAttributes extends HTMLAttributes { - autoplay?: Booleanish - controls?: Booleanish - controlslist?: string - crossorigin?: string - loop?: Booleanish - mediagroup?: string - muted?: Booleanish - playsinline?: Booleanish - preload?: string - src?: string + autoplay?: Booleanish | undefined + controls?: Booleanish | undefined + controlslist?: string | undefined + crossorigin?: string | undefined + loop?: Booleanish | undefined + mediagroup?: string | undefined + muted?: Booleanish | undefined + playsinline?: Booleanish | undefined + preload?: string | undefined + src?: string | undefined } export interface MetaHTMLAttributes extends HTMLAttributes { - charset?: string - content?: string - httpequiv?: string - name?: string + charset?: string | undefined + content?: string | undefined + httpequiv?: string | undefined + name?: string | undefined } export interface MeterHTMLAttributes extends HTMLAttributes { - form?: string - high?: Numberish - low?: Numberish - max?: Numberish - min?: Numberish - optimum?: Numberish - value?: string | ReadonlyArray | number + form?: string | undefined + high?: Numberish | undefined + low?: Numberish | undefined + max?: Numberish | undefined + min?: Numberish | undefined + optimum?: Numberish | undefined + value?: string | ReadonlyArray | number | undefined } export interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string + cite?: string | undefined } export interface ObjectHTMLAttributes extends HTMLAttributes { - classid?: string - data?: string - form?: string - height?: Numberish - name?: string - type?: string - usemap?: string - width?: Numberish - wmode?: string + classid?: string | undefined + data?: string | undefined + form?: string | undefined + height?: Numberish | undefined + name?: string | undefined + type?: string | undefined + usemap?: string | undefined + width?: Numberish | undefined + wmode?: string | undefined } export interface OlHTMLAttributes extends HTMLAttributes { - reversed?: Booleanish - start?: Numberish - type?: '1' | 'a' | 'A' | 'i' | 'I' + reversed?: Booleanish | undefined + start?: Numberish | undefined + type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined } export interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: Booleanish - label?: string + disabled?: Booleanish | undefined + label?: string | undefined } export interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: Booleanish - label?: string - selected?: Booleanish + disabled?: Booleanish | undefined + label?: string | undefined + selected?: Booleanish | undefined value?: any // we support :value to be bound to anything w/ v-model } export interface OutputHTMLAttributes extends HTMLAttributes { - for?: string - form?: string - name?: string + for?: string | undefined + form?: string | undefined + name?: string | undefined } export interface ParamHTMLAttributes extends HTMLAttributes { - name?: string - value?: string | ReadonlyArray | number + name?: string | undefined + value?: string | ReadonlyArray | number | undefined } export interface ProgressHTMLAttributes extends HTMLAttributes { - max?: Numberish - value?: string | ReadonlyArray | number + max?: Numberish | undefined + value?: string | ReadonlyArray | number | undefined } export interface ScriptHTMLAttributes extends HTMLAttributes { - async?: Booleanish + async?: Booleanish | undefined /** @deprecated */ - charset?: string - crossorigin?: string - defer?: Booleanish - integrity?: string - nomodule?: Booleanish - referrerpolicy?: HTMLAttributeReferrerPolicy - nonce?: string - src?: string - type?: string + charset?: string | undefined + crossorigin?: string | undefined + defer?: Booleanish | undefined + integrity?: string | undefined + nomodule?: Booleanish | undefined + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined + nonce?: string | undefined + src?: string | undefined + type?: string | undefined } export interface SelectHTMLAttributes extends HTMLAttributes { - autocomplete?: string - autofocus?: Booleanish - disabled?: Booleanish - form?: string - multiple?: Booleanish - name?: string - required?: Booleanish - size?: Numberish + autocomplete?: string | undefined + autofocus?: Booleanish | undefined + disabled?: Booleanish | undefined + form?: string | undefined + multiple?: Booleanish | undefined + name?: string | undefined + required?: Booleanish | undefined + size?: Numberish | undefined value?: any // we support :value to be bound to anything w/ v-model } export interface SourceHTMLAttributes extends HTMLAttributes { - media?: string - sizes?: string - src?: string - srcset?: string - type?: string + media?: string | undefined + sizes?: string | undefined + src?: string | undefined + srcset?: string | undefined + type?: string | undefined } export interface StyleHTMLAttributes extends HTMLAttributes { - media?: string - nonce?: string - scoped?: Booleanish - type?: string + media?: string | undefined + nonce?: string | undefined + scoped?: Booleanish | undefined + type?: string | undefined } export interface TableHTMLAttributes extends HTMLAttributes { - cellpadding?: Numberish - cellspacing?: Numberish - summary?: string - width?: Numberish + cellpadding?: Numberish | undefined + cellspacing?: Numberish | undefined + summary?: string | undefined + width?: Numberish | undefined } export interface TextareaHTMLAttributes extends HTMLAttributes { - autocomplete?: string - autofocus?: Booleanish - cols?: Numberish - dirname?: string - disabled?: Booleanish - form?: string - maxlength?: Numberish - minlength?: Numberish - name?: string - placeholder?: string - readonly?: Booleanish - required?: Booleanish - rows?: Numberish - value?: string | ReadonlyArray | number | null - wrap?: string + autocomplete?: string | undefined + autofocus?: Booleanish | undefined + cols?: Numberish | undefined + dirname?: string | undefined + disabled?: Booleanish | undefined + form?: string | undefined + maxlength?: Numberish | undefined + minlength?: Numberish | undefined + name?: string | undefined + placeholder?: string | undefined + readonly?: Booleanish | undefined + required?: Booleanish | undefined + rows?: Numberish | undefined + value?: string | ReadonlyArray | number | null | undefined + wrap?: string | undefined } export interface TdHTMLAttributes extends HTMLAttributes { - align?: 'left' | 'center' | 'right' | 'justify' | 'char' - colspan?: Numberish - headers?: string - rowspan?: Numberish - scope?: string - abbr?: string - height?: Numberish - width?: Numberish - valign?: 'top' | 'middle' | 'bottom' | 'baseline' + align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined + colspan?: Numberish | undefined + headers?: string | undefined + rowspan?: Numberish | undefined + scope?: string | undefined + abbr?: string | undefined + height?: Numberish | undefined + width?: Numberish | undefined + valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined } export interface ThHTMLAttributes extends HTMLAttributes { - align?: 'left' | 'center' | 'right' | 'justify' | 'char' - colspan?: Numberish - headers?: string - rowspan?: Numberish - scope?: string - abbr?: string + align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined + colspan?: Numberish | undefined + headers?: string | undefined + rowspan?: Numberish | undefined + scope?: string | undefined + abbr?: string | undefined } export interface TimeHTMLAttributes extends HTMLAttributes { - datetime?: string + datetime?: string | undefined } export interface TrackHTMLAttributes extends HTMLAttributes { - default?: Booleanish - kind?: string - label?: string - src?: string - srclang?: string + default?: Booleanish | undefined + kind?: string | undefined + label?: string | undefined + src?: string | undefined + srclang?: string | undefined } export interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: Numberish - playsinline?: Booleanish - poster?: string - width?: Numberish - disablePictureInPicture?: Booleanish - disableRemotePlayback?: Booleanish + height?: Numberish | undefined + playsinline?: Booleanish | undefined + poster?: string | undefined + width?: Numberish | undefined + disablePictureInPicture?: Booleanish | undefined + disableRemotePlayback?: Booleanish | undefined } export interface WebViewHTMLAttributes extends HTMLAttributes { - allowfullscreen?: Booleanish - allowpopups?: Booleanish - autoFocus?: Booleanish - autosize?: Booleanish - blinkfeatures?: string - disableblinkfeatures?: string - disableguestresize?: Booleanish - disablewebsecurity?: Booleanish - guestinstance?: string - httpreferrer?: string - nodeintegration?: Booleanish - partition?: string - plugins?: Booleanish - preload?: string - src?: string - useragent?: string - webpreferences?: string + allowfullscreen?: Booleanish | undefined + allowpopups?: Booleanish | undefined + autoFocus?: Booleanish | undefined + autosize?: Booleanish | undefined + blinkfeatures?: string | undefined + disableblinkfeatures?: string | undefined + disableguestresize?: Booleanish | undefined + disablewebsecurity?: Booleanish | undefined + guestinstance?: string | undefined + httpreferrer?: string | undefined + nodeintegration?: Booleanish | undefined + partition?: string | undefined + plugins?: Booleanish | undefined + preload?: string | undefined + src?: string | undefined + useragent?: string | undefined + webpreferences?: string | undefined } export interface SVGAttributes extends AriaAttributes, EventHandlers { - innerHTML?: string + innerHTML?: string | undefined /** * SVG Styling Attributes * @see https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling */ class?: any - style?: StyleValue - - color?: string - height?: Numberish - id?: string - lang?: string - max?: Numberish - media?: string - method?: string - min?: Numberish - name?: string - target?: string - type?: string - width?: Numberish + style?: StyleValue | undefined + + color?: string | undefined + height?: Numberish | undefined + id?: string | undefined + lang?: string | undefined + max?: Numberish | undefined + media?: string | undefined + method?: string | undefined + min?: Numberish | undefined + name?: string | undefined + target?: string | undefined + type?: string | undefined + width?: Numberish | undefined // Other HTML properties supported by SVG elements in browsers - role?: string - tabindex?: Numberish - crossOrigin?: 'anonymous' | 'use-credentials' | '' + role?: string | undefined + tabindex?: Numberish | undefined + crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined // SVG Specific attributes - 'accent-height'?: Numberish - accumulate?: 'none' | 'sum' - additive?: 'replace' | 'sum' - 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' - allowReorder?: 'no' | 'yes' - alphabetic?: Numberish - amplitude?: Numberish - 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' - ascent?: Numberish - attributeName?: string - attributeType?: string - autoReverse?: Numberish - azimuth?: Numberish - baseFrequency?: Numberish - 'baseline-shift'?: Numberish - baseProfile?: Numberish - bbox?: Numberish - begin?: Numberish - bias?: Numberish - by?: Numberish - calcMode?: Numberish - 'cap-height'?: Numberish - clip?: Numberish - 'clip-path'?: string - clipPathUnits?: Numberish - 'clip-rule'?: Numberish - 'color-interpolation'?: Numberish - 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' - 'color-profile'?: Numberish - 'color-rendering'?: Numberish - contentScriptType?: Numberish - contentStyleType?: Numberish - cursor?: Numberish - cx?: Numberish - cy?: Numberish - d?: string - decelerate?: Numberish - descent?: Numberish - diffuseConstant?: Numberish - direction?: Numberish - display?: Numberish - divisor?: Numberish - 'dominant-baseline'?: Numberish - dur?: Numberish - dx?: Numberish - dy?: Numberish - edgeMode?: Numberish - elevation?: Numberish - 'enable-background'?: Numberish - end?: Numberish - exponent?: Numberish - externalResourcesRequired?: Numberish - fill?: string - 'fill-opacity'?: Numberish - 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' - filter?: string - filterRes?: Numberish - filterUnits?: Numberish - 'flood-color'?: Numberish - 'flood-opacity'?: Numberish - focusable?: Numberish - 'font-family'?: string - 'font-size'?: Numberish - 'font-size-adjust'?: Numberish - 'font-stretch'?: Numberish - 'font-style'?: Numberish - 'font-variant'?: Numberish - 'font-weight'?: Numberish - format?: Numberish - from?: Numberish - fx?: Numberish - fy?: Numberish - g1?: Numberish - g2?: Numberish - 'glyph-name'?: Numberish - 'glyph-orientation-horizontal'?: Numberish - 'glyph-orientation-vertical'?: Numberish - glyphRef?: Numberish - gradientTransform?: string - gradientUnits?: string - hanging?: Numberish - 'horiz-adv-x'?: Numberish - 'horiz-origin-x'?: Numberish - href?: string - ideographic?: Numberish - 'image-rendering'?: Numberish - in2?: Numberish - in?: string - intercept?: Numberish - k1?: Numberish - k2?: Numberish - k3?: Numberish - k4?: Numberish - k?: Numberish - kernelMatrix?: Numberish - kernelUnitLength?: Numberish - kerning?: Numberish - keyPoints?: Numberish - keySplines?: Numberish - keyTimes?: Numberish - lengthAdjust?: Numberish - 'letter-spacing'?: Numberish - 'lighting-color'?: Numberish - limitingConeAngle?: Numberish - local?: Numberish - 'marker-end'?: string - markerHeight?: Numberish - 'marker-mid'?: string - 'marker-start'?: string - markerUnits?: Numberish - markerWidth?: Numberish - mask?: string - maskContentUnits?: Numberish - maskUnits?: Numberish - mathematical?: Numberish - mode?: Numberish - numOctaves?: Numberish - offset?: Numberish - opacity?: Numberish - operator?: Numberish - order?: Numberish - orient?: Numberish - orientation?: Numberish - origin?: Numberish - overflow?: Numberish - 'overline-position'?: Numberish - 'overline-thickness'?: Numberish - 'paint-order'?: Numberish - 'panose-1'?: Numberish - pathLength?: Numberish - patternContentUnits?: string - patternTransform?: Numberish - patternUnits?: string - 'pointer-events'?: Numberish - points?: string - pointsAtX?: Numberish - pointsAtY?: Numberish - pointsAtZ?: Numberish - preserveAlpha?: Numberish - preserveAspectRatio?: string - primitiveUnits?: Numberish - r?: Numberish - radius?: Numberish - refX?: Numberish - refY?: Numberish - renderingIntent?: Numberish - repeatCount?: Numberish - repeatDur?: Numberish - requiredExtensions?: Numberish - requiredFeatures?: Numberish - restart?: Numberish - result?: string - rotate?: Numberish - rx?: Numberish - ry?: Numberish - scale?: Numberish - seed?: Numberish - 'shape-rendering'?: Numberish - slope?: Numberish - spacing?: Numberish - specularConstant?: Numberish - specularExponent?: Numberish - speed?: Numberish - spreadMethod?: string - startOffset?: Numberish - stdDeviation?: Numberish - stemh?: Numberish - stemv?: Numberish - stitchTiles?: Numberish - 'stop-color'?: string - 'stop-opacity'?: Numberish - 'strikethrough-position'?: Numberish - 'strikethrough-thickness'?: Numberish - string?: Numberish - stroke?: string - 'stroke-dasharray'?: Numberish - 'stroke-dashoffset'?: Numberish - 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' - 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit' - 'stroke-miterlimit'?: Numberish - 'stroke-opacity'?: Numberish - 'stroke-width'?: Numberish - surfaceScale?: Numberish - systemLanguage?: Numberish - tableValues?: Numberish - targetX?: Numberish - targetY?: Numberish - 'text-anchor'?: string - 'text-decoration'?: Numberish - textLength?: Numberish - 'text-rendering'?: Numberish - to?: Numberish - transform?: string - u1?: Numberish - u2?: Numberish - 'underline-position'?: Numberish - 'underline-thickness'?: Numberish - unicode?: Numberish - 'unicode-bidi'?: Numberish - 'unicode-range'?: Numberish - 'unitsPer-em'?: Numberish - 'v-alphabetic'?: Numberish - values?: string - 'vector-effect'?: Numberish - version?: string - 'vert-adv-y'?: Numberish - 'vert-origin-x'?: Numberish - 'vert-origin-y'?: Numberish - 'v-hanging'?: Numberish - 'v-ideographic'?: Numberish - viewBox?: string - viewTarget?: Numberish - visibility?: Numberish - 'v-mathematical'?: Numberish - widths?: Numberish - 'word-spacing'?: Numberish - 'writing-mode'?: Numberish - x1?: Numberish - x2?: Numberish - x?: Numberish - xChannelSelector?: string - 'x-height'?: Numberish - xlinkActuate?: string - xlinkArcrole?: string - xlinkHref?: string - xlinkRole?: string - xlinkShow?: string - xlinkTitle?: string - xlinkType?: string - xmlns?: string - xmlnsXlink?: string - y1?: Numberish - y2?: Numberish - y?: Numberish - yChannelSelector?: string - z?: Numberish - zoomAndPan?: string + 'accent-height'?: Numberish | undefined + accumulate?: 'none' | 'sum' | undefined + additive?: 'replace' | 'sum' | undefined + 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined + allowReorder?: 'no' | 'yes' | undefined + alphabetic?: Numberish | undefined + amplitude?: Numberish | undefined + 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined + ascent?: Numberish | undefined + attributeName?: string | undefined + attributeType?: string | undefined + autoReverse?: Numberish | undefined + azimuth?: Numberish | undefined + baseFrequency?: Numberish | undefined + 'baseline-shift'?: Numberish | undefined + baseProfile?: Numberish | undefined + bbox?: Numberish | undefined + begin?: Numberish | undefined + bias?: Numberish | undefined + by?: Numberish | undefined + calcMode?: Numberish | undefined + 'cap-height'?: Numberish | undefined + clip?: Numberish | undefined + 'clip-path'?: string | undefined + clipPathUnits?: Numberish | undefined + 'clip-rule'?: Numberish | undefined + 'color-interpolation'?: Numberish | undefined + 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined + 'color-profile'?: Numberish | undefined + 'color-rendering'?: Numberish | undefined + contentScriptType?: Numberish | undefined + contentStyleType?: Numberish | undefined + cursor?: Numberish | undefined + cx?: Numberish | undefined + cy?: Numberish | undefined + d?: string | undefined + decelerate?: Numberish | undefined + descent?: Numberish | undefined + diffuseConstant?: Numberish | undefined + direction?: Numberish | undefined + display?: Numberish | undefined + divisor?: Numberish | undefined + 'dominant-baseline'?: Numberish | undefined + dur?: Numberish | undefined + dx?: Numberish | undefined + dy?: Numberish | undefined + edgeMode?: Numberish | undefined + elevation?: Numberish | undefined + 'enable-background'?: Numberish | undefined + end?: Numberish | undefined + exponent?: Numberish | undefined + externalResourcesRequired?: Numberish | undefined + fill?: string | undefined + 'fill-opacity'?: Numberish | undefined + 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined + filter?: string | undefined + filterRes?: Numberish | undefined + filterUnits?: Numberish | undefined + 'flood-color'?: Numberish | undefined + 'flood-opacity'?: Numberish | undefined + focusable?: Numberish | undefined + 'font-family'?: string | undefined + 'font-size'?: Numberish | undefined + 'font-size-adjust'?: Numberish | undefined + 'font-stretch'?: Numberish | undefined + 'font-style'?: Numberish | undefined + 'font-variant'?: Numberish | undefined + 'font-weight'?: Numberish | undefined + format?: Numberish | undefined + from?: Numberish | undefined + fx?: Numberish | undefined + fy?: Numberish | undefined + g1?: Numberish | undefined + g2?: Numberish | undefined + 'glyph-name'?: Numberish | undefined + 'glyph-orientation-horizontal'?: Numberish | undefined + 'glyph-orientation-vertical'?: Numberish | undefined + glyphRef?: Numberish | undefined + gradientTransform?: string | undefined + gradientUnits?: string | undefined + hanging?: Numberish | undefined + 'horiz-adv-x'?: Numberish | undefined + 'horiz-origin-x'?: Numberish | undefined + href?: string | undefined + ideographic?: Numberish | undefined + 'image-rendering'?: Numberish | undefined + in2?: Numberish | undefined + in?: string | undefined + intercept?: Numberish | undefined + k1?: Numberish | undefined + k2?: Numberish | undefined + k3?: Numberish | undefined + k4?: Numberish | undefined + k?: Numberish | undefined + kernelMatrix?: Numberish | undefined + kernelUnitLength?: Numberish | undefined + kerning?: Numberish | undefined + keyPoints?: Numberish | undefined + keySplines?: Numberish | undefined + keyTimes?: Numberish | undefined + lengthAdjust?: Numberish | undefined + 'letter-spacing'?: Numberish | undefined + 'lighting-color'?: Numberish | undefined + limitingConeAngle?: Numberish | undefined + local?: Numberish | undefined + 'marker-end'?: string | undefined + markerHeight?: Numberish | undefined + 'marker-mid'?: string | undefined + 'marker-start'?: string | undefined + markerUnits?: Numberish | undefined + markerWidth?: Numberish | undefined + mask?: string | undefined + maskContentUnits?: Numberish | undefined + maskUnits?: Numberish | undefined + mathematical?: Numberish | undefined + mode?: Numberish | undefined + numOctaves?: Numberish | undefined + offset?: Numberish | undefined + opacity?: Numberish | undefined + operator?: Numberish | undefined + order?: Numberish | undefined + orient?: Numberish | undefined + orientation?: Numberish | undefined + origin?: Numberish | undefined + overflow?: Numberish | undefined + 'overline-position'?: Numberish | undefined + 'overline-thickness'?: Numberish | undefined + 'paint-order'?: Numberish | undefined + 'panose-1'?: Numberish | undefined + pathLength?: Numberish | undefined + patternContentUnits?: string | undefined + patternTransform?: Numberish | undefined + patternUnits?: string | undefined + 'pointer-events'?: Numberish | undefined + points?: string | undefined + pointsAtX?: Numberish | undefined + pointsAtY?: Numberish | undefined + pointsAtZ?: Numberish | undefined + preserveAlpha?: Numberish | undefined + preserveAspectRatio?: string | undefined + primitiveUnits?: Numberish | undefined + r?: Numberish | undefined + radius?: Numberish | undefined + refX?: Numberish | undefined + refY?: Numberish | undefined + renderingIntent?: Numberish | undefined + repeatCount?: Numberish | undefined + repeatDur?: Numberish | undefined + requiredExtensions?: Numberish | undefined + requiredFeatures?: Numberish | undefined + restart?: Numberish | undefined + result?: string | undefined + rotate?: Numberish | undefined + rx?: Numberish | undefined + ry?: Numberish | undefined + scale?: Numberish | undefined + seed?: Numberish | undefined + 'shape-rendering'?: Numberish | undefined + slope?: Numberish | undefined + spacing?: Numberish | undefined + specularConstant?: Numberish | undefined + specularExponent?: Numberish | undefined + speed?: Numberish | undefined + spreadMethod?: string | undefined + startOffset?: Numberish | undefined + stdDeviation?: Numberish | undefined + stemh?: Numberish | undefined + stemv?: Numberish | undefined + stitchTiles?: Numberish | undefined + 'stop-color'?: string | undefined + 'stop-opacity'?: Numberish | undefined + 'strikethrough-position'?: Numberish | undefined + 'strikethrough-thickness'?: Numberish | undefined + string?: Numberish | undefined + stroke?: string | undefined + 'stroke-dasharray'?: Numberish | undefined + 'stroke-dashoffset'?: Numberish | undefined + 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined + 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined + 'stroke-miterlimit'?: Numberish | undefined + 'stroke-opacity'?: Numberish | undefined + 'stroke-width'?: Numberish | undefined + surfaceScale?: Numberish | undefined + systemLanguage?: Numberish | undefined + tableValues?: Numberish | undefined + targetX?: Numberish | undefined + targetY?: Numberish | undefined + 'text-anchor'?: string | undefined + 'text-decoration'?: Numberish | undefined + textLength?: Numberish | undefined + 'text-rendering'?: Numberish | undefined + to?: Numberish | undefined + transform?: string | undefined + u1?: Numberish | undefined + u2?: Numberish | undefined + 'underline-position'?: Numberish | undefined + 'underline-thickness'?: Numberish | undefined + unicode?: Numberish | undefined + 'unicode-bidi'?: Numberish | undefined + 'unicode-range'?: Numberish | undefined + 'unitsPer-em'?: Numberish | undefined + 'v-alphabetic'?: Numberish | undefined + values?: string | undefined + 'vector-effect'?: Numberish | undefined + version?: string | undefined + 'vert-adv-y'?: Numberish | undefined + 'vert-origin-x'?: Numberish | undefined + 'vert-origin-y'?: Numberish | undefined + 'v-hanging'?: Numberish | undefined + 'v-ideographic'?: Numberish | undefined + viewBox?: string | undefined + viewTarget?: Numberish | undefined + visibility?: Numberish | undefined + 'v-mathematical'?: Numberish | undefined + widths?: Numberish | undefined + 'word-spacing'?: Numberish | undefined + 'writing-mode'?: Numberish | undefined + x1?: Numberish | undefined + x2?: Numberish | undefined + x?: Numberish | undefined + xChannelSelector?: string | undefined + 'x-height'?: Numberish | undefined + xlinkActuate?: string | undefined + xlinkArcrole?: string | undefined + xlinkHref?: string | undefined + xlinkRole?: string | undefined + xlinkShow?: string | undefined + xlinkTitle?: string | undefined + xlinkType?: string | undefined + xmlns?: string | undefined + xmlnsXlink?: string | undefined + y1?: Numberish | undefined + y2?: Numberish | undefined + y?: Numberish | undefined + yChannelSelector?: string | undefined + z?: Numberish | undefined + zoomAndPan?: string | undefined } export interface IntrinsicElementAttributes { @@ -1355,10 +1355,10 @@ type EventHandlers = { import type { VNodeRef } from '@vue/runtime-core' export type ReservedProps = { - key?: PropertyKey - ref?: VNodeRef - ref_for?: boolean - ref_key?: string + key?: PropertyKey | undefined + ref?: VNodeRef | undefined + ref_for?: boolean | undefined + ref_key?: string | undefined } export type NativeElements = { From 0dc9169699981b107f6c993cb7bee53305c46565 Mon Sep 17 00:00:00 2001 From: Andrei Luca <1881266+iamandrewluca@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:24:17 +0200 Subject: [PATCH 3/3] refactor: format file jsx.ts --- packages/runtime-dom/src/jsx.ts | 84 +++++++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 8 deletions(-) diff --git a/packages/runtime-dom/src/jsx.ts b/packages/runtime-dom/src/jsx.ts index 18cc650fa18..baf56bd7e80 100644 --- a/packages/runtime-dom/src/jsx.ts +++ b/packages/runtime-dom/src/jsx.ts @@ -84,7 +84,14 @@ export interface AriaAttributes { */ 'aria-controls'?: string | undefined /** Indicates the element that represents the current item within a container or set of related elements. */ - 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined + 'aria-current'?: + | Booleanish + | 'page' + | 'step' + | 'location' + | 'date' + | 'time' + | undefined /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby @@ -104,7 +111,14 @@ export interface AriaAttributes { * Indicates what functions can be performed when a dragged object is released on the drop target. * @deprecated in ARIA 1.1 */ - 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup' | undefined + 'aria-dropeffect'?: + | 'none' + | 'copy' + | 'execute' + | 'link' + | 'move' + | 'popup' + | undefined /** * Identifies the element that provides an error message for the object. * @see aria-invalid @see aria-describedby. @@ -123,7 +137,14 @@ export interface AriaAttributes { */ 'aria-grabbed'?: Booleanish | undefined /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined + 'aria-haspopup'?: + | Booleanish + | 'menu' + | 'listbox' + | 'tree' + | 'grid' + | 'dialog' + | undefined /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. @@ -188,7 +209,18 @@ export interface AriaAttributes { * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. * @see aria-atomic. */ - 'aria-relevant'?: 'additions' | 'additions removals' | 'additions text' | 'all' | 'removals' | 'removals additions' | 'removals text' | 'text' | 'text additions' | 'text removals' | undefined + 'aria-relevant'?: + | 'additions' + | 'additions removals' + | 'additions text' + | 'all' + | 'removals' + | 'removals additions' + | 'removals text' + | 'text' + | 'text additions' + | 'text removals' + | undefined /** Indicates that user input is required on the element before a form may be submitted. */ 'aria-required'?: Booleanish | undefined /** Defines a human-readable, author-localized description for the role of an element. */ @@ -299,7 +331,16 @@ export interface HTMLAttributes extends AriaAttributes, EventHandlers { * Hints at the type of data that might be entered by the user while editing the element or its contents * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute */ - inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' | undefined + inputmode?: + | 'none' + | 'text' + | 'tel' + | 'url' + | 'email' + | 'numeric' + | 'decimal' + | 'search' + | undefined /** * Specify that a standard HTML element should behave like a defined custom built-in element * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is @@ -506,7 +547,15 @@ export interface InputHTMLAttributes extends HTMLAttributes { checked?: Booleanish | any[] | Set | undefined // for IDE v-model multi-checkbox support crossorigin?: string | undefined disabled?: Booleanish | undefined - enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined + enterKeyHint?: + | 'enter' + | 'done' + | 'go' + | 'next' + | 'previous' + | 'search' + | 'send' + | undefined form?: string | undefined formaction?: string | undefined formenctype?: string | undefined @@ -815,7 +864,21 @@ export interface SVGAttributes extends AriaAttributes, EventHandlers { 'accent-height'?: Numberish | undefined accumulate?: 'none' | 'sum' | undefined additive?: 'replace' | 'sum' | undefined - 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit' | undefined + 'alignment-baseline'?: + | 'auto' + | 'baseline' + | 'before-edge' + | 'text-before-edge' + | 'middle' + | 'central' + | 'after-edge' + | 'text-after-edge' + | 'ideographic' + | 'alphabetic' + | 'hanging' + | 'mathematical' + | 'inherit' + | undefined allowReorder?: 'no' | 'yes' | undefined alphabetic?: Numberish | undefined amplitude?: Numberish | undefined @@ -839,7 +902,12 @@ export interface SVGAttributes extends AriaAttributes, EventHandlers { clipPathUnits?: Numberish | undefined 'clip-rule'?: Numberish | undefined 'color-interpolation'?: Numberish | undefined - 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined + 'color-interpolation-filters'?: + | 'auto' + | 'sRGB' + | 'linearRGB' + | 'inherit' + | undefined 'color-profile'?: Numberish | undefined 'color-rendering'?: Numberish | undefined contentScriptType?: Numberish | undefined