Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions rescript.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
"DOMRectReadOnly",
"DOMStringList",
"DOMTokenList",
"DOMTree",
"Document",
"DocumentFragment",
"DocumentTimeline",
Expand Down
5 changes: 5 additions & 0 deletions src/DOM/DOMStringMap.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/**
Used by the dataset HTML attribute to represent data for custom attributes added to elements.
[See DOMStringMap on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringMap)
*/
type t = private {}
21 changes: 21 additions & 0 deletions src/DOM/DOMTree.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* Compatibility aliases for the recursive DOM interface family.
*
* DOMTree and these public type names are permanent; only the aliases below
* are temporary. PRs #302 through #308 migrate consumers from DOM/DomTypes,
* then PR #310 replaces the aliases in place with concrete recursive
* definitions and removes their old DOM/DomTypes definitions.
*/
type shadowRootMode = DOM.shadowRootMode
type slotAssignmentMode = DOM.slotAssignmentMode
type customStateSet = DOM.customStateSet

type node = DOM.node
type element = DOM.element
type documentFragment = DOM.documentFragment
type shadowRoot = DOM.shadowRoot
type htmlElement = DOM.htmlElement
type htmlFormElement = DOM.htmlFormElement
type htmlFormControlsCollection = DOM.htmlFormControlsCollection
type htmlSlotElement = DOM.htmlSlotElement
type elementInternals = DOM.elementInternals
16 changes: 14 additions & 2 deletions src/DOM/HTMLCollection.res
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
/**
A generic collection (array-like object similar to arguments) of elements (in document order) and offers methods and properties for selecting from the list.
[See HTMLCollection on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection)
*/
type t<'item> = private {
Comment thread
jderochervlk marked this conversation as resolved.
/**
Sets or retrieves the number of objects in a collection.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/length)
*/
length: int,
}

/**
Retrieves an object from various collections.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/item)
*/
@send
external item: (DomTypes.htmlCollection<'t>, int) => 't = "item"
external item: (t<'item>, int) => 'item = "item"

/**
Retrieves a select object or an object from an options collection.
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/namedItem)
*/
@send
external namedItem: (DomTypes.htmlCollection<'t>, string) => 't = "namedItem"
external namedItem: (t<'item>, string) => 'item = "namedItem"