Types Reference
๐ท๏ธ Collection of TypeScript types shared across Lou Codes projects.
Usage
๐ฆ Node
Install @lou.codes/types
as a dependency:
Import as type and use it:
๐ฆ Deno
Import @lou.codes/types
using the npm:
prefix, and use it directly:
Useful links
- ๐ Documentation: TypeDoc generated documentation.
- โณ Changelog: List of changes between versions.
Array
ArrayLike<Item, Length>
An alternative for TypeScriptโs ArrayLike
type, with its type set to unknown
by default. It also makes it shallowly read-only.
Remarks
When working with optional types, having to type ArrayLike<unknown>
every time
gets annoying pretty fast. This type is a drop-in replacement for ArrayLike
,
with the only difference being that the type of the items is set to unknown
by
default.
Example
Type declaration
Member | Type | Description |
---|---|---|
length | Length | Amount of items in the ArrayLike. |
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the array-like object. |
Length extends number | number | - |
Empty
Empty array, object or string.
Remarks
Union type of EmptyArray, EmptyRecord and EmptyString, to signify values that are empty.
Example
See
EmptyArray
Empty array.
Remarks
This is a type alias for an readonly empty array. Trying to access items on it will give a compile-time error.
Example
Entry<Key, Value>
Entry couple [key, value]
.
Remarks
It is a tuple of two elements, the first one being the key and the second one being the value of an objectโs property.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Key | PropertyKey | Objectโs properties type. |
Value | unknown | Objectโs values type. |
EntryKey<Input>
Key of an Entry.
Remarks
Util type to get the key of an Entry.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends Entry | Entry type. |
EntryOf<Type>
Object or array Entry.
Remarks
Get the Entry type out of an object or array.
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
EntryValue<Input>
Value of an Entry.
Remarks
Util type to get the value of an Entry.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends Entry | Entry type. |
Head<Input>
Initial value of an ArrayLike
.
Remarks
Given a type argument (an ArrayLike
), this returns the type of the item in
index 0
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | ArrayLike value (such as Array or string ). |
HeadAndTail<Input>
Get a couple with the head and tail types of an ArrayLike
.
Remarks
Given a type argument (an ArrayLike
), this returns a couple with the type of
the item in index 0
first, and the rest of the ArrayLike
after.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Input ArrayLike . |
Initial<Input>
Initial values of an ArrayLike
(omitting the last).
Remarks
Given a type argument (an ArrayLike
), this returns the type of the items from
the start of the ArrayLike
until the before to last item.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | ArrayLike value (such as Array or string ). |
InitialAndLast<Input>
Get a couple with the initial and last types of an ArrayLike.
Remarks
Given a ArrayLike, this returns a couple with the type of all items from the start until the item before last, and then the last.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Input ArrayLike . |
KeyOf<Type>
Generic key for either object or array.
Remarks
Type to represent the type of the key in an array or object. It automatically
omits symbol
keys from objects, and uses number
for arrays with dynamic
length
.
Example
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
Last<Input>
Last value of an ArrayLike
.
Remarks
Type of the last character of a string or the last element of an array.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | The input ArrayLike . |
MaybeEmpty<Input>
Creates an union of the given type with a possible โemptyโ value.
Remarks
This type is useful to make clear that we expect a possible empty value.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input | Type to unite with itโs empty counterpart. |
NotEmpty<Type>
Type for a non-empty ArrayLike
, object
or string
.
Remarks
This type is useful for cases where you want to ensure that a value is not
empty. For example, if you have an array that should always have at least one
element, you could type it as NotEmpty<ArrayLike<ElementType>>
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends ArrayLike | object | string | The type to check. |
ReadOnlyArray<Item>
An alternative for TypeScriptโs ReadonlyArray
type, with its type set to
unknown
by default.
Remarks
Thereโs already a native ReadonlyArray
type, but this type has a default type
parameter to make it easier to use when the type of an array is unknown
.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the array. |
Reducer<Item, Accumulator>
Reducer/Folder function.
Remarks
Type to represent a folder/reducer unary function that takes an item and an accumulator something of the type of the accumulator.
Example
See
Type parameters
Type parameter | Description |
---|---|
Item | Type of the items to reduce. |
Accumulator | Type of the accumulator/output. |
Tail<Input>
Last values of an ArrayLike (omitting the first).
Remarks
Type of the last items of an ArrayLike
, excluding the first item in said
ArrayLike.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Type of the array to get the tail. |
ValueOf<Type>
Generic key for either object or array.
Remarks
This type is used to get the type of the values in a collection (items of an
ArrayLike
or properties of a Record
).
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
Common
Awaitable<Type>
A value that might be coming from a Promise
.
Remarks
Union type useful when you want to accept both Promise
and non-Promise
for a
given type, both โawaitableโ.
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Type | unknown | The type to await. |
Either<Right, Left>
Value that can be something or something else.
Remarks
Union type useful for cases where a value might be of one type or another. By
convention we use Right
for the โsuccessโ type and Left
for the error.
Example
Type parameters
Type parameter | Description |
---|---|
Right | The โcorrectโ type. |
Left | The โerrorโ type. |
Falsy
Types that evaluates to false
in JS.
Remarks
Union type of the values that evaluate to false
in JavaScript. Due to
TypeScript type limitations NaN
canโt be included.
Example
See
JSONValue
Possible parsed JSON value.
Remarks
Following the JSON specification, the result of a JSON.parse
call can be one
of a given set of types. This type is a union of all of those types.
Example
See
Just<Input>
Excludes undefined
of a type union.
Remarks
Every now and then a type is possibly undefined
, this type gets rid of the
undefined
in the union.
Example
See
Type parameters
Type parameter |
---|
Input |
Maybe<Input>
Value that can be undefined
.
Remarks
Union type useful for cases where a value might be undefined
, and provides a
simple way to express this in TypeScript. For example, the return type of a
function that returns a string
or undefined
could be typed as
Maybe<string>
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input | The type of the value to make optional. |
NeverFallback<MaybeNever, Fallback>
Takes a value that could be never
, and if it is never
it goes to the
Fallback
value.
Remarks
There are some scenarios where a value can end up being of type never
, this
works sorta like the the ??
operator, but for never
.
Example
See
Type parameters
Type parameter | Description |
---|---|
MaybeNever | The type that may or may not be never . |
Fallback | The fallback type to use if MaybeNever is never . |
Nullish
Nullish value (either null
or undefined
).
Remarks
This type is useful for cases where a value might be null
or undefined
,
generally meant to be dealt with using the ??
operator.
Example
See
Primitive
Valid JavaScript primitives.
Remarks
This type is a union of all the valid JavaScript primitives, including null
,
undefined
, boolean
, number
, bigint
, string
, and symbol
.
Example
See
Replace<Type, Keys, NewType>
Intersection that replaces the type of some keys in given object type.
Remarks
Intersection type to replace all the given keys of an object type with a new type.
Example
Type parameters
Type parameter | Description |
---|---|
Type extends object | Type to replace the type of some keys in. |
Keys extends keyof Type | Keys to replace the type of. |
NewType | New type to replace the old type with. |
Single<Type>
Tuple of length 1 (AKA Monuple).
Remarks
Tuple with a single element on it, useful when doing optional types that compare
to never
.
Example
Type parameters
Type parameter | Description |
---|---|
Type | Type of the single element. |
Strigifiable
Values that can be stringified.
Remarks
Type to represent all values that can be stringified, all primitives excluding
symbol
: string
, number
, bigint
, boolean
, undefined
, and null
.
Example
See
Truthy<Type>
Excludes all Falsy values of the given Type.
Remarks
Type to represent all values of the given Type that are not
Falsy. If all types are
Falsy, the result is never
.
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Type | unknown | Type to exclude Falsy values from. |
TypeOfDictionary
typeof
dictionary.
Remarks
Dictionary of types and their typeof
values, including the proposed but never
added type "null"
for null
.
Example
See
Type declaration
Member | Type | Description |
---|---|---|
bigint | bigint | TypeOfDictionary key for BigInt |
boolean | boolean | TypeOfDictionary key for Boolean |
function | Function | TypeOfDictionary key for Function |
null | null | TypeOfDictionary key for null |
number | number | TypeOfDictionary key for Number |
object | object | TypeOfDictionary key for Object |
string | string | TypeOfDictionary key for String |
symbol | symbol | TypeOfDictionary key for Symbol |
undefined | undefined | TypeOfDictionary key for undefined |
TypeOfValue
Possible type values returned by typeof
.
Remarks
Type to represent the possible values returned by typeof
, including the
proposed but never added type "null"
for null
.
Example
See
Date
DayOfMonth
Day of the month values in numeric format (from 1
to 31
).
Remarks
Stricter than number
type for day of the month values, limited to valid values
from 1
to 31
, and giving type errors otherwise.
Example
See
DayOfWeek
Day of the week values in numeric format (from 0
to 6
).
Remarks
Stricter than number
type for day of the week values, limited to valid values
from 0
to 6
, and giving type errors otherwise.
Example
See
Hours
Hours values in numeric format (from 0
to 23
).
Remarks
Stricter than number
type for hour values, limited to valid values from 0
to
23
, and giving type errors otherwise.
Example
See
ISODate
String representing an ISO date.
Remarks
This type is a string representing an ISO 8601 format of a date (returned by
Date#toISOString
). It uses
MultiDigitNumberString
because the type complexity using better types is too hight.
Example
See
ISODayOfMonth
Day of the month values in string format ("01"
to "31"
).
Remarks
Union type stricter than string
type for day of the month values, limited to
valid values from "01"
to "31"
, and giving type errors otherwise.
Example
See
ISOHours
Hours values in string format (from "00"
to "23"
).
Remarks
Union type stricter than string
type for hour values, limited to valid values
from "00"
to "23"
, and giving type errors otherwise.
Example
See
ISOMilliseconds
ISO milliseconds values in string format (from "000"
to "999"
).
Remarks
Stricter than string
type for millisecond values, limited to valid values from
"000"
to "999"
, and giving type errors otherwise.
Example
See
ISOMinutes
ISO minutes values in string format (from "00"
to "59"
).
Remarks
Stricter than string
type for minute values, limited to valid values from
"00"
to "59"
, and giving type errors otherwise.
Example
See
ISOMonth
ISO Month values in string format (from "01"
to "12"
).
Remarks
Union type stricter than string
type for month values, limited to valid values
from "01"
to "12"
, and giving type errors otherwise.
Example
See
ISOSeconds
ISO seconds values in string format (from "00"
to "59"
).
Remarks
Stricter than string
type for seconds values, limited to valid values from
"00"
to "59"
, and giving type errors otherwise.
Example
See
ISOYear
ISO year values in string format.
Remarks
Stricter than string
type for year values, limited to valid values from
"-271821"
to "275760"
, and giving type errors otherwise.
Example
See
Milliseconds
ISO milliseconds values in number format (from 0
to 999
).
Remarks
Stricter than number
type for millisecond values, limited to valid values from
0
to 999
, and giving type errors otherwise.
Example
See
Minutes
ISO minutes values in number format (from 0
to 59
).
Remarks
Stricter than number
type for minute values, limited to valid values from 0
to 59
, and giving type errors otherwise.
Example
See
Month
ISO Month values in number format (from 0
to 11
).
Remarks
Stricter than number
type for month values, limited to valid values from 0
to 11
, and giving type errors otherwise.
Example
See
Seconds
ISO seconds values in number format (from 0
to 59
).
Remarks
Stricter than number
type for seconds values, limited to valid values from 0
to 59
, and giving type errors otherwise.
Example
See
Function
Class()<Arguments, Instance>
A generic type for classes.
Remarks
This type is a generic constructor function, mainly used when wrapping classes.
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Arguments extends ReadOnlyArray | ReadOnlyArray | Arguments of the class constructor. |
Instance | unknown | Instance of the class. |
Parameters
Parameter | Type |
---|---|
โฆconstructorArguments | Arguments |
Returns
Instance
Filter<Input>
Unary function that returns a boolean
.
Remarks
This type is useful for cases where a function needs to check if a certain condition holds for an input value.
Example
See
Param
The input value to check.
Type parameters
Type parameter | Description |
---|---|
Input | The type of the input value. |
Predicate()<Input, Predicated>
Unary function that returns a boolean
and infers a given type for its
argument.
Remarks
This type is useful for cases where a function needs to check if a certain
condition holds for an input value. For example, the type of a filtering
function that filters strings in an array of strings and numbers could look like
Predicate<string | number, string>
.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Input | - | The type of the input value. |
Predicated extends Input | Input | The subset of Input for which the predicate holds. |
Parameters
Parameter | Type | Description |
---|---|---|
input | Input | The input value to check. |
Returns
input is Predicated
ReadOnlyArguments<Input>
Read-only alternative to TypeScriptโs Parameters
Remarks
This type extracts the parameters of a function as a read-only tuple, similar to
Parameters
, but with the added benefit of making the parameters read-only.
Example
See
- Function
- ReadOnlyArray
Type parameters
Type parameter | Description |
---|---|
Input extends Function | Function to extract parameters from. |
Reducer<Item, Accumulator>
Reducer/Folder function.
Remarks
Type to represent a folder/reducer unary function that takes an item and an accumulator something of the type of the accumulator.
Example
See
Type parameters
Type parameter | Description |
---|---|
Item | Type of the items to reduce. |
Accumulator | Type of the accumulator/output. |
Tagger()<Output, Expressions>
Tag function for tagged templates.
Remarks
Type to represent a tag function for tagged templates, which takes a
TemplateStringArray
and any number of expressions, and returns a value of type
Output
(string
by default).
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Output | string | Type of the output value. |
Expressions extends ReadOnlyArray | ReadOnlyArray | Type of the expressions. |
Parameters
Parameter | Type |
---|---|
templateStrings | TemplateStringsArray |
โฆexpressions | Expressions |
Returns
Output
Unary()<Input, Output>
Unary function.
Remarks
Type to represent a function that takes a single argument, ideal for currying.
Example
See
- Function
- Single
Type parameters
Type parameter | Description |
---|---|
Input | Type of the input value. |
Output | Type of the output value. |
Parameters
Parameter | Type |
---|---|
input | Input |
Returns
Output
UnaryInput<UnaryFunction>
Unary function input type.
Remarks
This type is used to get the input type of a Unary function.
Example
See
Type parameters
Type parameter | Description |
---|---|
UnaryFunction extends Unary <never , unknown > | Type of the unary function to get the input type of. |
UnaryOutput<UnaryFunction>
Unary function output type.
Remarks
This type is used to get the output type of a Unary function.
Example
See
Type parameters
Type parameter | Description |
---|---|
UnaryFunction extends Unary <never , unknown > | Type of the unary function to get the output type of. |
HTML
HTMLElementTagAttributeMap
Map of HTML element tag attributes.
Remarks
If you need the type of the HTML attributes of an HTML element, this is it.
Example
See
Type declaration
Member | Type | Description |
---|---|---|
a | HTMLElementTagGlobalAttributes & object | If the a element has an href attribute, then it represents a hyperlink (a hypertext anchor) labeled by its contents. --- References See MDN Reference |
abbr | HTMLElementTagGlobalAttributes | The abbr element represents an abbreviation or acronym, optionally with its expansion. The title attribute may be used to provide an expansion of the abbreviation. The attribute, if specified, must contain an expansion of the abbreviation, and nothing else. --- References See MDN Reference |
address | HTMLElementTagGlobalAttributes | The address element represents the contact information for its nearest article or body element ancestor. If that is the body element, then the contact information applies to the document as a whole. --- References See MDN Reference |
area | HTMLElementTagGlobalAttributes & object | The area element represents either a hyperlink with some text and a corresponding area on an image map, or a dead area on an image map. --- References See MDN Reference |
article | HTMLElementTagGlobalAttributes | The article element represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. Each article should be identified, typically by including a heading (h1โh6 element) as a child of the article element. --- References See MDN Reference |
aside | HTMLElementTagGlobalAttributes | The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography. --- References See MDN Reference |
audio | HTMLElementTagGlobalAttributes & object | An audio element represents a sound or audio stream. --- References See MDN Reference |
b | HTMLElementTagGlobalAttributes | The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede. --- References See MDN Reference |
base | HTMLElementTagGlobalAttributes & object | The base element allows authors to specify the document base URL for the purposes of resolving relative URLs, and the name of the default browsing context for the purposes of following hyperlinks. The element does not represent any content beyond this information. --- References See MDN Reference |
bdi | HTMLElementTagGlobalAttributes | The bdi element represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting. [BIDI] --- References See MDN Reference |
bdo | HTMLElementTagGlobalAttributes & object | The bdo element represents explicit text directionality formatting control for its children. It allows authors to override the Unicode bidirectional algorithm by explicitly specifying a direction override. [BIDI] --- References See MDN Reference |
blockquote | HTMLElementTagGlobalAttributes & object | The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations. --- References See MDN Reference |
body | HTMLElementTagGlobalAttributes & object | The body element represents the content of the document. --- References See MDN Reference |
br | HTMLElementTagGlobalAttributes & object | The br element represents a line break. --- References See MDN Reference |
button | HTMLElementTagGlobalAttributes & object | The button element represents a button labeled by its contents. --- References See MDN Reference |
canvas | HTMLElementTagGlobalAttributes & object | The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, art, or other visual images on the fly. --- References See MDN Reference |
caption | HTMLElementTagGlobalAttributes & object | The caption element represents the title of the table that is its parent, if it has a parent and that is a table element. --- References See MDN Reference |
cite | HTMLElementTagGlobalAttributes | The cite element represents a reference to a creative work. It must include the title of the work or the name of the author(person, people or organization) or an URL reference, or a reference in abbreviated form as per the conventions used for the addition of citation metadata. --- References See MDN Reference |
code | HTMLElementTagGlobalAttributes | The code element represents a fragment of computer code. This could be an XML element name, a file name, a computer program, or any other string that a computer would recognize. --- References See MDN Reference |
col | HTMLElementTagGlobalAttributes & object | If a col element has a parent and that is a colgroup element that itself has a parent that is a table element, then the col element represents one or more columns in the column group represented by that colgroup. --- References See MDN Reference |
colgroup | HTMLElementTagGlobalAttributes & object | The colgroup element represents a group of one or more columns in the table that is its parent, if it has a parent and that is a table element. --- References See MDN Reference |
data | HTMLElementTagGlobalAttributes & object | The data element links a given piece of content with a machine-readable translation. --- References See MDN Reference |
datalist | HTMLElementTagGlobalAttributes | The datalist element represents a set of option elements that represent predefined options for other controls. In the rendering, the datalist element represents nothing and it, along with its children, should be hidden. --- References See MDN Reference |
dd | HTMLElementTagGlobalAttributes & object | The dd element represents the description, definition, or value, part of a term-description group in a description list (dl element). --- References See MDN Reference |
del | HTMLElementTagGlobalAttributes & object | The del element represents a removal from the document. --- References See MDN Reference |
details | HTMLElementTagGlobalAttributes & object | The details element represents a disclosure widget from which the user can obtain additional information or controls. --- References See MDN Reference |
dfn | HTMLElementTagGlobalAttributes | The dfn element represents the defining instance of a term. The paragraph, description list group, or section that is the nearest ancestor of the dfn element must also contain the definition(s) for the term given by the dfn element. --- References See MDN Reference |
dialog | HTMLElementTagGlobalAttributes & object | The dialog element represents a part of an application that a user interacts with to perform a task, for example a dialog box, inspector, or window. --- References See MDN Reference |
div | HTMLElementTagGlobalAttributes | The div element has no special meaning at all. It represents its children. It can be used with the class, lang, and title attributes to mark up semantics common to a group of consecutive elements. --- References See MDN Reference |
dl | HTMLElementTagGlobalAttributes | The dl element represents an association list consisting of zero or more name-value groups (a description list). A name-value group consists of one or more names (dt elements) followed by one or more values (dd elements), ignoring any nodes other than dt and dd elements. Within a single dl element, there should not be more than one dt element for each name. --- References See MDN Reference |
dt | HTMLElementTagGlobalAttributes | The dt element represents the term, or name, part of a term-description group in a description list (dl element). --- References See MDN Reference |
em | HTMLElementTagGlobalAttributes | The em element represents stress emphasis of its contents. --- References See MDN Reference |
embed | HTMLElementTagGlobalAttributes & object | The embed element provides an integration point for an external (typically non-HTML) application or interactive content. --- References See MDN Reference |
fieldset | HTMLElementTagGlobalAttributes & object | The fieldset element represents a set of form controls optionally grouped under a common name. --- References See MDN Reference |
figcaption | HTMLElementTagGlobalAttributes | The figcaption element represents a caption or legend for the rest of the contents of the figcaption elementโs parent figure element, if any. --- References See MDN Reference |
figure | HTMLElementTagGlobalAttributes | The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document. --- References See MDN Reference |
footer | HTMLElementTagGlobalAttributes | The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like. --- References See MDN Reference |
form | HTMLElementTagGlobalAttributes & object | The form element represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing. --- References See MDN Reference |
h1 | HTMLElementTagGlobalAttributes | The h1 element represents a section heading. --- References See MDN Reference |
h2 | HTMLElementTagGlobalAttributes | The h2 element represents a section heading. --- References See MDN Reference |
h3 | HTMLElementTagGlobalAttributes | The h3 element represents a section heading. --- References See MDN Reference |
h4 | HTMLElementTagGlobalAttributes | The h4 element represents a section heading. --- References See MDN Reference |
h5 | HTMLElementTagGlobalAttributes | The h5 element represents a section heading. --- References See MDN Reference |
h6 | HTMLElementTagGlobalAttributes | The h6 element represents a section heading. --- References See MDN Reference |
head | HTMLElementTagGlobalAttributes & object | The head element represents a collection of metadata for the Document. --- References See MDN Reference |
header | HTMLElementTagGlobalAttributes | The header element represents introductory content for its nearest ancestor sectioning content or sectioning root element. A header typically contains a group of introductory or navigational aids. When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page. --- References See MDN Reference |
hgroup | HTMLElementTagGlobalAttributes | The hgroup element represents a heading and related content. It groups a single h1โh6 element with one or more p. --- References See MDN Reference |
hr | HTMLElementTagGlobalAttributes & object | The hr element represents a paragraph-level thematic break, e.g. a scene change in a story, or a transition to another topic within a section of a reference book. --- References See MDN Reference |
html | HTMLElementTagGlobalAttributes & object | The html element represents the root of an HTML document. --- References See MDN Reference |
i | HTMLElementTagGlobalAttributes | The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose in a manner indicating a different quality of text, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, transliteration, a thought, or a ship name in Western texts. --- References See MDN Reference |
iframe | HTMLElementTagGlobalAttributes & object | The iframe element represents a nested browsing context. --- References See MDN Reference |
img | HTMLElementTagGlobalAttributes & object | An img element represents an image. --- References See MDN Reference |
input | HTMLElementTagGlobalAttributes & object | The input element represents a typed data field, usually with a form control to allow the user to edit the data. --- References See MDN Reference |
ins | HTMLElementTagGlobalAttributes & object | The ins element represents an addition to the document. --- References See MDN Reference |
kbd | HTMLElementTagGlobalAttributes | The kbd element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands). --- References See MDN Reference |
label | HTMLElementTagGlobalAttributes & object | The label element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label elementโs labeled control, either using the for attribute, or by putting the form control inside the label element itself. --- References See MDN Reference |
legend | HTMLElementTagGlobalAttributes | The legend element represents a caption for the rest of the contents of the legend elementโs parent fieldset element, if any. --- References See MDN Reference |
li | HTMLElementTagGlobalAttributes & object | The li element represents a list item. If its parent element is an ol, ul, or menu element, then the element is an item of the parent elementโs list, as defined for those elements. Otherwise, the list item has no defined list-related relationship to any other li element. --- References See MDN Reference |
link | HTMLElementTagGlobalAttributes & object | The link element allows authors to link their document to other resources. --- References See MDN Reference |
main | HTMLElementTagGlobalAttributes | The main element represents the main content of the body of a document or application. The main content area consists of content that is directly related to or expands upon the central topic of a document or central functionality of an application. --- References See MDN Reference |
map | HTMLElementTagGlobalAttributes & object | The map element, in conjunction with an img element and any area element descendants, defines an image map. The element represents its children. --- References See MDN Reference |
mark | HTMLElementTagGlobalAttributes | The mark element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. When used in a quotation or other block of text referred to from the prose, it indicates a highlight that was not originally present but which has been added to bring the readerโs attention to a part of the text that might not have been considered important by the original author when the block was originally written, but which is now under previously unexpected scrutiny. When used in the main prose of a document, it indicates a part of the document that has been highlighted due to its likely relevance to the userโs current activity. --- References See MDN Reference |
menu | HTMLElementTagGlobalAttributes | The menu element represents an unordered list of interactive items. --- References See MDN Reference |
meta | HTMLElementTagGlobalAttributes & object | The meta element represents various kinds of metadata that cannot be expressed using the title, base, link, style, and script elements. --- References See MDN Reference |
meter | HTMLElementTagGlobalAttributes & object | The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate. --- References See MDN Reference |
nav | HTMLElementTagGlobalAttributes | The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links. --- References See MDN Reference |
noscript | HTMLElementTagGlobalAttributes | The noscript element represents nothing if scripting is enabled, and represents its children if scripting is disabled. It is used to present different markup to user agents that support scripting and those that donโt support scripting, by affecting how the document is parsed. --- References See MDN Reference |
object | HTMLElementTagGlobalAttributes & object | The object element can represent an external resource, which, depending on the type of the resource, will either be treated as an image, as a nested browsing context, or as an external resource to be processed by a plugin. --- References See MDN Reference |
ol | HTMLElementTagGlobalAttributes & object | The ol element represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document. --- References See MDN Reference |
optgroup | HTMLElementTagGlobalAttributes & object | The optgroup element represents a group of option elements with a common label. --- References See MDN Reference |
option | HTMLElementTagGlobalAttributes & object | The option element represents an option in a select element or as part of a list of suggestions in a datalist element. --- References See MDN Reference |
output | HTMLElementTagGlobalAttributes & object | The output element represents the result of a calculation performed by the application, or the result of a user action. --- References See MDN Reference |
p | HTMLElementTagGlobalAttributes | The p element represents a paragraph. --- References See MDN Reference |
param | HTMLElementTagGlobalAttributes & object | The param element defines parameters for plugins invoked by object elements. It does not represent anything on its own. --- References See MDN Reference |
picture | HTMLElementTagGlobalAttributes | The picture element is a container which provides multiple sources to its contained img element to allow authors to declaratively control or give hints to the user agent about which image resource to use, based on the screen pixel density, viewport size, image format, and other factors. It represents its children. --- References See MDN Reference |
pre | HTMLElementTagGlobalAttributes & object | The pre element represents a block of preformatted text, in which structure is represented by typographic conventions rather than by elements. --- References See MDN Reference |
progress | HTMLElementTagGlobalAttributes & object | The progress element represents the completion progress of a task. The progress is either indeterminate, indicating that progress is being made but that it is not clear how much more work remains to be done before the task is complete (e.g. because the task is waiting for a remote host to respond), or the progress is a number in the range zero to a maximum, giving the fraction of work that has so far been completed. --- References See MDN Reference |
q | HTMLElementTagGlobalAttributes & object | The q element represents some phrasing content quoted from another source. --- References See MDN Reference |
rb | HTMLElementTagGlobalAttributes | The rb element marks the base text component of a ruby annotation. When it is the child of a ruby element, it doesnโt represent anything itself, but its parent ruby element uses it as part of determining what it represents. --- References See MDN Reference |
rp | HTMLElementTagGlobalAttributes | The rp element is used to provide fallback text to be shown by user agents that donโt support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation. --- References See MDN Reference |
rt | HTMLElementTagGlobalAttributes | The rt element marks the ruby text component of a ruby annotation. When it is the child of a ruby element or of an rtc element that is itself the child of a ruby element, it doesnโt represent anything itself, but its ancestor ruby element uses it as part of determining what it represents. --- References See MDN Reference |
ruby | HTMLElementTagGlobalAttributes | The ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS. A more complete introduction to ruby can be found in the Use Cases & Exploratory Approaches for Ruby Markup document as well as in CSS Ruby Module Level 1. [RUBY-UC] [CSSRUBY] --- References See MDN Reference |
s | HTMLElementTagGlobalAttributes | The s element represents contents that are no longer accurate or no longer relevant. --- References See MDN Reference |
samp | HTMLElementTagGlobalAttributes | The samp element represents sample or quoted output from another program or computing system. --- References See MDN Reference |
script | HTMLElementTagGlobalAttributes & object | The script element allows authors to include dynamic script and data blocks in their documents. The element does not represent content for the user. --- References See MDN Reference |
section | HTMLElementTagGlobalAttributes | The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. Each section should be identified, typically by including a heading ( h1- h6 element) as a child of the section element. --- References See MDN Reference |
select | HTMLElementTagGlobalAttributes & object | The select element represents a control for selecting amongst a set of options. --- References See MDN Reference |
slot | HTMLElementTagGlobalAttributes & object | The slot element is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together. --- References See MDN Reference |
small | HTMLElementTagGlobalAttributes | The small element represents side comments such as small print. --- References See MDN Reference |
source | HTMLElementTagGlobalAttributes & object | The source element allows authors to specify multiple alternative media resources for media elements. It does not represent anything on its own. --- References See MDN Reference |
span | HTMLElementTagGlobalAttributes | The span element doesnโt mean anything on its own, but can be useful when used together with the global attributes, e.g. class, lang, or dir. It represents its children. --- References See MDN Reference |
strong | HTMLElementTagGlobalAttributes | The strong element represents strong importance, seriousness, or urgency for its contents. --- References See MDN Reference |
style | HTMLElementTagGlobalAttributes & object | The style element allows authors to embed style information in their documents. The style element is one of several inputs to the styling processing model. The element does not represent content for the user. --- References See MDN Reference |
sub | HTMLElementTagGlobalAttributes | The sub element represents a subscript. --- References See MDN Reference |
summary | HTMLElementTagGlobalAttributes | The summary element represents a summary, caption, or legend for the rest of the contents of the summary elementโs parent details element, if any. --- References See MDN Reference |
sup | HTMLElementTagGlobalAttributes | The sup element represents a superscript. --- References See MDN Reference |
table | HTMLElementTagGlobalAttributes & object | The table element represents data with more than one dimension, in the form of a table. --- References See MDN Reference |
tbody | HTMLElementTagGlobalAttributes & object | The tbody element represents a block of rows that consist of a body of data for the parent table element, if the tbody element has a parent and it is a table. --- References See MDN Reference |
td | HTMLElementTagGlobalAttributes & object | The td element represents a data cell in a table. --- References See MDN Reference |
template | HTMLElementTagGlobalAttributes | The template element is used to declare fragments of HTML that can be cloned and inserted in the document by script. --- References See MDN Reference |
textarea | HTMLElementTagGlobalAttributes & object | The textarea element represents a multiline plain text edit control for the elementโs raw value. The contents of the control represent the controlโs default value. --- References See MDN Reference |
tfoot | HTMLElementTagGlobalAttributes & object | The tfoot element represents the block of rows that consist of the column summaries (footers) for the parent table element, if the tfoot element has a parent and it is a table. --- References See MDN Reference |
th | HTMLElementTagGlobalAttributes & object | The th element represents a header cell in a table. --- References See MDN Reference |
thead | HTMLElementTagGlobalAttributes & object | The thead element represents the block of rows that consist of the column labels (headers) for the parent table element, if the thead element has a parent and it is a table. --- References See MDN Reference |
time | HTMLElementTagGlobalAttributes & object | The time element represents its contents, along with a machine-readable form of those contents in the datetime attribute. The kind of content is limited to various kinds of dates, times, time-zone offsets, and durations, as described below. --- References See MDN Reference |
title | HTMLElementTagGlobalAttributes | The title element represents the documentโs title or name. Authors should use titles that identify their documents even when they are used out of context, for example in a userโs history or bookmarks, or in search results. The documentโs title is often different from its first heading, since the first heading does not have to stand alone when taken out of context. --- References See MDN Reference |
tr | HTMLElementTagGlobalAttributes & object | The tr element represents a row of cells in a table. --- References See MDN Reference |
track | HTMLElementTagGlobalAttributes & object | The track element allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own. --- References See MDN Reference |
u | HTMLElementTagGlobalAttributes | The u element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt. --- References See MDN Reference |
ul | HTMLElementTagGlobalAttributes & object | The ul element represents a list of items, where the order of the items is not important โ that is, where changing the order would not materially change the meaning of the document. --- References See MDN Reference |
var | HTMLElementTagGlobalAttributes | The var element represents a variable. This could be an actual variable in a mathematical expression or programming context, an identifier representing a constant, a symbol identifying a physical quantity, a function parameter, or just be a term used as a placeholder in prose. --- References See MDN Reference |
video | HTMLElementTagGlobalAttributes & object | A video element is used for playing videos or movies, and audio files with captions. --- References See MDN Reference |
wbr | HTMLElementTagGlobalAttributes | The wbr element represents a line break opportunity. --- References See MDN Reference |
HTMLElementTagGlobalAttributes
Global HTML attributes.
Remarks
If you need the type of all HTML attributes, this is it.
Example
See
Type declaration
Member | Type | Description |
---|---|---|
accesskey | string | Provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters. The browser should use the first one that exists on the computer keyboard layout. --- References See MDN Reference |
aria-activedescendant | string | Identifies the currently active element when DOM focus is on a composite widget, textbox , group , or application .--- References See WAI-ARIA Reference |
aria-atomic | string | 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.--- References See WAI-ARIA Reference |
aria-autocomplete | string | 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. --- References See WAI-ARIA Reference |
aria-busy | string | 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. --- References See WAI-ARIA Reference |
aria-checked | string | Indicates the current โcheckedโ state of checkboxes, radio buttons, and other widgets. See related aria-pressed and aria-selected .--- References See WAI-ARIA Reference |
aria-colcount | string | Defines the total number of columns in a table , grid , or treegrid . See related aria-colindex .--- References See WAI-ARIA Reference |
aria-colindex | string | Defines an elementโs column index or position with respect to the total number of columns within a table , grid , or treegrid . See related aria-colcount and aria-colspan .--- References See WAI-ARIA Reference |
aria-colspan | string | Defines the number of columns spanned by a cell or gridcell within a table , grid , or treegrid . See related aria-colindex and aria-rowspan .--- References See WAI-ARIA Reference |
aria-controls | string | Identifies the element (or elements) whose contents or presence are controlled by the current element. See related aria-owns .--- References See WAI-ARIA Reference |
aria-current | string | Indicates the element that represents the current item within a container or set of related elements. --- References See WAI-ARIA Reference |
aria-describedby | string | Identifies the element (or elements) that describes the object. See related aria-labelledby .--- References See WAI-ARIA Reference |
aria-details | string | Identifies the element that provides a detailed, extended description for the object. See related aria-describedby . |
aria-disabled | string | Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See related aria-hidden and aria-readonly .--- References See WAI-ARIA Reference |
aria-dropeffect | string | [Deprecated in ARIA 1.1] Indicates what functions can be performed when a dragged object is released on the drop target. --- References See WAI-ARIA Reference |
aria-errormessage | string | Identifies the element that provides an error message for the object. See related aria-invalid and aria-describedby .--- References See WAI-ARIA Reference |
aria-expanded | string | Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. --- References See WAI-ARIA Reference |
aria-flowto | string | 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. --- References See WAI-ARIA Reference |
aria-grabbed | string | [Deprecated in ARIA 1.1] Indicates an elementโs โgrabbedโ state in a drag-and-drop operation. --- References See WAI-ARIA Reference |
aria-haspopup | string | Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. --- References See WAI-ARIA Reference |
aria-hidden | string | Indicates whether the element is exposed to an accessibility API. See related aria-disabled .--- References See WAI-ARIA Reference |
aria-invalid | string | Indicates the entered value does not conform to the format expected by the application. See related aria-errormessage .--- References See WAI-ARIA Reference |
aria-keyshortcuts | string | Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. |
aria-label | string | Defines a string value that labels the current element. See related aria-labelledby .--- References See WAI-ARIA Reference |
aria-labelledby | string | Identifies the element (or elements) that labels the current element. See related aria-describedby .--- References See WAI-ARIA Reference |
aria-level | string | Defines the hierarchical level of an element within a structure. --- References See WAI-ARIA Reference |
aria-live | string | 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. --- References See WAI-ARIA Reference |
aria-modal | string | Indicates whether an element is modal when displayed. --- References See WAI-ARIA Reference |
aria-multiline | string | Indicates whether a text box accepts multiple lines of input or only a single line. --- References See WAI-ARIA Reference |
aria-multiselectable | string | Indicates that the user may select more than one item from the current selectable descendants. --- References See WAI-ARIA Reference |
aria-orientation | string | Indicates whether the elementโs orientation is horizontal, vertical, or unknown/ambiguous. --- References See WAI-ARIA Reference |
aria-owns | string | 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 related aria-controls .--- References See WAI-ARIA Reference |
aria-placeholder | string | 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. --- References See WAI-ARIA Reference |
aria-posinset | string | 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 related aria-setsize .--- References See WAI-ARIA Reference |
aria-pressed | string | Indicates the current โpressedโ state of toggle buttons. See related aria-checked and aria-selected .--- References See WAI-ARIA Reference |
aria-readonly | string | Indicates that the element is not editable, but is otherwise operable. See related aria-disabled .--- References See WAI-ARIA Reference |
aria-relevant | string | Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related aria-atomic .--- References See WAI-ARIA Reference |
aria-required | string | Indicates that user input is required on the element before a form may be submitted. --- References See WAI-ARIA Reference |
aria-roledescription | string | Defines a human-readable, author-localized description for the role of an element. --- References See WAI-ARIA Reference |
aria-rowcount | string | Defines the total number of rows in a table , grid , or treegrid . See related aria-rowindex .--- References See WAI-ARIA Reference |
aria-rowindex | string | Defines an elementโs row index or position with respect to the total number of rows within a table , grid , or treegrid . See related aria-rowcount and aria-rowspan .--- References See WAI-ARIA Reference |
aria-rowspan | string | Defines the number of rows spanned by a cell or gridcell within a table , grid , or treegrid . See related aria-rowindex and aria-colspan .--- References See WAI-ARIA Reference |
aria-selected | string | Indicates the current โselectedโ state of various widgets. See related aria-checked and aria-pressed .--- References See WAI-ARIA Reference |
aria-setsize | string | 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 related aria-posinset .--- References See WAI-ARIA Reference |
aria-sort | string | Indicates if items in a table or grid are sorted in ascending or descending order. --- References See WAI-ARIA Reference |
aria-valuemax | string | Defines the maximum allowed value for a range widget. --- References See WAI-ARIA Reference |
aria-valuemin | string | Defines the minimum allowed value for a range widget. --- References See WAI-ARIA Reference |
aria-valuenow | string | Defines the current value for a range widget. See related aria-valuetext .--- References See WAI-ARIA Reference |
aria-valuetext | string | Defines the human readable text alternative of aria-valuenow for a range widget.--- References See WAI-ARIA Reference |
autocapitalize | string | Controls whether and how text input is automatically capitalized as it is entered/edited by the user. It can have the following values: _ off or none , no autocapitalization is applied (all letters default to lowercase)_ on or sentences , the first letter of each sentence defaults to a capital letter; all other letters default to lowercase_ words , the first letter of each word defaults to a capital letter; all other letters default to lowercase_ characters , all letters should default to uppercase--- References See MDN Reference |
class | string | A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method Document.getElementsByClassName() .--- References See MDN Reference |
contenteditable | string | An enumerated attribute indicating if the element should be editable by the user. If so, the browser modifies its widget to allow editing. The attribute must take one of the following values: _ true or the empty string, which indicates that the element must be editable;_ false , which indicates that the element must not be editable.--- References See MDN Reference |
contextmenu | string | The [**id**](#attr-id) of a <menu> to use as the contextual menu for this element.--- References See MDN Reference |
dir | string | An enumerated attribute indicating the directionality of the elementโs text. It can have the following values: _ ltr , which means left to right and is to be used for languages that are written from the left to the right (like English);_ rtl , which means right to left and is to be used for languages that are written from the right to the left (like Arabic);* auto , which lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then it applies that directionality to the whole element.--- References See MDN Reference |
draggable | string | An enumerated attribute indicating whether the element can be dragged, using the Drag and Drop API. It can have the following values: _ true , which indicates that the element may be dragged_ false , which indicates that the element may not be dragged.--- References See MDN Reference |
dropzone | string | An enumerated attribute indicating what types of content can be dropped on an element, using the Drag and Drop API. It can have the following values: _ copy , which indicates that dropping will create a copy of the element that was dragged_ move , which indicates that the element that was dragged will be moved to this new location.* link , will create a link to the dragged data. |
exportparts | string | Used to transitively export shadow parts from a nested shadow tree into a containing light tree. --- References See MDN Reference |
hidden | string | A Boolean attribute indicates that the element is not yet, or is no longer, relevant. For example, it can be used to hide elements of the page that canโt be used until the login process has been completed. The browser wonโt render such elements. This attribute must not be used to hide content that could legitimately be shown. --- References See MDN Reference |
id | string | Defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS). --- References See MDN Reference |
inputmode | string | Provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Used primarily on <input> elements, but is usable on any element while in [contenteditable](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-contenteditable) mode.--- References See MDN Reference |
is | string | Allows you to specify that a standard HTML element should behave like a registered custom built-in element (see Using custom elements for more details). --- References See MDN Reference |
itemid | string | The unique, global identifier of an item. --- References See MDN Reference |
itemprop | string | Used to add properties to an item. Every HTML element may have an itemprop attribute specified, where an itemprop consists of a name and value pair.--- References See MDN Reference |
itemref | string | Properties that are not descendants of an element with the itemscope attribute can be associated with the item using an itemref . It provides a list of element ids (not itemid s) with additional properties elsewhere in the document.--- References See MDN Reference |
itemscope | string | itemscope (usually) works along with [itemtype](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemtype) to specify that the HTML contained in a block is about a particular item. itemscope creates the Item and defines the scope of the itemtype associated with it. itemtype is a valid URL of a vocabulary (such as schema.org) that describes the item and its properties context.--- References See MDN Reference |
itemtype | string | Specifies the URL of the vocabulary that will be used to define itemprop s (item properties) in the data structure. [itemscope](https://developer.mozilla.org/docs/Web/HTML/Global_attributes#attr-itemscope) is used to set the scope of where in the data structure the vocabulary set by itemtype will be active.--- References See MDN Reference |
lang | string | Helps define the language of an element: the language that non-editable elements are in, or the language that editable elements should be written in by the user. The attribute contains one โlanguage tagโ (made of hyphen-separated โlanguage subtagsโ) in the format defined in Tags for Identifying Languages (BCP47). xml:lang
has priority over it. --- References See MDN Reference |
onabort | string | The loading of a resource has been aborted. |
onblur | string | An element has lost focus (does not bubble). |
oncanplay | string | The user agent can play the media, but estimates that not enough data has been loaded to play the media up to its end without having to stop for further buffering of content. |
oncanplaythrough | string | The user agent can play the media up to its end without having to stop for further buffering of content. |
onchange | string | The change event is fired for , |
onclick | string | A pointing device button has been pressed and released on an element. |
oncontextmenu | string | The right button of the mouse is clicked (before the context menu is displayed). |
ondblclick | string | A pointing device button is clicked twice on an element. |
ondrag | string | An element or text selection is being dragged (every 350ms). |
ondragend | string | A drag operation is being ended (by releasing a mouse button or hitting the escape key). |
ondragenter | string | A dragged element or text selection enters a valid drop target. |
ondragleave | string | A dragged element or text selection leaves a valid drop target. |
ondragover | string | An element or text selection is being dragged over a valid drop target (every 350ms). |
ondragstart | string | The user starts dragging an element or text selection. |
ondrop | string | An element is dropped on a valid drop target. |
ondurationchange | string | The duration attribute has been updated. |
onemptied | string | The media has become empty; for example, this event is sent if the media has already been loaded (or partially loaded), and the load() method is called to reload it. |
onended | string | Playback has stopped because the end of the media was reached. |
onerror | string | A resource failed to load. |
onfocus | string | An element has received focus (does not bubble). |
onformchange | string | - |
onforminput | string | - |
oninput | string | The value of an element changes or the content of an element with the attribute contenteditable is modified. |
oninvalid | string | A submittable element has been checked and doesnโt satisfy its constraints. |
onkeydown | string | A key is pressed down. |
onkeypress | string | A key is pressed down and that key normally produces a character value (use input instead). |
onkeyup | string | A key is released. |
onload | string | A resource and its dependent resources have finished loading. |
onloadeddata | string | The first frame of the media has finished loading. |
onloadedmetadata | string | The metadata has been loaded. |
onloadstart | string | Progress has begun. |
onmousedown | string | A pointing device button (usually a mouse) is pressed on an element. |
onmouseenter | string | A pointing device is moved onto the element that has the listener attached. |
onmouseleave | string | A pointing device is moved off the element that has the listener attached. |
onmousemove | string | A pointing device is moved over an element. |
onmouseout | string | A pointing device is moved off the element that has the listener attached or off one of its children. |
onmouseover | string | A pointing device is moved onto the element that has the listener attached or onto one of its children. |
onmouseup | string | A pointing device button is released over an element. |
onmousewheel | string | - |
onpause | string | Playback has been paused. |
onplay | string | Playback has begun. |
onplaying | string | Playback is ready to start after having been paused or delayed due to lack of data. |
onpointercancel | string | The pointer is unlikely to produce any more events. |
onpointerdown | string | The pointer enters the active buttons state. |
onpointerenter | string | Pointing device is moved inside the hit-testing boundary. |
onpointerleave | string | Pointing device is moved out of the hit-testing boundary. |
onpointerlockchange | string | The pointer was locked or released. |
onpointerlockerror | string | It was impossible to lock the pointer for technical reasons or because the permission was denied. |
onpointermove | string | The pointer changed coordinates. |
onpointerout | string | The pointing device moved out of hit-testing boundary or leaves detectable hover range. |
onpointerover | string | The pointing device is moved into the hit-testing boundary. |
onpointerup | string | The pointer leaves the active buttons state. |
onprogress | string | In progress. |
onratechange | string | The playback rate has changed. |
onreadystatechange | string | The readyState attribute of a document has changed. |
onreset | string | A form is reset. |
onresize | string | The document view has been resized. |
onscroll | string | The document view or an element has been scrolled. |
onseeked | string | A seek operation completed. |
onseeking | string | A seek operation began. |
onselect | string | Some text is being selected. |
onshow | string | A contextmenu event was fired on/bubbled to an element that has a contextmenu attribute |
onstalled | string | The user agent is trying to fetch media data, but data is unexpectedly not forthcoming. |
onsubmit | string | A form is submitted. |
onsuspend | string | Media data loading has been suspended. |
ontimeupdate | string | The time indicated by the currentTime attribute has been updated. |
onvolumechange | string | The volume has changed. |
onwaiting | string | Playback has stopped because of a temporary lack of data. |
part | string | A space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element.--- References See MDN Reference |
role | string | - |
slot | string | Assigns a slot in a shadow DOM shadow tree to an element: An element with a slot attribute is assigned to the slot created by the <slot> element whose [name](https://developer.mozilla.org/docs/Web/HTML/Element/slot#attr-name) attributeโs value matches that slot attributeโs value.--- References See MDN Reference |
spellcheck | string | An enumerated attribute defines whether the element may be checked for spelling errors. It may have the following values: _ true , which indicates that the element should be, if possible, checked for spelling errors;_ false , which indicates that the element should not be checked for spelling errors.--- References See MDN Reference |
style | string | Contains CSS styling declarations to be applied to the element. Note that it is recommended for styles to be defined in a separate file or files. This attribute and the <style> element have mainly the purpose of allowing for quick styling, for example for testing purposes.--- References See MDN Reference |
tabindex | string | An integer attribute indicating if the element can take input focus (is focusable), if it should participate to sequential keyboard navigation, and if so, at what position. It can take several values: _ a negative value means that the element should be focusable, but should not be reachable via sequential keyboard navigation; _ 0 means that the element should be focusable and reachable via sequential keyboard navigation, but its relative order is defined by the platform convention;* a positive value means that the element should be focusable and reachable via sequential keyboard navigation; the order in which the elements are focused is the increasing value of the tabindex. If several elements share the same tabindex, their relative order follows their relative positions in the document. --- References See MDN Reference |
title | string | Contains a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip. --- References See MDN Reference |
translate | string | An enumerated attribute that is used to specify whether an elementโs attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged. It can have the following values:_ empty string and yes , which indicates that the element will be translated._ no , which indicates that the element will not be translated.--- References See MDN Reference |
Iterables
IsomorphicIterable<Item>
Value might be an AsyncIterable
or just an Iterable
(read-only).
Remarks
Union type useful when you want to accept both AsyncIterable
and Iterable
values, which is generally in asynchronous functions that can loop over
@@asyncIterator or
@@iterator values.
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the iterable. |
IsomorphicIterableItem<SourceIterable>
Type of the items of an IsomorphicIterable
.
Remarks
Sometimes we have to get the item type out of an IsomorphicIterable
. This type
is meant to be used where inference is not an option.
Example
See
Type parameters
Type parameter | Description |
---|---|
SourceIterable extends IsomorphicIterable | IsomorphicIterable type to get the item type from.` |
IsomorphicIterableIterator<Item>
Value might be an AsyncIterableIterator
or just an IterableIterator
(read-only).
Remarks
This is just an read-only alternative to AsyncIterableIterator
or
IterableIterator
to avoid unwanted mutations.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the AsyncIterableIterator orIterableIterator . |
IsomorphicIterator<Item, Return, Next>
Value might be an AsyncIterator
or just an Iterator
(read-only).
Remarks
This is just an read-only alternative to AsyncIterator
or Iterator
to avoid
unwanted mutations.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the AsyncIterator or Iterator . |
Return | void | Type of the return value in the AsyncIterator or Iterator . |
Next | void | Type of the next value in the AsyncIterator or Iterator . |
ReadOnlyIterable<Item>
Read-only Iterable
.
Remarks
This is just an read-only alternative to Iterable
to avoid unwanted mutations.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the Iterable . |
ReadOnlyIterableIterator<Item>
Read-only IterableIterator
.
Remarks
This is just an read-only alternative to IterableIterator
to avoid unwanted
mutations.
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the IterableIterator . |
ReadOnlyIterator<Item, Return, Next>
Read-only Iterator
.
Remarks
This is just an read-only alternative to Iterator
to avoid unwanted mutations.
Type parameters
Type parameter | Value | Description |
---|---|---|
Item | unknown | Type of the items in the Iterator . |
Return | void | Type of the return value in the Iterator . |
Next | void | Type of the next value in the Iterator . |
Number
Digit
Valid digits (0
to 9
).
Remarks
The idea with this type is to use it to construct others based on it, like for
example Digit2
for 00
to 99
.
Example
See
Enumerate<To, Accumulator>
Union of numbers from 0 to To
Remarks
Recursively generates a type with an union of numbers from 0 to Length - 1. This has the same limit TypeScript has for recursive types.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
To extends number | - | Last number of the union (starts at 0). |
Accumulator extends ReadonlyArray <number > | [] | Accumulator for the recursion (for internal use). |
MultiDigitNumberString
String with more than 1 number on it.
Remarks
This type is useful when a given string will need more than one number on it.
Example
Numeric
Types to represent numbers.
Remarks
The Numeric
type is a union of number
and bigint
. It is useful for cases
where a value could be either a regular JavaScript number or a BigInt.
Example
Radix
Valid radix values (from 2
to 36
).
Remarks
The Radix
type is useful when working with number bases other than decimal.
The radix defines the base of the number system being used. For example, a
binary system has a radix of 2
, a decimal system has a radix of 10
, and a
hexadecimal system has a radix of 16
. The Radix
type can be used to ensure
that a given radix value is within the valid range of 2
to 36
.
Example
See
Range<From, To>
Generates a range of numbers using Enumerate
with given Length
and omitting
the first From
numbers.
Remarks
This type is equivalent to an array of numbers where the first From
elements
are excluded and the length of the array is Length - From
. The idea is to use
it to generate a range of numbers from the given From
, and of the given
Length
.
Example
See
Type parameters
Type parameter |
---|
From extends number |
To extends number |
Object
Empty
Empty array, object or string.
Remarks
Union type of EmptyArray, EmptyRecord and EmptyString, to signify values that are empty.
Example
See
EmptyRecord
Empty record (object).
Remarks
This is a type alias for an empty readonly record. Accessing properties gives
undefined
.
Example
See
Entry<Key, Value>
Entry couple [key, value]
.
Remarks
It is a tuple of two elements, the first one being the key and the second one being the value of an objectโs property.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Key | PropertyKey | Objectโs properties type. |
Value | unknown | Objectโs values type. |
EntryKey<Input>
Key of an Entry.
Remarks
Util type to get the key of an Entry.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends Entry | Entry type. |
EntryOf<Type>
Object or array Entry.
Remarks
Get the Entry type out of an object or array.
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
EntryValue<Input>
Value of an Entry.
Remarks
Util type to get the value of an Entry.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends Entry | Entry type. |
KeyOf<Type>
Generic key for either object or array.
Remarks
Type to represent the type of the key in an array or object. It automatically
omits symbol
keys from objects, and uses number
for arrays with dynamic
length
.
Example
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
MaybeEmpty<Input>
Creates an union of the given type with a possible โemptyโ value.
Remarks
This type is useful to make clear that we expect a possible empty value.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input | Type to unite with itโs empty counterpart. |
NotEmpty<Type>
Type for a non-empty ArrayLike
, object
or string
.
Remarks
This type is useful for cases where you want to ensure that a value is not
empty. For example, if you have an array that should always have at least one
element, you could type it as NotEmpty<ArrayLike<ElementType>>
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends ArrayLike | object | string | The type to check. |
ReadOnlyRecord<Key, Value>
Read-only record.
Remarks
Thereโs already a native Readonly
and Record
type, but this type has default
type parameters to make it easier to use when the type of a record is unknown
.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
Key extends PropertyKey | PropertyKey | Type of the keys in the record. |
Value | unknown | Type of the values in the record. |
ValueOf<Type>
Generic key for either object or array.
Remarks
This type is used to get the type of the values in a collection (items of an
ArrayLike
or properties of a Record
).
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends object | Object or array type. |
RegExp
RegularExpression
String representing a regular expression.
Remarks
Safer than string
and simpler than RegExp
type to represent a regular
expression. It RegularExpression
to enforce flags to always have u
and have
a consistent order.
Example
See
RegularExpressionFlags
Possible combinations of regular expression flags (with mandatory u
flag).
Remarks
Type union stricter than string
type for RegExp flags. The unicode flag is
mandatory to ensure unicode characters are always supported.
Example
See
String
Empty
Empty array, object or string.
Remarks
Union type of EmptyArray, EmptyRecord and EmptyString, to signify values that are empty.
Example
See
EmptyString
Empty string.
Remarks
This type is a string with no characters on it (length 0
).
EmptyString.
Example
Head<Input>
Initial value of an ArrayLike
.
Remarks
Given a type argument (an ArrayLike
), this returns the type of the item in
index 0
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | ArrayLike value (such as Array or string ). |
HeadAndTail<Input>
Get a couple with the head and tail types of an ArrayLike
.
Remarks
Given a type argument (an ArrayLike
), this returns a couple with the type of
the item in index 0
first, and the rest of the ArrayLike
after.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Input ArrayLike . |
Initial<Input>
Initial values of an ArrayLike
(omitting the last).
Remarks
Given a type argument (an ArrayLike
), this returns the type of the items from
the start of the ArrayLike
until the before to last item.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | ArrayLike value (such as Array or string ). |
InitialAndLast<Input>
Get a couple with the initial and last types of an ArrayLike.
Remarks
Given a ArrayLike, this returns a couple with the type of all items from the start until the item before last, and then the last.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Input ArrayLike . |
Last<Input>
Last value of an ArrayLike
.
Remarks
Type of the last character of a string or the last element of an array.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | The input ArrayLike . |
LocaleIdentifier
Locale identifiers (language-country).
Remarks
When using i18n tools, this is a stricter union type than string
to handle the
locale identifiers.
Example
See
LocaleString<LanguageCode, CountryCodes, Separator>
String for locales such as โen-USโ.
Remarks
This type mainly exists to make LocaleIdentifier a little bit easier to the eyes.
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
LanguageCode extends MultiCharacterString | - | 2 character language code. |
CountryCodes extends MultiCharacterString | - | Union of country codes. |
Separator extends "_" | "-" | "-" | - |
MaybeEmpty<Input>
Creates an union of the given type with a possible โemptyโ value.
Remarks
This type is useful to make clear that we expect a possible empty value.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input | Type to unite with itโs empty counterpart. |
MultiCharacterString
String with more than 1 character on it.
Deprecated
Not actually deprecated, this type doesnโt do anything yet.
Remarks
This type will be useful when a given string will need more than one character
on it. Sadly this type doesnโt work because TypeScript considers ""
a string,
so "" + "" === string
, same for "f" + ""
which is not a multi character
string.
Example
MultiDigitNumberString
String with more than 1 number on it.
Remarks
This type is useful when a given string will need more than one number on it.
Example
NotEmpty<Type>
Type for a non-empty ArrayLike
, object
or string
.
Remarks
This type is useful for cases where you want to ensure that a value is not
empty. For example, if you have an array that should always have at least one
element, you could type it as NotEmpty<ArrayLike<ElementType>>
.
Example
See
Type parameters
Type parameter | Description |
---|---|
Type extends ArrayLike | object | string | The type to check. |
StringJoin<StrigifiableArray, Glue, Accumulator, LoopTracker>
Joins all the items of the given strigifiable array using the given โglueโ.
Remarks
Recursively generates a string type with the combination of the items of the
given array. Ideal to use as the output type of a join
function.
Example
Type parameters
Type parameter | Value | Description |
---|---|---|
StrigifiableArray extends ReadOnlyArray <Strigifiable > | - | Array to join. |
Glue extends string | - | String to use to glue items together. |
Accumulator extends string | `${StrigifiableArray[0]}` | - |
LoopTracker extends ReadOnlyArray <number > | [0 ] | - |
Tagger()<Output, Expressions>
Tag function for tagged templates.
Remarks
Type to represent a tag function for tagged templates, which takes a
TemplateStringArray
and any number of expressions, and returns a value of type
Output
(string
by default).
Example
See
Type parameters
Type parameter | Value | Description |
---|---|---|
Output | string | Type of the output value. |
Expressions extends ReadOnlyArray | ReadOnlyArray | Type of the expressions. |
Parameters
Parameter | Type |
---|---|
templateStrings | TemplateStringsArray |
โฆexpressions | Expressions |
Returns
Output
Tail<Input>
Last values of an ArrayLike (omitting the first).
Remarks
Type of the last items of an ArrayLike
, excluding the first item in said
ArrayLike.
Example
See
Type parameters
Type parameter | Description |
---|---|
Input extends ArrayLike | Type of the array to get the tail. |