From 9f06a0bd177ef0b4c9c646a15be42e8bb272c74d Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 1 Jul 2022 15:05:24 +0200 Subject: [PATCH 01/35] [feat] add html typings This adds typings for HTML elements and their attributes. It's supposed to be used by the new transformation in language-tools. --- src/runtime/html.ts | 1585 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1585 insertions(+) create mode 100644 src/runtime/html.ts diff --git a/src/runtime/html.ts b/src/runtime/html.ts new file mode 100644 index 00000000000..83c69a0905f --- /dev/null +++ b/src/runtime/html.ts @@ -0,0 +1,1585 @@ +// Type definitions for Svelte HTML, based on JSX React 18 typings +// Original Project/Authors: +// Type definitions for React 18.0 +// Project: http://facebook.github.io/react/ +// Definitions by: Asana +// AssureSign +// Microsoft +// John Reilly +// Benoit Benezech +// Patricio Zavolinsky +// Eric Anderson +// Dovydas Navickas +// Josh Rutherford +// Guilherme Hübner +// Ferdy Budhidharma +// Johann Rakotoharisoa +// Olivier Pascal +// Martin Hochel +// Frank Li +// Jessica Franco +// Saransh Kataria +// Kanitkorn Sujautra +// Sebastian Silbermann +// Kyle Scully +// Cong Zhang +// Dimitri Mitropoulos +// JongChan Choi +// Victor Magalhães +// Dale Tan +// Priyanshu Rav +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.8 + +// Note: We also allow `null` as a valid value because Svelte treats this the same as `undefined` + +type Booleanish = boolean | 'true' | 'false'; + +// +// Event Handler Types +// ---------------------------------------------------------------------- + +type EventHandler = +(event: E & { currentTarget: EventTarget & T}) => any; + +export type ClipboardEventHandler = EventHandler; +export type CompositionEventHandler = EventHandler; +export type DragEventHandler = EventHandler; +export type FocusEventHandler = EventHandler; +export type FormEventHandler = EventHandler; +export type ChangeEventHandler = EventHandler; +export type KeyboardEventHandler = EventHandler; +export type MouseEventHandler = EventHandler; +export type TouchEventHandler = EventHandler; +export type PointerEventHandler = EventHandler; +export type UIEventHandler = EventHandler; +export type WheelEventHandler = EventHandler; +export type AnimationEventHandler = EventHandler; +export type TransitionEventHandler = EventHandler; +export type MessageEventHandler = EventHandler; + +// +// DOM Attributes +// ---------------------------------------------------------------------- + +export interface DOMAttributes { + // Clipboard Events + oncopy?: ClipboardEventHandler | undefined | null; + oncut?: ClipboardEventHandler | undefined | null; + onpaste?: ClipboardEventHandler | undefined | null; + + // Composition Events + oncompositionend?: CompositionEventHandler | undefined | null; + oncompositionstart?: CompositionEventHandler | undefined | null; + oncompositionupdate?: CompositionEventHandler | undefined | null; + + // Focus Events + onfocus?: FocusEventHandler | undefined | null; + onfocusin?: FocusEventHandler | undefined | null; + onfocusout?: FocusEventHandler | undefined | null; + onblur?: FocusEventHandler | undefined | null; + + // Form Events + onchange?: FormEventHandler | undefined | null; + onbeforeinput?: EventHandler | undefined | null; + oninput?: FormEventHandler | undefined | null; + onreset?: FormEventHandler | undefined | null; + onsubmit?: EventHandler | undefined | null; + oninvalid?: EventHandler | undefined | null; + + + // Image Events + onload?: EventHandler | undefined | null; + onerror?: EventHandler | undefined | null; // also a Media Event + + // Detail Events + ontoggle?: EventHandler | undefined | null; + + // Keyboard Events + onkeydown?: KeyboardEventHandler | undefined | null; + onkeypress?: KeyboardEventHandler | undefined | null; + onkeyup?: KeyboardEventHandler | undefined | null; + + // Media Events + onabort?: EventHandler | undefined | null; + oncanplay?: EventHandler | undefined | null; + oncanplaythrough?: EventHandler | undefined | null; + oncuechange?: EventHandler | undefined | null; + ondurationchange?: EventHandler | undefined | null; + onemptied?: EventHandler | undefined | null; + onencrypted?: EventHandler | undefined | null; + onended?: EventHandler | undefined | null; + onloadeddata?: EventHandler | undefined | null; + onloadedmetadata?: EventHandler | undefined | null; + onloadstart?: EventHandler | undefined | null; + onpause?: EventHandler | undefined | null; + onplay?: EventHandler | undefined | null; + onplaying?: EventHandler | undefined | null; + onprogress?: EventHandler | undefined | null; + onratechange?: EventHandler | undefined | null; + onseeked?: EventHandler | undefined | null; + onseeking?: EventHandler | undefined | null; + onstalled?: EventHandler | undefined | null; + onsuspend?: EventHandler | undefined | null; + ontimeupdate?: EventHandler | undefined | null; + onvolumechange?: EventHandler | undefined | null; + onwaiting?: EventHandler | undefined | null; + + // MouseEvents + onauxclick?: MouseEventHandler | undefined | null; + onclick?: MouseEventHandler | undefined | null; + oncontextmenu?: MouseEventHandler | undefined | null; + ondblclick?: MouseEventHandler | undefined | null; + ondrag?: DragEventHandler | undefined | null; + ondragend?: DragEventHandler | undefined | null; + ondragenter?: DragEventHandler | undefined | null; + ondragexit?: DragEventHandler | undefined | null; + ondragleave?: DragEventHandler | undefined | null; + ondragover?: DragEventHandler | undefined | null; + ondragstart?: DragEventHandler | undefined | null; + ondrop?: DragEventHandler | undefined | null; + onmousedown?: MouseEventHandler | undefined | null; + onmouseenter?: MouseEventHandler | undefined | null; + onmouseleave?: MouseEventHandler | undefined | null; + onmousemove?: MouseEventHandler | undefined | null; + onmouseout?: MouseEventHandler | undefined | null; + onmouseover?: MouseEventHandler | undefined | null; + onmouseup?: MouseEventHandler | undefined | null; + + // Selection Events + onselect?: EventHandler | undefined | null; + onselectionchange?: EventHandler | undefined | null; + onselectstart?: EventHandler | undefined | null; + + // Touch Events + ontouchcancel?: TouchEventHandler | undefined | null; + ontouchend?: TouchEventHandler | undefined | null; + ontouchmove?: TouchEventHandler | undefined | null; + ontouchstart?: TouchEventHandler | undefined | null; + + // Pointer Events + ongotpointercapture?: PointerEventHandler | undefined | null; + onpointercancel?: PointerEventHandler | undefined | null; + onpointerdown?: PointerEventHandler | undefined | null; + onpointerenter?: PointerEventHandler | undefined | null; + onpointerleave?: PointerEventHandler | undefined | null; + onpointermove?: PointerEventHandler | undefined | null; + onpointerout?: PointerEventHandler | undefined | null; + onpointerover?: PointerEventHandler | undefined | null; + onpointerup?: PointerEventHandler | undefined | null; + onlostpointercapture?: PointerEventHandler | undefined | null; + + // UI Events + onscroll?: UIEventHandler | undefined | null; + onresize?: UIEventHandler | undefined | null; + + // Wheel Events + onwheel?: WheelEventHandler | undefined | null; + + // Animation Events + onanimationstart?: AnimationEventHandler | undefined | null; + onanimationend?: AnimationEventHandler | undefined | null; + onanimationiteration?: AnimationEventHandler | undefined | null; + + // Transition Events + ontransitionstart?: TransitionEventHandler | undefined | null; + ontransitionrun?: TransitionEventHandler | undefined | null; + ontransitionend?: TransitionEventHandler | undefined | null; + ontransitioncancel?: TransitionEventHandler | undefined | null; + + // Svelte Transition Events + onoutrostart?: EventHandler, T> | undefined | null; + onoutroend?: EventHandler, T> | undefined | null; + onintrostart?: EventHandler, T> | undefined | null; + onintroend?: EventHandler, T> | undefined | null; + + // Message Events + onmessage?: MessageEventHandler | undefined | null; + onmessageerror?: MessageEventHandler | undefined | null; + + // Global Events + oncancel?: EventHandler | undefined | null; + onclose?: EventHandler | undefined | null; + onfullscreenchange?: EventHandler | undefined | null; + onfullscreenerror?: EventHandler | undefined | null; +} + +// 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 | undefined | null; + /** 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 | undefined | null; + /** + * 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' | undefined | null; + /** 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 | undefined | null; + /** + * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. + * @see aria-pressed @see aria-selected. + */ + 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; + /** + * Defines the total number of columns in a table, grid, or treegrid. + * @see aria-colindex. + */ + 'aria-colcount'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Identifies the element (or elements) whose contents or presence are controlled by the current element. + * @see aria-owns. + */ + 'aria-controls'?: string | undefined | null; + /** Indicates the element that represents the current item within a container or set of related elements. */ + 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null; + /** + * Identifies the element (or elements) that describes the object. + * @see aria-labelledby + */ + 'aria-describedby'?: string | undefined | null; + /** + * Identifies the element that provides a detailed, extended description for the object. + * @see aria-describedby. + */ + 'aria-details'?: string | undefined | null; + /** + * 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 | undefined | null; + /** + * 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 | null; + /** + * Identifies the element that provides an error message for the object. + * @see aria-invalid @see aria-describedby. + */ + 'aria-errormessage'?: string | undefined | null; + /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ + 'aria-expanded'?: Booleanish | undefined | null; + /** + * 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 | undefined | null; + /** + * Indicates an element's "grabbed" state in a drag-and-drop operation. + * @deprecated in ARIA 1.1 + */ + 'aria-grabbed'?: Booleanish | undefined | null; + /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ + 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null; + /** + * Indicates whether the element is exposed to an accessibility API. + * @see aria-disabled. + */ + 'aria-hidden'?: Booleanish | undefined | null; + /** + * Indicates the entered value does not conform to the format expected by the application. + * @see aria-errormessage. + */ + 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined | null; + /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ + 'aria-keyshortcuts'?: string | undefined | null; + /** + * Defines a string value that labels the current element. + * @see aria-labelledby. + */ + 'aria-label'?: string | undefined | null; + /** + * Identifies the element (or elements) that labels the current element. + * @see aria-describedby. + */ + 'aria-labelledby'?: string | undefined | null; + /** Defines the hierarchical level of an element within a structure. */ + 'aria-level'?: number | undefined | null; + /** 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' | undefined | null; + /** Indicates whether an element is modal when displayed. */ + 'aria-modal'?: Booleanish | undefined | null; + /** Indicates whether a text box accepts multiple lines of input or only a single line. */ + 'aria-multiline'?: Booleanish | undefined | null; + /** Indicates that the user may select more than one item from the current selectable descendants. */ + 'aria-multiselectable'?: Booleanish | undefined | null; + /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ + 'aria-orientation'?: 'horizontal' | 'vertical' | undefined | null; + /** + * 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 | undefined | null; + /** + * 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 | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Indicates the current "pressed" state of toggle buttons. + * @see aria-checked @see aria-selected. + */ + 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; + /** + * Indicates that the element is not editable, but is otherwise operable. + * @see aria-disabled. + */ + 'aria-readonly'?: Booleanish | undefined | null; + /** + * 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 | null; + /** Indicates that user input is required on the element before a form may be submitted. */ + 'aria-required'?: Booleanish | undefined | null; + /** Defines a human-readable, author-localized description for the role of an element. */ + 'aria-roledescription'?: string | undefined | null; + /** + * Defines the total number of rows in a table, grid, or treegrid. + * @see aria-rowindex. + */ + 'aria-rowcount'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Indicates the current "selected" state of various widgets. + * @see aria-checked @see aria-pressed. + */ + 'aria-selected'?: Booleanish | undefined | null; + /** + * 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'?: number | undefined | null; + /** Indicates if items in a table or grid are sorted in ascending or descending order. */ + 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined | null; + /** Defines the maximum allowed value for a range widget. */ + 'aria-valuemax'?: number | undefined | null; + /** Defines the minimum allowed value for a range widget. */ + 'aria-valuemin'?: number | undefined | null; + /** + * Defines the current value for a range widget. + * @see aria-valuetext. + */ + 'aria-valuenow'?: number | undefined | null; + /** Defines the human readable text alternative of aria-valuenow for a range widget. */ + 'aria-valuetext'?: string | undefined | null; +} + +// All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions +export type AriaRole = + | 'alert' + | 'alertdialog' + | 'application' + | 'article' + | 'banner' + | 'button' + | 'cell' + | 'checkbox' + | 'columnheader' + | 'combobox' + | 'complementary' + | 'contentinfo' + | 'definition' + | 'dialog' + | 'directory' + | 'document' + | 'feed' + | 'figure' + | 'form' + | 'grid' + | 'gridcell' + | 'group' + | 'heading' + | 'img' + | 'link' + | 'list' + | 'listbox' + | 'listitem' + | 'log' + | 'main' + | 'marquee' + | 'math' + | 'menu' + | 'menubar' + | 'menuitem' + | 'menuitemcheckbox' + | 'menuitemradio' + | 'navigation' + | 'none' + | 'note' + | 'option' + | 'presentation' + | 'progressbar' + | 'radio' + | 'radiogroup' + | 'region' + | 'row' + | 'rowgroup' + | 'rowheader' + | 'scrollbar' + | 'search' + | 'searchbox' + | 'separator' + | 'slider' + | 'spinbutton' + | 'status' + | 'switch' + | 'tab' + | 'table' + | 'tablist' + | 'tabpanel' + | 'term' + | 'textbox' + | 'timer' + | 'toolbar' + | 'tooltip' + | 'tree' + | 'treegrid' + | 'treeitem' + | (string & {}); + +export interface HTMLAttributes extends AriaAttributes, DOMAttributes { + // Standard HTML Attributes + accesskey?: string | undefined | null; + class?: string | undefined | null; + contenteditable?: Booleanish | "inherit" | undefined | null; + contextmenu?: string | undefined | null; + dir?: string | undefined | null; + draggable?: Booleanish | undefined | null; + hidden?: boolean | undefined | null; + id?: string | undefined | null; + lang?: string | undefined | null; + placeholder?: string | undefined | null; + slot?: string | undefined | null; + spellcheck?: Booleanish | undefined | null; + style?: string | undefined | null; + tabindex?: number | undefined | null; + title?: string | undefined | null; + translate?: "yes" | "no" | "" | undefined | null; + + // Unknown + radiogroup?: string | undefined | null; // , + + // WAI-ARIA + role?: AriaRole | undefined | null; + + // RDFa Attributes + about?: string | undefined | null; + datatype?: string | undefined | null; + inlist?: any; + prefix?: string | undefined | null; + property?: string | undefined | null; + resource?: string | undefined | null; + typeof?: string | undefined | null; + vocab?: string | undefined | null; + + // Non-standard Attributes + autocapitalize?: string | undefined | null; + autocorrect?: string | undefined | null; + autosave?: string | undefined | null; + color?: string | undefined | null; + itemprop?: string | undefined | null; + itemscope?: boolean | undefined | null; + itemtype?: string | undefined | null; + itemid?: string | undefined | null; + itemref?: string | undefined | null; + results?: number | undefined | null; + security?: string | undefined | null; + unselectable?: 'on' | 'off' | undefined | null; + + // 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' | undefined | null; + /** + * 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 | undefined | null; + + // Svelte bind:x + /** + * Elements with the contenteditable attribute support innerHTML and textContent bindings. + */ + innerHTML?: string | undefined | null; + /** + * Elements with the contenteditable attribute support innerHTML and textContent bindings. + */ + textContent?: string | undefined | null; +} + + +export type HTMLAttributeReferrerPolicy = + | '' + | 'no-referrer' + | 'no-referrer-when-downgrade' + | 'origin' + | 'origin-when-cross-origin' + | 'same-origin' + | 'strict-origin' + | 'strict-origin-when-cross-origin' + | 'unsafe-url'; + +export type HTMLAttributeAnchorTarget = + | '_self' + | '_blank' + | '_parent' + | '_top' + | (string & {}); + +export interface AnchorHTMLAttributes extends HTMLAttributes { + download?: any; + href?: string | undefined | null; + hreflang?: string | undefined | null; + media?: string | undefined | null; + ping?: string | undefined | null; + rel?: string | undefined | null; + target?: HTMLAttributeAnchorTarget | undefined | null; + type?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + + // SvelteKit + "sveltekit:noscroll"?: true | undefined | null; + "sveltekit:prefetch"?: true | undefined | null; + "sveltekit:reload"?: true | undefined | null; +} + +export interface AudioHTMLAttributes extends MediaHTMLAttributes {} + +export interface AreaHTMLAttributes extends HTMLAttributes { + alt?: string | undefined | null; + coords?: string | undefined | null; + download?: any; + href?: string | undefined | null; + hreflang?: string | undefined | null; + media?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + rel?: string | undefined | null; + shape?: string | undefined | null; + target?: string | undefined | null; +} + +export interface BaseHTMLAttributes extends HTMLAttributes { + href?: string | undefined | null; + target?: string | undefined | null; +} + +export interface BlockquoteHTMLAttributes extends HTMLAttributes { + cite?: string | undefined | null; +} + +export interface ButtonHTMLAttributes extends HTMLAttributes { + autofocus?: boolean | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + formaction?: string | undefined | null; + formenctype?: string | undefined | null; + formmethod?: string | undefined | null; + formnovalidate?: boolean | undefined | null; + formtarget?: string | undefined | null; + name?: string | undefined | null; + type?: 'submit' | 'reset' | 'button' | undefined | null; + value?: string | string[] | number | undefined | null; +} + +export interface CanvasHTMLAttributes extends HTMLAttributes { + height?: number | string | undefined | null; + width?: number | string | undefined | null; +} + +export interface ColHTMLAttributes extends HTMLAttributes { + span?: number | undefined | null; + width?: number | string | undefined | null; +} + +export interface ColgroupHTMLAttributes extends HTMLAttributes { + span?: number | undefined | null; +} + +export interface DataHTMLAttributes extends HTMLAttributes { + value?: string | string[] | number | undefined | null; +} + +export interface DetailsHTMLAttributes extends HTMLAttributes { + open?: boolean | undefined | null; +} + +export interface DelHTMLAttributes extends HTMLAttributes { + cite?: string | undefined | null; + datetime?: string | undefined | null; +} + +export interface DialogHTMLAttributes extends HTMLAttributes { + open?: boolean | undefined | null; +} + +export interface EmbedHTMLAttributes extends HTMLAttributes { + height?: number | string | undefined | null; + src?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; +} + +export interface FieldsetHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined | null; + form?: string | undefined | null; + name?: string | undefined | null; +} + +export interface FormHTMLAttributes extends HTMLAttributes { + acceptcharset?: string | undefined | null; + action?: string | undefined | null; + autocomplete?: string | undefined | null; + enctype?: string | undefined | null; + method?: string | undefined | null; + name?: string | undefined | null; + novalidate?: boolean | undefined | null; + target?: string | undefined | null; +} + +export interface HtmlHTMLAttributes extends HTMLAttributes { + manifest?: string | undefined | null; +} + +export interface IframeHTMLAttributes extends HTMLAttributes { + allow?: string | undefined | null; + allowfullscreen?: boolean | undefined | null; + allowtransparency?: boolean | undefined | null; + /** @deprecated */ + frameborder?: number | string | undefined | null; + height?: number | string | undefined | null; + loading?: "eager" | "lazy" | undefined | null; + /** @deprecated */ + marginheight?: number | undefined | null; + /** @deprecated */ + marginwidth?: number | undefined | null; + name?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + sandbox?: string | undefined | null; + /** @deprecated */ + scrolling?: string | undefined | null; + seamless?: boolean | undefined | null; + src?: string | undefined | null; + srcdoc?: string | undefined | null; + width?: number | string | undefined | null; +} + +export interface ImgHTMLAttributes extends HTMLAttributes { + alt?: string | undefined | null; + crossorigin?: "anonymous" | "use-credentials" | "" | undefined | null; + decoding?: "async" | "auto" | "sync" | undefined | null; + height?: number | string | undefined | null; + ismap?: boolean | undefined | null; + loading?: "eager" | "lazy" | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + sizes?: string | undefined | null; + src?: string | undefined | null; + srcset?: string | undefined | null; + usemap?: string | undefined | null; + width?: number | string | undefined | null; +} + +export interface InsHTMLAttributes extends HTMLAttributes { + cite?: string | undefined | null; + datetime?: string | undefined | null; +} + +export type HTMLInputTypeAttribute = + | 'button' + | 'checkbox' + | 'color' + | 'date' + | 'datetime-local' + | 'email' + | 'file' + | 'hidden' + | 'image' + | 'month' + | 'number' + | 'password' + | 'radio' + | 'range' + | 'reset' + | 'search' + | 'submit' + | 'tel' + | 'text' + | 'time' + | 'url' + | 'week' + | (string & {}); + +export interface InputHTMLAttributes extends HTMLAttributes { + accept?: string | undefined | null; + alt?: string | undefined | null; + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute + checked?: boolean | undefined | null; + crossorigin?: string | undefined | null; + disabled?: boolean | undefined | null; + enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined | null; + form?: string | undefined | null; + formaction?: string | undefined | null; + formenctype?: string | undefined | null; + formmethod?: string | undefined | null; + formnovalidate?: boolean | undefined | null; + formtarget?: string | undefined | null; + height?: number | string | undefined | null; + list?: string | undefined | null; + max?: number | string | undefined | null; + maxlength?: number | undefined | null; + min?: number | string | undefined | null; + minlength?: number | undefined | null; + multiple?: boolean | undefined | null; + name?: string | undefined | null; + pattern?: string | undefined | null; + placeholder?: string | undefined | null; + readonly?: boolean | undefined | null; + required?: boolean | undefined | null; + size?: number | undefined | null; + src?: string | undefined | null; + step?: number | string | undefined | null; + type?: HTMLInputTypeAttribute | undefined | null; + value?: any; + width?: number | string | undefined | null; + + onchange?: ChangeEventHandler | undefined | null; + + // Svelte bind:x + group?: any | undefined | null; + files?: FileList | undefined | null; + indeterminate?: boolean | undefined | null; +} + +export interface KeygenHTMLAttributes extends HTMLAttributes { + autofocus?: boolean | undefined | null; + challenge?: string | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + keytype?: string | undefined | null; + keyparams?: string | undefined | null; + name?: string | undefined | null; +} + +export interface LabelHTMLAttributes extends HTMLAttributes { + form?: string | undefined | null; + for?: string | undefined | null; +} + +export interface LiHTMLAttributes extends HTMLAttributes { + value?: string | string[] | number | undefined | null; +} + +export interface LinkHTMLAttributes extends HTMLAttributes { + as?: string | undefined | null; + crossorigin?: string | undefined | null; + href?: string | undefined | null; + hreflang?: string | undefined | null; + integrity?: string | undefined | null; + media?: string | undefined | null; + imagesrcset?: string | undefined | null; + imagesizes?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + rel?: string | undefined | null; + sizes?: string | undefined | null; + type?: string | undefined | null; + charset?: string | undefined | null; +} + +export interface MapHTMLAttributes extends HTMLAttributes { + name?: string | undefined | null; +} + +export interface MenuHTMLAttributes extends HTMLAttributes { + type?: string | undefined | null; +} + +export interface MediaHTMLAttributes extends HTMLAttributes { + autoplay?: boolean | undefined | null; + controls?: boolean | undefined | null; + controlslist?: 'nodownload' | 'nofullscreen' | 'noplaybackrate' | 'noremoteplayback' | (string & {}) | undefined | null; + crossorigin?: string | undefined | null; + currenttime?: number | undefined | null; + defaultmuted?: boolean | undefined | null; + defaultplaybackrate?: number | undefined | null; + loop?: boolean | undefined | null; + mediagroup?: string | undefined | null; + muted?: boolean | undefined | null; + playsinline?: boolean | undefined | null; + preload?: string | undefined | null; + src?: string | undefined | null; + /** + * a value between 0 and 1 + */ + volume?: number | undefined | null; + + // Svelte bind:x + readonly duration?: number | undefined | null; + readonly buffered?: SvelteMediaTimeRange[] | undefined | null; + readonly played?: SvelteMediaTimeRange[] | undefined | null; + readonly seekable?: SvelteMediaTimeRange[] | undefined | null; + readonly seeking?: boolean | undefined | null; + readonly ended?: boolean | undefined | null; + /** + * the current playback time in the video, in seconds + */ + currentTime?: number | undefined | null; + /** + * how fast or slow to play the video, where 1 is 'normal' + */ + playbackRate?: number | undefined | null; + paused?: boolean | undefined | null; +} + +export interface MetaHTMLAttributes extends HTMLAttributes { + charSet?: string | undefined | null; + content?: string | undefined | null; + httpequiv?: string | undefined | null; + name?: string | undefined | null; + media?: string | undefined | null; +} + +export interface MeterHTMLAttributes extends HTMLAttributes { + form?: string | undefined | null; + high?: number | undefined | null; + low?: number | undefined | null; + max?: number | string | undefined | null; + min?: number | string | undefined | null; + optimum?: number | undefined | null; + value?: string | string[] | number | undefined | null; +} + +export interface QuoteHTMLAttributes extends HTMLAttributes { + cite?: string | undefined | null; +} + +export interface ObjectHTMLAttributes extends HTMLAttributes { + classid?: string | undefined | null; + data?: string | undefined | null; + form?: string | undefined | null; + height?: number | string | undefined | null; + name?: string | undefined | null; + type?: string | undefined | null; + usemap?: string | undefined | null; + width?: number | string | undefined | null; + wmode?: string | undefined | null; +} + +export interface OlHTMLAttributes extends HTMLAttributes { + reversed?: boolean | undefined | null; + start?: number | undefined | null; + type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null; +} + +export interface OptgroupHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined | null; + label?: string | undefined | null; +} + +export interface OptionHTMLAttributes extends HTMLAttributes { + disabled?: boolean | undefined | null; + label?: string | undefined | null; + selected?: boolean | undefined | null; + value?: any; +} + +export interface OutputHTMLAttributes extends HTMLAttributes { + form?: string | undefined | null; + for?: string | undefined | null; + name?: string | undefined | null; +} + +export interface ParamHTMLAttributes extends HTMLAttributes { + name?: string | undefined | null; + value?: string | string[] | number | undefined | null; +} + +export interface ProgressHTMLAttributes extends HTMLAttributes { + max?: number | string | undefined | null; + value?: string | string[] | number | undefined | null; +} + +export interface SlotHTMLAttributes extends HTMLAttributes { + name?: string | undefined | null; +} + +export interface ScriptHTMLAttributes extends HTMLAttributes { + async?: boolean | undefined | null; + /** @deprecated */ + charset?: string | undefined | null; + crossorigin?: string | undefined | null; + defer?: boolean | undefined | null; + integrity?: string | undefined | null; + nomodule?: boolean | undefined | null; + nonce?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + src?: string | undefined | null; + type?: string | undefined | null; +} + +export interface SelectHTMLAttributes extends HTMLAttributes { + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + multiple?: boolean | undefined | null; + name?: string | undefined | null; + required?: boolean | undefined | null; + size?: number | undefined | null; + value?: any; + + onchange?: ChangeEventHandler | undefined | null; +} + +export interface SourceHTMLAttributes extends HTMLAttributes { + height?: number | string | undefined | null; + media?: string | undefined | null; + sizes?: string | undefined | null; + src?: string | undefined | null; + srcset?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; +} + +export interface StyleHTMLAttributes extends HTMLAttributes { + media?: string | undefined | null; + nonce?: string | undefined | null; + scoped?: boolean | undefined | null; + type?: string | undefined | null; +} + +export interface TableHTMLAttributes extends HTMLAttributes { + align?: "left" | "center" | "right" | undefined | null; + bgcolor?: string | undefined | null; + border?: number | undefined | null; + cellpadding?: number | string | undefined | null; + cellspacing?: number | string | undefined | null; + frame?: boolean | undefined | null; + rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined | null; + summary?: string | undefined | null; + width?: number | string | undefined | null; +} + +export interface TextareaHTMLAttributes extends HTMLAttributes { + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + cols?: number | undefined | null; + dirname?: string | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + maxlength?: number | undefined | null; + minlength?: number | undefined | null; + name?: string | undefined | null; + placeholder?: string | undefined | null; + readonly?: boolean | undefined | null; + required?: boolean | undefined | null; + rows?: number | undefined | null; + value?: string | string[] | number | undefined | null; + wrap?: string | undefined | null; + + onchange?: ChangeEventHandler | undefined | null; +} + +export interface TdHTMLAttributes extends HTMLAttributes { + align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + colspan?: number | undefined | null; + headers?: string | undefined | null; + rowspan?: number | undefined | null; + scope?: string | undefined | null; + abbr?: string | undefined | null; + height?: number | string | undefined | null; + width?: number | string | undefined | null; + valign?: "top" | "middle" | "bottom" | "baseline" | undefined | null; +} + +export interface ThHTMLAttributes extends HTMLAttributes { + align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + colspan?: number | undefined | null; + headers?: string | undefined | null; + rowspan?: number | undefined | null; + scope?: string | undefined | null; + abbr?: string | undefined | null; +} + +export interface TimeHTMLAttributes extends HTMLAttributes { + datetime?: string | undefined | null; +} + +export interface TrackHTMLAttributes extends HTMLAttributes { + default?: boolean | undefined | null; + kind?: string | undefined | null; + label?: string | undefined | null; + src?: string | undefined | null; + srclang?: string | undefined | null; +} + +export interface VideoHTMLAttributes extends MediaHTMLAttributes { + height?: number | string | undefined | null; + playsinline?: boolean | undefined | null; + poster?: string | undefined | null; + width?: number | string | undefined | null; + disablepictureinpicture?: boolean | undefined | null; + disableremoteplayback?: boolean | undefined | null; + + // Svelte bind:x + readonly videoWidth?: number | undefined | null; + readonly videoHeight?: number | undefined | null; +} + +export interface SvelteMediaTimeRange { + start: number; + end: number; +} + +export interface SvelteWindowAttributes extends HTMLAttributes { + readonly innerWidth?: Window['innerWidth'] | undefined | null; + readonly innerHeight?: Window['innerHeight'] | undefined | null; + readonly outerWidth?: Window['outerWidth'] | undefined | null; + readonly outerHeight?: Window['outerHeight'] | undefined | null; + scrollX?: Window['scrollX'] | undefined | null; + scrollY?: Window['scrollY'] | undefined | null; + readonly online?: Window['navigator']['onLine'] | undefined | null; + + // Transformed from on:sveltekit:xy + 'onsveltekit:start'?: EventHandler | undefined | null; + 'onsveltekit:navigation-start'?: EventHandler | undefined | null; + 'onsveltekit:navigation-end'?: EventHandler | undefined | null; + + ondevicelight?: EventHandler | undefined | null; + onbeforeinstallprompt?: EventHandler | undefined | null; + ondeviceproximity?: EventHandler | undefined | null; + onpaint?: EventHandler | undefined | null; + onuserproximity?: EventHandler | undefined | null; + onbeforeprint?: EventHandler | undefined | null; + onafterprint?: EventHandler | undefined | null; + onlanguagechange?: EventHandler | undefined | null; + onorientationchange?: EventHandler | undefined | null; + onmessage?: EventHandler | undefined | null; + onmessageerror?: EventHandler | undefined | null; + onoffline?: EventHandler | undefined | null; + ononline?: EventHandler | undefined | null; + onbeforeunload?: EventHandler | undefined | null; + onunload?: EventHandler | undefined | null; + onstorage?: EventHandler | undefined | null; + onhashchange?: EventHandler | undefined | null; + onpagehide?: EventHandler | undefined | null; + onpageshow?: EventHandler | undefined | null; + onpopstate?: EventHandler | undefined | null; + ondevicemotion?: EventHandler | undefined | null; + ondeviceorientation?: EventHandler | undefined | null; + ondeviceorientationabsolute?: EventHandler | undefined | null; + onunhandledrejection?: EventHandler | undefined | null; + onrejectionhandled?: EventHandler | undefined | null; +} + +export interface SVGAttributes extends AriaAttributes, DOMAttributes { + // Attributes which also defined in HTMLAttributes + className?: string | undefined | null; + class?: string | undefined | null; + color?: string | undefined | null; + height?: number | string | undefined | null; + id?: string | undefined | null; + lang?: string | undefined | null; + max?: number | string | undefined | null; + media?: string | undefined | null; + method?: string | undefined | null; + min?: number | string | undefined | null; + name?: string | undefined | null; + style?: string | undefined | null; + target?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; + + // Other HTML properties supported by SVG elements in browsers + role?: AriaRole | undefined | null; + tabindex?: number | undefined | null; + crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; + + // SVG Specific attributes + 'accent-height'?: number | string | undefined | null; + accumulate?: 'none' | 'sum' | undefined | null; + additive?: 'replace' | 'sum' | undefined | null; + 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | + 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | + 'mathematical' | 'inherit' | undefined | null; + allowReorder?: 'no' | 'yes' | undefined | null; + alphabetic?: number | string | undefined | null; + amplitude?: number | string | undefined | null; + 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined | null; + ascent?: number | string | undefined | null; + attributeName?: string | undefined | null; + attributeType?: string | undefined | null; + autoReverse?: number | string | undefined | null; + azimuth?: number | string | undefined | null; + baseFrequency?: number | string | undefined | null; + 'baseline-shift'?: number | string | undefined | null; + baseProfile?: number | string | undefined | null; + bbox?: number | string | undefined | null; + begin?: number | string | undefined | null; + bias?: number | string | undefined | null; + by?: number | string | undefined | null; + calcMode?: number | string | undefined | null; + 'cap-height'?: number | string | undefined | null; + clip?: number | string | undefined | null; + 'clip-path'?: string | undefined | null; + clipPathUnits?: number | string | undefined | null; + 'clip-rule'?: number | string | undefined | null; + 'color-interpolation'?: number | string | undefined | null; + 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined | null; + 'color-profile'?: number | string | undefined | null; + 'color-rendering'?: number | string | undefined | null; + contentScriptType?: number | string | undefined | null; + contentStyleType?: number | string | undefined | null; + cursor?: number | string | undefined | null; + cx?: number | string | undefined | null; + cy?: number | string | undefined | null; + d?: string | undefined | null; + decelerate?: number | string | undefined | null; + descent?: number | string | undefined | null; + diffuseConstant?: number | string | undefined | null; + direction?: number | string | undefined | null; + display?: number | string | undefined | null; + divisor?: number | string | undefined | null; + 'dominant-baseline'?: number | string | undefined | null; + dur?: number | string | undefined | null; + dx?: number | string | undefined | null; + dy?: number | string | undefined | null; + edgeMode?: number | string | undefined | null; + elevation?: number | string | undefined | null; + 'enable-background'?: number | string | undefined | null; + end?: number | string | undefined | null; + exponent?: number | string | undefined | null; + externalResourcesRequired?: number | string | undefined | null; + fill?: string | undefined | null; + 'fill-opacity'?: number | string | undefined | null; + 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined | null; + filter?: string | undefined | null; + filterRes?: number | string | undefined | null; + filterUnits?: number | string | undefined | null; + 'flood-color'?: number | string | undefined | null; + 'flood-opacity'?: number | string | undefined | null; + focusable?: number | string | undefined | null; + 'font-family'?: string | undefined | null; + 'font-size'?: number | string | undefined | null; + 'font-size-adjust'?: number | string | undefined | null; + 'font-stretch'?: number | string | undefined | null; + 'font-style'?: number | string | undefined | null; + 'font-variant'?: number | string | undefined | null; + 'font-weight'?: number | string | undefined | null; + format?: number | string | undefined | null; + from?: number | string | undefined | null; + fx?: number | string | undefined | null; + fy?: number | string | undefined | null; + g1?: number | string | undefined | null; + g2?: number | string | undefined | null; + 'glyph-name'?: number | string | undefined | null; + 'glyph-orientation-horizontal'?: number | string | undefined | null; + 'glyph-orientation-vertical'?: number | string | undefined | null; + glyphRef?: number | string | undefined | null; + gradientTransform?: string | undefined | null; + gradientUnits?: string | undefined | null; + hanging?: number | string | undefined | null; + href?: string | undefined | null; + 'horiz-adv-x'?: number | string | undefined | null; + 'horiz-origin-x'?: number | string | undefined | null; + ideographic?: number | string | undefined | null; + 'image-rendering'?: number | string | undefined | null; + in2?: number | string | undefined | null; + in?: string | undefined | null; + intercept?: number | string | undefined | null; + k1?: number | string | undefined | null; + k2?: number | string | undefined | null; + k3?: number | string | undefined | null; + k4?: number | string | undefined | null; + k?: number | string | undefined | null; + kernelMatrix?: number | string | undefined | null; + kernelUnitLength?: number | string | undefined | null; + kerning?: number | string | undefined | null; + keyPoints?: number | string | undefined | null; + keySplines?: number | string | undefined | null; + keyTimes?: number | string | undefined | null; + lengthAdjust?: number | string | undefined | null; + 'letter-spacing'?: number | string | undefined | null; + 'lighting-color'?: number | string | undefined | null; + limitingConeAngle?: number | string | undefined | null; + local?: number | string | undefined | null; + 'marker-end'?: string | undefined | null; + markerHeight?: number | string | undefined | null; + 'marker-mid'?: string | undefined | null; + 'marker-start'?: string | undefined | null; + markerUnits?: number | string | undefined | null; + markerWidth?: number | string | undefined | null; + mask?: string | undefined | null; + maskContentUnits?: number | string | undefined | null; + maskUnits?: number | string | undefined | null; + mathematical?: number | string | undefined | null; + mode?: number | string | undefined | null; + numOctaves?: number | string | undefined | null; + offset?: number | string | undefined | null; + opacity?: number | string | undefined | null; + operator?: number | string | undefined | null; + order?: number | string | undefined | null; + orient?: number | string | undefined | null; + orientation?: number | string | undefined | null; + origin?: number | string | undefined | null; + overflow?: number | string | undefined | null; + 'overline-position'?: number | string | undefined | null; + 'overline-thickness'?: number | string | undefined | null; + 'paint-order'?: number | string | undefined | null; + 'panose-1'?: number | string | undefined | null; + path?: string | undefined | null; + pathLength?: number | string | undefined | null; + patternContentUnits?: string | undefined | null; + patternTransform?: number | string | undefined | null; + patternUnits?: string | undefined | null; + 'pointer-events'?: number | string | undefined | null; + points?: string | undefined | null; + pointsAtX?: number | string | undefined | null; + pointsAtY?: number | string | undefined | null; + pointsAtZ?: number | string | undefined | null; + preserveAlpha?: number | string | undefined | null; + preserveAspectRatio?: string | undefined | null; + primitiveUnits?: number | string | undefined | null; + r?: number | string | undefined | null; + radius?: number | string | undefined | null; + refX?: number | string | undefined | null; + refY?: number | string | undefined | null; + 'rendering-intent'?: number | string | undefined | null; + repeatCount?: number | string | undefined | null; + repeatDur?: number | string | undefined | null; + requiredExtensions?: number | string | undefined | null; + requiredFeatures?: number | string | undefined | null; + restart?: number | string | undefined | null; + result?: string | undefined | null; + rotate?: number | string | undefined | null; + rx?: number | string | undefined | null; + ry?: number | string | undefined | null; + scale?: number | string | undefined | null; + seed?: number | string | undefined | null; + 'shape-rendering'?: number | string | undefined | null; + slope?: number | string | undefined | null; + spacing?: number | string | undefined | null; + specularConstant?: number | string | undefined | null; + specularExponent?: number | string | undefined | null; + speed?: number | string | undefined | null; + spreadMethod?: string | undefined | null; + startOffset?: number | string | undefined | null; + stdDeviation?: number | string | undefined | null; + stemh?: number | string | undefined | null; + stemv?: number | string | undefined | null; + stitchTiles?: number | string | undefined | null; + 'stop-color'?: string | undefined | null; + 'stop-opacity'?: number | string | undefined | null; + 'strikethrough-position'?: number | string | undefined | null; + 'strikethrough-thickness'?: number | string | undefined | null; + string?: number | string | undefined | null; + stroke?: string | undefined | null; + 'stroke-dasharray'?: string | number | undefined | null; + 'stroke-dashoffset'?: string | number | undefined | null; + 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined | null; + 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined | null; + 'stroke-miterlimit'?: string | undefined | null; + 'stroke-opacity'?: number | string | undefined | null; + 'stroke-width'?: number | string | undefined | null; + surfaceScale?: number | string | undefined | null; + systemLanguage?: number | string | undefined | null; + tableValues?: number | string | undefined | null; + targetX?: number | string | undefined | null; + targetY?: number | string | undefined | null; + 'text-anchor'?: string | undefined | null; + 'text-decoration'?: number | string | undefined | null; + textLength?: number | string | undefined | null; + 'text-rendering'?: number | string | undefined | null; + to?: number | string | undefined | null; + transform?: string | undefined | null; + u1?: number | string | undefined | null; + u2?: number | string | undefined | null; + 'underline-position'?: number | string | undefined | null; + 'underline-thickness'?: number | string | undefined | null; + unicode?: number | string | undefined | null; + 'unicode-bidi'?: number | string | undefined | null; + 'unicode-range'?: number | string | undefined | null; + 'units-per-em'?: number | string | undefined | null; + 'v-alphabetic'?: number | string | undefined | null; + values?: string | undefined | null; + 'vector-effect'?: number | string | undefined | null; + version?: string | undefined | null; + 'vert-adv-y'?: number | string | undefined | null; + 'vert-origin-x'?: number | string | undefined | null; + 'vert-origin-y'?: number | string | undefined | null; + 'v-hanging'?: number | string | undefined | null; + 'v-ideographic'?: number | string | undefined | null; + viewBox?: string | undefined | null; + viewTarget?: number | string | undefined | null; + visibility?: number | string | undefined | null; + 'v-mathematical'?: number | string | undefined | null; + widths?: number | string | undefined | null; + 'word-spacing'?: number | string | undefined | null; + 'writing-mode'?: number | string | undefined | null; + x1?: number | string | undefined | null; + x2?: number | string | undefined | null; + x?: number | string | undefined | null; + xChannelSelector?: string | undefined | null; + 'x-height'?: number | string | undefined | null; + 'xlink:actuate'?: string | undefined | null; + 'xlink:arcrole'?: string | undefined | null; + 'xlink:href'?: string | undefined | null; + 'xlink:role'?: string | undefined | null; + 'xlink:show'?: string | undefined | null; + 'xlink:title'?: string | undefined | null; + 'xlink:type'?: string | undefined | null; + 'xml:base'?: string | undefined | null; + 'xml:lang'?: string | undefined | null; + xmlns?: string | undefined | null; + 'xmlns:xlink'?: string | undefined | null; + 'xml:space'?: string | undefined | null; + y1?: number | string | undefined | null; + y2?: number | string | undefined | null; + y?: number | string | undefined | null; + yChannelSelector?: string | undefined | null; + z?: number | string | undefined | null; + zoomAndPan?: string | undefined | null; +} + +export interface WebViewHTMLAttributes extends HTMLAttributes { + allowfullscreen?: boolean | undefined | null; + allowpopups?: boolean | undefined | null; + autofocus?: boolean | undefined | null; + autosize?: boolean | undefined | null; + blinkfeatures?: string | undefined | null; + disableblinkfeatures?: string | undefined | null; + disableguestresize?: boolean | undefined | null; + disablewebsecurity?: boolean | undefined | null; + guestinstance?: string | undefined | null; + httpreferrer?: string | undefined | null; + nodeintegration?: boolean | undefined | null; + partition?: string | undefined | null; + plugins?: boolean | undefined | null; + preload?: string | undefined | null; + src?: string | undefined | null; + useragent?: string | undefined | null; + webpreferences?: string | undefined | null; +} + +// +// DOM Elements +// ---------------------------------------------------------------------- + +export interface SvelteHTMLElements { + 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; + 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; + 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; + webview: WebViewHTMLAttributes; + + // SVG + svg: SVGAttributes; + + animate: SVGAttributes; + animateMotion: SVGAttributes; + animateTransform: SVGAttributes; + circle: SVGAttributes; + clipPath: SVGAttributes; + defs: SVGAttributes; + desc: SVGAttributes; + ellipse: SVGAttributes; + feBlend: SVGAttributes; + feColorMatrix: SVGAttributes; + feComponentTransfer: SVGAttributes; + feComposite: SVGAttributes; + feConvolveMatrix: SVGAttributes; + feDiffuseLighting: SVGAttributes; + feDisplacementMap: SVGAttributes; + feDistantLight: SVGAttributes; + feDropShadow: SVGAttributes; + feFlood: SVGAttributes; + feFuncA: SVGAttributes; + feFuncB: SVGAttributes; + feFuncG: SVGAttributes; + feFuncR: SVGAttributes; + feGaussianBlur: SVGAttributes; + feImage: SVGAttributes; + feMerge: SVGAttributes; + feMergeNode: SVGAttributes; + feMorphology: SVGAttributes; + feOffset: SVGAttributes; + fePointLight: SVGAttributes; + feSpecularLighting: SVGAttributes; + feSpotLight: SVGAttributes; + feTile: SVGAttributes; + feTurbulence: SVGAttributes; + filter: SVGAttributes; + foreignObject: SVGAttributes; + g: SVGAttributes; + image: SVGAttributes; + line: SVGAttributes; + linearGradient: SVGAttributes; + marker: SVGAttributes; + mask: SVGAttributes; + metadata: SVGAttributes; + mpath: SVGAttributes; + path: SVGAttributes; + pattern: SVGAttributes; + polygon: SVGAttributes; + polyline: SVGAttributes; + radialGradient: SVGAttributes; + rect: SVGAttributes; + stop: SVGAttributes; + switch: SVGAttributes; + symbol: SVGAttributes; + text: SVGAttributes; + textPath: SVGAttributes; + tspan: SVGAttributes; + use: SVGAttributes; + view: SVGAttributes; + + // Svelte specific + 'svelte:window': SvelteWindowAttributes; + 'svelte:body': HTMLAttributes; + 'svelte:fragment': { slot?: string; }; + 'svelte:options': { [name: string]: any }; + 'svelte:head': { [name: string]: any }; + + [name: string]: { [name: string]: any }; +} From cdc44365ea8c0a51e441a9770dbc9821cecdcdbd Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 25 Jul 2022 21:24:14 +0200 Subject: [PATCH 02/35] add inert attribute, onX -> on:X, tabs --- src/runtime/html.ts | 2669 ++++++++++++++++++++++--------------------- 1 file changed, 1335 insertions(+), 1334 deletions(-) diff --git a/src/runtime/html.ts b/src/runtime/html.ts index 83c69a0905f..88f1919e440 100644 --- a/src/runtime/html.ts +++ b/src/runtime/html.ts @@ -63,1332 +63,1333 @@ export type MessageEventHandler = EventHandler { - // Clipboard Events - oncopy?: ClipboardEventHandler | undefined | null; - oncut?: ClipboardEventHandler | undefined | null; - onpaste?: ClipboardEventHandler | undefined | null; - - // Composition Events - oncompositionend?: CompositionEventHandler | undefined | null; - oncompositionstart?: CompositionEventHandler | undefined | null; - oncompositionupdate?: CompositionEventHandler | undefined | null; - - // Focus Events - onfocus?: FocusEventHandler | undefined | null; - onfocusin?: FocusEventHandler | undefined | null; - onfocusout?: FocusEventHandler | undefined | null; - onblur?: FocusEventHandler | undefined | null; - - // Form Events - onchange?: FormEventHandler | undefined | null; - onbeforeinput?: EventHandler | undefined | null; - oninput?: FormEventHandler | undefined | null; - onreset?: FormEventHandler | undefined | null; - onsubmit?: EventHandler | undefined | null; - oninvalid?: EventHandler | undefined | null; - - - // Image Events - onload?: EventHandler | undefined | null; - onerror?: EventHandler | undefined | null; // also a Media Event - - // Detail Events - ontoggle?: EventHandler | undefined | null; - - // Keyboard Events - onkeydown?: KeyboardEventHandler | undefined | null; - onkeypress?: KeyboardEventHandler | undefined | null; - onkeyup?: KeyboardEventHandler | undefined | null; - - // Media Events - onabort?: EventHandler | undefined | null; - oncanplay?: EventHandler | undefined | null; - oncanplaythrough?: EventHandler | undefined | null; - oncuechange?: EventHandler | undefined | null; - ondurationchange?: EventHandler | undefined | null; - onemptied?: EventHandler | undefined | null; - onencrypted?: EventHandler | undefined | null; - onended?: EventHandler | undefined | null; - onloadeddata?: EventHandler | undefined | null; - onloadedmetadata?: EventHandler | undefined | null; - onloadstart?: EventHandler | undefined | null; - onpause?: EventHandler | undefined | null; - onplay?: EventHandler | undefined | null; - onplaying?: EventHandler | undefined | null; - onprogress?: EventHandler | undefined | null; - onratechange?: EventHandler | undefined | null; - onseeked?: EventHandler | undefined | null; - onseeking?: EventHandler | undefined | null; - onstalled?: EventHandler | undefined | null; - onsuspend?: EventHandler | undefined | null; - ontimeupdate?: EventHandler | undefined | null; - onvolumechange?: EventHandler | undefined | null; - onwaiting?: EventHandler | undefined | null; - - // MouseEvents - onauxclick?: MouseEventHandler | undefined | null; - onclick?: MouseEventHandler | undefined | null; - oncontextmenu?: MouseEventHandler | undefined | null; - ondblclick?: MouseEventHandler | undefined | null; - ondrag?: DragEventHandler | undefined | null; - ondragend?: DragEventHandler | undefined | null; - ondragenter?: DragEventHandler | undefined | null; - ondragexit?: DragEventHandler | undefined | null; - ondragleave?: DragEventHandler | undefined | null; - ondragover?: DragEventHandler | undefined | null; - ondragstart?: DragEventHandler | undefined | null; - ondrop?: DragEventHandler | undefined | null; - onmousedown?: MouseEventHandler | undefined | null; - onmouseenter?: MouseEventHandler | undefined | null; - onmouseleave?: MouseEventHandler | undefined | null; - onmousemove?: MouseEventHandler | undefined | null; - onmouseout?: MouseEventHandler | undefined | null; - onmouseover?: MouseEventHandler | undefined | null; - onmouseup?: MouseEventHandler | undefined | null; - - // Selection Events - onselect?: EventHandler | undefined | null; - onselectionchange?: EventHandler | undefined | null; - onselectstart?: EventHandler | undefined | null; - - // Touch Events - ontouchcancel?: TouchEventHandler | undefined | null; - ontouchend?: TouchEventHandler | undefined | null; - ontouchmove?: TouchEventHandler | undefined | null; - ontouchstart?: TouchEventHandler | undefined | null; - - // Pointer Events - ongotpointercapture?: PointerEventHandler | undefined | null; - onpointercancel?: PointerEventHandler | undefined | null; - onpointerdown?: PointerEventHandler | undefined | null; - onpointerenter?: PointerEventHandler | undefined | null; - onpointerleave?: PointerEventHandler | undefined | null; - onpointermove?: PointerEventHandler | undefined | null; - onpointerout?: PointerEventHandler | undefined | null; - onpointerover?: PointerEventHandler | undefined | null; - onpointerup?: PointerEventHandler | undefined | null; - onlostpointercapture?: PointerEventHandler | undefined | null; - - // UI Events - onscroll?: UIEventHandler | undefined | null; - onresize?: UIEventHandler | undefined | null; - - // Wheel Events - onwheel?: WheelEventHandler | undefined | null; - - // Animation Events - onanimationstart?: AnimationEventHandler | undefined | null; - onanimationend?: AnimationEventHandler | undefined | null; - onanimationiteration?: AnimationEventHandler | undefined | null; - - // Transition Events - ontransitionstart?: TransitionEventHandler | undefined | null; - ontransitionrun?: TransitionEventHandler | undefined | null; - ontransitionend?: TransitionEventHandler | undefined | null; - ontransitioncancel?: TransitionEventHandler | undefined | null; - - // Svelte Transition Events - onoutrostart?: EventHandler, T> | undefined | null; - onoutroend?: EventHandler, T> | undefined | null; - onintrostart?: EventHandler, T> | undefined | null; - onintroend?: EventHandler, T> | undefined | null; - - // Message Events - onmessage?: MessageEventHandler | undefined | null; - onmessageerror?: MessageEventHandler | undefined | null; - - // Global Events - oncancel?: EventHandler | undefined | null; - onclose?: EventHandler | undefined | null; - onfullscreenchange?: EventHandler | undefined | null; - onfullscreenerror?: EventHandler | undefined | null; + // Clipboard Events + 'on:copy'?: ClipboardEventHandler | undefined | null; + 'on:cut'?: ClipboardEventHandler | undefined | null; + 'on:paste'?: ClipboardEventHandler | undefined | null; + + // Composition Events + 'on:compositionend'?: CompositionEventHandler | undefined | null; + 'on:compositionstart'?: CompositionEventHandler | undefined | null; + 'on:compositionupdate'?: CompositionEventHandler | undefined | null; + + // Focus Events + 'on:focus'?: FocusEventHandler | undefined | null; + 'on:focusin'?: FocusEventHandler | undefined | null; + 'on:focusout'?: FocusEventHandler | undefined | null; + 'on:blur'?: FocusEventHandler | undefined | null; + + // Form Events + 'on:change'?: FormEventHandler | undefined | null; + 'on:beforeinput'?: EventHandler | undefined | null; + 'on:input'?: FormEventHandler | undefined | null; + 'on:reset'?: FormEventHandler | undefined | null; + 'on:submit'?: EventHandler | undefined | null; + 'on:invalid'?: EventHandler | undefined | null; + + + // Image Events + 'on:load'?: EventHandler | undefined | null; + 'on:error'?: EventHandler | undefined | null; // also a Media Event + + // Detail Events + 'on:toggle'?: EventHandler | undefined | null; + + // Keyboard Events + 'on:keydown'?: KeyboardEventHandler | undefined | null; + 'on:keypress'?: KeyboardEventHandler | undefined | null; + 'on:keyup'?: KeyboardEventHandler | undefined | null; + + // Media Events + 'on:abort'?: EventHandler | undefined | null; + 'on:canplay'?: EventHandler | undefined | null; + 'on:canplaythrough'?: EventHandler | undefined | null; + 'on:cuechange'?: EventHandler | undefined | null; + 'on:durationchange'?: EventHandler | undefined | null; + 'on:emptied'?: EventHandler | undefined | null; + 'on:encrypted'?: EventHandler | undefined | null; + 'on:ended'?: EventHandler | undefined | null; + 'on:loadeddata'?: EventHandler | undefined | null; + 'on:loadedmetadata'?: EventHandler | undefined | null; + 'on:loadstart'?: EventHandler | undefined | null; + 'on:pause'?: EventHandler | undefined | null; + 'on:play'?: EventHandler | undefined | null; + 'on:playing'?: EventHandler | undefined | null; + 'on:progress'?: EventHandler | undefined | null; + 'on:ratechange'?: EventHandler | undefined | null; + 'on:seeked'?: EventHandler | undefined | null; + 'on:seeking'?: EventHandler | undefined | null; + 'on:stalled'?: EventHandler | undefined | null; + 'on:suspend'?: EventHandler | undefined | null; + 'on:timeupdate'?: EventHandler | undefined | null; + 'on:volumechange'?: EventHandler | undefined | null; + 'on:waiting'?: EventHandler | undefined | null; + + // MouseEvents + 'on:auxclick'?: MouseEventHandler | undefined | null; + 'on:click'?: MouseEventHandler | undefined | null; + 'on:contextmenu'?: MouseEventHandler | undefined | null; + 'on:dblclick'?: MouseEventHandler | undefined | null; + 'on:drag'?: DragEventHandler | undefined | null; + 'on:dragend'?: DragEventHandler | undefined | null; + 'on:dragenter'?: DragEventHandler | undefined | null; + 'on:dragexit'?: DragEventHandler | undefined | null; + 'on:dragleave'?: DragEventHandler | undefined | null; + 'on:dragover'?: DragEventHandler | undefined | null; + 'on:dragstart'?: DragEventHandler | undefined | null; + 'on:drop'?: DragEventHandler | undefined | null; + 'on:mousedown'?: MouseEventHandler | undefined | null; + 'on:mouseenter'?: MouseEventHandler | undefined | null; + 'on:mouseleave'?: MouseEventHandler | undefined | null; + 'on:mousemove'?: MouseEventHandler | undefined | null; + 'on:mouseout'?: MouseEventHandler | undefined | null; + 'on:mouseover'?: MouseEventHandler | undefined | null; + 'on:mouseup'?: MouseEventHandler | undefined | null; + + // Selection Events + 'on:select'?: EventHandler | undefined | null; + 'on:selectionchange'?: EventHandler | undefined | null; + 'on:selectstart'?: EventHandler | undefined | null; + + // Touch Events + 'on:touchcancel'?: TouchEventHandler | undefined | null; + 'on:touchend'?: TouchEventHandler | undefined | null; + 'on:touchmove'?: TouchEventHandler | undefined | null; + 'on:touchstart'?: TouchEventHandler | undefined | null; + + // Pointer Events + 'on:gotpointercapture'?: PointerEventHandler | undefined | null; + 'on:pointercancel'?: PointerEventHandler | undefined | null; + 'on:pointerdown'?: PointerEventHandler | undefined | null; + 'on:pointerenter'?: PointerEventHandler | undefined | null; + 'on:pointerleave'?: PointerEventHandler | undefined | null; + 'on:pointermove'?: PointerEventHandler | undefined | null; + 'on:pointerout'?: PointerEventHandler | undefined | null; + 'on:pointerover'?: PointerEventHandler | undefined | null; + 'on:pointerup'?: PointerEventHandler | undefined | null; + 'on:lostpointercapture'?: PointerEventHandler | undefined | null; + + // UI Events + 'on:scroll'?: UIEventHandler | undefined | null; + 'on:resize'?: UIEventHandler | undefined | null; + + // Wheel Events + 'on:wheel'?: WheelEventHandler | undefined | null; + + // Animation Events + 'on:animationstart'?: AnimationEventHandler | undefined | null; + 'on:animationend'?: AnimationEventHandler | undefined | null; + 'on:animationiteration'?: AnimationEventHandler | undefined | null; + + // Transition Events + 'on:transitionstart'?: TransitionEventHandler | undefined | null; + 'on:transitionrun'?: TransitionEventHandler | undefined | null; + 'on:transitionend'?: TransitionEventHandler | undefined | null; + 'on:transitioncancel'?: TransitionEventHandler | undefined | null; + + // Svelte Transition Events + 'on:outrostart'?: EventHandler, T> | undefined | null; + 'on:outroend'?: EventHandler, T> | undefined | null; + 'on:introstart'?: EventHandler, T> | undefined | null; + 'on:introend'?: EventHandler, T> | undefined | null; + + // Message Events + 'on:message'?: MessageEventHandler | undefined | null; + 'on:messageerror'?: MessageEventHandler | undefined | null; + + // Global Events + 'on:cancel'?: EventHandler | undefined | null; + 'on:close'?: EventHandler | undefined | null; + 'on:fullscreenchange'?: EventHandler | undefined | null; + 'on:fullscreenerror'?: EventHandler | undefined | null; } // 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 | undefined | null; - /** 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 | undefined | null; - /** - * 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' | undefined | null; - /** 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 | undefined | null; - /** - * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. - * @see aria-pressed @see aria-selected. - */ - 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; - /** - * Defines the total number of columns in a table, grid, or treegrid. - * @see aria-colindex. - */ - 'aria-colcount'?: number | undefined | null; - /** - * 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'?: number | undefined | null; - /** - * 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'?: number | undefined | null; - /** - * Identifies the element (or elements) whose contents or presence are controlled by the current element. - * @see aria-owns. - */ - 'aria-controls'?: string | undefined | null; - /** Indicates the element that represents the current item within a container or set of related elements. */ - 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null; - /** - * Identifies the element (or elements) that describes the object. - * @see aria-labelledby - */ - 'aria-describedby'?: string | undefined | null; - /** - * Identifies the element that provides a detailed, extended description for the object. - * @see aria-describedby. - */ - 'aria-details'?: string | undefined | null; - /** - * 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 | undefined | null; - /** - * 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 | null; - /** - * Identifies the element that provides an error message for the object. - * @see aria-invalid @see aria-describedby. - */ - 'aria-errormessage'?: string | undefined | null; - /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ - 'aria-expanded'?: Booleanish | undefined | null; - /** - * 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 | undefined | null; - /** - * Indicates an element's "grabbed" state in a drag-and-drop operation. - * @deprecated in ARIA 1.1 - */ - 'aria-grabbed'?: Booleanish | undefined | null; - /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null; - /** - * Indicates whether the element is exposed to an accessibility API. - * @see aria-disabled. - */ - 'aria-hidden'?: Booleanish | undefined | null; - /** - * Indicates the entered value does not conform to the format expected by the application. - * @see aria-errormessage. - */ - 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined | null; - /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ - 'aria-keyshortcuts'?: string | undefined | null; - /** - * Defines a string value that labels the current element. - * @see aria-labelledby. - */ - 'aria-label'?: string | undefined | null; - /** - * Identifies the element (or elements) that labels the current element. - * @see aria-describedby. - */ - 'aria-labelledby'?: string | undefined | null; - /** Defines the hierarchical level of an element within a structure. */ - 'aria-level'?: number | undefined | null; - /** 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' | undefined | null; - /** Indicates whether an element is modal when displayed. */ - 'aria-modal'?: Booleanish | undefined | null; - /** Indicates whether a text box accepts multiple lines of input or only a single line. */ - 'aria-multiline'?: Booleanish | undefined | null; - /** Indicates that the user may select more than one item from the current selectable descendants. */ - 'aria-multiselectable'?: Booleanish | undefined | null; - /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ - 'aria-orientation'?: 'horizontal' | 'vertical' | undefined | null; - /** - * 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 | undefined | null; - /** - * 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 | undefined | null; - /** - * 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'?: number | undefined | null; - /** - * Indicates the current "pressed" state of toggle buttons. - * @see aria-checked @see aria-selected. - */ - 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; - /** - * Indicates that the element is not editable, but is otherwise operable. - * @see aria-disabled. - */ - 'aria-readonly'?: Booleanish | undefined | null; - /** - * 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 | null; - /** Indicates that user input is required on the element before a form may be submitted. */ - 'aria-required'?: Booleanish | undefined | null; - /** Defines a human-readable, author-localized description for the role of an element. */ - 'aria-roledescription'?: string | undefined | null; - /** - * Defines the total number of rows in a table, grid, or treegrid. - * @see aria-rowindex. - */ - 'aria-rowcount'?: number | undefined | null; - /** - * 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'?: number | undefined | null; - /** - * 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'?: number | undefined | null; - /** - * Indicates the current "selected" state of various widgets. - * @see aria-checked @see aria-pressed. - */ - 'aria-selected'?: Booleanish | undefined | null; - /** - * 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'?: number | undefined | null; - /** Indicates if items in a table or grid are sorted in ascending or descending order. */ - 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined | null; - /** Defines the maximum allowed value for a range widget. */ - 'aria-valuemax'?: number | undefined | null; - /** Defines the minimum allowed value for a range widget. */ - 'aria-valuemin'?: number | undefined | null; - /** - * Defines the current value for a range widget. - * @see aria-valuetext. - */ - 'aria-valuenow'?: number | undefined | null; - /** Defines the human readable text alternative of aria-valuenow for a range widget. */ - 'aria-valuetext'?: string | undefined | null; + /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */ + 'aria-activedescendant'?: string | undefined | null; + /** 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 | undefined | null; + /** + * 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' | undefined | null; + /** 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 | undefined | null; + /** + * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. + * @see aria-pressed @see aria-selected. + */ + 'aria-checked'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; + /** + * Defines the total number of columns in a table, grid, or treegrid. + * @see aria-colindex. + */ + 'aria-colcount'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Identifies the element (or elements) whose contents or presence are controlled by the current element. + * @see aria-owns. + */ + 'aria-controls'?: string | undefined | null; + /** Indicates the element that represents the current item within a container or set of related elements. */ + 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null; + /** + * Identifies the element (or elements) that describes the object. + * @see aria-labelledby + */ + 'aria-describedby'?: string | undefined | null; + /** + * Identifies the element that provides a detailed, extended description for the object. + * @see aria-describedby. + */ + 'aria-details'?: string | undefined | null; + /** + * 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 | undefined | null; + /** + * 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 | null; + /** + * Identifies the element that provides an error message for the object. + * @see aria-invalid @see aria-describedby. + */ + 'aria-errormessage'?: string | undefined | null; + /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ + 'aria-expanded'?: Booleanish | undefined | null; + /** + * 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 | undefined | null; + /** + * Indicates an element's "grabbed" state in a drag-and-drop operation. + * @deprecated in ARIA 1.1 + */ + 'aria-grabbed'?: Booleanish | undefined | null; + /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ + 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null; + /** + * Indicates whether the element is exposed to an accessibility API. + * @see aria-disabled. + */ + 'aria-hidden'?: Booleanish | undefined | null; + /** + * Indicates the entered value does not conform to the format expected by the application. + * @see aria-errormessage. + */ + 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined | null; + /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ + 'aria-keyshortcuts'?: string | undefined | null; + /** + * Defines a string value that labels the current element. + * @see aria-labelledby. + */ + 'aria-label'?: string | undefined | null; + /** + * Identifies the element (or elements) that labels the current element. + * @see aria-describedby. + */ + 'aria-labelledby'?: string | undefined | null; + /** Defines the hierarchical level of an element within a structure. */ + 'aria-level'?: number | undefined | null; + /** 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' | undefined | null; + /** Indicates whether an element is modal when displayed. */ + 'aria-modal'?: Booleanish | undefined | null; + /** Indicates whether a text box accepts multiple lines of input or only a single line. */ + 'aria-multiline'?: Booleanish | undefined | null; + /** Indicates that the user may select more than one item from the current selectable descendants. */ + 'aria-multiselectable'?: Booleanish | undefined | null; + /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */ + 'aria-orientation'?: 'horizontal' | 'vertical' | undefined | null; + /** + * 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 | undefined | null; + /** + * 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 | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Indicates the current "pressed" state of toggle buttons. + * @see aria-checked @see aria-selected. + */ + 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true' | undefined | null; + /** + * Indicates that the element is not editable, but is otherwise operable. + * @see aria-disabled. + */ + 'aria-readonly'?: Booleanish | undefined | null; + /** + * 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 | null; + /** Indicates that user input is required on the element before a form may be submitted. */ + 'aria-required'?: Booleanish | undefined | null; + /** Defines a human-readable, author-localized description for the role of an element. */ + 'aria-roledescription'?: string | undefined | null; + /** + * Defines the total number of rows in a table, grid, or treegrid. + * @see aria-rowindex. + */ + 'aria-rowcount'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * 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'?: number | undefined | null; + /** + * Indicates the current "selected" state of various widgets. + * @see aria-checked @see aria-pressed. + */ + 'aria-selected'?: Booleanish | undefined | null; + /** + * 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'?: number | undefined | null; + /** Indicates if items in a table or grid are sorted in ascending or descending order. */ + 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other' | undefined | null; + /** Defines the maximum allowed value for a range widget. */ + 'aria-valuemax'?: number | undefined | null; + /** Defines the minimum allowed value for a range widget. */ + 'aria-valuemin'?: number | undefined | null; + /** + * Defines the current value for a range widget. + * @see aria-valuetext. + */ + 'aria-valuenow'?: number | undefined | null; + /** Defines the human readable text alternative of aria-valuenow for a range widget. */ + 'aria-valuetext'?: string | undefined | null; } // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions export type AriaRole = - | 'alert' - | 'alertdialog' - | 'application' - | 'article' - | 'banner' - | 'button' - | 'cell' - | 'checkbox' - | 'columnheader' - | 'combobox' - | 'complementary' - | 'contentinfo' - | 'definition' - | 'dialog' - | 'directory' - | 'document' - | 'feed' - | 'figure' - | 'form' - | 'grid' - | 'gridcell' - | 'group' - | 'heading' - | 'img' - | 'link' - | 'list' - | 'listbox' - | 'listitem' - | 'log' - | 'main' - | 'marquee' - | 'math' - | 'menu' - | 'menubar' - | 'menuitem' - | 'menuitemcheckbox' - | 'menuitemradio' - | 'navigation' - | 'none' - | 'note' - | 'option' - | 'presentation' - | 'progressbar' - | 'radio' - | 'radiogroup' - | 'region' - | 'row' - | 'rowgroup' - | 'rowheader' - | 'scrollbar' - | 'search' - | 'searchbox' - | 'separator' - | 'slider' - | 'spinbutton' - | 'status' - | 'switch' - | 'tab' - | 'table' - | 'tablist' - | 'tabpanel' - | 'term' - | 'textbox' - | 'timer' - | 'toolbar' - | 'tooltip' - | 'tree' - | 'treegrid' - | 'treeitem' - | (string & {}); + | 'alert' + | 'alertdialog' + | 'application' + | 'article' + | 'banner' + | 'button' + | 'cell' + | 'checkbox' + | 'columnheader' + | 'combobox' + | 'complementary' + | 'contentinfo' + | 'definition' + | 'dialog' + | 'directory' + | 'document' + | 'feed' + | 'figure' + | 'form' + | 'grid' + | 'gridcell' + | 'group' + | 'heading' + | 'img' + | 'link' + | 'list' + | 'listbox' + | 'listitem' + | 'log' + | 'main' + | 'marquee' + | 'math' + | 'menu' + | 'menubar' + | 'menuitem' + | 'menuitemcheckbox' + | 'menuitemradio' + | 'navigation' + | 'none' + | 'note' + | 'option' + | 'presentation' + | 'progressbar' + | 'radio' + | 'radiogroup' + | 'region' + | 'row' + | 'rowgroup' + | 'rowheader' + | 'scrollbar' + | 'search' + | 'searchbox' + | 'separator' + | 'slider' + | 'spinbutton' + | 'status' + | 'switch' + | 'tab' + | 'table' + | 'tablist' + | 'tabpanel' + | 'term' + | 'textbox' + | 'timer' + | 'toolbar' + | 'tooltip' + | 'tree' + | 'treegrid' + | 'treeitem' + | (string & {}); export interface HTMLAttributes extends AriaAttributes, DOMAttributes { - // Standard HTML Attributes - accesskey?: string | undefined | null; - class?: string | undefined | null; - contenteditable?: Booleanish | "inherit" | undefined | null; - contextmenu?: string | undefined | null; - dir?: string | undefined | null; - draggable?: Booleanish | undefined | null; - hidden?: boolean | undefined | null; - id?: string | undefined | null; - lang?: string | undefined | null; - placeholder?: string | undefined | null; - slot?: string | undefined | null; - spellcheck?: Booleanish | undefined | null; - style?: string | undefined | null; - tabindex?: number | undefined | null; - title?: string | undefined | null; - translate?: "yes" | "no" | "" | undefined | null; - - // Unknown - radiogroup?: string | undefined | null; // , - - // WAI-ARIA - role?: AriaRole | undefined | null; - - // RDFa Attributes - about?: string | undefined | null; - datatype?: string | undefined | null; - inlist?: any; - prefix?: string | undefined | null; - property?: string | undefined | null; - resource?: string | undefined | null; - typeof?: string | undefined | null; - vocab?: string | undefined | null; - - // Non-standard Attributes - autocapitalize?: string | undefined | null; - autocorrect?: string | undefined | null; - autosave?: string | undefined | null; - color?: string | undefined | null; - itemprop?: string | undefined | null; - itemscope?: boolean | undefined | null; - itemtype?: string | undefined | null; - itemid?: string | undefined | null; - itemref?: string | undefined | null; - results?: number | undefined | null; - security?: string | undefined | null; - unselectable?: 'on' | 'off' | undefined | null; - - // 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' | undefined | null; - /** - * 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 | undefined | null; - - // Svelte bind:x - /** - * Elements with the contenteditable attribute support innerHTML and textContent bindings. - */ - innerHTML?: string | undefined | null; - /** - * Elements with the contenteditable attribute support innerHTML and textContent bindings. - */ - textContent?: string | undefined | null; + // Standard HTML Attributes + accesskey?: string | undefined | null; + class?: string | undefined | null; + contenteditable?: Booleanish | "inherit" | undefined | null; + contextmenu?: string | undefined | null; + dir?: string | undefined | null; + draggable?: Booleanish | undefined | null; + hidden?: boolean | undefined | null; + id?: string | undefined | null; + lang?: string | undefined | null; + placeholder?: string | undefined | null; + slot?: string | undefined | null; + spellcheck?: Booleanish | undefined | null; + style?: string | undefined | null; + tabindex?: number | undefined | null; + title?: string | undefined | null; + translate?: "yes" | "no" | "" | undefined | null; + inert?: boolean | undefined | null; + + // Unknown + radiogroup?: string | undefined | null; // , + + // WAI-ARIA + role?: AriaRole | undefined | null; + + // RDFa Attributes + about?: string | undefined | null; + datatype?: string | undefined | null; + inlist?: any; + prefix?: string | undefined | null; + property?: string | undefined | null; + resource?: string | undefined | null; + typeof?: string | undefined | null; + vocab?: string | undefined | null; + + // Non-standard Attributes + autocapitalize?: string | undefined | null; + autocorrect?: string | undefined | null; + autosave?: string | undefined | null; + color?: string | undefined | null; + itemprop?: string | undefined | null; + itemscope?: boolean | undefined | null; + itemtype?: string | undefined | null; + itemid?: string | undefined | null; + itemref?: string | undefined | null; + results?: number | undefined | null; + security?: string | undefined | null; + unselectable?: 'on' | 'off' | undefined | null; + + // 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' | undefined | null; + /** + * 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 | undefined | null; + + // Svelte bind:x + /** + * Elements with the contenteditable attribute support innerHTML and textContent bindings. + */ + innerHTML?: string | undefined | null; + /** + * Elements with the contenteditable attribute support innerHTML and textContent bindings. + */ + textContent?: string | undefined | null; } export type HTMLAttributeReferrerPolicy = - | '' - | 'no-referrer' - | 'no-referrer-when-downgrade' - | 'origin' - | 'origin-when-cross-origin' - | 'same-origin' - | 'strict-origin' - | 'strict-origin-when-cross-origin' - | 'unsafe-url'; + | '' + | 'no-referrer' + | 'no-referrer-when-downgrade' + | 'origin' + | 'origin-when-cross-origin' + | 'same-origin' + | 'strict-origin' + | 'strict-origin-when-cross-origin' + | 'unsafe-url'; export type HTMLAttributeAnchorTarget = - | '_self' - | '_blank' - | '_parent' - | '_top' - | (string & {}); + | '_self' + | '_blank' + | '_parent' + | '_top' + | (string & {}); export interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any; - href?: string | undefined | null; - hreflang?: string | undefined | null; - media?: string | undefined | null; - ping?: string | undefined | null; - rel?: string | undefined | null; - target?: HTMLAttributeAnchorTarget | undefined | null; - type?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - - // SvelteKit - "sveltekit:noscroll"?: true | undefined | null; - "sveltekit:prefetch"?: true | undefined | null; - "sveltekit:reload"?: true | undefined | null; + download?: any; + href?: string | undefined | null; + hreflang?: string | undefined | null; + media?: string | undefined | null; + ping?: string | undefined | null; + rel?: string | undefined | null; + target?: HTMLAttributeAnchorTarget | undefined | null; + type?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + + // SvelteKit + "sveltekit:noscroll"?: true | undefined | null; + "sveltekit:prefetch"?: true | undefined | null; + "sveltekit:reload"?: true | undefined | null; } export interface AudioHTMLAttributes extends MediaHTMLAttributes {} export interface AreaHTMLAttributes extends HTMLAttributes { - alt?: string | undefined | null; - coords?: string | undefined | null; - download?: any; - href?: string | undefined | null; - hreflang?: string | undefined | null; - media?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - rel?: string | undefined | null; - shape?: string | undefined | null; - target?: string | undefined | null; + alt?: string | undefined | null; + coords?: string | undefined | null; + download?: any; + href?: string | undefined | null; + hreflang?: string | undefined | null; + media?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + rel?: string | undefined | null; + shape?: string | undefined | null; + target?: string | undefined | null; } export interface BaseHTMLAttributes extends HTMLAttributes { - href?: string | undefined | null; - target?: string | undefined | null; + href?: string | undefined | null; + target?: string | undefined | null; } export interface BlockquoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined | null; + cite?: string | undefined | null; } export interface ButtonHTMLAttributes extends HTMLAttributes { - autofocus?: boolean | undefined | null; - disabled?: boolean | undefined | null; - form?: string | undefined | null; - formaction?: string | undefined | null; - formenctype?: string | undefined | null; - formmethod?: string | undefined | null; - formnovalidate?: boolean | undefined | null; - formtarget?: string | undefined | null; - name?: string | undefined | null; - type?: 'submit' | 'reset' | 'button' | undefined | null; - value?: string | string[] | number | undefined | null; + autofocus?: boolean | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + formaction?: string | undefined | null; + formenctype?: string | undefined | null; + formmethod?: string | undefined | null; + formnovalidate?: boolean | undefined | null; + formtarget?: string | undefined | null; + name?: string | undefined | null; + type?: 'submit' | 'reset' | 'button' | undefined | null; + value?: string | string[] | number | undefined | null; } export interface CanvasHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined | null; - width?: number | string | undefined | null; + height?: number | string | undefined | null; + width?: number | string | undefined | null; } export interface ColHTMLAttributes extends HTMLAttributes { - span?: number | undefined | null; - width?: number | string | undefined | null; + span?: number | undefined | null; + width?: number | string | undefined | null; } export interface ColgroupHTMLAttributes extends HTMLAttributes { - span?: number | undefined | null; + span?: number | undefined | null; } export interface DataHTMLAttributes extends HTMLAttributes { - value?: string | string[] | number | undefined | null; + value?: string | string[] | number | undefined | null; } export interface DetailsHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined | null; + open?: boolean | undefined | null; } export interface DelHTMLAttributes extends HTMLAttributes { - cite?: string | undefined | null; - datetime?: string | undefined | null; + cite?: string | undefined | null; + datetime?: string | undefined | null; } export interface DialogHTMLAttributes extends HTMLAttributes { - open?: boolean | undefined | null; + open?: boolean | undefined | null; } export interface EmbedHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined | null; - src?: string | undefined | null; - type?: string | undefined | null; - width?: number | string | undefined | null; + height?: number | string | undefined | null; + src?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; } export interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined | null; - form?: string | undefined | null; - name?: string | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + name?: string | undefined | null; } export interface FormHTMLAttributes extends HTMLAttributes { - acceptcharset?: string | undefined | null; - action?: string | undefined | null; - autocomplete?: string | undefined | null; - enctype?: string | undefined | null; - method?: string | undefined | null; - name?: string | undefined | null; - novalidate?: boolean | undefined | null; - target?: string | undefined | null; + acceptcharset?: string | undefined | null; + action?: string | undefined | null; + autocomplete?: string | undefined | null; + enctype?: string | undefined | null; + method?: string | undefined | null; + name?: string | undefined | null; + novalidate?: boolean | undefined | null; + target?: string | undefined | null; } export interface HtmlHTMLAttributes extends HTMLAttributes { - manifest?: string | undefined | null; + manifest?: string | undefined | null; } export interface IframeHTMLAttributes extends HTMLAttributes { - allow?: string | undefined | null; - allowfullscreen?: boolean | undefined | null; - allowtransparency?: boolean | undefined | null; - /** @deprecated */ - frameborder?: number | string | undefined | null; - height?: number | string | undefined | null; - loading?: "eager" | "lazy" | undefined | null; - /** @deprecated */ - marginheight?: number | undefined | null; - /** @deprecated */ - marginwidth?: number | undefined | null; - name?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - sandbox?: string | undefined | null; - /** @deprecated */ - scrolling?: string | undefined | null; - seamless?: boolean | undefined | null; - src?: string | undefined | null; - srcdoc?: string | undefined | null; - width?: number | string | undefined | null; + allow?: string | undefined | null; + allowfullscreen?: boolean | undefined | null; + allowtransparency?: boolean | undefined | null; + /** @deprecated */ + frameborder?: number | string | undefined | null; + height?: number | string | undefined | null; + loading?: "eager" | "lazy" | undefined | null; + /** @deprecated */ + marginheight?: number | undefined | null; + /** @deprecated */ + marginwidth?: number | undefined | null; + name?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + sandbox?: string | undefined | null; + /** @deprecated */ + scrolling?: string | undefined | null; + seamless?: boolean | undefined | null; + src?: string | undefined | null; + srcdoc?: string | undefined | null; + width?: number | string | undefined | null; } export interface ImgHTMLAttributes extends HTMLAttributes { - alt?: string | undefined | null; - crossorigin?: "anonymous" | "use-credentials" | "" | undefined | null; - decoding?: "async" | "auto" | "sync" | undefined | null; - height?: number | string | undefined | null; - ismap?: boolean | undefined | null; - loading?: "eager" | "lazy" | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - sizes?: string | undefined | null; - src?: string | undefined | null; - srcset?: string | undefined | null; - usemap?: string | undefined | null; - width?: number | string | undefined | null; + alt?: string | undefined | null; + crossorigin?: "anonymous" | "use-credentials" | "" | undefined | null; + decoding?: "async" | "auto" | "sync" | undefined | null; + height?: number | string | undefined | null; + ismap?: boolean | undefined | null; + loading?: "eager" | "lazy" | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + sizes?: string | undefined | null; + src?: string | undefined | null; + srcset?: string | undefined | null; + usemap?: string | undefined | null; + width?: number | string | undefined | null; } export interface InsHTMLAttributes extends HTMLAttributes { - cite?: string | undefined | null; - datetime?: string | undefined | null; + cite?: string | undefined | null; + datetime?: string | undefined | null; } export type HTMLInputTypeAttribute = - | 'button' - | 'checkbox' - | 'color' - | 'date' - | 'datetime-local' - | 'email' - | 'file' - | 'hidden' - | 'image' - | 'month' - | 'number' - | 'password' - | 'radio' - | 'range' - | 'reset' - | 'search' - | 'submit' - | 'tel' - | 'text' - | 'time' - | 'url' - | 'week' - | (string & {}); + | 'button' + | 'checkbox' + | 'color' + | 'date' + | 'datetime-local' + | 'email' + | 'file' + | 'hidden' + | 'image' + | 'month' + | 'number' + | 'password' + | 'radio' + | 'range' + | 'reset' + | 'search' + | 'submit' + | 'tel' + | 'text' + | 'time' + | 'url' + | 'week' + | (string & {}); export interface InputHTMLAttributes extends HTMLAttributes { - accept?: string | undefined | null; - alt?: string | undefined | null; - autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; - capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute - checked?: boolean | undefined | null; - crossorigin?: string | undefined | null; - disabled?: boolean | undefined | null; - enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined | null; - form?: string | undefined | null; - formaction?: string | undefined | null; - formenctype?: string | undefined | null; - formmethod?: string | undefined | null; - formnovalidate?: boolean | undefined | null; - formtarget?: string | undefined | null; - height?: number | string | undefined | null; - list?: string | undefined | null; - max?: number | string | undefined | null; - maxlength?: number | undefined | null; - min?: number | string | undefined | null; - minlength?: number | undefined | null; - multiple?: boolean | undefined | null; - name?: string | undefined | null; - pattern?: string | undefined | null; - placeholder?: string | undefined | null; - readonly?: boolean | undefined | null; - required?: boolean | undefined | null; - size?: number | undefined | null; - src?: string | undefined | null; - step?: number | string | undefined | null; - type?: HTMLInputTypeAttribute | undefined | null; - value?: any; - width?: number | string | undefined | null; - - onchange?: ChangeEventHandler | undefined | null; - - // Svelte bind:x - group?: any | undefined | null; - files?: FileList | undefined | null; - indeterminate?: boolean | undefined | null; + accept?: string | undefined | null; + alt?: string | undefined | null; + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute + checked?: boolean | undefined | null; + crossorigin?: string | undefined | null; + disabled?: boolean | undefined | null; + enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined | null; + form?: string | undefined | null; + formaction?: string | undefined | null; + formenctype?: string | undefined | null; + formmethod?: string | undefined | null; + formnovalidate?: boolean | undefined | null; + formtarget?: string | undefined | null; + height?: number | string | undefined | null; + list?: string | undefined | null; + max?: number | string | undefined | null; + maxlength?: number | undefined | null; + min?: number | string | undefined | null; + minlength?: number | undefined | null; + multiple?: boolean | undefined | null; + name?: string | undefined | null; + pattern?: string | undefined | null; + placeholder?: string | undefined | null; + readonly?: boolean | undefined | null; + required?: boolean | undefined | null; + size?: number | undefined | null; + src?: string | undefined | null; + step?: number | string | undefined | null; + type?: HTMLInputTypeAttribute | undefined | null; + value?: any; + width?: number | string | undefined | null; + + 'on:change'?: ChangeEventHandler | undefined | null; + + // Svelte bind:x + group?: any | undefined | null; + files?: FileList | undefined | null; + indeterminate?: boolean | undefined | null; } export interface KeygenHTMLAttributes extends HTMLAttributes { - autofocus?: boolean | undefined | null; - challenge?: string | undefined | null; - disabled?: boolean | undefined | null; - form?: string | undefined | null; - keytype?: string | undefined | null; - keyparams?: string | undefined | null; - name?: string | undefined | null; + autofocus?: boolean | undefined | null; + challenge?: string | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + keytype?: string | undefined | null; + keyparams?: string | undefined | null; + name?: string | undefined | null; } export interface LabelHTMLAttributes extends HTMLAttributes { - form?: string | undefined | null; - for?: string | undefined | null; + form?: string | undefined | null; + for?: string | undefined | null; } export interface LiHTMLAttributes extends HTMLAttributes { - value?: string | string[] | number | undefined | null; + value?: string | string[] | number | undefined | null; } export interface LinkHTMLAttributes extends HTMLAttributes { - as?: string | undefined | null; - crossorigin?: string | undefined | null; - href?: string | undefined | null; - hreflang?: string | undefined | null; - integrity?: string | undefined | null; - media?: string | undefined | null; - imagesrcset?: string | undefined | null; - imagesizes?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - rel?: string | undefined | null; - sizes?: string | undefined | null; - type?: string | undefined | null; - charset?: string | undefined | null; + as?: string | undefined | null; + crossorigin?: string | undefined | null; + href?: string | undefined | null; + hreflang?: string | undefined | null; + integrity?: string | undefined | null; + media?: string | undefined | null; + imagesrcset?: string | undefined | null; + imagesizes?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + rel?: string | undefined | null; + sizes?: string | undefined | null; + type?: string | undefined | null; + charset?: string | undefined | null; } export interface MapHTMLAttributes extends HTMLAttributes { - name?: string | undefined | null; + name?: string | undefined | null; } export interface MenuHTMLAttributes extends HTMLAttributes { - type?: string | undefined | null; + type?: string | undefined | null; } export interface MediaHTMLAttributes extends HTMLAttributes { - autoplay?: boolean | undefined | null; - controls?: boolean | undefined | null; - controlslist?: 'nodownload' | 'nofullscreen' | 'noplaybackrate' | 'noremoteplayback' | (string & {}) | undefined | null; - crossorigin?: string | undefined | null; - currenttime?: number | undefined | null; - defaultmuted?: boolean | undefined | null; - defaultplaybackrate?: number | undefined | null; - loop?: boolean | undefined | null; - mediagroup?: string | undefined | null; - muted?: boolean | undefined | null; - playsinline?: boolean | undefined | null; - preload?: string | undefined | null; - src?: string | undefined | null; - /** - * a value between 0 and 1 - */ - volume?: number | undefined | null; - - // Svelte bind:x - readonly duration?: number | undefined | null; - readonly buffered?: SvelteMediaTimeRange[] | undefined | null; - readonly played?: SvelteMediaTimeRange[] | undefined | null; - readonly seekable?: SvelteMediaTimeRange[] | undefined | null; - readonly seeking?: boolean | undefined | null; - readonly ended?: boolean | undefined | null; - /** - * the current playback time in the video, in seconds - */ - currentTime?: number | undefined | null; - /** - * how fast or slow to play the video, where 1 is 'normal' - */ - playbackRate?: number | undefined | null; - paused?: boolean | undefined | null; + autoplay?: boolean | undefined | null; + controls?: boolean | undefined | null; + controlslist?: 'nodownload' | 'nofullscreen' | 'noplaybackrate' | 'noremoteplayback' | (string & {}) | undefined | null; + crossorigin?: string | undefined | null; + currenttime?: number | undefined | null; + defaultmuted?: boolean | undefined | null; + defaultplaybackrate?: number | undefined | null; + loop?: boolean | undefined | null; + mediagroup?: string | undefined | null; + muted?: boolean | undefined | null; + playsinline?: boolean | undefined | null; + preload?: string | undefined | null; + src?: string | undefined | null; + /** + * a value between 0 and 1 + */ + volume?: number | undefined | null; + + // Svelte bind:x + readonly duration?: number | undefined | null; + readonly buffered?: SvelteMediaTimeRange[] | undefined | null; + readonly played?: SvelteMediaTimeRange[] | undefined | null; + readonly seekable?: SvelteMediaTimeRange[] | undefined | null; + readonly seeking?: boolean | undefined | null; + readonly ended?: boolean | undefined | null; + /** + * the current playback time in the video, in seconds + */ + currentTime?: number | undefined | null; + /** + * how fast or slow to play the video, where 1 is 'normal' + */ + playbackRate?: number | undefined | null; + paused?: boolean | undefined | null; } export interface MetaHTMLAttributes extends HTMLAttributes { - charSet?: string | undefined | null; - content?: string | undefined | null; - httpequiv?: string | undefined | null; - name?: string | undefined | null; - media?: string | undefined | null; + charSet?: string | undefined | null; + content?: string | undefined | null; + httpequiv?: string | undefined | null; + name?: string | undefined | null; + media?: string | undefined | null; } export interface MeterHTMLAttributes extends HTMLAttributes { - form?: string | undefined | null; - high?: number | undefined | null; - low?: number | undefined | null; - max?: number | string | undefined | null; - min?: number | string | undefined | null; - optimum?: number | undefined | null; - value?: string | string[] | number | undefined | null; + form?: string | undefined | null; + high?: number | undefined | null; + low?: number | undefined | null; + max?: number | string | undefined | null; + min?: number | string | undefined | null; + optimum?: number | undefined | null; + value?: string | string[] | number | undefined | null; } export interface QuoteHTMLAttributes extends HTMLAttributes { - cite?: string | undefined | null; + cite?: string | undefined | null; } export interface ObjectHTMLAttributes extends HTMLAttributes { - classid?: string | undefined | null; - data?: string | undefined | null; - form?: string | undefined | null; - height?: number | string | undefined | null; - name?: string | undefined | null; - type?: string | undefined | null; - usemap?: string | undefined | null; - width?: number | string | undefined | null; - wmode?: string | undefined | null; + classid?: string | undefined | null; + data?: string | undefined | null; + form?: string | undefined | null; + height?: number | string | undefined | null; + name?: string | undefined | null; + type?: string | undefined | null; + usemap?: string | undefined | null; + width?: number | string | undefined | null; + wmode?: string | undefined | null; } export interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean | undefined | null; - start?: number | undefined | null; - type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null; + reversed?: boolean | undefined | null; + start?: number | undefined | null; + type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null; } export interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined | null; - label?: string | undefined | null; + disabled?: boolean | undefined | null; + label?: string | undefined | null; } export interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined | null; - label?: string | undefined | null; - selected?: boolean | undefined | null; - value?: any; + disabled?: boolean | undefined | null; + label?: string | undefined | null; + selected?: boolean | undefined | null; + value?: any; } export interface OutputHTMLAttributes extends HTMLAttributes { - form?: string | undefined | null; - for?: string | undefined | null; - name?: string | undefined | null; + form?: string | undefined | null; + for?: string | undefined | null; + name?: string | undefined | null; } export interface ParamHTMLAttributes extends HTMLAttributes { - name?: string | undefined | null; - value?: string | string[] | number | undefined | null; + name?: string | undefined | null; + value?: string | string[] | number | undefined | null; } export interface ProgressHTMLAttributes extends HTMLAttributes { - max?: number | string | undefined | null; - value?: string | string[] | number | undefined | null; + max?: number | string | undefined | null; + value?: string | string[] | number | undefined | null; } export interface SlotHTMLAttributes extends HTMLAttributes { - name?: string | undefined | null; + name?: string | undefined | null; } export interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean | undefined | null; - /** @deprecated */ - charset?: string | undefined | null; - crossorigin?: string | undefined | null; - defer?: boolean | undefined | null; - integrity?: string | undefined | null; - nomodule?: boolean | undefined | null; - nonce?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; - src?: string | undefined | null; - type?: string | undefined | null; + async?: boolean | undefined | null; + /** @deprecated */ + charset?: string | undefined | null; + crossorigin?: string | undefined | null; + defer?: boolean | undefined | null; + integrity?: string | undefined | null; + nomodule?: boolean | undefined | null; + nonce?: string | undefined | null; + referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + src?: string | undefined | null; + type?: string | undefined | null; } export interface SelectHTMLAttributes extends HTMLAttributes { - autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; - disabled?: boolean | undefined | null; - form?: string | undefined | null; - multiple?: boolean | undefined | null; - name?: string | undefined | null; - required?: boolean | undefined | null; - size?: number | undefined | null; - value?: any; - - onchange?: ChangeEventHandler | undefined | null; + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + multiple?: boolean | undefined | null; + name?: string | undefined | null; + required?: boolean | undefined | null; + size?: number | undefined | null; + value?: any; + + 'on:change'?: ChangeEventHandler | undefined | null; } export interface SourceHTMLAttributes extends HTMLAttributes { - height?: number | string | undefined | null; - media?: string | undefined | null; - sizes?: string | undefined | null; - src?: string | undefined | null; - srcset?: string | undefined | null; - type?: string | undefined | null; - width?: number | string | undefined | null; + height?: number | string | undefined | null; + media?: string | undefined | null; + sizes?: string | undefined | null; + src?: string | undefined | null; + srcset?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; } export interface StyleHTMLAttributes extends HTMLAttributes { - media?: string | undefined | null; - nonce?: string | undefined | null; - scoped?: boolean | undefined | null; - type?: string | undefined | null; + media?: string | undefined | null; + nonce?: string | undefined | null; + scoped?: boolean | undefined | null; + type?: string | undefined | null; } export interface TableHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | undefined | null; - bgcolor?: string | undefined | null; - border?: number | undefined | null; - cellpadding?: number | string | undefined | null; - cellspacing?: number | string | undefined | null; - frame?: boolean | undefined | null; - rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined | null; - summary?: string | undefined | null; - width?: number | string | undefined | null; + align?: "left" | "center" | "right" | undefined | null; + bgcolor?: string | undefined | null; + border?: number | undefined | null; + cellpadding?: number | string | undefined | null; + cellspacing?: number | string | undefined | null; + frame?: boolean | undefined | null; + rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined | null; + summary?: string | undefined | null; + width?: number | string | undefined | null; } export interface TextareaHTMLAttributes extends HTMLAttributes { - autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; - cols?: number | undefined | null; - dirname?: string | undefined | null; - disabled?: boolean | undefined | null; - form?: string | undefined | null; - maxlength?: number | undefined | null; - minlength?: number | undefined | null; - name?: string | undefined | null; - placeholder?: string | undefined | null; - readonly?: boolean | undefined | null; - required?: boolean | undefined | null; - rows?: number | undefined | null; - value?: string | string[] | number | undefined | null; - wrap?: string | undefined | null; - - onchange?: ChangeEventHandler | undefined | null; + autocomplete?: string | undefined | null; + autofocus?: boolean | undefined | null; + cols?: number | undefined | null; + dirname?: string | undefined | null; + disabled?: boolean | undefined | null; + form?: string | undefined | null; + maxlength?: number | undefined | null; + minlength?: number | undefined | null; + name?: string | undefined | null; + placeholder?: string | undefined | null; + readonly?: boolean | undefined | null; + required?: boolean | undefined | null; + rows?: number | undefined | null; + value?: string | string[] | number | undefined | null; + wrap?: string | undefined | null; + + 'on:change'?: ChangeEventHandler | undefined | null; } export interface TdHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; - colspan?: number | undefined | null; - headers?: string | undefined | null; - rowspan?: number | undefined | null; - scope?: string | undefined | null; - abbr?: string | undefined | null; - height?: number | string | undefined | null; - width?: number | string | undefined | null; - valign?: "top" | "middle" | "bottom" | "baseline" | undefined | null; + align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + colspan?: number | undefined | null; + headers?: string | undefined | null; + rowspan?: number | undefined | null; + scope?: string | undefined | null; + abbr?: string | undefined | null; + height?: number | string | undefined | null; + width?: number | string | undefined | null; + valign?: "top" | "middle" | "bottom" | "baseline" | undefined | null; } export interface ThHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; - colspan?: number | undefined | null; - headers?: string | undefined | null; - rowspan?: number | undefined | null; - scope?: string | undefined | null; - abbr?: string | undefined | null; + align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + colspan?: number | undefined | null; + headers?: string | undefined | null; + rowspan?: number | undefined | null; + scope?: string | undefined | null; + abbr?: string | undefined | null; } export interface TimeHTMLAttributes extends HTMLAttributes { - datetime?: string | undefined | null; + datetime?: string | undefined | null; } export interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean | undefined | null; - kind?: string | undefined | null; - label?: string | undefined | null; - src?: string | undefined | null; - srclang?: string | undefined | null; + default?: boolean | undefined | null; + kind?: string | undefined | null; + label?: string | undefined | null; + src?: string | undefined | null; + srclang?: string | undefined | null; } export interface VideoHTMLAttributes extends MediaHTMLAttributes { - height?: number | string | undefined | null; - playsinline?: boolean | undefined | null; - poster?: string | undefined | null; - width?: number | string | undefined | null; - disablepictureinpicture?: boolean | undefined | null; - disableremoteplayback?: boolean | undefined | null; - - // Svelte bind:x - readonly videoWidth?: number | undefined | null; - readonly videoHeight?: number | undefined | null; + height?: number | string | undefined | null; + playsinline?: boolean | undefined | null; + poster?: string | undefined | null; + width?: number | string | undefined | null; + disablepictureinpicture?: boolean | undefined | null; + disableremoteplayback?: boolean | undefined | null; + + // Svelte bind:x + readonly videoWidth?: number | undefined | null; + readonly videoHeight?: number | undefined | null; } export interface SvelteMediaTimeRange { - start: number; - end: number; + start: number; + end: number; } export interface SvelteWindowAttributes extends HTMLAttributes { - readonly innerWidth?: Window['innerWidth'] | undefined | null; - readonly innerHeight?: Window['innerHeight'] | undefined | null; - readonly outerWidth?: Window['outerWidth'] | undefined | null; - readonly outerHeight?: Window['outerHeight'] | undefined | null; - scrollX?: Window['scrollX'] | undefined | null; - scrollY?: Window['scrollY'] | undefined | null; - readonly online?: Window['navigator']['onLine'] | undefined | null; - - // Transformed from on:sveltekit:xy - 'onsveltekit:start'?: EventHandler | undefined | null; - 'onsveltekit:navigation-start'?: EventHandler | undefined | null; - 'onsveltekit:navigation-end'?: EventHandler | undefined | null; - - ondevicelight?: EventHandler | undefined | null; - onbeforeinstallprompt?: EventHandler | undefined | null; - ondeviceproximity?: EventHandler | undefined | null; - onpaint?: EventHandler | undefined | null; - onuserproximity?: EventHandler | undefined | null; - onbeforeprint?: EventHandler | undefined | null; - onafterprint?: EventHandler | undefined | null; - onlanguagechange?: EventHandler | undefined | null; - onorientationchange?: EventHandler | undefined | null; - onmessage?: EventHandler | undefined | null; - onmessageerror?: EventHandler | undefined | null; - onoffline?: EventHandler | undefined | null; - ononline?: EventHandler | undefined | null; - onbeforeunload?: EventHandler | undefined | null; - onunload?: EventHandler | undefined | null; - onstorage?: EventHandler | undefined | null; - onhashchange?: EventHandler | undefined | null; - onpagehide?: EventHandler | undefined | null; - onpageshow?: EventHandler | undefined | null; - onpopstate?: EventHandler | undefined | null; - ondevicemotion?: EventHandler | undefined | null; - ondeviceorientation?: EventHandler | undefined | null; - ondeviceorientationabsolute?: EventHandler | undefined | null; - onunhandledrejection?: EventHandler | undefined | null; - onrejectionhandled?: EventHandler | undefined | null; + readonly innerWidth?: Window['innerWidth'] | undefined | null; + readonly innerHeight?: Window['innerHeight'] | undefined | null; + readonly outerWidth?: Window['outerWidth'] | undefined | null; + readonly outerHeight?: Window['outerHeight'] | undefined | null; + scrollX?: Window['scrollX'] | undefined | null; + scrollY?: Window['scrollY'] | undefined | null; + readonly online?: Window['navigator']['onLine'] | undefined | null; + + // Transformed from on:sveltekit:xy + 'onsveltekit:start'?: EventHandler | undefined | null; + 'onsveltekit:navigation-start'?: EventHandler | undefined | null; + 'onsveltekit:navigation-end'?: EventHandler | undefined | null; + + 'on:devicelight'?: EventHandler | undefined | null; + 'on:beforeinstallprompt'?: EventHandler | undefined | null; + 'on:deviceproximity'?: EventHandler | undefined | null; + 'on:paint'?: EventHandler | undefined | null; + 'on:userproximity'?: EventHandler | undefined | null; + 'on:beforeprint'?: EventHandler | undefined | null; + 'on:afterprint'?: EventHandler | undefined | null; + 'on:languagechange'?: EventHandler | undefined | null; + 'on:orientationchange'?: EventHandler | undefined | null; + 'on:message'?: EventHandler | undefined | null; + 'on:messageerror'?: EventHandler | undefined | null; + 'on:offline'?: EventHandler | undefined | null; + 'on:online'?: EventHandler | undefined | null; + 'on:beforeunload'?: EventHandler | undefined | null; + 'on:unload'?: EventHandler | undefined | null; + 'on:storage'?: EventHandler | undefined | null; + 'on:hashchange'?: EventHandler | undefined | null; + 'on:pagehide'?: EventHandler | undefined | null; + 'on:pageshow'?: EventHandler | undefined | null; + 'on:popstate'?: EventHandler | undefined | null; + 'on:devicemotion'?: EventHandler | undefined | null; + 'on:deviceorientation'?: EventHandler | undefined | null; + 'on:deviceorientationabsolute'?: EventHandler | undefined | null; + 'on:unhandledrejection'?: EventHandler | undefined | null; + 'on:rejectionhandled'?: EventHandler | undefined | null; } export interface SVGAttributes extends AriaAttributes, DOMAttributes { - // Attributes which also defined in HTMLAttributes - className?: string | undefined | null; - class?: string | undefined | null; - color?: string | undefined | null; - height?: number | string | undefined | null; - id?: string | undefined | null; - lang?: string | undefined | null; - max?: number | string | undefined | null; - media?: string | undefined | null; - method?: string | undefined | null; - min?: number | string | undefined | null; - name?: string | undefined | null; - style?: string | undefined | null; - target?: string | undefined | null; - type?: string | undefined | null; - width?: number | string | undefined | null; - - // Other HTML properties supported by SVG elements in browsers - role?: AriaRole | undefined | null; - tabindex?: number | undefined | null; - crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; - - // SVG Specific attributes - 'accent-height'?: number | string | undefined | null; - accumulate?: 'none' | 'sum' | undefined | null; - additive?: 'replace' | 'sum' | undefined | null; - 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | - 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | - 'mathematical' | 'inherit' | undefined | null; - allowReorder?: 'no' | 'yes' | undefined | null; - alphabetic?: number | string | undefined | null; - amplitude?: number | string | undefined | null; - 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined | null; - ascent?: number | string | undefined | null; - attributeName?: string | undefined | null; - attributeType?: string | undefined | null; - autoReverse?: number | string | undefined | null; - azimuth?: number | string | undefined | null; - baseFrequency?: number | string | undefined | null; - 'baseline-shift'?: number | string | undefined | null; - baseProfile?: number | string | undefined | null; - bbox?: number | string | undefined | null; - begin?: number | string | undefined | null; - bias?: number | string | undefined | null; - by?: number | string | undefined | null; - calcMode?: number | string | undefined | null; - 'cap-height'?: number | string | undefined | null; - clip?: number | string | undefined | null; - 'clip-path'?: string | undefined | null; - clipPathUnits?: number | string | undefined | null; - 'clip-rule'?: number | string | undefined | null; - 'color-interpolation'?: number | string | undefined | null; - 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined | null; - 'color-profile'?: number | string | undefined | null; - 'color-rendering'?: number | string | undefined | null; - contentScriptType?: number | string | undefined | null; - contentStyleType?: number | string | undefined | null; - cursor?: number | string | undefined | null; - cx?: number | string | undefined | null; - cy?: number | string | undefined | null; - d?: string | undefined | null; - decelerate?: number | string | undefined | null; - descent?: number | string | undefined | null; - diffuseConstant?: number | string | undefined | null; - direction?: number | string | undefined | null; - display?: number | string | undefined | null; - divisor?: number | string | undefined | null; - 'dominant-baseline'?: number | string | undefined | null; - dur?: number | string | undefined | null; - dx?: number | string | undefined | null; - dy?: number | string | undefined | null; - edgeMode?: number | string | undefined | null; - elevation?: number | string | undefined | null; - 'enable-background'?: number | string | undefined | null; - end?: number | string | undefined | null; - exponent?: number | string | undefined | null; - externalResourcesRequired?: number | string | undefined | null; - fill?: string | undefined | null; - 'fill-opacity'?: number | string | undefined | null; - 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined | null; - filter?: string | undefined | null; - filterRes?: number | string | undefined | null; - filterUnits?: number | string | undefined | null; - 'flood-color'?: number | string | undefined | null; - 'flood-opacity'?: number | string | undefined | null; - focusable?: number | string | undefined | null; - 'font-family'?: string | undefined | null; - 'font-size'?: number | string | undefined | null; - 'font-size-adjust'?: number | string | undefined | null; - 'font-stretch'?: number | string | undefined | null; - 'font-style'?: number | string | undefined | null; - 'font-variant'?: number | string | undefined | null; - 'font-weight'?: number | string | undefined | null; - format?: number | string | undefined | null; - from?: number | string | undefined | null; - fx?: number | string | undefined | null; - fy?: number | string | undefined | null; - g1?: number | string | undefined | null; - g2?: number | string | undefined | null; - 'glyph-name'?: number | string | undefined | null; - 'glyph-orientation-horizontal'?: number | string | undefined | null; - 'glyph-orientation-vertical'?: number | string | undefined | null; - glyphRef?: number | string | undefined | null; - gradientTransform?: string | undefined | null; - gradientUnits?: string | undefined | null; - hanging?: number | string | undefined | null; - href?: string | undefined | null; - 'horiz-adv-x'?: number | string | undefined | null; - 'horiz-origin-x'?: number | string | undefined | null; - ideographic?: number | string | undefined | null; - 'image-rendering'?: number | string | undefined | null; - in2?: number | string | undefined | null; - in?: string | undefined | null; - intercept?: number | string | undefined | null; - k1?: number | string | undefined | null; - k2?: number | string | undefined | null; - k3?: number | string | undefined | null; - k4?: number | string | undefined | null; - k?: number | string | undefined | null; - kernelMatrix?: number | string | undefined | null; - kernelUnitLength?: number | string | undefined | null; - kerning?: number | string | undefined | null; - keyPoints?: number | string | undefined | null; - keySplines?: number | string | undefined | null; - keyTimes?: number | string | undefined | null; - lengthAdjust?: number | string | undefined | null; - 'letter-spacing'?: number | string | undefined | null; - 'lighting-color'?: number | string | undefined | null; - limitingConeAngle?: number | string | undefined | null; - local?: number | string | undefined | null; - 'marker-end'?: string | undefined | null; - markerHeight?: number | string | undefined | null; - 'marker-mid'?: string | undefined | null; - 'marker-start'?: string | undefined | null; - markerUnits?: number | string | undefined | null; - markerWidth?: number | string | undefined | null; - mask?: string | undefined | null; - maskContentUnits?: number | string | undefined | null; - maskUnits?: number | string | undefined | null; - mathematical?: number | string | undefined | null; - mode?: number | string | undefined | null; - numOctaves?: number | string | undefined | null; - offset?: number | string | undefined | null; - opacity?: number | string | undefined | null; - operator?: number | string | undefined | null; - order?: number | string | undefined | null; - orient?: number | string | undefined | null; - orientation?: number | string | undefined | null; - origin?: number | string | undefined | null; - overflow?: number | string | undefined | null; - 'overline-position'?: number | string | undefined | null; - 'overline-thickness'?: number | string | undefined | null; - 'paint-order'?: number | string | undefined | null; - 'panose-1'?: number | string | undefined | null; - path?: string | undefined | null; - pathLength?: number | string | undefined | null; - patternContentUnits?: string | undefined | null; - patternTransform?: number | string | undefined | null; - patternUnits?: string | undefined | null; - 'pointer-events'?: number | string | undefined | null; - points?: string | undefined | null; - pointsAtX?: number | string | undefined | null; - pointsAtY?: number | string | undefined | null; - pointsAtZ?: number | string | undefined | null; - preserveAlpha?: number | string | undefined | null; - preserveAspectRatio?: string | undefined | null; - primitiveUnits?: number | string | undefined | null; - r?: number | string | undefined | null; - radius?: number | string | undefined | null; - refX?: number | string | undefined | null; - refY?: number | string | undefined | null; - 'rendering-intent'?: number | string | undefined | null; - repeatCount?: number | string | undefined | null; - repeatDur?: number | string | undefined | null; - requiredExtensions?: number | string | undefined | null; - requiredFeatures?: number | string | undefined | null; - restart?: number | string | undefined | null; - result?: string | undefined | null; - rotate?: number | string | undefined | null; - rx?: number | string | undefined | null; - ry?: number | string | undefined | null; - scale?: number | string | undefined | null; - seed?: number | string | undefined | null; - 'shape-rendering'?: number | string | undefined | null; - slope?: number | string | undefined | null; - spacing?: number | string | undefined | null; - specularConstant?: number | string | undefined | null; - specularExponent?: number | string | undefined | null; - speed?: number | string | undefined | null; - spreadMethod?: string | undefined | null; - startOffset?: number | string | undefined | null; - stdDeviation?: number | string | undefined | null; - stemh?: number | string | undefined | null; - stemv?: number | string | undefined | null; - stitchTiles?: number | string | undefined | null; - 'stop-color'?: string | undefined | null; - 'stop-opacity'?: number | string | undefined | null; - 'strikethrough-position'?: number | string | undefined | null; - 'strikethrough-thickness'?: number | string | undefined | null; - string?: number | string | undefined | null; - stroke?: string | undefined | null; - 'stroke-dasharray'?: string | number | undefined | null; - 'stroke-dashoffset'?: string | number | undefined | null; - 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined | null; - 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined | null; - 'stroke-miterlimit'?: string | undefined | null; - 'stroke-opacity'?: number | string | undefined | null; - 'stroke-width'?: number | string | undefined | null; - surfaceScale?: number | string | undefined | null; - systemLanguage?: number | string | undefined | null; - tableValues?: number | string | undefined | null; - targetX?: number | string | undefined | null; - targetY?: number | string | undefined | null; - 'text-anchor'?: string | undefined | null; - 'text-decoration'?: number | string | undefined | null; - textLength?: number | string | undefined | null; - 'text-rendering'?: number | string | undefined | null; - to?: number | string | undefined | null; - transform?: string | undefined | null; - u1?: number | string | undefined | null; - u2?: number | string | undefined | null; - 'underline-position'?: number | string | undefined | null; - 'underline-thickness'?: number | string | undefined | null; - unicode?: number | string | undefined | null; - 'unicode-bidi'?: number | string | undefined | null; - 'unicode-range'?: number | string | undefined | null; - 'units-per-em'?: number | string | undefined | null; - 'v-alphabetic'?: number | string | undefined | null; - values?: string | undefined | null; - 'vector-effect'?: number | string | undefined | null; - version?: string | undefined | null; - 'vert-adv-y'?: number | string | undefined | null; - 'vert-origin-x'?: number | string | undefined | null; - 'vert-origin-y'?: number | string | undefined | null; - 'v-hanging'?: number | string | undefined | null; - 'v-ideographic'?: number | string | undefined | null; - viewBox?: string | undefined | null; - viewTarget?: number | string | undefined | null; - visibility?: number | string | undefined | null; - 'v-mathematical'?: number | string | undefined | null; - widths?: number | string | undefined | null; - 'word-spacing'?: number | string | undefined | null; - 'writing-mode'?: number | string | undefined | null; - x1?: number | string | undefined | null; - x2?: number | string | undefined | null; - x?: number | string | undefined | null; - xChannelSelector?: string | undefined | null; - 'x-height'?: number | string | undefined | null; - 'xlink:actuate'?: string | undefined | null; - 'xlink:arcrole'?: string | undefined | null; - 'xlink:href'?: string | undefined | null; - 'xlink:role'?: string | undefined | null; - 'xlink:show'?: string | undefined | null; - 'xlink:title'?: string | undefined | null; - 'xlink:type'?: string | undefined | null; - 'xml:base'?: string | undefined | null; - 'xml:lang'?: string | undefined | null; - xmlns?: string | undefined | null; - 'xmlns:xlink'?: string | undefined | null; - 'xml:space'?: string | undefined | null; - y1?: number | string | undefined | null; - y2?: number | string | undefined | null; - y?: number | string | undefined | null; - yChannelSelector?: string | undefined | null; - z?: number | string | undefined | null; - zoomAndPan?: string | undefined | null; + // Attributes which also defined in HTMLAttributes + className?: string | undefined | null; + class?: string | undefined | null; + color?: string | undefined | null; + height?: number | string | undefined | null; + id?: string | undefined | null; + lang?: string | undefined | null; + max?: number | string | undefined | null; + media?: string | undefined | null; + method?: string | undefined | null; + min?: number | string | undefined | null; + name?: string | undefined | null; + style?: string | undefined | null; + target?: string | undefined | null; + type?: string | undefined | null; + width?: number | string | undefined | null; + + // Other HTML properties supported by SVG elements in browsers + role?: AriaRole | undefined | null; + tabindex?: number | undefined | null; + crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; + + // SVG Specific attributes + 'accent-height'?: number | string | undefined | null; + accumulate?: 'none' | 'sum' | undefined | null; + additive?: 'replace' | 'sum' | undefined | null; + 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | + 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | + 'mathematical' | 'inherit' | undefined | null; + allowReorder?: 'no' | 'yes' | undefined | null; + alphabetic?: number | string | undefined | null; + amplitude?: number | string | undefined | null; + 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated' | undefined | null; + ascent?: number | string | undefined | null; + attributeName?: string | undefined | null; + attributeType?: string | undefined | null; + autoReverse?: number | string | undefined | null; + azimuth?: number | string | undefined | null; + baseFrequency?: number | string | undefined | null; + 'baseline-shift'?: number | string | undefined | null; + baseProfile?: number | string | undefined | null; + bbox?: number | string | undefined | null; + begin?: number | string | undefined | null; + bias?: number | string | undefined | null; + by?: number | string | undefined | null; + calcMode?: number | string | undefined | null; + 'cap-height'?: number | string | undefined | null; + clip?: number | string | undefined | null; + 'clip-path'?: string | undefined | null; + clipPathUnits?: number | string | undefined | null; + 'clip-rule'?: number | string | undefined | null; + 'color-interpolation'?: number | string | undefined | null; + 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit' | undefined | null; + 'color-profile'?: number | string | undefined | null; + 'color-rendering'?: number | string | undefined | null; + contentScriptType?: number | string | undefined | null; + contentStyleType?: number | string | undefined | null; + cursor?: number | string | undefined | null; + cx?: number | string | undefined | null; + cy?: number | string | undefined | null; + d?: string | undefined | null; + decelerate?: number | string | undefined | null; + descent?: number | string | undefined | null; + diffuseConstant?: number | string | undefined | null; + direction?: number | string | undefined | null; + display?: number | string | undefined | null; + divisor?: number | string | undefined | null; + 'dominant-baseline'?: number | string | undefined | null; + dur?: number | string | undefined | null; + dx?: number | string | undefined | null; + dy?: number | string | undefined | null; + edgeMode?: number | string | undefined | null; + elevation?: number | string | undefined | null; + 'enable-background'?: number | string | undefined | null; + end?: number | string | undefined | null; + exponent?: number | string | undefined | null; + externalResourcesRequired?: number | string | undefined | null; + fill?: string | undefined | null; + 'fill-opacity'?: number | string | undefined | null; + 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit' | undefined | null; + filter?: string | undefined | null; + filterRes?: number | string | undefined | null; + filterUnits?: number | string | undefined | null; + 'flood-color'?: number | string | undefined | null; + 'flood-opacity'?: number | string | undefined | null; + focusable?: number | string | undefined | null; + 'font-family'?: string | undefined | null; + 'font-size'?: number | string | undefined | null; + 'font-size-adjust'?: number | string | undefined | null; + 'font-stretch'?: number | string | undefined | null; + 'font-style'?: number | string | undefined | null; + 'font-variant'?: number | string | undefined | null; + 'font-weight'?: number | string | undefined | null; + format?: number | string | undefined | null; + from?: number | string | undefined | null; + fx?: number | string | undefined | null; + fy?: number | string | undefined | null; + g1?: number | string | undefined | null; + g2?: number | string | undefined | null; + 'glyph-name'?: number | string | undefined | null; + 'glyph-orientation-horizontal'?: number | string | undefined | null; + 'glyph-orientation-vertical'?: number | string | undefined | null; + glyphRef?: number | string | undefined | null; + gradientTransform?: string | undefined | null; + gradientUnits?: string | undefined | null; + hanging?: number | string | undefined | null; + href?: string | undefined | null; + 'horiz-adv-x'?: number | string | undefined | null; + 'horiz-origin-x'?: number | string | undefined | null; + ideographic?: number | string | undefined | null; + 'image-rendering'?: number | string | undefined | null; + in2?: number | string | undefined | null; + in?: string | undefined | null; + intercept?: number | string | undefined | null; + k1?: number | string | undefined | null; + k2?: number | string | undefined | null; + k3?: number | string | undefined | null; + k4?: number | string | undefined | null; + k?: number | string | undefined | null; + kernelMatrix?: number | string | undefined | null; + kernelUnitLength?: number | string | undefined | null; + kerning?: number | string | undefined | null; + keyPoints?: number | string | undefined | null; + keySplines?: number | string | undefined | null; + keyTimes?: number | string | undefined | null; + lengthAdjust?: number | string | undefined | null; + 'letter-spacing'?: number | string | undefined | null; + 'lighting-color'?: number | string | undefined | null; + limitingConeAngle?: number | string | undefined | null; + local?: number | string | undefined | null; + 'marker-end'?: string | undefined | null; + markerHeight?: number | string | undefined | null; + 'marker-mid'?: string | undefined | null; + 'marker-start'?: string | undefined | null; + markerUnits?: number | string | undefined | null; + markerWidth?: number | string | undefined | null; + mask?: string | undefined | null; + maskContentUnits?: number | string | undefined | null; + maskUnits?: number | string | undefined | null; + mathematical?: number | string | undefined | null; + mode?: number | string | undefined | null; + numOctaves?: number | string | undefined | null; + offset?: number | string | undefined | null; + opacity?: number | string | undefined | null; + operator?: number | string | undefined | null; + order?: number | string | undefined | null; + orient?: number | string | undefined | null; + orientation?: number | string | undefined | null; + origin?: number | string | undefined | null; + overflow?: number | string | undefined | null; + 'overline-position'?: number | string | undefined | null; + 'overline-thickness'?: number | string | undefined | null; + 'paint-order'?: number | string | undefined | null; + 'panose-1'?: number | string | undefined | null; + path?: string | undefined | null; + pathLength?: number | string | undefined | null; + patternContentUnits?: string | undefined | null; + patternTransform?: number | string | undefined | null; + patternUnits?: string | undefined | null; + 'pointer-events'?: number | string | undefined | null; + points?: string | undefined | null; + pointsAtX?: number | string | undefined | null; + pointsAtY?: number | string | undefined | null; + pointsAtZ?: number | string | undefined | null; + preserveAlpha?: number | string | undefined | null; + preserveAspectRatio?: string | undefined | null; + primitiveUnits?: number | string | undefined | null; + r?: number | string | undefined | null; + radius?: number | string | undefined | null; + refX?: number | string | undefined | null; + refY?: number | string | undefined | null; + 'rendering-intent'?: number | string | undefined | null; + repeatCount?: number | string | undefined | null; + repeatDur?: number | string | undefined | null; + requiredExtensions?: number | string | undefined | null; + requiredFeatures?: number | string | undefined | null; + restart?: number | string | undefined | null; + result?: string | undefined | null; + rotate?: number | string | undefined | null; + rx?: number | string | undefined | null; + ry?: number | string | undefined | null; + scale?: number | string | undefined | null; + seed?: number | string | undefined | null; + 'shape-rendering'?: number | string | undefined | null; + slope?: number | string | undefined | null; + spacing?: number | string | undefined | null; + specularConstant?: number | string | undefined | null; + specularExponent?: number | string | undefined | null; + speed?: number | string | undefined | null; + spreadMethod?: string | undefined | null; + startOffset?: number | string | undefined | null; + stdDeviation?: number | string | undefined | null; + stemh?: number | string | undefined | null; + stemv?: number | string | undefined | null; + stitchTiles?: number | string | undefined | null; + 'stop-color'?: string | undefined | null; + 'stop-opacity'?: number | string | undefined | null; + 'strikethrough-position'?: number | string | undefined | null; + 'strikethrough-thickness'?: number | string | undefined | null; + string?: number | string | undefined | null; + stroke?: string | undefined | null; + 'stroke-dasharray'?: string | number | undefined | null; + 'stroke-dashoffset'?: string | number | undefined | null; + 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit' | undefined | null; + 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit' | undefined | null; + 'stroke-miterlimit'?: string | undefined | null; + 'stroke-opacity'?: number | string | undefined | null; + 'stroke-width'?: number | string | undefined | null; + surfaceScale?: number | string | undefined | null; + systemLanguage?: number | string | undefined | null; + tableValues?: number | string | undefined | null; + targetX?: number | string | undefined | null; + targetY?: number | string | undefined | null; + 'text-anchor'?: string | undefined | null; + 'text-decoration'?: number | string | undefined | null; + textLength?: number | string | undefined | null; + 'text-rendering'?: number | string | undefined | null; + to?: number | string | undefined | null; + transform?: string | undefined | null; + u1?: number | string | undefined | null; + u2?: number | string | undefined | null; + 'underline-position'?: number | string | undefined | null; + 'underline-thickness'?: number | string | undefined | null; + unicode?: number | string | undefined | null; + 'unicode-bidi'?: number | string | undefined | null; + 'unicode-range'?: number | string | undefined | null; + 'units-per-em'?: number | string | undefined | null; + 'v-alphabetic'?: number | string | undefined | null; + values?: string | undefined | null; + 'vector-effect'?: number | string | undefined | null; + version?: string | undefined | null; + 'vert-adv-y'?: number | string | undefined | null; + 'vert-origin-x'?: number | string | undefined | null; + 'vert-origin-y'?: number | string | undefined | null; + 'v-hanging'?: number | string | undefined | null; + 'v-ideographic'?: number | string | undefined | null; + viewBox?: string | undefined | null; + viewTarget?: number | string | undefined | null; + visibility?: number | string | undefined | null; + 'v-mathematical'?: number | string | undefined | null; + widths?: number | string | undefined | null; + 'word-spacing'?: number | string | undefined | null; + 'writing-mode'?: number | string | undefined | null; + x1?: number | string | undefined | null; + x2?: number | string | undefined | null; + x?: number | string | undefined | null; + xChannelSelector?: string | undefined | null; + 'x-height'?: number | string | undefined | null; + 'xlink:actuate'?: string | undefined | null; + 'xlink:arcrole'?: string | undefined | null; + 'xlink:href'?: string | undefined | null; + 'xlink:role'?: string | undefined | null; + 'xlink:show'?: string | undefined | null; + 'xlink:title'?: string | undefined | null; + 'xlink:type'?: string | undefined | null; + 'xml:base'?: string | undefined | null; + 'xml:lang'?: string | undefined | null; + xmlns?: string | undefined | null; + 'xmlns:xlink'?: string | undefined | null; + 'xml:space'?: string | undefined | null; + y1?: number | string | undefined | null; + y2?: number | string | undefined | null; + y?: number | string | undefined | null; + yChannelSelector?: string | undefined | null; + z?: number | string | undefined | null; + zoomAndPan?: string | undefined | null; } export interface WebViewHTMLAttributes extends HTMLAttributes { - allowfullscreen?: boolean | undefined | null; - allowpopups?: boolean | undefined | null; - autofocus?: boolean | undefined | null; - autosize?: boolean | undefined | null; - blinkfeatures?: string | undefined | null; - disableblinkfeatures?: string | undefined | null; - disableguestresize?: boolean | undefined | null; - disablewebsecurity?: boolean | undefined | null; - guestinstance?: string | undefined | null; - httpreferrer?: string | undefined | null; - nodeintegration?: boolean | undefined | null; - partition?: string | undefined | null; - plugins?: boolean | undefined | null; - preload?: string | undefined | null; - src?: string | undefined | null; - useragent?: string | undefined | null; - webpreferences?: string | undefined | null; + allowfullscreen?: boolean | undefined | null; + allowpopups?: boolean | undefined | null; + autofocus?: boolean | undefined | null; + autosize?: boolean | undefined | null; + blinkfeatures?: string | undefined | null; + disableblinkfeatures?: string | undefined | null; + disableguestresize?: boolean | undefined | null; + disablewebsecurity?: boolean | undefined | null; + guestinstance?: string | undefined | null; + httpreferrer?: string | undefined | null; + nodeintegration?: boolean | undefined | null; + partition?: string | undefined | null; + plugins?: boolean | undefined | null; + preload?: string | undefined | null; + src?: string | undefined | null; + useragent?: string | undefined | null; + webpreferences?: string | undefined | null; } // @@ -1396,190 +1397,190 @@ export interface WebViewHTMLAttributes extends HTMLAttributes { // ---------------------------------------------------------------------- export interface SvelteHTMLElements { - 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; - 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; - 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; - webview: WebViewHTMLAttributes; - - // SVG - svg: SVGAttributes; - - animate: SVGAttributes; - animateMotion: SVGAttributes; - animateTransform: SVGAttributes; - circle: SVGAttributes; - clipPath: SVGAttributes; - defs: SVGAttributes; - desc: SVGAttributes; - ellipse: SVGAttributes; - feBlend: SVGAttributes; - feColorMatrix: SVGAttributes; - feComponentTransfer: SVGAttributes; - feComposite: SVGAttributes; - feConvolveMatrix: SVGAttributes; - feDiffuseLighting: SVGAttributes; - feDisplacementMap: SVGAttributes; - feDistantLight: SVGAttributes; - feDropShadow: SVGAttributes; - feFlood: SVGAttributes; - feFuncA: SVGAttributes; - feFuncB: SVGAttributes; - feFuncG: SVGAttributes; - feFuncR: SVGAttributes; - feGaussianBlur: SVGAttributes; - feImage: SVGAttributes; - feMerge: SVGAttributes; - feMergeNode: SVGAttributes; - feMorphology: SVGAttributes; - feOffset: SVGAttributes; - fePointLight: SVGAttributes; - feSpecularLighting: SVGAttributes; - feSpotLight: SVGAttributes; - feTile: SVGAttributes; - feTurbulence: SVGAttributes; - filter: SVGAttributes; - foreignObject: SVGAttributes; - g: SVGAttributes; - image: SVGAttributes; - line: SVGAttributes; - linearGradient: SVGAttributes; - marker: SVGAttributes; - mask: SVGAttributes; - metadata: SVGAttributes; - mpath: SVGAttributes; - path: SVGAttributes; - pattern: SVGAttributes; - polygon: SVGAttributes; - polyline: SVGAttributes; - radialGradient: SVGAttributes; - rect: SVGAttributes; - stop: SVGAttributes; - switch: SVGAttributes; - symbol: SVGAttributes; - text: SVGAttributes; - textPath: SVGAttributes; - tspan: SVGAttributes; - use: SVGAttributes; - view: SVGAttributes; - - // Svelte specific - 'svelte:window': SvelteWindowAttributes; - 'svelte:body': HTMLAttributes; - 'svelte:fragment': { slot?: string; }; - 'svelte:options': { [name: string]: any }; - 'svelte:head': { [name: string]: any }; - - [name: string]: { [name: string]: any }; + 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; + 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; + 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; + webview: WebViewHTMLAttributes; + + // SVG + svg: SVGAttributes; + + animate: SVGAttributes; + animateMotion: SVGAttributes; + animateTransform: SVGAttributes; + circle: SVGAttributes; + clipPath: SVGAttributes; + defs: SVGAttributes; + desc: SVGAttributes; + ellipse: SVGAttributes; + feBlend: SVGAttributes; + feColorMatrix: SVGAttributes; + feComponentTransfer: SVGAttributes; + feComposite: SVGAttributes; + feConvolveMatrix: SVGAttributes; + feDiffuseLighting: SVGAttributes; + feDisplacementMap: SVGAttributes; + feDistantLight: SVGAttributes; + feDropShadow: SVGAttributes; + feFlood: SVGAttributes; + feFuncA: SVGAttributes; + feFuncB: SVGAttributes; + feFuncG: SVGAttributes; + feFuncR: SVGAttributes; + feGaussianBlur: SVGAttributes; + feImage: SVGAttributes; + feMerge: SVGAttributes; + feMergeNode: SVGAttributes; + feMorphology: SVGAttributes; + feOffset: SVGAttributes; + fePointLight: SVGAttributes; + feSpecularLighting: SVGAttributes; + feSpotLight: SVGAttributes; + feTile: SVGAttributes; + feTurbulence: SVGAttributes; + filter: SVGAttributes; + foreignObject: SVGAttributes; + g: SVGAttributes; + image: SVGAttributes; + line: SVGAttributes; + linearGradient: SVGAttributes; + marker: SVGAttributes; + mask: SVGAttributes; + metadata: SVGAttributes; + mpath: SVGAttributes; + path: SVGAttributes; + pattern: SVGAttributes; + polygon: SVGAttributes; + polyline: SVGAttributes; + radialGradient: SVGAttributes; + rect: SVGAttributes; + stop: SVGAttributes; + switch: SVGAttributes; + symbol: SVGAttributes; + text: SVGAttributes; + textPath: SVGAttributes; + tspan: SVGAttributes; + use: SVGAttributes; + view: SVGAttributes; + + // Svelte specific + 'svelte:window': SvelteWindowAttributes; + 'svelte:body': HTMLAttributes; + 'svelte:fragment': { slot?: string; }; + 'svelte:options': { [name: string]: any }; + 'svelte:head': { [name: string]: any }; + + [name: string]: { [name: string]: any }; } From 84ed5568d2e9a959ad3941b80b00e8b6634eeb71 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 15 Aug 2022 12:49:53 +0200 Subject: [PATCH 03/35] fix some types, add typings to package output without jumping through hoops --- src/runtime/html.ts => html/index.d.ts | 10 +++++----- html/package.json | 3 +++ package.json | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) rename src/runtime/html.ts => html/index.d.ts (99%) create mode 100644 html/package.json diff --git a/src/runtime/html.ts b/html/index.d.ts similarity index 99% rename from src/runtime/html.ts rename to html/index.d.ts index 88f1919e440..c44d0c48573 100644 --- a/src/runtime/html.ts +++ b/html/index.d.ts @@ -84,7 +84,7 @@ export interface DOMAttributes { 'on:beforeinput'?: EventHandler | undefined | null; 'on:input'?: FormEventHandler | undefined | null; 'on:reset'?: FormEventHandler | undefined | null; - 'on:submit'?: EventHandler | undefined | null; + 'on:submit'?: EventHandler | undefined | null; // TODO make this SubmitEvent once we require TS>=4.4 'on:invalid'?: EventHandler | undefined | null; @@ -1071,10 +1071,10 @@ export interface SvelteWindowAttributes extends HTMLAttributes { scrollY?: Window['scrollY'] | undefined | null; readonly online?: Window['navigator']['onLine'] | undefined | null; - // Transformed from on:sveltekit:xy - 'onsveltekit:start'?: EventHandler | undefined | null; - 'onsveltekit:navigation-start'?: EventHandler | undefined | null; - 'onsveltekit:navigation-end'?: EventHandler | undefined | null; + // SvelteKit + 'on:sveltekit:start'?: EventHandler | undefined | null; + 'on:sveltekit:navigation-start'?: EventHandler | undefined | null; + 'on:sveltekit:navigation-end'?: EventHandler | undefined | null; 'on:devicelight'?: EventHandler | undefined | null; 'on:beforeinstallprompt'?: EventHandler | undefined | null; diff --git a/html/package.json b/html/package.json new file mode 100644 index 00000000000..1704e6b78b3 --- /dev/null +++ b/html/package.json @@ -0,0 +1,3 @@ +{ + "types": "./index.d.ts" +} diff --git a/package.json b/package.json index a1c9ae9a5d9..99cf889ae54 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "easing", "motion", "action", + "html", "README.md" ], "exports": { @@ -75,6 +76,9 @@ "import": "./transition/index.mjs", "require": "./transition/index.js" }, + "./html": { + "types": "./html/index.d.ts" + }, "./ssr": { "types": "./types/runtime/index.d.ts", "import": "./ssr.mjs", From 18f2596ea3a61bf2270b3f95ab32d91ab8a01102 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 15 Aug 2022 14:51:23 +0200 Subject: [PATCH 04/35] add sapper typings --- html/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/html/index.d.ts b/html/index.d.ts index c44d0c48573..802d0f6bc8c 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -572,6 +572,10 @@ export interface AnchorHTMLAttributes extends HTMLAttributes "sveltekit:noscroll"?: true | undefined | null; "sveltekit:prefetch"?: true | undefined | null; "sveltekit:reload"?: true | undefined | null; + + // Sapper + "sapper:noscroll"?: true | undefined | null; + "sapper:prefetch"?: true | undefined | null; } export interface AudioHTMLAttributes extends MediaHTMLAttributes {} From 5fa2467572dba2e3eda8177f30f68589e19a8c40 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:09:36 +0200 Subject: [PATCH 05/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 802d0f6bc8c..0715f92ab92 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -482,7 +482,7 @@ export interface HTMLAttributes extends AriaAttributes, D style?: string | undefined | null; tabindex?: number | undefined | null; title?: string | undefined | null; - translate?: "yes" | "no" | "" | undefined | null; + translate?: 'yes' | 'no' | '' | undefined | null; inert?: boolean | undefined | null; // Unknown From ea049ac2e91edf53191ecfee01e7d54ff51b588f Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:09:47 +0200 Subject: [PATCH 06/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 0715f92ab92..f9749193c40 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -469,7 +469,7 @@ export interface HTMLAttributes extends AriaAttributes, D // Standard HTML Attributes accesskey?: string | undefined | null; class?: string | undefined | null; - contenteditable?: Booleanish | "inherit" | undefined | null; + contenteditable?: Booleanish | 'inherit' | undefined | null; contextmenu?: string | undefined | null; dir?: string | undefined | null; draggable?: Booleanish | undefined | null; From 68809824f3cf65126adfc4013548f06dbc87e96d Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:09:55 +0200 Subject: [PATCH 07/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index f9749193c40..b502e451ae2 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -533,8 +533,8 @@ export interface HTMLAttributes extends AriaAttributes, D */ innerHTML?: string | undefined | null; /** - * Elements with the contenteditable attribute support innerHTML and textContent bindings. - */ + * Elements with the contenteditable attribute support innerHTML and textContent bindings. + */ textContent?: string | undefined | null; } From accecd8f20861a4a84770ce1ccd9b0aadbde8e2f Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:04 +0200 Subject: [PATCH 08/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index b502e451ae2..7de51a86195 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -569,9 +569,9 @@ export interface AnchorHTMLAttributes extends HTMLAttributes referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; // SvelteKit - "sveltekit:noscroll"?: true | undefined | null; - "sveltekit:prefetch"?: true | undefined | null; - "sveltekit:reload"?: true | undefined | null; + 'sveltekit:noscroll'?: true | undefined | null; + 'sveltekit:prefetch'?: true | undefined | null; + 'sveltekit:reload'?: true | undefined | null; // Sapper "sapper:noscroll"?: true | undefined | null; From 51eed609ae8fd96c94c3706437bb36e399adfec7 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:12 +0200 Subject: [PATCH 09/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index 7de51a86195..2edb4afd3c7 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -574,8 +574,8 @@ export interface AnchorHTMLAttributes extends HTMLAttributes 'sveltekit:reload'?: true | undefined | null; // Sapper - "sapper:noscroll"?: true | undefined | null; - "sapper:prefetch"?: true | undefined | null; + 'sapper:noscroll'?: true | undefined | null; + 'sapper:prefetch'?: true | undefined | null; } export interface AudioHTMLAttributes extends MediaHTMLAttributes {} From 59b18c14ab66d6affc5661fdef76dd5ed47cc89c Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:19 +0200 Subject: [PATCH 10/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 2edb4afd3c7..dd6f261eafd 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1028,7 +1028,7 @@ export interface TdHTMLAttributes extends HTMLAttributes { } export interface ThHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null; colspan?: number | undefined | null; headers?: string | undefined | null; rowspan?: number | undefined | null; From 2b8545a6ede5962071ce06c924fbf45ca2f3986f Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:31 +0200 Subject: [PATCH 11/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index dd6f261eafd..5bcab4a997f 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -682,7 +682,7 @@ export interface IframeHTMLAttributes extends HTMLAttributes /** @deprecated */ frameborder?: number | string | undefined | null; height?: number | string | undefined | null; - loading?: "eager" | "lazy" | undefined | null; + loading?: 'eager' | 'lazy' | undefined | null; /** @deprecated */ marginheight?: number | undefined | null; /** @deprecated */ From f84c78f2ed1806c179c006b3d3ad8dded9056110 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:42 +0200 Subject: [PATCH 12/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 5bcab4a997f..856722b0afa 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -700,7 +700,7 @@ export interface IframeHTMLAttributes extends HTMLAttributes export interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined | null; - crossorigin?: "anonymous" | "use-credentials" | "" | undefined | null; + crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; decoding?: "async" | "auto" | "sync" | undefined | null; height?: number | string | undefined | null; ismap?: boolean | undefined | null; From b71d4f57cdd80c3dfd099658657bc8752e805f15 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:10:52 +0200 Subject: [PATCH 13/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 856722b0afa..887ee88a3d5 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -701,7 +701,7 @@ export interface IframeHTMLAttributes extends HTMLAttributes export interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined | null; crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; - decoding?: "async" | "auto" | "sync" | undefined | null; + decoding?: 'async' | 'auto' | 'sync' | undefined | null; height?: number | string | undefined | null; ismap?: boolean | undefined | null; loading?: "eager" | "lazy" | undefined | null; From 538605ccdf45ddf81896e1603edaa9d95f5e968a Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:02 +0200 Subject: [PATCH 14/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 887ee88a3d5..fba7bed652c 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -704,7 +704,7 @@ export interface ImgHTMLAttributes extends HTMLAttributes { decoding?: 'async' | 'auto' | 'sync' | undefined | null; height?: number | string | undefined | null; ismap?: boolean | undefined | null; - loading?: "eager" | "lazy" | undefined | null; + loading?: 'eager' | 'lazy' | undefined | null; referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; sizes?: string | undefined | null; src?: string | undefined | null; From b5494bb4841064ca628cab7b308070563a3862f3 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:12 +0200 Subject: [PATCH 15/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index fba7bed652c..ddb07bd0b3c 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -845,7 +845,7 @@ export interface MediaHTMLAttributes extends HTMLAtt src?: string | undefined | null; /** * a value between 0 and 1 - */ + */ volume?: number | undefined | null; // Svelte bind:x From e8845cec7b84d39773bca7a180c264ad7bfa88bc Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:22 +0200 Subject: [PATCH 16/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index ddb07bd0b3c..2cfdee229d8 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -984,7 +984,7 @@ export interface StyleHTMLAttributes extends HTMLAttributes { } export interface TableHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | undefined | null; + align?: 'left' | 'center' | 'right' | undefined | null; bgcolor?: string | undefined | null; border?: number | undefined | null; cellpadding?: number | string | undefined | null; From 7bee2838d6f79679976f9b27a2b897f4d5eb018e Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:33 +0200 Subject: [PATCH 17/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 2cfdee229d8..697155e9c72 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -990,7 +990,7 @@ export interface TableHTMLAttributes extends HTMLAttributes { cellpadding?: number | string | undefined | null; cellspacing?: number | string | undefined | null; frame?: boolean | undefined | null; - rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined | null; + rules?: 'none' | 'groups' | 'rows' | 'columns' | 'all' | undefined | null; summary?: string | undefined | null; width?: number | string | undefined | null; } From cf019d556d71a2fa3968255be5f76b252c3b0da3 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:41 +0200 Subject: [PATCH 18/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 697155e9c72..6d6ecb65d41 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1016,7 +1016,7 @@ export interface TextareaHTMLAttributes extends HTMLAttributes { - align?: "left" | "center" | "right" | "justify" | "char" | undefined | null; + align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null; colspan?: number | undefined | null; headers?: string | undefined | null; rowspan?: number | undefined | null; From 58064fdddbf90468ad05ebe29fbde55bb1625476 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:50 +0200 Subject: [PATCH 19/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 6d6ecb65d41..e99a1a2ce8d 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1024,7 +1024,7 @@ export interface TdHTMLAttributes extends HTMLAttributes { abbr?: string | undefined | null; height?: number | string | undefined | null; width?: number | string | undefined | null; - valign?: "top" | "middle" | "bottom" | "baseline" | undefined | null; + valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined | null; } export interface ThHTMLAttributes extends HTMLAttributes { From b9d9bab21836b2f902f32d8bb8407fb3c6b5617b Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:11:58 +0200 Subject: [PATCH 20/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index e99a1a2ce8d..7700d9514b3 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1066,7 +1066,7 @@ export interface SvelteMediaTimeRange { end: number; } -export interface SvelteWindowAttributes extends HTMLAttributes { +export interface SvelteWindowAttributes extends HTMLAttributes { readonly innerWidth?: Window['innerWidth'] | undefined | null; readonly innerHeight?: Window['innerHeight'] | undefined | null; readonly outerWidth?: Window['outerWidth'] | undefined | null; From 7cce5c28766779f14415a3ddf0bb127618278b70 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:12:16 +0200 Subject: [PATCH 21/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 7700d9514b3..4d6c44513dc 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1517,7 +1517,6 @@ export interface SvelteHTMLElements { video: VideoHTMLAttributes; wbr: HTMLAttributes; webview: WebViewHTMLAttributes; - // SVG svg: SVGAttributes; From a18c27cb29c4e94bf8a8bf297d8a65a286fdd7d5 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 16 Aug 2022 09:12:23 +0200 Subject: [PATCH 22/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 4d6c44513dc..09c9989a20d 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1581,7 +1581,7 @@ export interface SvelteHTMLElements { // Svelte specific 'svelte:window': SvelteWindowAttributes; 'svelte:body': HTMLAttributes; - 'svelte:fragment': { slot?: string; }; + 'svelte:fragment': { slot?: string }; 'svelte:options': { [name: string]: any }; 'svelte:head': { [name: string]: any }; From c29e3682376b5d36eca23cc01eb06cfc32797566 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 19 Aug 2022 13:55:49 +0200 Subject: [PATCH 23/35] Update html/index.d.ts Co-authored-by: Lyu, Wei-Da <36730922+jasonlyu123@users.noreply.github.com> --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 09c9989a20d..9fafa5943d4 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -282,7 +282,7 @@ export interface AriaAttributes { */ 'aria-grabbed'?: Booleanish | undefined | null; /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ - 'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null; + 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | undefined | null; /** * Indicates whether the element is exposed to an accessibility API. * @see aria-disabled. From 3c9bb3921899ce0a85a8ac17c4a07cf178d11b23 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 19 Aug 2022 13:55:57 +0200 Subject: [PATCH 24/35] Update html/index.d.ts Co-authored-by: Lyu, Wei-Da <36730922+jasonlyu123@users.noreply.github.com> --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 9fafa5943d4..fc791b7f35d 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -292,7 +292,7 @@ export interface AriaAttributes { * Indicates the entered value does not conform to the format expected by the application. * @see aria-errormessage. */ - 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling' | undefined | null; + 'aria-invalid'?: Booleanish | 'grammar' | 'spelling' | undefined | null; /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */ 'aria-keyshortcuts'?: string | undefined | null; /** From d6125903c77a923114d2fa32e4baf2218d6df357 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 19 Aug 2022 13:56:06 +0200 Subject: [PATCH 25/35] Update html/index.d.ts Co-authored-by: Lyu, Wei-Da <36730922+jasonlyu123@users.noreply.github.com> --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index fc791b7f35d..fc5498434ec 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -243,7 +243,7 @@ export interface AriaAttributes { */ 'aria-controls'?: string | undefined | null; /** Indicates the element that represents the current item within a container or set of related elements. */ - 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null; + 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time' | undefined | null; /** * Identifies the element (or elements) that describes the object. * @see aria-labelledby From 1dfc9eef7272768d9f53f043687892f3908283f0 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 19 Aug 2022 13:56:42 +0200 Subject: [PATCH 26/35] Update html/index.d.ts Co-authored-by: Lyu, Wei-Da <36730922+jasonlyu123@users.noreply.github.com> --- html/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/html/index.d.ts b/html/index.d.ts index fc5498434ec..59ab1705797 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -669,6 +669,7 @@ export interface FormHTMLAttributes extends HTMLAttributes { name?: string | undefined | null; novalidate?: boolean | undefined | null; target?: string | undefined | null; + rel?: string | undefined | null; } export interface HtmlHTMLAttributes extends HTMLAttributes { From 239e62b7aa0c2c9199ffb017e0dabc0c764bcc1f Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 19 Aug 2022 13:56:56 +0200 Subject: [PATCH 27/35] Update html/index.d.ts Co-authored-by: Lyu, Wei-Da <36730922+jasonlyu123@users.noreply.github.com> --- html/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/html/index.d.ts b/html/index.d.ts index 59ab1705797..3e806e3a111 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -591,6 +591,7 @@ export interface AreaHTMLAttributes extends HTMLAttributes { rel?: string | undefined | null; shape?: string | undefined | null; target?: string | undefined | null; + ping?: string | undefined | null; } export interface BaseHTMLAttributes extends HTMLAttributes { From 5d7c18fe6945f886610e223a2fb0eb3a795fd55c Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 22 Aug 2022 12:33:39 +0200 Subject: [PATCH 28/35] make autofocus and enterkeyhint global, use TS' ReferrerPolicy type --- html/index.d.ts | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index 3e806e3a111..f5711208c6d 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -467,12 +467,14 @@ export type AriaRole = export interface HTMLAttributes extends AriaAttributes, DOMAttributes { // Standard HTML Attributes - accesskey?: string | undefined | null; + accesskey?: string | undefined | null; + autofocus?: boolean | undefined | null; class?: string | undefined | null; contenteditable?: Booleanish | 'inherit' | undefined | null; contextmenu?: string | undefined | null; dir?: string | undefined | null; draggable?: Booleanish | undefined | null; + enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined | null; hidden?: boolean | undefined | null; id?: string | undefined | null; lang?: string | undefined | null; @@ -538,18 +540,6 @@ export interface HTMLAttributes extends AriaAttributes, D textContent?: string | undefined | null; } - -export type HTMLAttributeReferrerPolicy = - | '' - | 'no-referrer' - | 'no-referrer-when-downgrade' - | 'origin' - | 'origin-when-cross-origin' - | 'same-origin' - | 'strict-origin' - | 'strict-origin-when-cross-origin' - | 'unsafe-url'; - export type HTMLAttributeAnchorTarget = | '_self' | '_blank' @@ -566,7 +556,7 @@ export interface AnchorHTMLAttributes extends HTMLAttributes rel?: string | undefined | null; target?: HTMLAttributeAnchorTarget | undefined | null; type?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; // SvelteKit 'sveltekit:noscroll'?: true | undefined | null; @@ -587,7 +577,7 @@ export interface AreaHTMLAttributes extends HTMLAttributes { href?: string | undefined | null; hreflang?: string | undefined | null; media?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; rel?: string | undefined | null; shape?: string | undefined | null; target?: string | undefined | null; @@ -604,7 +594,6 @@ export interface BlockquoteHTMLAttributes extends HTMLAttributes { - autofocus?: boolean | undefined | null; disabled?: boolean | undefined | null; form?: string | undefined | null; formaction?: string | undefined | null; @@ -690,7 +679,7 @@ export interface IframeHTMLAttributes extends HTMLAttributes /** @deprecated */ marginwidth?: number | undefined | null; name?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; sandbox?: string | undefined | null; /** @deprecated */ scrolling?: string | undefined | null; @@ -707,7 +696,7 @@ export interface ImgHTMLAttributes extends HTMLAttributes { height?: number | string | undefined | null; ismap?: boolean | undefined | null; loading?: 'eager' | 'lazy' | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; sizes?: string | undefined | null; src?: string | undefined | null; srcset?: string | undefined | null; @@ -749,12 +738,10 @@ export interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined | null; alt?: string | undefined | null; autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; capture?: boolean | 'user' | 'environment' | undefined | null; // https://www.w3.org/TR/html-media-capture/#the-capture-attribute checked?: boolean | undefined | null; crossorigin?: string | undefined | null; disabled?: boolean | undefined | null; - enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send' | undefined | null; form?: string | undefined | null; formaction?: string | undefined | null; formenctype?: string | undefined | null; @@ -789,7 +776,6 @@ export interface InputHTMLAttributes extends HTMLAttributes { } export interface KeygenHTMLAttributes extends HTMLAttributes { - autofocus?: boolean | undefined | null; challenge?: string | undefined | null; disabled?: boolean | undefined | null; form?: string | undefined | null; @@ -816,7 +802,7 @@ export interface LinkHTMLAttributes extends HTMLAttributes { media?: string | undefined | null; imagesrcset?: string | undefined | null; imagesizes?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; rel?: string | undefined | null; sizes?: string | undefined | null; type?: string | undefined | null; @@ -949,14 +935,13 @@ export interface ScriptHTMLAttributes extends HTMLAttributes integrity?: string | undefined | null; nomodule?: boolean | undefined | null; nonce?: string | undefined | null; - referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null; + referrerpolicy?: ReferrerPolicy | undefined | null; src?: string | undefined | null; type?: string | undefined | null; } export interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; disabled?: boolean | undefined | null; form?: string | undefined | null; multiple?: boolean | undefined | null; @@ -999,7 +984,6 @@ export interface TableHTMLAttributes extends HTMLAttributes { export interface TextareaHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined | null; - autofocus?: boolean | undefined | null; cols?: number | undefined | null; dirname?: string | undefined | null; disabled?: boolean | undefined | null; @@ -1381,7 +1365,6 @@ export interface SVGAttributes extends AriaAttributes, DO export interface WebViewHTMLAttributes extends HTMLAttributes { allowfullscreen?: boolean | undefined | null; allowpopups?: boolean | undefined | null; - autofocus?: boolean | undefined | null; autosize?: boolean | undefined | null; blinkfeatures?: string | undefined | null; disableblinkfeatures?: string | undefined | null; From 2d262d381736dc4de7887411c62e74186d0ceb18 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 22 Aug 2022 13:24:10 +0200 Subject: [PATCH 29/35] XHTMLAttributes -> HTMLXAttributes --- html/index.d.ts | 202 ++++++++++++++++++++++++------------------------ 1 file changed, 101 insertions(+), 101 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index f5711208c6d..a3f8a5094bb 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -547,7 +547,7 @@ export type HTMLAttributeAnchorTarget = | '_top' | (string & {}); -export interface AnchorHTMLAttributes extends HTMLAttributes { +export interface HTMLAnchorAttributes extends HTMLAttributes { download?: any; href?: string | undefined | null; hreflang?: string | undefined | null; @@ -568,9 +568,9 @@ export interface AnchorHTMLAttributes extends HTMLAttributes 'sapper:prefetch'?: true | undefined | null; } -export interface AudioHTMLAttributes extends MediaHTMLAttributes {} +export interface HTMLAudioAttributes extends HTMLMediaAttributes {} -export interface AreaHTMLAttributes extends HTMLAttributes { +export interface HTMLAreaAttributes extends HTMLAttributes { alt?: string | undefined | null; coords?: string | undefined | null; download?: any; @@ -584,16 +584,16 @@ export interface AreaHTMLAttributes extends HTMLAttributes { ping?: string | undefined | null; } -export interface BaseHTMLAttributes extends HTMLAttributes { +export interface HTMLBaseAttributes extends HTMLAttributes { href?: string | undefined | null; target?: string | undefined | null; } -export interface BlockquoteHTMLAttributes extends HTMLAttributes { +export interface HTMLBlockquoteAttributes extends HTMLAttributes { cite?: string | undefined | null; } -export interface ButtonHTMLAttributes extends HTMLAttributes { +export interface HTMLButtonAttributes extends HTMLAttributes { disabled?: boolean | undefined | null; form?: string | undefined | null; formaction?: string | undefined | null; @@ -606,51 +606,51 @@ export interface ButtonHTMLAttributes extends HTMLAttributes value?: string | string[] | number | undefined | null; } -export interface CanvasHTMLAttributes extends HTMLAttributes { +export interface HTMLCanvasAttributes extends HTMLAttributes { height?: number | string | undefined | null; width?: number | string | undefined | null; } -export interface ColHTMLAttributes extends HTMLAttributes { +export interface HTMLColAttributes extends HTMLAttributes { span?: number | undefined | null; width?: number | string | undefined | null; } -export interface ColgroupHTMLAttributes extends HTMLAttributes { +export interface HTMLColgroupAttributes extends HTMLAttributes { span?: number | undefined | null; } -export interface DataHTMLAttributes extends HTMLAttributes { +export interface HTMLDataAttributes extends HTMLAttributes { value?: string | string[] | number | undefined | null; } -export interface DetailsHTMLAttributes extends HTMLAttributes { +export interface HTMLDetailsAttributes extends HTMLAttributes { open?: boolean | undefined | null; } -export interface DelHTMLAttributes extends HTMLAttributes { +export interface HTMLDelAttributes extends HTMLAttributes { cite?: string | undefined | null; datetime?: string | undefined | null; } -export interface DialogHTMLAttributes extends HTMLAttributes { +export interface HTMLDialogAttributes extends HTMLAttributes { open?: boolean | undefined | null; } -export interface EmbedHTMLAttributes extends HTMLAttributes { +export interface HTMLEmbedAttributes extends HTMLAttributes { height?: number | string | undefined | null; src?: string | undefined | null; type?: string | undefined | null; width?: number | string | undefined | null; } -export interface FieldsetHTMLAttributes extends HTMLAttributes { +export interface HTMLFieldsetAttributes extends HTMLAttributes { disabled?: boolean | undefined | null; form?: string | undefined | null; name?: string | undefined | null; } -export interface FormHTMLAttributes extends HTMLAttributes { +export interface HTMLFormAttributes extends HTMLAttributes { acceptcharset?: string | undefined | null; action?: string | undefined | null; autocomplete?: string | undefined | null; @@ -662,11 +662,11 @@ export interface FormHTMLAttributes extends HTMLAttributes { rel?: string | undefined | null; } -export interface HtmlHTMLAttributes extends HTMLAttributes { +export interface HTMLHtmlAttributes extends HTMLAttributes { manifest?: string | undefined | null; } -export interface IframeHTMLAttributes extends HTMLAttributes { +export interface HTMLIframeAttributes extends HTMLAttributes { allow?: string | undefined | null; allowfullscreen?: boolean | undefined | null; allowtransparency?: boolean | undefined | null; @@ -689,7 +689,7 @@ export interface IframeHTMLAttributes extends HTMLAttributes width?: number | string | undefined | null; } -export interface ImgHTMLAttributes extends HTMLAttributes { +export interface HTMLImgAttributes extends HTMLAttributes { alt?: string | undefined | null; crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null; decoding?: 'async' | 'auto' | 'sync' | undefined | null; @@ -704,7 +704,7 @@ export interface ImgHTMLAttributes extends HTMLAttributes { width?: number | string | undefined | null; } -export interface InsHTMLAttributes extends HTMLAttributes { +export interface HTMLInsAttributes extends HTMLAttributes { cite?: string | undefined | null; datetime?: string | undefined | null; } @@ -734,7 +734,7 @@ export type HTMLInputTypeAttribute = | 'week' | (string & {}); -export interface InputHTMLAttributes extends HTMLAttributes { +export interface HTMLInputAttributes extends HTMLAttributes { accept?: string | undefined | null; alt?: string | undefined | null; autocomplete?: string | undefined | null; @@ -775,7 +775,7 @@ export interface InputHTMLAttributes extends HTMLAttributes { indeterminate?: boolean | undefined | null; } -export interface KeygenHTMLAttributes extends HTMLAttributes { +export interface HTMLKeygenAttributes extends HTMLAttributes { challenge?: string | undefined | null; disabled?: boolean | undefined | null; form?: string | undefined | null; @@ -784,16 +784,16 @@ export interface KeygenHTMLAttributes extends HTMLAttributes { name?: string | undefined | null; } -export interface LabelHTMLAttributes extends HTMLAttributes { +export interface HTMLLabelAttributes extends HTMLAttributes { form?: string | undefined | null; for?: string | undefined | null; } -export interface LiHTMLAttributes extends HTMLAttributes { +export interface HTMLLiAttributes extends HTMLAttributes { value?: string | string[] | number | undefined | null; } -export interface LinkHTMLAttributes extends HTMLAttributes { +export interface HTMLLinkAttributes extends HTMLAttributes { as?: string | undefined | null; crossorigin?: string | undefined | null; href?: string | undefined | null; @@ -809,15 +809,15 @@ export interface LinkHTMLAttributes extends HTMLAttributes { charset?: string | undefined | null; } -export interface MapHTMLAttributes extends HTMLAttributes { +export interface HTMLMapAttributes extends HTMLAttributes { name?: string | undefined | null; } -export interface MenuHTMLAttributes extends HTMLAttributes { +export interface HTMLMenuAttributes extends HTMLAttributes { type?: string | undefined | null; } -export interface MediaHTMLAttributes extends HTMLAttributes { +export interface HTMLMediaAttributes extends HTMLAttributes { autoplay?: boolean | undefined | null; controls?: boolean | undefined | null; controlslist?: 'nodownload' | 'nofullscreen' | 'noplaybackrate' | 'noremoteplayback' | (string & {}) | undefined | null; @@ -854,7 +854,7 @@ export interface MediaHTMLAttributes extends HTMLAtt paused?: boolean | undefined | null; } -export interface MetaHTMLAttributes extends HTMLAttributes { +export interface HTMLMetaAttributes extends HTMLAttributes { charSet?: string | undefined | null; content?: string | undefined | null; httpequiv?: string | undefined | null; @@ -862,7 +862,7 @@ export interface MetaHTMLAttributes extends HTMLAttributes { media?: string | undefined | null; } -export interface MeterHTMLAttributes extends HTMLAttributes { +export interface HTMLMeterAttributes extends HTMLAttributes { form?: string | undefined | null; high?: number | undefined | null; low?: number | undefined | null; @@ -872,11 +872,11 @@ export interface MeterHTMLAttributes extends HTMLAttributes { value?: string | string[] | number | undefined | null; } -export interface QuoteHTMLAttributes extends HTMLAttributes { +export interface HTMLQuoteAttributes extends HTMLAttributes { cite?: string | undefined | null; } -export interface ObjectHTMLAttributes extends HTMLAttributes { +export interface HTMLObjectAttributes extends HTMLAttributes { classid?: string | undefined | null; data?: string | undefined | null; form?: string | undefined | null; @@ -888,45 +888,45 @@ export interface ObjectHTMLAttributes extends HTMLAttributes wmode?: string | undefined | null; } -export interface OlHTMLAttributes extends HTMLAttributes { +export interface HTMLOlAttributes extends HTMLAttributes { reversed?: boolean | undefined | null; start?: number | undefined | null; type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null; } -export interface OptgroupHTMLAttributes extends HTMLAttributes { +export interface HTMLOptgroupAttributes extends HTMLAttributes { disabled?: boolean | undefined | null; label?: string | undefined | null; } -export interface OptionHTMLAttributes extends HTMLAttributes { +export interface HTMLOptionAttributes extends HTMLAttributes { disabled?: boolean | undefined | null; label?: string | undefined | null; selected?: boolean | undefined | null; value?: any; } -export interface OutputHTMLAttributes extends HTMLAttributes { +export interface HTMLOutputAttributes extends HTMLAttributes { form?: string | undefined | null; for?: string | undefined | null; name?: string | undefined | null; } -export interface ParamHTMLAttributes extends HTMLAttributes { +export interface HTMLParamAttributes extends HTMLAttributes { name?: string | undefined | null; value?: string | string[] | number | undefined | null; } -export interface ProgressHTMLAttributes extends HTMLAttributes { +export interface HTMLProgressAttributes extends HTMLAttributes { max?: number | string | undefined | null; value?: string | string[] | number | undefined | null; } -export interface SlotHTMLAttributes extends HTMLAttributes { +export interface HTMLSlotAttributes extends HTMLAttributes { name?: string | undefined | null; } -export interface ScriptHTMLAttributes extends HTMLAttributes { +export interface HTMLScriptAttributes extends HTMLAttributes { async?: boolean | undefined | null; /** @deprecated */ charset?: string | undefined | null; @@ -940,7 +940,7 @@ export interface ScriptHTMLAttributes extends HTMLAttributes type?: string | undefined | null; } -export interface SelectHTMLAttributes extends HTMLAttributes { +export interface HTMLSelectAttributes extends HTMLAttributes { autocomplete?: string | undefined | null; disabled?: boolean | undefined | null; form?: string | undefined | null; @@ -953,7 +953,7 @@ export interface SelectHTMLAttributes extends HTMLAttributes 'on:change'?: ChangeEventHandler | undefined | null; } -export interface SourceHTMLAttributes extends HTMLAttributes { +export interface HTMLSourceAttributes extends HTMLAttributes { height?: number | string | undefined | null; media?: string | undefined | null; sizes?: string | undefined | null; @@ -963,14 +963,14 @@ export interface SourceHTMLAttributes extends HTMLAttributes width?: number | string | undefined | null; } -export interface StyleHTMLAttributes extends HTMLAttributes { +export interface HTMLStyleAttributes extends HTMLAttributes { media?: string | undefined | null; nonce?: string | undefined | null; scoped?: boolean | undefined | null; type?: string | undefined | null; } -export interface TableHTMLAttributes extends HTMLAttributes { +export interface HTMLTableAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | undefined | null; bgcolor?: string | undefined | null; border?: number | undefined | null; @@ -982,7 +982,7 @@ export interface TableHTMLAttributes extends HTMLAttributes { width?: number | string | undefined | null; } -export interface TextareaHTMLAttributes extends HTMLAttributes { +export interface HTMLTextareaAttributes extends HTMLAttributes { autocomplete?: string | undefined | null; cols?: number | undefined | null; dirname?: string | undefined | null; @@ -1001,7 +1001,7 @@ export interface TextareaHTMLAttributes extends HTMLAttributes | undefined | null; } -export interface TdHTMLAttributes extends HTMLAttributes { +export interface HTMLTdAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null; colspan?: number | undefined | null; headers?: string | undefined | null; @@ -1013,7 +1013,7 @@ export interface TdHTMLAttributes extends HTMLAttributes { valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined | null; } -export interface ThHTMLAttributes extends HTMLAttributes { +export interface HTMLThAttributes extends HTMLAttributes { align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null; colspan?: number | undefined | null; headers?: string | undefined | null; @@ -1022,11 +1022,11 @@ export interface ThHTMLAttributes extends HTMLAttributes { abbr?: string | undefined | null; } -export interface TimeHTMLAttributes extends HTMLAttributes { +export interface HTMLTimeAttributes extends HTMLAttributes { datetime?: string | undefined | null; } -export interface TrackHTMLAttributes extends HTMLAttributes { +export interface HTMLTrackAttributes extends HTMLAttributes { default?: boolean | undefined | null; kind?: string | undefined | null; label?: string | undefined | null; @@ -1034,7 +1034,7 @@ export interface TrackHTMLAttributes extends HTMLAttributes { srclang?: string | undefined | null; } -export interface VideoHTMLAttributes extends MediaHTMLAttributes { +export interface HTMLVideoAttributes extends HTMLMediaAttributes { height?: number | string | undefined | null; playsinline?: boolean | undefined | null; poster?: string | undefined | null; @@ -1362,7 +1362,7 @@ export interface SVGAttributes extends AriaAttributes, DO zoomAndPan?: string | undefined | null; } -export interface WebViewHTMLAttributes extends HTMLAttributes { +export interface HTMLWebViewAttributes extends HTMLAttributes { allowfullscreen?: boolean | undefined | null; allowpopups?: boolean | undefined | null; autosize?: boolean | undefined | null; @@ -1386,45 +1386,45 @@ export interface WebViewHTMLAttributes extends HTMLAttributes { // ---------------------------------------------------------------------- export interface SvelteHTMLElements { - a: AnchorHTMLAttributes; + a: HTMLAnchorAttributes; abbr: HTMLAttributes; address: HTMLAttributes; - area: AreaHTMLAttributes; + area: HTMLAreaAttributes; article: HTMLAttributes; aside: HTMLAttributes; - audio: AudioHTMLAttributes; + audio: HTMLAudioAttributes; b: HTMLAttributes; - base: BaseHTMLAttributes; + base: HTMLBaseAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; big: HTMLAttributes; - blockquote: BlockquoteHTMLAttributes; + blockquote: HTMLBlockquoteAttributes; body: HTMLAttributes; br: HTMLAttributes; - button: ButtonHTMLAttributes; - canvas: CanvasHTMLAttributes; + button: HTMLButtonAttributes; + canvas: HTMLCanvasAttributes; caption: HTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; - col: ColHTMLAttributes; - colgroup: ColgroupHTMLAttributes; - data: DataHTMLAttributes; + col: HTMLColAttributes; + colgroup: HTMLColgroupAttributes; + data: HTMLDataAttributes; datalist: HTMLAttributes; dd: HTMLAttributes; - del: DelHTMLAttributes; - details: DetailsHTMLAttributes; + del: HTMLDelAttributes; + details: HTMLDetailsAttributes; dfn: HTMLAttributes; - dialog: DialogHTMLAttributes; + dialog: HTMLDialogAttributes; div: HTMLAttributes; dl: HTMLAttributes; dt: HTMLAttributes; em: HTMLAttributes; - embed: EmbedHTMLAttributes; - fieldset: FieldsetHTMLAttributes; + embed: HTMLEmbedAttributes; + fieldset: HTMLFieldsetAttributes; figcaption: HTMLAttributes; figure: HTMLAttributes; footer: HTMLAttributes; - form: FormHTMLAttributes; + form: HTMLFormAttributes; h1: HTMLAttributes; h2: HTMLAttributes; h3: HTMLAttributes; @@ -1435,73 +1435,73 @@ export interface SvelteHTMLElements { header: HTMLAttributes; hgroup: HTMLAttributes; hr: HTMLAttributes; - html: HtmlHTMLAttributes; + html: HTMLHtmlAttributes; i: HTMLAttributes; - iframe: IframeHTMLAttributes; - img: ImgHTMLAttributes; - input: InputHTMLAttributes; - ins: InsHTMLAttributes; + iframe: HTMLIframeAttributes; + img: HTMLImgAttributes; + input: HTMLInputAttributes; + ins: HTMLInsAttributes; kbd: HTMLAttributes; - keygen: KeygenHTMLAttributes; - label: LabelHTMLAttributes; + keygen: HTMLKeygenAttributes; + label: HTMLLabelAttributes; legend: HTMLAttributes; - li: LiHTMLAttributes; - link: LinkHTMLAttributes; + li: HTMLLiAttributes; + link: HTMLLinkAttributes; main: HTMLAttributes; - map: MapHTMLAttributes; + map: HTMLMapAttributes; mark: HTMLAttributes; - menu: MenuHTMLAttributes; + menu: HTMLMenuAttributes; menuitem: HTMLAttributes; - meta: MetaHTMLAttributes; - meter: MeterHTMLAttributes; + meta: HTMLMetaAttributes; + meter: HTMLMeterAttributes; nav: HTMLAttributes; noscript: HTMLAttributes; - object: ObjectHTMLAttributes; - ol: OlHTMLAttributes; - optgroup: OptgroupHTMLAttributes; - option: OptionHTMLAttributes; - output: OutputHTMLAttributes; + object: HTMLObjectAttributes; + ol: HTMLOlAttributes; + optgroup: HTMLOptgroupAttributes; + option: HTMLOptionAttributes; + output: HTMLOutputAttributes; p: HTMLAttributes; - param: ParamHTMLAttributes; + param: HTMLParamAttributes; picture: HTMLAttributes; pre: HTMLAttributes; - progress: ProgressHTMLAttributes; - q: QuoteHTMLAttributes; + progress: HTMLProgressAttributes; + q: HTMLQuoteAttributes; rp: HTMLAttributes; rt: HTMLAttributes; ruby: HTMLAttributes; s: HTMLAttributes; samp: HTMLAttributes; - slot: SlotHTMLAttributes; - script: ScriptHTMLAttributes; + slot: HTMLSlotAttributes; + script: HTMLScriptAttributes; section: HTMLAttributes; - select: SelectHTMLAttributes; + select: HTMLSelectAttributes; small: HTMLAttributes; - source: SourceHTMLAttributes; + source: HTMLSourceAttributes; span: HTMLAttributes; strong: HTMLAttributes; - style: StyleHTMLAttributes; + style: HTMLStyleAttributes; sub: HTMLAttributes; summary: HTMLAttributes; sup: HTMLAttributes; - table: TableHTMLAttributes; + table: HTMLTableAttributes; template: HTMLAttributes; tbody: HTMLAttributes; - td: TdHTMLAttributes; - textarea: TextareaHTMLAttributes; + td: HTMLTdAttributes; + textarea: HTMLTextareaAttributes; tfoot: HTMLAttributes; - th: ThHTMLAttributes; + th: HTMLThAttributes; thead: HTMLAttributes; - time: TimeHTMLAttributes; + time: HTMLTimeAttributes; title: HTMLAttributes; tr: HTMLAttributes; - track: TrackHTMLAttributes; + track: HTMLTrackAttributes; u: HTMLAttributes; ul: HTMLAttributes; "var": HTMLAttributes; - video: VideoHTMLAttributes; + video: HTMLVideoAttributes; wbr: HTMLAttributes; - webview: WebViewHTMLAttributes; + webview: HTMLWebViewAttributes; // SVG svg: SVGAttributes; From 5d4de2e841444bd7c0b8b1b555407b299dcae10d Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 22 Aug 2022 13:56:28 +0200 Subject: [PATCH 30/35] type bind:X explicitly --- html/index.d.ts | 60 +++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index a3f8a5094bb..3438ac4d6c9 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -529,15 +529,14 @@ export interface HTMLAttributes extends AriaAttributes, D */ is?: string | undefined | null; - // Svelte bind:x /** * Elements with the contenteditable attribute support innerHTML and textContent bindings. */ - innerHTML?: string | undefined | null; + 'bind:innerHTML'?: string | undefined | null; /** * Elements with the contenteditable attribute support innerHTML and textContent bindings. */ - textContent?: string | undefined | null; + 'bind:textContent'?: string | undefined | null; } export type HTMLAttributeAnchorTarget = @@ -626,6 +625,8 @@ export interface HTMLDataAttributes extends HTMLAttributes { export interface HTMLDetailsAttributes extends HTMLAttributes { open?: boolean | undefined | null; + + 'bind:open'?: boolean | undefined | null; } export interface HTMLDelAttributes extends HTMLAttributes { @@ -769,10 +770,11 @@ export interface HTMLInputAttributes extends HTMLAttributes { 'on:change'?: ChangeEventHandler | undefined | null; - // Svelte bind:x - group?: any | undefined | null; - files?: FileList | undefined | null; - indeterminate?: boolean | undefined | null; + 'bind:checked'?: boolean | undefined | null; + 'bind:value'?: any; + 'bind:group'?: any | undefined | null; + 'bind:files'?: FileList | undefined | null; + 'bind:indeterminate'?: boolean | undefined | null; } export interface HTMLKeygenAttributes extends HTMLAttributes { @@ -836,22 +838,23 @@ export interface HTMLMediaAttributes extends HTMLAtt */ volume?: number | undefined | null; - // Svelte bind:x - readonly duration?: number | undefined | null; - readonly buffered?: SvelteMediaTimeRange[] | undefined | null; - readonly played?: SvelteMediaTimeRange[] | undefined | null; - readonly seekable?: SvelteMediaTimeRange[] | undefined | null; - readonly seeking?: boolean | undefined | null; - readonly ended?: boolean | undefined | null; + readonly 'bind:duration'?: number | undefined | null; + readonly 'bind:buffered'?: SvelteMediaTimeRange[] | undefined | null; + readonly 'bind:played'?: SvelteMediaTimeRange[] | undefined | null; + readonly 'bind:seekable'?: SvelteMediaTimeRange[] | undefined | null; + readonly 'bind:seeking'?: boolean | undefined | null; + readonly 'bind:ended'?: boolean | undefined | null; + 'bind:muted'?: boolean | undefined | null; + 'bind:volume'?: number | undefined | null; /** * the current playback time in the video, in seconds */ - currentTime?: number | undefined | null; + 'bind:currentTime'?: number | undefined | null; /** * how fast or slow to play the video, where 1 is 'normal' */ - playbackRate?: number | undefined | null; - paused?: boolean | undefined | null; + 'bind:playbackRate'?: number | undefined | null; + 'bind:paused'?: boolean | undefined | null; } export interface HTMLMetaAttributes extends HTMLAttributes { @@ -951,6 +954,8 @@ export interface HTMLSelectAttributes extends HTMLAttributes value?: any; 'on:change'?: ChangeEventHandler | undefined | null; + + 'bind:value'?: any; } export interface HTMLSourceAttributes extends HTMLAttributes { @@ -999,6 +1004,8 @@ export interface HTMLTextareaAttributes extends HTMLAttributes | undefined | null; + + 'bind:value'?: any; } export interface HTMLTdAttributes extends HTMLAttributes { @@ -1042,9 +1049,8 @@ export interface HTMLVideoAttributes extends HTMLMediaAttributes { - readonly innerWidth?: Window['innerWidth'] | undefined | null; - readonly innerHeight?: Window['innerHeight'] | undefined | null; - readonly outerWidth?: Window['outerWidth'] | undefined | null; - readonly outerHeight?: Window['outerHeight'] | undefined | null; - scrollX?: Window['scrollX'] | undefined | null; - scrollY?: Window['scrollY'] | undefined | null; - readonly online?: Window['navigator']['onLine'] | undefined | null; + readonly 'bind:innerWidth'?: Window['innerWidth'] | undefined | null; + readonly 'bind:innerHeight'?: Window['innerHeight'] | undefined | null; + readonly 'bind:outerWidth'?: Window['outerWidth'] | undefined | null; + readonly 'bind:outerHeight'?: Window['outerHeight'] | undefined | null; + 'bind:scrollX'?: Window['scrollX'] | undefined | null; + 'bind:scrollY'?: Window['scrollY'] | undefined | null; + readonly 'bind:online'?: Window['navigator']['onLine'] | undefined | null; // SvelteKit 'on:sveltekit:start'?: EventHandler | undefined | null; From 116717a3f6baa68319ab1d18d34bdba292bd0460 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Fri, 26 Aug 2022 13:16:36 +0200 Subject: [PATCH 31/35] Update html/index.d.ts Co-authored-by: Ignatius Bagus --- html/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/index.d.ts b/html/index.d.ts index 3438ac4d6c9..ca2b2cda214 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -1504,7 +1504,7 @@ export interface SvelteHTMLElements { track: HTMLTrackAttributes; u: HTMLAttributes; ul: HTMLAttributes; - "var": HTMLAttributes; + var: HTMLAttributes; video: HTMLVideoAttributes; wbr: HTMLAttributes; webview: HTMLWebViewAttributes; From f79b79f09fda2de004655d3c2b78fe120b5691a8 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Sun, 11 Dec 2022 20:32:01 +0100 Subject: [PATCH 32/35] update --- html/index.d.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/html/index.d.ts b/html/index.d.ts index ca2b2cda214..2534bfaf40d 100644 --- a/html/index.d.ts +++ b/html/index.d.ts @@ -86,7 +86,7 @@ export interface DOMAttributes { 'on:reset'?: FormEventHandler | undefined | null; 'on:submit'?: EventHandler | undefined | null; // TODO make this SubmitEvent once we require TS>=4.4 'on:invalid'?: EventHandler | undefined | null; - + 'on:formdata'?: EventHandler | undefined | null; // TODO make this FormDataEvent once we require TS>=4.4 // Image Events 'on:load'?: EventHandler | undefined | null; @@ -537,6 +537,12 @@ export interface HTMLAttributes extends AriaAttributes, D * Elements with the contenteditable attribute support innerHTML and textContent bindings. */ 'bind:textContent'?: string | undefined | null; + + // SvelteKit + 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null; + 'data-sveltekit-preload-code'?: true | '' | 'eager' | 'viewport' | 'hover' | 'tap' | 'off' | undefined | null; + 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null; + 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null; } export type HTMLAttributeAnchorTarget = @@ -557,11 +563,6 @@ export interface HTMLAnchorAttributes extends HTMLAttributes type?: string | undefined | null; referrerpolicy?: ReferrerPolicy | undefined | null; - // SvelteKit - 'sveltekit:noscroll'?: true | undefined | null; - 'sveltekit:prefetch'?: true | undefined | null; - 'sveltekit:reload'?: true | undefined | null; - // Sapper 'sapper:noscroll'?: true | undefined | null; 'sapper:prefetch'?: true | undefined | null; From 17e062b7e2336f0f1d0615bfd99abe5c026795ce Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Sun, 11 Dec 2022 20:36:42 +0100 Subject: [PATCH 33/35] html->elements --- {html => elements}/index.d.ts | 0 {html => elements}/package.json | 0 package.json | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename {html => elements}/index.d.ts (100%) rename {html => elements}/package.json (100%) diff --git a/html/index.d.ts b/elements/index.d.ts similarity index 100% rename from html/index.d.ts rename to elements/index.d.ts diff --git a/html/package.json b/elements/package.json similarity index 100% rename from html/package.json rename to elements/package.json diff --git a/package.json b/package.json index 99cf889ae54..7ef1f21c06e 100644 --- a/package.json +++ b/package.json @@ -76,8 +76,8 @@ "import": "./transition/index.mjs", "require": "./transition/index.js" }, - "./html": { - "types": "./html/index.d.ts" + "./elements": { + "types": "./elements/index.d.ts" }, "./ssr": { "types": "./types/runtime/index.d.ts", From a50e2a8fc84684e46b6ef1c949f9cdefca8e1eba Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Sun, 11 Dec 2022 20:39:08 +0100 Subject: [PATCH 34/35] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e5136d0f9..a92cb4472cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Svelte changelog +## Unreleased + +* Add `svelte/elements` for HTML/Svelte typings ([#7649](https://github.com/sveltejs/svelte/pull/7649)) + ## 3.54.0 * Pass `options.direction` argument to custom transition functions ([#3918](https://github.com/sveltejs/svelte/issues/3918)) From 37e9e4b41ccd2696d8c6efd0d9392a1237b0fb33 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Sun, 11 Dec 2022 20:39:54 +0100 Subject: [PATCH 35/35] fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dc05384acce..fa7a97cbfdf 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "easing", "motion", "action", - "html", + "elements", "README.md" ], "exports": {