Skip to content

Commit d800c69

Browse files
authored
Merge pull request #695 from scala-js/feature/input-event
Add `InputEvent`, `StaticRange`, `AbstractRange`
2 parents 9427efd + 040c415 commit d800c69

File tree

10 files changed

+424
-27
lines changed

10 files changed

+424
-27
lines changed

api-reports/2_12.txt

+90
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ AbortSignal[JT] def dispatchEvent(evt: Event): Boolean
2020
AbortSignal[JT] var onabort: js.Function0[Any]
2121
AbortSignal[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2222
AbortSignal[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
23+
AbstractRange[JC] def collapsed: Boolean
24+
AbstractRange[JC] def endContainer: Node
25+
AbstractRange[JC] def endOffset: Int
26+
AbstractRange[JC] def startContainer: Node
27+
AbstractRange[JC] def startOffset: Int
2328
AbstractWorker[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2429
AbstractWorker[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
2530
AbstractWorker[JT] def dispatchEvent(evt: Event): Boolean
@@ -14524,6 +14529,82 @@ ImageCapture[JC] val track: MediaStreamTrack
1452414529
ImageData[JC] def data: js.Array[Int]
1452514530
ImageData[JC] def height: Int
1452614531
ImageData[JC] def width: Int
14532+
InputEvent[JC] def bubbles: Boolean
14533+
InputEvent[JC] def cancelBubble: Boolean
14534+
InputEvent[JC] def cancelable: Boolean
14535+
InputEvent[JC] def currentTarget: EventTarget
14536+
InputEvent[JC] def data: String
14537+
InputEvent[JC] def dataTransfer: DataTransfer
14538+
InputEvent[JC] def defaultPrevented: Boolean
14539+
InputEvent[JC] def detail: Int
14540+
InputEvent[JC] def eventPhase: Int
14541+
InputEvent[JC] def getTargetRanges(): js.Array[StaticRange]
14542+
InputEvent[JC] def inputType: InputType
14543+
InputEvent[JC] def isComposing: Boolean
14544+
InputEvent[JC] def isTrusted: Boolean
14545+
InputEvent[JC] def preventDefault(): Unit
14546+
InputEvent[JC] def stopImmediatePropagation(): Unit
14547+
InputEvent[JC] def stopPropagation(): Unit
14548+
InputEvent[JC] def target: EventTarget
14549+
InputEvent[JC] def timeStamp: Double
14550+
InputEvent[JC] def `type`: String
14551+
InputEvent[JC] def view: Window
14552+
InputEventInit[JT] var bubbles: js.UndefOr[Boolean]
14553+
InputEventInit[JT] var cancelable: js.UndefOr[Boolean]
14554+
InputEventInit[JT] var composed: js.UndefOr[Boolean]
14555+
InputEventInit[JT] var data: js.UndefOr[String]
14556+
InputEventInit[JT] var detail: js.UndefOr[Int]
14557+
InputEventInit[JT] var inputType: js.UndefOr[InputType]
14558+
InputEventInit[JT] var isComposing: js.UndefOr[Boolean]
14559+
InputEventInit[JT] var scoped: js.UndefOr[Boolean]
14560+
InputEventInit[JT] var view: js.UndefOr[Window]
14561+
InputType[JT]
14562+
InputType[SO] val deleteByCut: InputType
14563+
InputType[SO] val deleteByDrag: InputType
14564+
InputType[SO] val deleteContent: InputType
14565+
InputType[SO] val deleteContentBackward: InputType
14566+
InputType[SO] val deleteContentForward: InputType
14567+
InputType[SO] val deleteEntireSoftLine: InputType
14568+
InputType[SO] val deleteHardLineBackward: InputType
14569+
InputType[SO] val deleteHardLineForward: InputType
14570+
InputType[SO] val deleteSoftLineBackward: InputType
14571+
InputType[SO] val deleteSoftLineForward: InputType
14572+
InputType[SO] val deleteWordBackward: InputType
14573+
InputType[SO] val deleteWordForward: InputType
14574+
InputType[SO] val formatBackColor: InputType
14575+
InputType[SO] val formatBold: InputType
14576+
InputType[SO] val formatFontColor: InputType
14577+
InputType[SO] val formatFontName: InputType
14578+
InputType[SO] val formatIndent: InputType
14579+
InputType[SO] val formatItalic: InputType
14580+
InputType[SO] val formatJustifyCenter: InputType
14581+
InputType[SO] val formatJustifyFull: InputType
14582+
InputType[SO] val formatJustifyLeft: InputType
14583+
InputType[SO] val formatJustifyRight: InputType
14584+
InputType[SO] val formatOutdent: InputType
14585+
InputType[SO] val formatRemove: InputType
14586+
InputType[SO] val formatSetBlockTextDirection: InputType
14587+
InputType[SO] val formatSetInlineTextDirection: InputType
14588+
InputType[SO] val formatStrikeThrough: InputType
14589+
InputType[SO] val formatSubscript: InputType
14590+
InputType[SO] val formatSuperscript: InputType
14591+
InputType[SO] val formatUnderline: InputType
14592+
InputType[SO] val historyRedo: InputType
14593+
InputType[SO] val historyUndo: InputType
14594+
InputType[SO] val insertCompositionText: InputType
14595+
InputType[SO] val insertFromDrop: InputType
14596+
InputType[SO] val insertFromPaste: InputType
14597+
InputType[SO] val insertFromPasteAsQuotation: InputType
14598+
InputType[SO] val insertFromYank: InputType
14599+
InputType[SO] val insertHorizontalRule: InputType
14600+
InputType[SO] val insertLineBreak: InputType
14601+
InputType[SO] val insertLink: InputType
14602+
InputType[SO] val insertOrderedList: InputType
14603+
InputType[SO] val insertParagraph: InputType
14604+
InputType[SO] val insertReplacementText: InputType
14605+
InputType[SO] val insertText: InputType
14606+
InputType[SO] val insertTranspose: InputType
14607+
InputType[SO] val insertUnorderedList: InputType
1452714608
JsonWebKey[JT] var alg: js.Array[String]
1452814609
JsonWebKey[JT] var crv: String
1452914610
JsonWebKey[JT] var d: String
@@ -24654,6 +24735,15 @@ SourceBufferList[JT] var onaddsourcebuffer: js.Function1[Event, Any]
2465424735
SourceBufferList[JT] var onremovesourcebuffer: js.Function1[Event, Any]
2465524736
SourceBufferList[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2465624737
SourceBufferList[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
24738+
StaticRange[JC] def collapsed: Boolean
24739+
StaticRange[JC] def endContainer: Node
24740+
StaticRange[JC] def endOffset: Int
24741+
StaticRange[JC] def startContainer: Node
24742+
StaticRange[JC] def startOffset: Int
24743+
StaticRangeInit[JT] val endContainer: Node
24744+
StaticRangeInit[JT] val endOffset: Int
24745+
StaticRangeInit[JT] val startContainer: Node
24746+
StaticRangeInit[JT] val startOffset: Int
2465724747
StereoPannerNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2465824748
StereoPannerNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
2465924749
StereoPannerNode[JT] var channelCount: Int

api-reports/2_13.txt

+90
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ AbortSignal[JT] def dispatchEvent(evt: Event): Boolean
2020
AbortSignal[JT] var onabort: js.Function0[Any]
2121
AbortSignal[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2222
AbortSignal[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
23+
AbstractRange[JC] def collapsed: Boolean
24+
AbstractRange[JC] def endContainer: Node
25+
AbstractRange[JC] def endOffset: Int
26+
AbstractRange[JC] def startContainer: Node
27+
AbstractRange[JC] def startOffset: Int
2328
AbstractWorker[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2429
AbstractWorker[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
2530
AbstractWorker[JT] def dispatchEvent(evt: Event): Boolean
@@ -14524,6 +14529,82 @@ ImageCapture[JC] val track: MediaStreamTrack
1452414529
ImageData[JC] def data: js.Array[Int]
1452514530
ImageData[JC] def height: Int
1452614531
ImageData[JC] def width: Int
14532+
InputEvent[JC] def bubbles: Boolean
14533+
InputEvent[JC] def cancelBubble: Boolean
14534+
InputEvent[JC] def cancelable: Boolean
14535+
InputEvent[JC] def currentTarget: EventTarget
14536+
InputEvent[JC] def data: String
14537+
InputEvent[JC] def dataTransfer: DataTransfer
14538+
InputEvent[JC] def defaultPrevented: Boolean
14539+
InputEvent[JC] def detail: Int
14540+
InputEvent[JC] def eventPhase: Int
14541+
InputEvent[JC] def getTargetRanges(): js.Array[StaticRange]
14542+
InputEvent[JC] def inputType: InputType
14543+
InputEvent[JC] def isComposing: Boolean
14544+
InputEvent[JC] def isTrusted: Boolean
14545+
InputEvent[JC] def preventDefault(): Unit
14546+
InputEvent[JC] def stopImmediatePropagation(): Unit
14547+
InputEvent[JC] def stopPropagation(): Unit
14548+
InputEvent[JC] def target: EventTarget
14549+
InputEvent[JC] def timeStamp: Double
14550+
InputEvent[JC] def `type`: String
14551+
InputEvent[JC] def view: Window
14552+
InputEventInit[JT] var bubbles: js.UndefOr[Boolean]
14553+
InputEventInit[JT] var cancelable: js.UndefOr[Boolean]
14554+
InputEventInit[JT] var composed: js.UndefOr[Boolean]
14555+
InputEventInit[JT] var data: js.UndefOr[String]
14556+
InputEventInit[JT] var detail: js.UndefOr[Int]
14557+
InputEventInit[JT] var inputType: js.UndefOr[InputType]
14558+
InputEventInit[JT] var isComposing: js.UndefOr[Boolean]
14559+
InputEventInit[JT] var scoped: js.UndefOr[Boolean]
14560+
InputEventInit[JT] var view: js.UndefOr[Window]
14561+
InputType[JT]
14562+
InputType[SO] val deleteByCut: InputType
14563+
InputType[SO] val deleteByDrag: InputType
14564+
InputType[SO] val deleteContent: InputType
14565+
InputType[SO] val deleteContentBackward: InputType
14566+
InputType[SO] val deleteContentForward: InputType
14567+
InputType[SO] val deleteEntireSoftLine: InputType
14568+
InputType[SO] val deleteHardLineBackward: InputType
14569+
InputType[SO] val deleteHardLineForward: InputType
14570+
InputType[SO] val deleteSoftLineBackward: InputType
14571+
InputType[SO] val deleteSoftLineForward: InputType
14572+
InputType[SO] val deleteWordBackward: InputType
14573+
InputType[SO] val deleteWordForward: InputType
14574+
InputType[SO] val formatBackColor: InputType
14575+
InputType[SO] val formatBold: InputType
14576+
InputType[SO] val formatFontColor: InputType
14577+
InputType[SO] val formatFontName: InputType
14578+
InputType[SO] val formatIndent: InputType
14579+
InputType[SO] val formatItalic: InputType
14580+
InputType[SO] val formatJustifyCenter: InputType
14581+
InputType[SO] val formatJustifyFull: InputType
14582+
InputType[SO] val formatJustifyLeft: InputType
14583+
InputType[SO] val formatJustifyRight: InputType
14584+
InputType[SO] val formatOutdent: InputType
14585+
InputType[SO] val formatRemove: InputType
14586+
InputType[SO] val formatSetBlockTextDirection: InputType
14587+
InputType[SO] val formatSetInlineTextDirection: InputType
14588+
InputType[SO] val formatStrikeThrough: InputType
14589+
InputType[SO] val formatSubscript: InputType
14590+
InputType[SO] val formatSuperscript: InputType
14591+
InputType[SO] val formatUnderline: InputType
14592+
InputType[SO] val historyRedo: InputType
14593+
InputType[SO] val historyUndo: InputType
14594+
InputType[SO] val insertCompositionText: InputType
14595+
InputType[SO] val insertFromDrop: InputType
14596+
InputType[SO] val insertFromPaste: InputType
14597+
InputType[SO] val insertFromPasteAsQuotation: InputType
14598+
InputType[SO] val insertFromYank: InputType
14599+
InputType[SO] val insertHorizontalRule: InputType
14600+
InputType[SO] val insertLineBreak: InputType
14601+
InputType[SO] val insertLink: InputType
14602+
InputType[SO] val insertOrderedList: InputType
14603+
InputType[SO] val insertParagraph: InputType
14604+
InputType[SO] val insertReplacementText: InputType
14605+
InputType[SO] val insertText: InputType
14606+
InputType[SO] val insertTranspose: InputType
14607+
InputType[SO] val insertUnorderedList: InputType
1452714608
JsonWebKey[JT] var alg: js.Array[String]
1452814609
JsonWebKey[JT] var crv: String
1452914610
JsonWebKey[JT] var d: String
@@ -24654,6 +24735,15 @@ SourceBufferList[JT] var onaddsourcebuffer: js.Function1[Event, Any]
2465424735
SourceBufferList[JT] var onremovesourcebuffer: js.Function1[Event, Any]
2465524736
SourceBufferList[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2465624737
SourceBufferList[JT] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
24738+
StaticRange[JC] def collapsed: Boolean
24739+
StaticRange[JC] def endContainer: Node
24740+
StaticRange[JC] def endOffset: Int
24741+
StaticRange[JC] def startContainer: Node
24742+
StaticRange[JC] def startOffset: Int
24743+
StaticRangeInit[JT] val endContainer: Node
24744+
StaticRangeInit[JT] val endOffset: Int
24745+
StaticRangeInit[JT] val startContainer: Node
24746+
StaticRangeInit[JT] val startOffset: Int
2465724747
StereoPannerNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit
2465824748
StereoPannerNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit
2465924749
StereoPannerNode[JT] var channelCount: Int
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
@js.native
6+
sealed trait InputType extends js.Any
7+
8+
object InputType {
9+
val insertText: InputType = "insertText".asInstanceOf[InputType]
10+
val insertReplacementText: InputType = "insertReplacementText".asInstanceOf[InputType]
11+
val insertLineBreak: InputType = "insertLineBreak".asInstanceOf[InputType]
12+
val insertParagraph: InputType = "insertParagraph".asInstanceOf[InputType]
13+
val insertOrderedList: InputType = "insertOrderedList".asInstanceOf[InputType]
14+
val insertUnorderedList: InputType = "insertUnorderedList".asInstanceOf[InputType]
15+
val insertHorizontalRule: InputType = "insertHorizontalRule".asInstanceOf[InputType]
16+
val insertFromYank: InputType = "insertFromYank".asInstanceOf[InputType]
17+
val insertFromDrop: InputType = "insertFromDrop".asInstanceOf[InputType]
18+
val insertFromPaste: InputType = "insertFromPaste".asInstanceOf[InputType]
19+
val insertFromPasteAsQuotation: InputType = "insertFromPasteAsQuotation".asInstanceOf[InputType]
20+
val insertTranspose: InputType = "insertTranspose".asInstanceOf[InputType]
21+
val insertCompositionText: InputType = "insertCompositionText".asInstanceOf[InputType]
22+
val insertLink: InputType = "insertLink".asInstanceOf[InputType]
23+
val deleteWordBackward: InputType = "deleteWordBackward".asInstanceOf[InputType]
24+
val deleteWordForward: InputType = "deleteWordForward".asInstanceOf[InputType]
25+
val deleteSoftLineBackward: InputType = "deleteSoftLineBackward".asInstanceOf[InputType]
26+
val deleteSoftLineForward: InputType = "deleteSoftLineForward".asInstanceOf[InputType]
27+
val deleteEntireSoftLine: InputType = "deleteEntireSoftLine".asInstanceOf[InputType]
28+
val deleteHardLineBackward: InputType = "deleteHardLineBackward".asInstanceOf[InputType]
29+
val deleteHardLineForward: InputType = "deleteHardLineForward".asInstanceOf[InputType]
30+
val deleteByDrag: InputType = "deleteByDrag".asInstanceOf[InputType]
31+
val deleteByCut: InputType = "deleteByCut".asInstanceOf[InputType]
32+
val deleteContent: InputType = "deleteContent".asInstanceOf[InputType]
33+
val deleteContentBackward: InputType = "deleteContentBackward".asInstanceOf[InputType]
34+
val deleteContentForward: InputType = "deleteContentForward".asInstanceOf[InputType]
35+
val historyUndo: InputType = "historyUndo".asInstanceOf[InputType]
36+
val historyRedo: InputType = "historyRedo".asInstanceOf[InputType]
37+
val formatBold: InputType = "formatBold".asInstanceOf[InputType]
38+
val formatItalic: InputType = "formatItalic".asInstanceOf[InputType]
39+
val formatUnderline: InputType = "formatUnderline".asInstanceOf[InputType]
40+
val formatStrikeThrough: InputType = "formatStrikeThrough".asInstanceOf[InputType]
41+
val formatSuperscript: InputType = "formatSuperscript".asInstanceOf[InputType]
42+
val formatSubscript: InputType = "formatSubscript".asInstanceOf[InputType]
43+
val formatJustifyFull: InputType = "formatJustifyFull".asInstanceOf[InputType]
44+
val formatJustifyCenter: InputType = "formatJustifyCenter".asInstanceOf[InputType]
45+
val formatJustifyRight: InputType = "formatJustifyRight".asInstanceOf[InputType]
46+
val formatJustifyLeft: InputType = "formatJustifyLeft".asInstanceOf[InputType]
47+
val formatIndent: InputType = "formatIndent".asInstanceOf[InputType]
48+
val formatOutdent: InputType = "formatOutdent".asInstanceOf[InputType]
49+
val formatRemove: InputType = "formatRemove".asInstanceOf[InputType]
50+
val formatSetBlockTextDirection: InputType = "formatSetBlockTextDirection".asInstanceOf[InputType]
51+
val formatSetInlineTextDirection: InputType = "formatSetInlineTextDirection".asInstanceOf[InputType]
52+
val formatBackColor: InputType = "formatBackColor".asInstanceOf[InputType]
53+
val formatFontColor: InputType = "formatFontColor".asInstanceOf[InputType]
54+
val formatFontName: InputType = "formatFontName".asInstanceOf[InputType]
55+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
opaque type InputType <: String = String
6+
7+
object InputType {
8+
val insertText: InputType = "insertText"
9+
val insertReplacementText: InputType = "insertReplacementText"
10+
val insertLineBreak: InputType = "insertLineBreak"
11+
val insertParagraph: InputType = "insertParagraph"
12+
val insertOrderedList: InputType = "insertOrderedList"
13+
val insertUnorderedList: InputType = "insertUnorderedList"
14+
val insertHorizontalRule: InputType = "insertHorizontalRule"
15+
val insertFromYank: InputType = "insertFromYank"
16+
val insertFromDrop: InputType = "insertFromDrop"
17+
val insertFromPaste: InputType = "insertFromPaste"
18+
val insertFromPasteAsQuotation: InputType = "insertFromPasteAsQuotation"
19+
val insertTranspose: InputType = "insertTranspose"
20+
val insertCompositionText: InputType = "insertCompositionText"
21+
val insertLink: InputType = "insertLink"
22+
val deleteWordBackward: InputType = "deleteWordBackward"
23+
val deleteWordForward: InputType = "deleteWordForward"
24+
val deleteSoftLineBackward: InputType = "deleteSoftLineBackward"
25+
val deleteSoftLineForward: InputType = "deleteSoftLineForward"
26+
val deleteEntireSoftLine: InputType = "deleteEntireSoftLine"
27+
val deleteHardLineBackward: InputType = "deleteHardLineBackward"
28+
val deleteHardLineForward: InputType = "deleteHardLineForward"
29+
val deleteByDrag: InputType = "deleteByDrag"
30+
val deleteByCut: InputType = "deleteByCut"
31+
val deleteContent: InputType = "deleteContent"
32+
val deleteContentBackward: InputType = "deleteContentBackward"
33+
val deleteContentForward: InputType = "deleteContentForward"
34+
val historyUndo: InputType = "historyUndo"
35+
val historyRedo: InputType = "historyRedo"
36+
val formatBold: InputType = "formatBold"
37+
val formatItalic: InputType = "formatItalic"
38+
val formatUnderline: InputType = "formatUnderline"
39+
val formatStrikeThrough: InputType = "formatStrikeThrough"
40+
val formatSuperscript: InputType = "formatSuperscript"
41+
val formatSubscript: InputType = "formatSubscript"
42+
val formatJustifyFull: InputType = "formatJustifyFull"
43+
val formatJustifyCenter: InputType = "formatJustifyCenter"
44+
val formatJustifyRight: InputType = "formatJustifyRight"
45+
val formatJustifyLeft: InputType = "formatJustifyLeft"
46+
val formatIndent: InputType = "formatIndent"
47+
val formatOutdent: InputType = "formatOutdent"
48+
val formatRemove: InputType = "formatRemove"
49+
val formatSetBlockTextDirection: InputType = "formatSetBlockTextDirection"
50+
val formatSetInlineTextDirection: InputType = "formatSetInlineTextDirection"
51+
val formatBackColor: InputType = "formatBackColor"
52+
val formatFontColor: InputType = "formatFontColor"
53+
val formatFontName: InputType = "formatFontName"
54+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API
2+
* and available under the Creative Commons Attribution-ShareAlike v2.5 or later.
3+
* http://creativecommons.org/licenses/by-sa/2.5/
4+
*
5+
* Everything else is under the MIT License http://opensource.org/licenses/MIT
6+
*/
7+
package org.scalajs.dom
8+
9+
import scala.scalajs.js
10+
import scala.scalajs.js.annotation._
11+
12+
/** The AbstractRange abstract interface is the base class upon which all DOM range types are defined. A range is an
13+
* object that indicates the start and end points of a section of content within the document.
14+
*/
15+
@js.native
16+
@JSGlobal
17+
abstract class AbstractRange extends js.Object {
18+
19+
/** The Range.startOffset read-only property returns a number representing where in the startContainer the Range
20+
* starts.
21+
*/
22+
def startOffset: Int = js.native
23+
24+
/** The Range.collapsed read-only property returns a Boolean flag indicating whether the start and end points of the
25+
* Range are at the same position. It returns true if the start and end boundary points of the Range are the same
26+
* point in the DOM, false if not.
27+
*/
28+
def collapsed: Boolean = js.native
29+
30+
/** The Range.endOffset read-only property returns a number representing where in the Range.endContainer the Range
31+
* ends.
32+
*/
33+
def endOffset: Int = js.native
34+
35+
/** The Range.startContainer read-only property returns the Node within which the Range starts. To change the start
36+
* position of a node, use one of the Range.setStart() methods.
37+
*/
38+
def startContainer: Node = js.native
39+
40+
/** The Range.endContainer read-only property returns the Node within which the Range ends. To change the end position
41+
* of a node, use the Range.setEnd() method or a similar one.
42+
*/
43+
def endContainer: Node = js.native
44+
45+
}

0 commit comments

Comments
 (0)