mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
1474 lines
53 KiB
TypeScript
1474 lines
53 KiB
TypeScript
/// <reference lib="dom" />
|
||
/* eslint @typescript-eslint/no-unused-vars: off */
|
||
/**
|
||
* Adapted from babel-plugin-react-html-attrs's TypeScript definition from DefinitelyTyped.
|
||
* @see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/babel-plugin-react-html-attrs/index.d.ts
|
||
*
|
||
* and
|
||
*
|
||
* Adapted from React’s TypeScript definition from DefinitelyTyped.
|
||
* @see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts
|
||
*/
|
||
declare namespace astroHTML.JSX {
|
||
export type Child = Node | Node[] | string | number | boolean | null | undefined | unknown;
|
||
export type Children = Child | Child[];
|
||
|
||
interface ElementChildrenAttribute {
|
||
// eslint-disable-next-line @typescript-eslint/ban-types
|
||
children: {};
|
||
}
|
||
|
||
interface IntrinsicAttributes extends AstroBuiltinProps, AstroBuiltinAttributes {
|
||
slot?: string;
|
||
children?: Children;
|
||
}
|
||
|
||
type AstroBuiltinProps = import('./dist/@types/astro.js').AstroBuiltinProps;
|
||
type AstroBuiltinAttributes = import('./dist/@types/astro.js').AstroBuiltinAttributes;
|
||
type AstroDefineVarsAttribute = import('./dist/@types/astro.js').AstroDefineVarsAttribute;
|
||
type AstroScriptAttributes = import('./dist/@types/astro.js').AstroScriptAttributes &
|
||
AstroDefineVarsAttribute;
|
||
type AstroStyleAttributes = import('./dist/@types/astro.js').AstroStyleAttributes &
|
||
AstroDefineVarsAttribute;
|
||
|
||
// This is an unfortunate use of `any`, but unfortunately we can't make a type that works for every framework
|
||
// without importing every single framework's types (which comes with its own set of problems).
|
||
// Using any isn't that bad here however as in Astro files the return type of a component isn't relevant in most cases
|
||
type Element = HTMLElement | any;
|
||
|
||
interface DOMAttributes {
|
||
children?: Children;
|
||
|
||
// Clipboard Events
|
||
oncopy?: string | undefined | null;
|
||
oncut?: string | undefined | null;
|
||
onpaste?: string | undefined | null;
|
||
|
||
// Composition Events
|
||
oncompositionend?: string | undefined | null;
|
||
oncompositionstart?: string | undefined | null;
|
||
oncompositionupdate?: string | undefined | null;
|
||
|
||
// Focus Events
|
||
onfocus?: string | undefined | null;
|
||
onfocusin?: string | undefined | null;
|
||
onfocusout?: string | undefined | null;
|
||
onblur?: string | undefined | null;
|
||
|
||
// Form Events
|
||
onchange?: string | undefined | null;
|
||
oninput?: string | undefined | null;
|
||
onreset?: string | undefined | null;
|
||
onsubmit?: string | undefined | null;
|
||
oninvalid?: string | undefined | null;
|
||
onbeforeinput?: string | undefined | null;
|
||
|
||
// Image Events
|
||
onload?: string | undefined | null;
|
||
onerror?: string | undefined | null; // also a Media Event
|
||
|
||
// Detail Events
|
||
ontoggle?: string | undefined | null;
|
||
|
||
// Keyboard Events
|
||
onkeydown?: string | undefined | null;
|
||
onkeypress?: string | undefined | null;
|
||
onkeyup?: string | undefined | null;
|
||
|
||
// Media Events
|
||
onabort?: string | undefined | null;
|
||
oncanplay?: string | undefined | null;
|
||
oncanplaythrough?: string | undefined | null;
|
||
oncuechange?: string | undefined | null;
|
||
ondurationchange?: string | undefined | null;
|
||
onemptied?: string | undefined | null;
|
||
onencrypted?: string | undefined | null;
|
||
onended?: string | undefined | null;
|
||
onloadeddata?: string | undefined | null;
|
||
onloadedmetadata?: string | undefined | null;
|
||
onloadstart?: string | undefined | null;
|
||
onpause?: string | undefined | null;
|
||
onplay?: string | undefined | null;
|
||
onplaying?: string | undefined | null;
|
||
onprogress?: string | undefined | null;
|
||
onratechange?: string | undefined | null;
|
||
onseeked?: string | undefined | null;
|
||
onseeking?: string | undefined | null;
|
||
onstalled?: string | undefined | null;
|
||
onsuspend?: string | undefined | null;
|
||
ontimeupdate?: string | undefined | null;
|
||
onvolumechange?: string | undefined | null;
|
||
onwaiting?: string | undefined | null;
|
||
|
||
// MouseEvents
|
||
onauxclick?: string | undefined | null;
|
||
onclick?: string | undefined | null;
|
||
oncontextmenu?: string | undefined | null;
|
||
ondblclick?: string | undefined | null;
|
||
ondrag?: string | undefined | null;
|
||
ondragend?: string | undefined | null;
|
||
ondragenter?: string | undefined | null;
|
||
ondragexit?: string | undefined | null;
|
||
ondragleave?: string | undefined | null;
|
||
ondragover?: string | undefined | null;
|
||
ondragstart?: string | undefined | null;
|
||
ondrop?: string | undefined | null;
|
||
onmousedown?: string | undefined | null;
|
||
onmouseenter?: string | undefined | null;
|
||
onmouseleave?: string | undefined | null;
|
||
onmousemove?: string | undefined | null;
|
||
onmouseout?: string | undefined | null;
|
||
onmouseover?: string | undefined | null;
|
||
onmouseup?: string | undefined | null;
|
||
|
||
// Selection Events
|
||
onselect?: string | undefined | null;
|
||
onselectionchange?: string | undefined | null;
|
||
onselectstart?: string | undefined | null;
|
||
|
||
// Touch Events
|
||
ontouchcancel?: string | undefined | null;
|
||
ontouchend?: string | undefined | null;
|
||
ontouchmove?: string | undefined | null;
|
||
ontouchstart?: string | undefined | null;
|
||
|
||
// Pointer Events
|
||
ongotpointercapture?: string | undefined | null;
|
||
onpointercancel?: string | undefined | null;
|
||
onpointerdown?: string | undefined | null;
|
||
onpointerenter?: string | undefined | null;
|
||
onpointerleave?: string | undefined | null;
|
||
onpointermove?: string | undefined | null;
|
||
onpointerout?: string | undefined | null;
|
||
onpointerover?: string | undefined | null;
|
||
onpointerup?: string | undefined | null;
|
||
onlostpointercapture?: string | undefined | null;
|
||
|
||
// UI Events
|
||
onscroll?: string | undefined | null;
|
||
onresize?: string | undefined | null;
|
||
|
||
// Wheel Events
|
||
onwheel?: string | undefined | null;
|
||
|
||
// Animation Events
|
||
onanimationstart?: string | undefined | null;
|
||
onanimationend?: string | undefined | null;
|
||
onanimationiteration?: string | undefined | null;
|
||
|
||
// Transition Events
|
||
ontransitionstart?: string | undefined | null;
|
||
ontransitionrun?: string | undefined | null;
|
||
ontransitionend?: string | undefined | null;
|
||
ontransitioncancel?: string | undefined | null;
|
||
|
||
// Message Events
|
||
onmessage?: string | undefined | null;
|
||
onmessageerror?: string | undefined | null;
|
||
|
||
// Global Events
|
||
oncancel?: string | undefined | null;
|
||
onclose?: string | undefined | null;
|
||
onfullscreenchange?: string | undefined | null;
|
||
onfullscreenerror?: string | undefined | null;
|
||
}
|
||
|
||
// All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
|
||
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'?: boolean | 'false' | 'true' | 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'?: boolean | 'false' | 'true' | 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 | string | 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 | string | 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 | string | 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'?: boolean | 'false' | 'true' | 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'?: boolean | 'false' | 'true' | 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'?: boolean | 'false' | 'true' | 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'?: boolean | 'false' | 'true' | 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 | string | 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'?: boolean | 'false' | 'true' | undefined | null;
|
||
/** Indicates whether a text box accepts multiple lines of input or only a single line. */
|
||
'aria-multiline'?: boolean | 'false' | 'true' | undefined | null;
|
||
/** Indicates that the user may select more than one item from the current selectable descendants. */
|
||
'aria-multiselectable'?: boolean | 'false' | 'true' | 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 | string | 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'?: boolean | 'false' | 'true' | 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'?: boolean | 'false' | 'true' | 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 | string | 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 | string | 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 | string | undefined | null;
|
||
/**
|
||
* Indicates the current "selected" state of various widgets.
|
||
* @see aria-checked @see aria-pressed.
|
||
*/
|
||
'aria-selected'?: boolean | 'false' | 'true' | 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 | string | 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 | string | undefined | null;
|
||
/** Defines the minimum allowed value for a range widget. */
|
||
'aria-valuemin'?: number | string | undefined | null;
|
||
/**
|
||
* Defines the current value for a range widget.
|
||
* @see aria-valuetext.
|
||
*/
|
||
'aria-valuenow'?: number | string | 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
|
||
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';
|
||
|
||
interface HTMLAttributes extends AriaAttributes, DOMAttributes, AstroBuiltinAttributes {
|
||
// Standard HTML Attributes
|
||
accesskey?: string | undefined | null;
|
||
autocapitalize?: string | undefined | null;
|
||
autofocus?: boolean | string | undefined | null;
|
||
class?: string | undefined | null;
|
||
contenteditable?: 'true' | 'false' | boolean | 'inherit' | string | undefined | null;
|
||
dir?: string | undefined | null;
|
||
draggable?: 'true' | 'false' | boolean | undefined | null;
|
||
enterkeyhint?:
|
||
| 'enter'
|
||
| 'done'
|
||
| 'go'
|
||
| 'next'
|
||
| 'previous'
|
||
| 'search'
|
||
| 'send'
|
||
| undefined
|
||
| null;
|
||
hidden?: boolean | string | undefined | null;
|
||
id?: string | undefined | null;
|
||
inert?: boolean | string | undefined | null;
|
||
inputmode?:
|
||
| 'none'
|
||
| 'text'
|
||
| 'tel'
|
||
| 'url'
|
||
| 'email'
|
||
| 'numeric'
|
||
| 'decimal'
|
||
| 'search'
|
||
| undefined
|
||
| null;
|
||
is?: string | undefined | null;
|
||
itemid?: string | undefined | null;
|
||
itemprop?: string | undefined | null;
|
||
itemref?: string | undefined | null;
|
||
itemscope?: boolean | string | undefined | null;
|
||
itemtype?: string | undefined | null;
|
||
lang?: string | undefined | null;
|
||
slot?: string | undefined | null;
|
||
spellcheck?: 'true' | 'false' | boolean | undefined | null;
|
||
style?: string | Record<string, any> | undefined | null;
|
||
tabindex?: number | string | undefined | null;
|
||
title?: string | undefined | null;
|
||
translate?: 'yes' | 'no' | undefined | null;
|
||
|
||
// <command>, <menuitem>
|
||
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
|
||
contextmenu?: string | undefined | null; // Obsolete
|
||
autosave?: string | undefined | null; // Apple exclusive
|
||
color?: string | undefined | null;
|
||
results?: number | string | undefined | null;
|
||
security?: string | undefined | null;
|
||
unselectable?: 'on' | 'off' | undefined | null; // Internet Explorer
|
||
}
|
||
|
||
type HTMLAttributeReferrerPolicy =
|
||
| ''
|
||
| 'no-referrer'
|
||
| 'no-referrer-when-downgrade'
|
||
| 'origin'
|
||
| 'origin-when-cross-origin'
|
||
| 'same-origin'
|
||
| 'strict-origin'
|
||
| 'strict-origin-when-cross-origin'
|
||
| 'unsafe-url';
|
||
|
||
type HTMLAttributeAnchorTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {});
|
||
|
||
interface AnchorHTMLAttributes extends HTMLAttributes {
|
||
download?: string | boolean | undefined | null;
|
||
href?: string | URL | 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;
|
||
}
|
||
|
||
interface AudioHTMLAttributes extends MediaHTMLAttributes {}
|
||
|
||
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;
|
||
}
|
||
|
||
interface BaseHTMLAttributes extends HTMLAttributes {
|
||
href?: string | undefined | null;
|
||
target?: string | undefined | null;
|
||
}
|
||
|
||
interface BlockquoteHTMLAttributes extends HTMLAttributes {
|
||
cite?: string | undefined | null;
|
||
}
|
||
|
||
interface ButtonHTMLAttributes extends HTMLAttributes {
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
formaction?: string | undefined | null;
|
||
formenctype?: string | undefined | null;
|
||
formmethod?: string | undefined | null;
|
||
formnovalidate?: boolean | string | undefined | null;
|
||
formtarget?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
type?: 'submit' | 'reset' | 'button' | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface CanvasHTMLAttributes extends HTMLAttributes {
|
||
height?: number | string | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
}
|
||
|
||
interface ColHTMLAttributes extends HTMLAttributes {
|
||
span?: number | string | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
}
|
||
|
||
interface ColgroupHTMLAttributes extends HTMLAttributes {
|
||
span?: number | string | undefined | null;
|
||
}
|
||
|
||
interface DataHTMLAttributes extends HTMLAttributes {
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface DetailsHTMLAttributes extends HTMLAttributes {
|
||
open?: boolean | string | undefined | null;
|
||
}
|
||
|
||
interface DelHTMLAttributes extends HTMLAttributes {
|
||
cite?: string | undefined | null;
|
||
datetime?: string | undefined | null;
|
||
}
|
||
|
||
interface DialogHTMLAttributes extends HTMLAttributes {
|
||
open?: boolean | string | undefined | null;
|
||
}
|
||
|
||
interface EmbedHTMLAttributes extends HTMLAttributes {
|
||
height?: number | string | undefined | null;
|
||
src?: string | undefined | null;
|
||
type?: string | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
}
|
||
|
||
interface FieldsetHTMLAttributes extends HTMLAttributes {
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
}
|
||
|
||
interface FormHTMLAttributes extends HTMLAttributes {
|
||
'accept-charset'?: string | undefined | null;
|
||
action?: string | undefined | null;
|
||
autocomplete?: string | undefined | null;
|
||
autocorrect?: string | undefined | null;
|
||
enctype?: string | undefined | null;
|
||
method?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
novalidate?: boolean | string | undefined | null;
|
||
target?: string | undefined | null;
|
||
}
|
||
|
||
interface HtmlHTMLAttributes extends HTMLAttributes {
|
||
manifest?: string | undefined | null;
|
||
}
|
||
|
||
interface IframeHTMLAttributes extends HTMLAttributes {
|
||
allow?: string | undefined | null;
|
||
allowfullscreen?: boolean | string | undefined | null;
|
||
allowtransparency?: boolean | string | undefined | null;
|
||
fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
|
||
/** @deprecated */
|
||
frameborder?: number | string | undefined | null;
|
||
height?: number | string | undefined | null;
|
||
loading?: 'eager' | 'lazy' | undefined | null;
|
||
/** @deprecated */
|
||
marginheight?: number | string | undefined | null;
|
||
/** @deprecated */
|
||
marginwidth?: number | string | undefined | null;
|
||
name?: string | undefined | null;
|
||
referrerpolicy?: HTMLAttributeReferrerPolicy | undefined | null;
|
||
sandbox?: string | undefined | null;
|
||
/** @deprecated */
|
||
scrolling?: string | undefined | null;
|
||
seamless?: boolean | string | undefined | null;
|
||
src?: string | undefined | null;
|
||
srcdoc?: string | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
}
|
||
|
||
interface ImgHTMLAttributes extends HTMLAttributes {
|
||
alt?: string | undefined | null;
|
||
crossorigin?: 'anonymous' | 'use-credentials' | '' | undefined | null;
|
||
decoding?: 'async' | 'auto' | 'sync' | undefined | null;
|
||
fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
|
||
height?: number | string | 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;
|
||
}
|
||
|
||
interface InsHTMLAttributes extends HTMLAttributes {
|
||
cite?: string | undefined | null;
|
||
datetime?: string | undefined | null;
|
||
}
|
||
|
||
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';
|
||
|
||
interface InputHTMLAttributes extends HTMLAttributes {
|
||
accept?: string | undefined | null;
|
||
alt?: string | undefined | null;
|
||
autocomplete?: string | undefined | null;
|
||
autocorrect?: string | undefined | null;
|
||
capture?: boolean | string | undefined | null;
|
||
checked?: boolean | string | undefined | null;
|
||
crossorigin?: string | undefined | null;
|
||
dirname?: string | undefined | null;
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
formaction?: string | undefined | null;
|
||
formenctype?: string | undefined | null;
|
||
formmethod?: string | undefined | null;
|
||
formnovalidate?: boolean | string | undefined | null;
|
||
formtarget?: string | undefined | null;
|
||
height?: number | string | undefined | null;
|
||
list?: string | undefined | null;
|
||
max?: number | string | undefined | null;
|
||
maxlength?: number | string | undefined | null;
|
||
min?: number | string | undefined | null;
|
||
minlength?: number | string | undefined | null;
|
||
multiple?: boolean | string | undefined | null;
|
||
name?: string | undefined | null;
|
||
pattern?: string | undefined | null;
|
||
placeholder?: string | undefined | null;
|
||
readonly?: boolean | string | undefined | null;
|
||
required?: boolean | string | undefined | null;
|
||
size?: number | string | undefined | null;
|
||
src?: string | undefined | null;
|
||
step?: number | string | undefined | null;
|
||
type?: HTMLInputTypeAttribute | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
}
|
||
|
||
interface KeygenHTMLAttributes extends HTMLAttributes {
|
||
challenge?: string | undefined | null;
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
keytype?: string | undefined | null;
|
||
keyparams?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
}
|
||
|
||
interface LabelHTMLAttributes extends HTMLAttributes {
|
||
form?: string | undefined | null;
|
||
for?: string | undefined | null;
|
||
}
|
||
|
||
interface LiHTMLAttributes extends HTMLAttributes {
|
||
value?: string | number | undefined | null;
|
||
}
|
||
|
||
interface LinkHTMLAttributes extends HTMLAttributes {
|
||
as?: string | undefined | null;
|
||
crossorigin?: boolean | string | undefined | null;
|
||
href?: string | URL | undefined | null;
|
||
hreflang?: string | undefined | null;
|
||
fetchpriority?: 'auto' | 'high' | 'low' | 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;
|
||
}
|
||
|
||
interface MapHTMLAttributes extends HTMLAttributes {
|
||
name?: string | undefined | null;
|
||
}
|
||
|
||
interface MenuHTMLAttributes extends HTMLAttributes {
|
||
type?: string | undefined | null;
|
||
}
|
||
|
||
interface MediaHTMLAttributes extends HTMLAttributes {
|
||
autoplay?: boolean | string | undefined | null;
|
||
controls?: boolean | string | undefined | null;
|
||
controlslist?: string | undefined | null;
|
||
crossorigin?: string | undefined | null;
|
||
loop?: boolean | string | undefined | null;
|
||
mediagroup?: string | undefined | null;
|
||
muted?: boolean | string | undefined | null;
|
||
playsinline?: boolean | string | undefined | null;
|
||
preload?: string | undefined | null;
|
||
src?: string | undefined | null;
|
||
}
|
||
|
||
interface MetaHTMLAttributes extends HTMLAttributes {
|
||
charset?: string | undefined | null;
|
||
content?: string | URL | undefined | null;
|
||
'http-equiv'?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
media?: string | undefined | null;
|
||
}
|
||
|
||
interface MeterHTMLAttributes extends HTMLAttributes {
|
||
form?: string | undefined | null;
|
||
high?: number | string | undefined | null;
|
||
low?: number | string | undefined | null;
|
||
max?: number | string | undefined | null;
|
||
min?: number | string | undefined | null;
|
||
optimum?: number | string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface QuoteHTMLAttributes extends HTMLAttributes {
|
||
cite?: string | undefined | null;
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
interface OlHTMLAttributes extends HTMLAttributes {
|
||
reversed?: boolean | string | undefined | null;
|
||
start?: number | string | undefined | null;
|
||
type?: '1' | 'a' | 'A' | 'i' | 'I' | undefined | null;
|
||
}
|
||
|
||
interface OptgroupHTMLAttributes extends HTMLAttributes {
|
||
disabled?: boolean | string | undefined | null;
|
||
label?: string | undefined | null;
|
||
}
|
||
|
||
interface OptionHTMLAttributes extends HTMLAttributes {
|
||
disabled?: boolean | string | undefined | null;
|
||
label?: string | undefined | null;
|
||
selected?: boolean | string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface OutputHTMLAttributes extends HTMLAttributes {
|
||
form?: string | undefined | null;
|
||
for?: string | undefined | null;
|
||
name?: string | undefined | null;
|
||
}
|
||
|
||
interface ParamHTMLAttributes extends HTMLAttributes {
|
||
name?: string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface ProgressHTMLAttributes extends HTMLAttributes {
|
||
max?: number | string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
interface SlotHTMLAttributes extends HTMLAttributes {
|
||
name?: string | undefined | null;
|
||
}
|
||
|
||
interface ScriptHTMLAttributes extends HTMLAttributes {
|
||
async?: boolean | string | undefined | null;
|
||
charset?: string | undefined | null;
|
||
crossorigin?: string | undefined | null;
|
||
defer?: boolean | string | undefined | null;
|
||
fetchpriority?: 'auto' | 'high' | 'low' | undefined | null;
|
||
integrity?: string | undefined | null;
|
||
nomodule?: boolean | string | undefined | null;
|
||
nonce?: string | undefined | null;
|
||
src?: string | undefined | null;
|
||
type?: string | undefined | null;
|
||
}
|
||
|
||
interface SelectHTMLAttributes extends HTMLAttributes {
|
||
autocomplete?: string | undefined | null;
|
||
autocorrect?: string | undefined | null;
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
multiple?: boolean | string | undefined | null;
|
||
name?: string | undefined | null;
|
||
required?: boolean | string | undefined | null;
|
||
size?: number | string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
interface StyleHTMLAttributes extends HTMLAttributes {
|
||
media?: string | undefined | null;
|
||
nonce?: string | undefined | null;
|
||
scoped?: boolean | string | undefined | null;
|
||
type?: string | undefined | null;
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
interface TextareaHTMLAttributes extends HTMLAttributes {
|
||
autocomplete?: string | undefined | null;
|
||
autocorrect?: string | undefined | null;
|
||
cols?: number | string | undefined | null;
|
||
dirname?: string | undefined | null;
|
||
disabled?: boolean | string | undefined | null;
|
||
form?: string | undefined | null;
|
||
maxlength?: number | string | undefined | null;
|
||
minlength?: number | string | undefined | null;
|
||
name?: string | undefined | null;
|
||
placeholder?: string | undefined | null;
|
||
readonly?: boolean | string | undefined | null;
|
||
required?: boolean | string | undefined | null;
|
||
rows?: number | string | undefined | null;
|
||
value?: string | string[] | number | undefined | null;
|
||
wrap?: string | undefined | null;
|
||
}
|
||
|
||
interface TdHTMLAttributes extends HTMLAttributes {
|
||
align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
|
||
colspan?: number | string | undefined | null;
|
||
headers?: string | undefined | null;
|
||
rowspan?: number | string | undefined | null;
|
||
scope?: string | undefined | null;
|
||
abbr?: string | undefined | null;
|
||
valign?: 'top' | 'middle' | 'bottom' | 'baseline' | undefined | null;
|
||
}
|
||
|
||
interface ThHTMLAttributes extends HTMLAttributes {
|
||
align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined | null;
|
||
colspan?: number | string | undefined | null;
|
||
headers?: string | undefined | null;
|
||
rowspan?: number | string | undefined | null;
|
||
scope?: string | undefined | null;
|
||
abbr?: string | undefined | null;
|
||
}
|
||
|
||
interface TimeHTMLAttributes extends HTMLAttributes {
|
||
datetime?: string | undefined | null;
|
||
}
|
||
|
||
interface TrackHTMLAttributes extends HTMLAttributes {
|
||
default?: boolean | string | undefined | null;
|
||
kind?: string | undefined | null;
|
||
label?: string | undefined | null;
|
||
src?: string | undefined | null;
|
||
srclang?: string | undefined | null;
|
||
}
|
||
|
||
interface VideoHTMLAttributes extends MediaHTMLAttributes {
|
||
height?: number | string | undefined | null;
|
||
playsinline?: boolean | string | undefined | null;
|
||
poster?: string | undefined | null;
|
||
width?: number | string | undefined | null;
|
||
disablepictureinpicture?: boolean | string | undefined | null;
|
||
}
|
||
|
||
// this list is "complete" in that it contains every SVG attribute
|
||
// that React supports, but the types can be improved.
|
||
// Full list here: https://facebook.github.io/react/docs/dom-elements.html
|
||
//
|
||
// The three broad type categories are (in order of restrictiveness):
|
||
// - "number | string"
|
||
// - "string"
|
||
// - union of string literals
|
||
interface SVGAttributes extends AriaAttributes, DOMAttributes, AstroBuiltinAttributes {
|
||
// Attributes which are also defined in HTMLAttributes
|
||
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;
|
||
slot?: string | undefined | null;
|
||
style?: string | Record<string, any> | 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 | string | 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;
|
||
}
|
||
|
||
interface DefinedIntrinsicElements {
|
||
// HTML
|
||
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;
|
||
noindex: HTMLAttributes; // https://en.wikipedia.org/wiki/Noindex#%3Cnoindex%3E_tag
|
||
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 & AstroScriptAttributes;
|
||
section: HTMLAttributes;
|
||
select: SelectHTMLAttributes;
|
||
small: HTMLAttributes;
|
||
source: SourceHTMLAttributes;
|
||
span: HTMLAttributes;
|
||
strong: HTMLAttributes;
|
||
style: StyleHTMLAttributes & AstroStyleAttributes;
|
||
sub: HTMLAttributes;
|
||
summary: HTMLAttributes;
|
||
sup: HTMLAttributes;
|
||
table: TableHTMLAttributes;
|
||
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;
|
||
|
||
// SVG
|
||
svg: SVGAttributes;
|
||
animate: 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;
|
||
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;
|
||
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;
|
||
}
|
||
|
||
interface IntrinsicElements extends DefinedIntrinsicElements {
|
||
// Allow for arbitrary elements
|
||
[name: string]: { [name: string]: any };
|
||
}
|
||
}
|