diff --git a/libraries/stdlib/wasm/src/kotlin/Dynamic.kt b/libraries/stdlib/wasm/src/kotlin/Dynamic.kt new file mode 100644 index 00000000000..1791cccf476 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlin/Dynamic.kt @@ -0,0 +1,204 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlin.js + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetBoolean(obj: Dynamic, index: String, value: Boolean) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetByte(obj: Dynamic, index: String, value: Byte) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetShort(obj: Dynamic, index: String, value: Short) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetChar(obj: Dynamic, index: String, value: Char) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetInt(obj: Dynamic, index: String, value: Int) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetLong(obj: Dynamic, index: String, value: Long) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetFloat(obj: Dynamic, index: String, value: Float) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetDouble(obj: Dynamic, index: String, value: Double) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetString(obj: Dynamic, index: String, value: String?) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index] = value") +internal external fun dynamicSetAny(obj: Dynamic, index: String, value: Any?) + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetBoolean(obj: Dynamic, index: String): Boolean + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetByte(obj: Dynamic, index: String): Byte + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetShort(obj: Dynamic, index: String): Short + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetChar(obj: Dynamic, index: String): Char + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetInt(obj: Dynamic, index: String): Int + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetLong(obj: Dynamic, index: String): Long + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetFloat(obj: Dynamic, index: String): Float + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetDouble(obj: Dynamic, index: String): Double + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetString(obj: Dynamic, index: String): String? + +@PublishedApi +@JsFun("(obj, index, value) => obj[index]") +internal external fun dynamicGetAny(obj: Dynamic, index: String): Any? + +@PublishedApi +internal fun Dynamic.getBoolean(index: String): Boolean = dynamicGetBoolean(this, index) + +@PublishedApi +internal fun Dynamic.getByte(index: String): Byte = dynamicGetByte(this, index) + +@PublishedApi +internal fun Dynamic.getShort(index: String): Short = dynamicGetShort(this, index) + +@PublishedApi +internal fun Dynamic.getChar(index: String): Char = dynamicGetChar(this, index) + +@PublishedApi +internal fun Dynamic.getInt(index: String): Int = dynamicGetInt(this, index) + +@PublishedApi +internal fun Dynamic.getLong(index: String): Long = dynamicGetLong(this, index) + +@PublishedApi +internal fun Dynamic.getFloat(index: String): Float = dynamicGetFloat(this, index) + +@PublishedApi +internal fun Dynamic.getDouble(index: String): Double = dynamicGetDouble(this, index) + +@PublishedApi +internal fun Dynamic.getString(index: String): String? = dynamicGetString(this, index) + +@PublishedApi +internal fun Dynamic.getAny(index: String): T? = dynamicGetAny(this, index) as T? + +@PublishedApi +internal fun Dynamic.getBoolean(index: Int): Boolean = dynamicGetBoolean(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getByte(index: Int): Byte = dynamicGetByte(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getShort(index: Int): Short = dynamicGetShort(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getChar(index: Int): Char = dynamicGetChar(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getInt(index: Int): Int = dynamicGetInt(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getLong(index: Int): Long = dynamicGetLong(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getFloat(index: Int): Float = dynamicGetFloat(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getDouble(index: Int): Double = dynamicGetDouble(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getString(index: Int): String? = dynamicGetString(this, index.toString()) + +@PublishedApi +internal fun Dynamic.getAny(index: Int): T? = dynamicGetAny(this, index.toString()) as T? + +/** + * Represents unversal type for JS interoperability. + */ +external interface Dynamic + +/** + * Reinterprets this value as a value of the Dynamic type. + */ +@kotlin.internal.InlineOnly +fun Any.asDynamic(): Dynamic = this as Dynamic + +/** + * Reinterprets this value as a value of the Dynamic type. + */ +@kotlin.internal.InlineOnly +fun String.asDynamic(): Dynamic = this.unsafeCast() + +operator fun Dynamic.set(index: String, value: Any?) { + when (value) { + is Boolean -> dynamicSetBoolean(this, index, value) + is Byte -> dynamicSetByte(this, index, value) + is Short -> dynamicSetShort(this, index, value) + is Char -> dynamicSetChar(this, index, value) + is Int -> dynamicSetInt(this, index, value) + is Long -> dynamicSetLong(this, index, value) + is Float -> dynamicSetFloat(this, index, value) + is Double -> dynamicSetDouble(this, index, value) + is String -> dynamicSetString(this, index, value) + else -> dynamicSetAny(this, index, value) + } +} + +operator fun Dynamic.set(index: Int, value: Any?) { + this[index.toString()] = value +} + +@JsFun("(x) => x") +private external fun unsafeCastJs(x: String): Dynamic +fun String.unsafeCast(): T = unsafeCastJs(this) as T + +@JsFun("(x) => x") +private external fun unsafeCastJs(x: Boolean): Dynamic + +/** + * Reinterprets boolean value as a value of the specified type [T] without any actual type checking. + */ +fun Boolean.unsafeCast(): T = unsafeCastJs(this) as T + +/** + * Reinterprets Nothing? type value as Dynamic? null. + */ +fun Nothing?.unsafeCast(): Dynamic? = null + +/** + * Reinterprets Dynamic type value as a value of the specified type [T] without any actual type checking. + */ +fun Dynamic.unsafeCast(): T = this as T \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt b/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt new file mode 100644 index 00000000000..61a497cd9e4 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlin/w3cSupport.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlin.js + +external class Promise + +@PublishedApi +internal val undefined: Nothing? = null + +/** + * Exposes the JavaScript [eval function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) to Kotlin. + */ +@JsFun("(s) => eval(s)") +external fun js(code: String): Dynamic + +external interface ItemArrayLike { + val length: Int + fun item(index: Int): T? +} + +fun ItemArrayLike.asList(): List = object : AbstractList() { + override val size: Int get() = this@asList.length + + override fun get(index: Int): T = when (index) { + in 0..lastIndex -> this@asList.item(index) as T + else -> throw IndexOutOfBoundsException("index $index is not in range [0..$lastIndex]") + } +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/kotlinx/browser/declarations.kt b/libraries/stdlib/wasm/src/kotlinx/browser/declarations.kt new file mode 100644 index 00000000000..23d06ac6d44 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlinx/browser/declarations.kt @@ -0,0 +1,16 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlinx.browser + +import org.w3c.dom.* + +public external val window: Window + +public external val document: Document + +public external val localStorage: Storage + +public external val sessionStorage: Storage diff --git a/libraries/stdlib/wasm/src/kotlinx/dom/Builders.kt b/libraries/stdlib/wasm/src/kotlinx/dom/Builders.kt new file mode 100644 index 00000000000..6cbf2bc6c8f --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlinx/dom/Builders.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlinx.dom + +import org.w3c.dom.* +import kotlin.contracts.* + +/** + * Creates a new element with the specified [name]. + * + * The element is initialized with the specified [init] function. + */ +@SinceKotlin("1.4") +public fun Document.createElement(name: String, init: Element.() -> Unit): Element { + contract { callsInPlace(init, InvocationKind.EXACTLY_ONCE) } + return createElement(name).apply(init) +} + +/** + * Appends a newly created element with the specified [name] to this element. + * + * The element is initialized with the specified [init] function. + */ +@SinceKotlin("1.4") +public fun Element.appendElement(name: String, init: Element.() -> Unit): Element { + contract { callsInPlace(init, InvocationKind.EXACTLY_ONCE) } + return ownerDocument!!.createElement(name, init).also { appendChild(it) } +} + diff --git a/libraries/stdlib/wasm/src/kotlinx/dom/Classes.kt b/libraries/stdlib/wasm/src/kotlinx/dom/Classes.kt new file mode 100644 index 00000000000..13eb8e90133 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlinx/dom/Classes.kt @@ -0,0 +1,51 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlinx.dom + +import org.w3c.dom.* + +/** Returns true if the element has the given CSS class style in its 'class' attribute */ +@SinceKotlin("1.4") +fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+)$cssClass($|\s+.*)""".toRegex()) + +/** + * Adds CSS class to element. Has no effect if all specified classes are already in class attribute of the element + * + * @return true if at least one class has been added + */ +@SinceKotlin("1.4") +fun Element.addClass(vararg cssClasses: String): Boolean { + val missingClasses = cssClasses.filterNot { hasClass(it) } + if (missingClasses.isNotEmpty()) { + val presentClasses = className.trim() + className = buildString { + append(presentClasses) + if (!presentClasses.isEmpty()) { + append(" ") + } + missingClasses.joinTo(this, " ") + } + return true + } + + return false +} + +/** + * Removes all [cssClasses] from element. Has no effect if all specified classes are missing in class attribute of the element + * + * @return true if at least one class has been removed + */ +@SinceKotlin("1.4") +fun Element.removeClass(vararg cssClasses: String): Boolean { + if (cssClasses.any { hasClass(it) }) { + val toBeRemoved = cssClasses.toSet() + className = className.trim().split("\\s+".toRegex()).filter { it !in toBeRemoved }.joinToString(" ") + return true + } + + return false +} diff --git a/libraries/stdlib/wasm/src/kotlinx/dom/Dom.kt b/libraries/stdlib/wasm/src/kotlinx/dom/Dom.kt new file mode 100644 index 00000000000..7cd902e8ae5 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlinx/dom/Dom.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlinx.dom + +import org.w3c.dom.* + +/** + * Gets a value indicating whether this node is a TEXT_NODE or a CDATA_SECTION_NODE. + */ +@SinceKotlin("1.4") +public val Node.isText: Boolean + get() = nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE + +/** + * Gets a value indicating whether this node is an [Element]. + */ +@SinceKotlin("1.4") +public val Node.isElement: Boolean + get() = nodeType == Node.ELEMENT_NODE diff --git a/libraries/stdlib/wasm/src/kotlinx/dom/Mutations.kt b/libraries/stdlib/wasm/src/kotlinx/dom/Mutations.kt new file mode 100644 index 00000000000..1f942cf7399 --- /dev/null +++ b/libraries/stdlib/wasm/src/kotlinx/dom/Mutations.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package kotlinx.dom + +import org.w3c.dom.* + +/** Removes all the children from this node. */ +@SinceKotlin("1.4") +public fun Node.clear() { + while (hasChildNodes()) { + removeChild(firstChild!!) + } +} + +/** + * Creates text node and append it to the element. + * + * @return this element + */ +@SinceKotlin("1.4") +fun Element.appendText(text: String): Element { + appendChild(ownerDocument!!.createTextNode(text)) + return this +} diff --git a/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt b/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt new file mode 100644 index 00000000000..6c120828727 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.khronos.webgl.kt @@ -0,0 +1,1214 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.khronos.webgl + +import kotlin.js.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +public external interface WebGLContextAttributes { + var alpha: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var depth: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var stencil: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var antialias: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var premultipliedAlpha: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var preserveDrawingBuffer: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var preferLowPowerToHighPerformance: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var failIfMajorPerformanceCaveat: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun WebGLContextAttributes(alpha: Boolean? = true, depth: Boolean? = true, stencil: Boolean? = false, antialias: Boolean? = true, premultipliedAlpha: Boolean? = true, preserveDrawingBuffer: Boolean? = false, preferLowPowerToHighPerformance: Boolean? = false, failIfMajorPerformanceCaveat: Boolean? = false): WebGLContextAttributes { + val o = js("({})") + o["alpha"] = alpha + o["depth"] = depth + o["stencil"] = stencil + o["antialias"] = antialias + o["premultipliedAlpha"] = premultipliedAlpha + o["preserveDrawingBuffer"] = preserveDrawingBuffer + o["preferLowPowerToHighPerformance"] = preferLowPowerToHighPerformance + o["failIfMajorPerformanceCaveat"] = failIfMajorPerformanceCaveat + return o as WebGLContextAttributes +} + +public external abstract class WebGLObject + +/** + * Exposes the JavaScript [WebGLBuffer](https://developer.mozilla.org/en/docs/Web/API/WebGLBuffer) to Kotlin + */ +public external abstract class WebGLBuffer : WebGLObject + +/** + * Exposes the JavaScript [WebGLFramebuffer](https://developer.mozilla.org/en/docs/Web/API/WebGLFramebuffer) to Kotlin + */ +public external abstract class WebGLFramebuffer : WebGLObject + +/** + * Exposes the JavaScript [WebGLProgram](https://developer.mozilla.org/en/docs/Web/API/WebGLProgram) to Kotlin + */ +public external abstract class WebGLProgram : WebGLObject + +/** + * Exposes the JavaScript [WebGLRenderbuffer](https://developer.mozilla.org/en/docs/Web/API/WebGLRenderbuffer) to Kotlin + */ +public external abstract class WebGLRenderbuffer : WebGLObject + +/** + * Exposes the JavaScript [WebGLShader](https://developer.mozilla.org/en/docs/Web/API/WebGLShader) to Kotlin + */ +public external abstract class WebGLShader : WebGLObject + +/** + * Exposes the JavaScript [WebGLTexture](https://developer.mozilla.org/en/docs/Web/API/WebGLTexture) to Kotlin + */ +public external abstract class WebGLTexture : WebGLObject + +/** + * Exposes the JavaScript [WebGLUniformLocation](https://developer.mozilla.org/en/docs/Web/API/WebGLUniformLocation) to Kotlin + */ +public external abstract class WebGLUniformLocation + +/** + * Exposes the JavaScript [WebGLActiveInfo](https://developer.mozilla.org/en/docs/Web/API/WebGLActiveInfo) to Kotlin + */ +public external abstract class WebGLActiveInfo { + open val size: Int + open val type: Int + open val name: String +} + +/** + * Exposes the JavaScript [WebGLShaderPrecisionFormat](https://developer.mozilla.org/en/docs/Web/API/WebGLShaderPrecisionFormat) to Kotlin + */ +public external abstract class WebGLShaderPrecisionFormat { + open val rangeMin: Int + open val rangeMax: Int + open val precision: Int +} + +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface WebGLRenderingContextBase { + val canvas: HTMLCanvasElement + val drawingBufferWidth: Int + val drawingBufferHeight: Int + fun getContextAttributes(): WebGLContextAttributes? + fun isContextLost(): Boolean + fun getSupportedExtensions(): Array? + fun getExtension(name: String): Dynamic? + fun activeTexture(texture: Int) + fun attachShader(program: WebGLProgram?, shader: WebGLShader?) + fun bindAttribLocation(program: WebGLProgram?, index: Int, name: String) + fun bindBuffer(target: Int, buffer: WebGLBuffer?) + fun bindFramebuffer(target: Int, framebuffer: WebGLFramebuffer?) + fun bindRenderbuffer(target: Int, renderbuffer: WebGLRenderbuffer?) + fun bindTexture(target: Int, texture: WebGLTexture?) + fun blendColor(red: Float, green: Float, blue: Float, alpha: Float) + fun blendEquation(mode: Int) + fun blendEquationSeparate(modeRGB: Int, modeAlpha: Int) + fun blendFunc(sfactor: Int, dfactor: Int) + fun blendFuncSeparate(srcRGB: Int, dstRGB: Int, srcAlpha: Int, dstAlpha: Int) + fun bufferData(target: Int, size: Int, usage: Int) + fun bufferData(target: Int, data: BufferDataSource?, usage: Int) + fun bufferSubData(target: Int, offset: Int, data: BufferDataSource?) + fun checkFramebufferStatus(target: Int): Int + fun clear(mask: Int) + fun clearColor(red: Float, green: Float, blue: Float, alpha: Float) + fun clearDepth(depth: Float) + fun clearStencil(s: Int) + fun colorMask(red: Boolean, green: Boolean, blue: Boolean, alpha: Boolean) + fun compileShader(shader: WebGLShader?) + fun compressedTexImage2D(target: Int, level: Int, internalformat: Int, width: Int, height: Int, border: Int, data: ArrayBufferView) + fun compressedTexSubImage2D(target: Int, level: Int, xoffset: Int, yoffset: Int, width: Int, height: Int, format: Int, data: ArrayBufferView) + fun copyTexImage2D(target: Int, level: Int, internalformat: Int, x: Int, y: Int, width: Int, height: Int, border: Int) + fun copyTexSubImage2D(target: Int, level: Int, xoffset: Int, yoffset: Int, x: Int, y: Int, width: Int, height: Int) + fun createBuffer(): WebGLBuffer? + fun createFramebuffer(): WebGLFramebuffer? + fun createProgram(): WebGLProgram? + fun createRenderbuffer(): WebGLRenderbuffer? + fun createShader(type: Int): WebGLShader? + fun createTexture(): WebGLTexture? + fun cullFace(mode: Int) + fun deleteBuffer(buffer: WebGLBuffer?) + fun deleteFramebuffer(framebuffer: WebGLFramebuffer?) + fun deleteProgram(program: WebGLProgram?) + fun deleteRenderbuffer(renderbuffer: WebGLRenderbuffer?) + fun deleteShader(shader: WebGLShader?) + fun deleteTexture(texture: WebGLTexture?) + fun depthFunc(func: Int) + fun depthMask(flag: Boolean) + fun depthRange(zNear: Float, zFar: Float) + fun detachShader(program: WebGLProgram?, shader: WebGLShader?) + fun disable(cap: Int) + fun disableVertexAttribArray(index: Int) + fun drawArrays(mode: Int, first: Int, count: Int) + fun drawElements(mode: Int, count: Int, type: Int, offset: Int) + fun enable(cap: Int) + fun enableVertexAttribArray(index: Int) + fun finish() + fun flush() + fun framebufferRenderbuffer(target: Int, attachment: Int, renderbuffertarget: Int, renderbuffer: WebGLRenderbuffer?) + fun framebufferTexture2D(target: Int, attachment: Int, textarget: Int, texture: WebGLTexture?, level: Int) + fun frontFace(mode: Int) + fun generateMipmap(target: Int) + fun getActiveAttrib(program: WebGLProgram?, index: Int): WebGLActiveInfo? + fun getActiveUniform(program: WebGLProgram?, index: Int): WebGLActiveInfo? + fun getAttachedShaders(program: WebGLProgram?): Array? + fun getAttribLocation(program: WebGLProgram?, name: String): Int + fun getBufferParameter(target: Int, pname: Int): Any? + fun getParameter(pname: Int): Any? + fun getError(): Int + fun getFramebufferAttachmentParameter(target: Int, attachment: Int, pname: Int): Any? + fun getProgramParameter(program: WebGLProgram?, pname: Int): Any? + fun getProgramInfoLog(program: WebGLProgram?): String? + fun getRenderbufferParameter(target: Int, pname: Int): Any? + fun getShaderParameter(shader: WebGLShader?, pname: Int): Any? + fun getShaderPrecisionFormat(shadertype: Int, precisiontype: Int): WebGLShaderPrecisionFormat? + fun getShaderInfoLog(shader: WebGLShader?): String? + fun getShaderSource(shader: WebGLShader?): String? + fun getTexParameter(target: Int, pname: Int): Any? + fun getUniform(program: WebGLProgram?, location: WebGLUniformLocation?): Any? + fun getUniformLocation(program: WebGLProgram?, name: String): WebGLUniformLocation? + fun getVertexAttrib(index: Int, pname: Int): Any? + fun getVertexAttribOffset(index: Int, pname: Int): Int + fun hint(target: Int, mode: Int) + fun isBuffer(buffer: WebGLBuffer?): Boolean + fun isEnabled(cap: Int): Boolean + fun isFramebuffer(framebuffer: WebGLFramebuffer?): Boolean + fun isProgram(program: WebGLProgram?): Boolean + fun isRenderbuffer(renderbuffer: WebGLRenderbuffer?): Boolean + fun isShader(shader: WebGLShader?): Boolean + fun isTexture(texture: WebGLTexture?): Boolean + fun lineWidth(width: Float) + fun linkProgram(program: WebGLProgram?) + fun pixelStorei(pname: Int, param: Int) + fun polygonOffset(factor: Float, units: Float) + fun readPixels(x: Int, y: Int, width: Int, height: Int, format: Int, type: Int, pixels: ArrayBufferView?) + fun renderbufferStorage(target: Int, internalformat: Int, width: Int, height: Int) + fun sampleCoverage(value: Float, invert: Boolean) + fun scissor(x: Int, y: Int, width: Int, height: Int) + fun shaderSource(shader: WebGLShader?, source: String) + fun stencilFunc(func: Int, ref: Int, mask: Int) + fun stencilFuncSeparate(face: Int, func: Int, ref: Int, mask: Int) + fun stencilMask(mask: Int) + fun stencilMaskSeparate(face: Int, mask: Int) + fun stencilOp(fail: Int, zfail: Int, zpass: Int) + fun stencilOpSeparate(face: Int, fail: Int, zfail: Int, zpass: Int) + fun texImage2D(target: Int, level: Int, internalformat: Int, width: Int, height: Int, border: Int, format: Int, type: Int, pixels: ArrayBufferView?) + fun texImage2D(target: Int, level: Int, internalformat: Int, format: Int, type: Int, source: TexImageSource?) + fun texParameterf(target: Int, pname: Int, param: Float) + fun texParameteri(target: Int, pname: Int, param: Int) + fun texSubImage2D(target: Int, level: Int, xoffset: Int, yoffset: Int, width: Int, height: Int, format: Int, type: Int, pixels: ArrayBufferView?) + fun texSubImage2D(target: Int, level: Int, xoffset: Int, yoffset: Int, format: Int, type: Int, source: TexImageSource?) + fun uniform1f(location: WebGLUniformLocation?, x: Float) + fun uniform1fv(location: WebGLUniformLocation?, v: Float32Array) + fun uniform1fv(location: WebGLUniformLocation?, v: Array) + fun uniform1i(location: WebGLUniformLocation?, x: Int) + fun uniform1iv(location: WebGLUniformLocation?, v: Int32Array) + fun uniform1iv(location: WebGLUniformLocation?, v: Array) + fun uniform2f(location: WebGLUniformLocation?, x: Float, y: Float) + fun uniform2fv(location: WebGLUniformLocation?, v: Float32Array) + fun uniform2fv(location: WebGLUniformLocation?, v: Array) + fun uniform2i(location: WebGLUniformLocation?, x: Int, y: Int) + fun uniform2iv(location: WebGLUniformLocation?, v: Int32Array) + fun uniform2iv(location: WebGLUniformLocation?, v: Array) + fun uniform3f(location: WebGLUniformLocation?, x: Float, y: Float, z: Float) + fun uniform3fv(location: WebGLUniformLocation?, v: Float32Array) + fun uniform3fv(location: WebGLUniformLocation?, v: Array) + fun uniform3i(location: WebGLUniformLocation?, x: Int, y: Int, z: Int) + fun uniform3iv(location: WebGLUniformLocation?, v: Int32Array) + fun uniform3iv(location: WebGLUniformLocation?, v: Array) + fun uniform4f(location: WebGLUniformLocation?, x: Float, y: Float, z: Float, w: Float) + fun uniform4fv(location: WebGLUniformLocation?, v: Float32Array) + fun uniform4fv(location: WebGLUniformLocation?, v: Array) + fun uniform4i(location: WebGLUniformLocation?, x: Int, y: Int, z: Int, w: Int) + fun uniform4iv(location: WebGLUniformLocation?, v: Int32Array) + fun uniform4iv(location: WebGLUniformLocation?, v: Array) + fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: Boolean, value: Float32Array) + fun uniformMatrix2fv(location: WebGLUniformLocation?, transpose: Boolean, value: Array) + fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: Boolean, value: Float32Array) + fun uniformMatrix3fv(location: WebGLUniformLocation?, transpose: Boolean, value: Array) + fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: Boolean, value: Float32Array) + fun uniformMatrix4fv(location: WebGLUniformLocation?, transpose: Boolean, value: Array) + fun useProgram(program: WebGLProgram?) + fun validateProgram(program: WebGLProgram?) + fun vertexAttrib1f(index: Int, x: Float) + fun vertexAttrib1fv(index: Int, values: Dynamic?) + fun vertexAttrib2f(index: Int, x: Float, y: Float) + fun vertexAttrib2fv(index: Int, values: Dynamic?) + fun vertexAttrib3f(index: Int, x: Float, y: Float, z: Float) + fun vertexAttrib3fv(index: Int, values: Dynamic?) + fun vertexAttrib4f(index: Int, x: Float, y: Float, z: Float, w: Float) + fun vertexAttrib4fv(index: Int, values: Dynamic?) + fun vertexAttribPointer(index: Int, size: Int, type: Int, normalized: Boolean, stride: Int, offset: Int) + fun viewport(x: Int, y: Int, width: Int, height: Int) + + companion object { + val DEPTH_BUFFER_BIT: Int + val STENCIL_BUFFER_BIT: Int + val COLOR_BUFFER_BIT: Int + val POINTS: Int + val LINES: Int + val LINE_LOOP: Int + val LINE_STRIP: Int + val TRIANGLES: Int + val TRIANGLE_STRIP: Int + val TRIANGLE_FAN: Int + val ZERO: Int + val ONE: Int + val SRC_COLOR: Int + val ONE_MINUS_SRC_COLOR: Int + val SRC_ALPHA: Int + val ONE_MINUS_SRC_ALPHA: Int + val DST_ALPHA: Int + val ONE_MINUS_DST_ALPHA: Int + val DST_COLOR: Int + val ONE_MINUS_DST_COLOR: Int + val SRC_ALPHA_SATURATE: Int + val FUNC_ADD: Int + val BLEND_EQUATION: Int + val BLEND_EQUATION_RGB: Int + val BLEND_EQUATION_ALPHA: Int + val FUNC_SUBTRACT: Int + val FUNC_REVERSE_SUBTRACT: Int + val BLEND_DST_RGB: Int + val BLEND_SRC_RGB: Int + val BLEND_DST_ALPHA: Int + val BLEND_SRC_ALPHA: Int + val CONSTANT_COLOR: Int + val ONE_MINUS_CONSTANT_COLOR: Int + val CONSTANT_ALPHA: Int + val ONE_MINUS_CONSTANT_ALPHA: Int + val BLEND_COLOR: Int + val ARRAY_BUFFER: Int + val ELEMENT_ARRAY_BUFFER: Int + val ARRAY_BUFFER_BINDING: Int + val ELEMENT_ARRAY_BUFFER_BINDING: Int + val STREAM_DRAW: Int + val STATIC_DRAW: Int + val DYNAMIC_DRAW: Int + val BUFFER_SIZE: Int + val BUFFER_USAGE: Int + val CURRENT_VERTEX_ATTRIB: Int + val FRONT: Int + val BACK: Int + val FRONT_AND_BACK: Int + val CULL_FACE: Int + val BLEND: Int + val DITHER: Int + val STENCIL_TEST: Int + val DEPTH_TEST: Int + val SCISSOR_TEST: Int + val POLYGON_OFFSET_FILL: Int + val SAMPLE_ALPHA_TO_COVERAGE: Int + val SAMPLE_COVERAGE: Int + val NO_ERROR: Int + val INVALID_ENUM: Int + val INVALID_VALUE: Int + val INVALID_OPERATION: Int + val OUT_OF_MEMORY: Int + val CW: Int + val CCW: Int + val LINE_WIDTH: Int + val ALIASED_POINT_SIZE_RANGE: Int + val ALIASED_LINE_WIDTH_RANGE: Int + val CULL_FACE_MODE: Int + val FRONT_FACE: Int + val DEPTH_RANGE: Int + val DEPTH_WRITEMASK: Int + val DEPTH_CLEAR_VALUE: Int + val DEPTH_FUNC: Int + val STENCIL_CLEAR_VALUE: Int + val STENCIL_FUNC: Int + val STENCIL_FAIL: Int + val STENCIL_PASS_DEPTH_FAIL: Int + val STENCIL_PASS_DEPTH_PASS: Int + val STENCIL_REF: Int + val STENCIL_VALUE_MASK: Int + val STENCIL_WRITEMASK: Int + val STENCIL_BACK_FUNC: Int + val STENCIL_BACK_FAIL: Int + val STENCIL_BACK_PASS_DEPTH_FAIL: Int + val STENCIL_BACK_PASS_DEPTH_PASS: Int + val STENCIL_BACK_REF: Int + val STENCIL_BACK_VALUE_MASK: Int + val STENCIL_BACK_WRITEMASK: Int + val VIEWPORT: Int + val SCISSOR_BOX: Int + val COLOR_CLEAR_VALUE: Int + val COLOR_WRITEMASK: Int + val UNPACK_ALIGNMENT: Int + val PACK_ALIGNMENT: Int + val MAX_TEXTURE_SIZE: Int + val MAX_VIEWPORT_DIMS: Int + val SUBPIXEL_BITS: Int + val RED_BITS: Int + val GREEN_BITS: Int + val BLUE_BITS: Int + val ALPHA_BITS: Int + val DEPTH_BITS: Int + val STENCIL_BITS: Int + val POLYGON_OFFSET_UNITS: Int + val POLYGON_OFFSET_FACTOR: Int + val TEXTURE_BINDING_2D: Int + val SAMPLE_BUFFERS: Int + val SAMPLES: Int + val SAMPLE_COVERAGE_VALUE: Int + val SAMPLE_COVERAGE_INVERT: Int + val COMPRESSED_TEXTURE_FORMATS: Int + val DONT_CARE: Int + val FASTEST: Int + val NICEST: Int + val GENERATE_MIPMAP_HINT: Int + val BYTE: Int + val UNSIGNED_BYTE: Int + val SHORT: Int + val UNSIGNED_SHORT: Int + val INT: Int + val UNSIGNED_INT: Int + val FLOAT: Int + val DEPTH_COMPONENT: Int + val ALPHA: Int + val RGB: Int + val RGBA: Int + val LUMINANCE: Int + val LUMINANCE_ALPHA: Int + val UNSIGNED_SHORT_4_4_4_4: Int + val UNSIGNED_SHORT_5_5_5_1: Int + val UNSIGNED_SHORT_5_6_5: Int + val FRAGMENT_SHADER: Int + val VERTEX_SHADER: Int + val MAX_VERTEX_ATTRIBS: Int + val MAX_VERTEX_UNIFORM_VECTORS: Int + val MAX_VARYING_VECTORS: Int + val MAX_COMBINED_TEXTURE_IMAGE_UNITS: Int + val MAX_VERTEX_TEXTURE_IMAGE_UNITS: Int + val MAX_TEXTURE_IMAGE_UNITS: Int + val MAX_FRAGMENT_UNIFORM_VECTORS: Int + val SHADER_TYPE: Int + val DELETE_STATUS: Int + val LINK_STATUS: Int + val VALIDATE_STATUS: Int + val ATTACHED_SHADERS: Int + val ACTIVE_UNIFORMS: Int + val ACTIVE_ATTRIBUTES: Int + val SHADING_LANGUAGE_VERSION: Int + val CURRENT_PROGRAM: Int + val NEVER: Int + val LESS: Int + val EQUAL: Int + val LEQUAL: Int + val GREATER: Int + val NOTEQUAL: Int + val GEQUAL: Int + val ALWAYS: Int + val KEEP: Int + val REPLACE: Int + val INCR: Int + val DECR: Int + val INVERT: Int + val INCR_WRAP: Int + val DECR_WRAP: Int + val VENDOR: Int + val RENDERER: Int + val VERSION: Int + val NEAREST: Int + val LINEAR: Int + val NEAREST_MIPMAP_NEAREST: Int + val LINEAR_MIPMAP_NEAREST: Int + val NEAREST_MIPMAP_LINEAR: Int + val LINEAR_MIPMAP_LINEAR: Int + val TEXTURE_MAG_FILTER: Int + val TEXTURE_MIN_FILTER: Int + val TEXTURE_WRAP_S: Int + val TEXTURE_WRAP_T: Int + val TEXTURE_2D: Int + val TEXTURE: Int + val TEXTURE_CUBE_MAP: Int + val TEXTURE_BINDING_CUBE_MAP: Int + val TEXTURE_CUBE_MAP_POSITIVE_X: Int + val TEXTURE_CUBE_MAP_NEGATIVE_X: Int + val TEXTURE_CUBE_MAP_POSITIVE_Y: Int + val TEXTURE_CUBE_MAP_NEGATIVE_Y: Int + val TEXTURE_CUBE_MAP_POSITIVE_Z: Int + val TEXTURE_CUBE_MAP_NEGATIVE_Z: Int + val MAX_CUBE_MAP_TEXTURE_SIZE: Int + val TEXTURE0: Int + val TEXTURE1: Int + val TEXTURE2: Int + val TEXTURE3: Int + val TEXTURE4: Int + val TEXTURE5: Int + val TEXTURE6: Int + val TEXTURE7: Int + val TEXTURE8: Int + val TEXTURE9: Int + val TEXTURE10: Int + val TEXTURE11: Int + val TEXTURE12: Int + val TEXTURE13: Int + val TEXTURE14: Int + val TEXTURE15: Int + val TEXTURE16: Int + val TEXTURE17: Int + val TEXTURE18: Int + val TEXTURE19: Int + val TEXTURE20: Int + val TEXTURE21: Int + val TEXTURE22: Int + val TEXTURE23: Int + val TEXTURE24: Int + val TEXTURE25: Int + val TEXTURE26: Int + val TEXTURE27: Int + val TEXTURE28: Int + val TEXTURE29: Int + val TEXTURE30: Int + val TEXTURE31: Int + val ACTIVE_TEXTURE: Int + val REPEAT: Int + val CLAMP_TO_EDGE: Int + val MIRRORED_REPEAT: Int + val FLOAT_VEC2: Int + val FLOAT_VEC3: Int + val FLOAT_VEC4: Int + val INT_VEC2: Int + val INT_VEC3: Int + val INT_VEC4: Int + val BOOL: Int + val BOOL_VEC2: Int + val BOOL_VEC3: Int + val BOOL_VEC4: Int + val FLOAT_MAT2: Int + val FLOAT_MAT3: Int + val FLOAT_MAT4: Int + val SAMPLER_2D: Int + val SAMPLER_CUBE: Int + val VERTEX_ATTRIB_ARRAY_ENABLED: Int + val VERTEX_ATTRIB_ARRAY_SIZE: Int + val VERTEX_ATTRIB_ARRAY_STRIDE: Int + val VERTEX_ATTRIB_ARRAY_TYPE: Int + val VERTEX_ATTRIB_ARRAY_NORMALIZED: Int + val VERTEX_ATTRIB_ARRAY_POINTER: Int + val VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: Int + val IMPLEMENTATION_COLOR_READ_TYPE: Int + val IMPLEMENTATION_COLOR_READ_FORMAT: Int + val COMPILE_STATUS: Int + val LOW_FLOAT: Int + val MEDIUM_FLOAT: Int + val HIGH_FLOAT: Int + val LOW_INT: Int + val MEDIUM_INT: Int + val HIGH_INT: Int + val FRAMEBUFFER: Int + val RENDERBUFFER: Int + val RGBA4: Int + val RGB5_A1: Int + val RGB565: Int + val DEPTH_COMPONENT16: Int + val STENCIL_INDEX: Int + val STENCIL_INDEX8: Int + val DEPTH_STENCIL: Int + val RENDERBUFFER_WIDTH: Int + val RENDERBUFFER_HEIGHT: Int + val RENDERBUFFER_INTERNAL_FORMAT: Int + val RENDERBUFFER_RED_SIZE: Int + val RENDERBUFFER_GREEN_SIZE: Int + val RENDERBUFFER_BLUE_SIZE: Int + val RENDERBUFFER_ALPHA_SIZE: Int + val RENDERBUFFER_DEPTH_SIZE: Int + val RENDERBUFFER_STENCIL_SIZE: Int + val FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: Int + val FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: Int + val FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: Int + val FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: Int + val COLOR_ATTACHMENT0: Int + val DEPTH_ATTACHMENT: Int + val STENCIL_ATTACHMENT: Int + val DEPTH_STENCIL_ATTACHMENT: Int + val NONE: Int + val FRAMEBUFFER_COMPLETE: Int + val FRAMEBUFFER_INCOMPLETE_ATTACHMENT: Int + val FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: Int + val FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Int + val FRAMEBUFFER_UNSUPPORTED: Int + val FRAMEBUFFER_BINDING: Int + val RENDERBUFFER_BINDING: Int + val MAX_RENDERBUFFER_SIZE: Int + val INVALID_FRAMEBUFFER_OPERATION: Int + val UNPACK_FLIP_Y_WEBGL: Int + val UNPACK_PREMULTIPLY_ALPHA_WEBGL: Int + val CONTEXT_LOST_WEBGL: Int + val UNPACK_COLORSPACE_CONVERSION_WEBGL: Int + val BROWSER_DEFAULT_WEBGL: Int + } +} + +/** + * Exposes the JavaScript [WebGLRenderingContext](https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext) to Kotlin + */ +public external abstract class WebGLRenderingContext : WebGLRenderingContextBase, RenderingContext { + companion object { + val DEPTH_BUFFER_BIT: Int + val STENCIL_BUFFER_BIT: Int + val COLOR_BUFFER_BIT: Int + val POINTS: Int + val LINES: Int + val LINE_LOOP: Int + val LINE_STRIP: Int + val TRIANGLES: Int + val TRIANGLE_STRIP: Int + val TRIANGLE_FAN: Int + val ZERO: Int + val ONE: Int + val SRC_COLOR: Int + val ONE_MINUS_SRC_COLOR: Int + val SRC_ALPHA: Int + val ONE_MINUS_SRC_ALPHA: Int + val DST_ALPHA: Int + val ONE_MINUS_DST_ALPHA: Int + val DST_COLOR: Int + val ONE_MINUS_DST_COLOR: Int + val SRC_ALPHA_SATURATE: Int + val FUNC_ADD: Int + val BLEND_EQUATION: Int + val BLEND_EQUATION_RGB: Int + val BLEND_EQUATION_ALPHA: Int + val FUNC_SUBTRACT: Int + val FUNC_REVERSE_SUBTRACT: Int + val BLEND_DST_RGB: Int + val BLEND_SRC_RGB: Int + val BLEND_DST_ALPHA: Int + val BLEND_SRC_ALPHA: Int + val CONSTANT_COLOR: Int + val ONE_MINUS_CONSTANT_COLOR: Int + val CONSTANT_ALPHA: Int + val ONE_MINUS_CONSTANT_ALPHA: Int + val BLEND_COLOR: Int + val ARRAY_BUFFER: Int + val ELEMENT_ARRAY_BUFFER: Int + val ARRAY_BUFFER_BINDING: Int + val ELEMENT_ARRAY_BUFFER_BINDING: Int + val STREAM_DRAW: Int + val STATIC_DRAW: Int + val DYNAMIC_DRAW: Int + val BUFFER_SIZE: Int + val BUFFER_USAGE: Int + val CURRENT_VERTEX_ATTRIB: Int + val FRONT: Int + val BACK: Int + val FRONT_AND_BACK: Int + val CULL_FACE: Int + val BLEND: Int + val DITHER: Int + val STENCIL_TEST: Int + val DEPTH_TEST: Int + val SCISSOR_TEST: Int + val POLYGON_OFFSET_FILL: Int + val SAMPLE_ALPHA_TO_COVERAGE: Int + val SAMPLE_COVERAGE: Int + val NO_ERROR: Int + val INVALID_ENUM: Int + val INVALID_VALUE: Int + val INVALID_OPERATION: Int + val OUT_OF_MEMORY: Int + val CW: Int + val CCW: Int + val LINE_WIDTH: Int + val ALIASED_POINT_SIZE_RANGE: Int + val ALIASED_LINE_WIDTH_RANGE: Int + val CULL_FACE_MODE: Int + val FRONT_FACE: Int + val DEPTH_RANGE: Int + val DEPTH_WRITEMASK: Int + val DEPTH_CLEAR_VALUE: Int + val DEPTH_FUNC: Int + val STENCIL_CLEAR_VALUE: Int + val STENCIL_FUNC: Int + val STENCIL_FAIL: Int + val STENCIL_PASS_DEPTH_FAIL: Int + val STENCIL_PASS_DEPTH_PASS: Int + val STENCIL_REF: Int + val STENCIL_VALUE_MASK: Int + val STENCIL_WRITEMASK: Int + val STENCIL_BACK_FUNC: Int + val STENCIL_BACK_FAIL: Int + val STENCIL_BACK_PASS_DEPTH_FAIL: Int + val STENCIL_BACK_PASS_DEPTH_PASS: Int + val STENCIL_BACK_REF: Int + val STENCIL_BACK_VALUE_MASK: Int + val STENCIL_BACK_WRITEMASK: Int + val VIEWPORT: Int + val SCISSOR_BOX: Int + val COLOR_CLEAR_VALUE: Int + val COLOR_WRITEMASK: Int + val UNPACK_ALIGNMENT: Int + val PACK_ALIGNMENT: Int + val MAX_TEXTURE_SIZE: Int + val MAX_VIEWPORT_DIMS: Int + val SUBPIXEL_BITS: Int + val RED_BITS: Int + val GREEN_BITS: Int + val BLUE_BITS: Int + val ALPHA_BITS: Int + val DEPTH_BITS: Int + val STENCIL_BITS: Int + val POLYGON_OFFSET_UNITS: Int + val POLYGON_OFFSET_FACTOR: Int + val TEXTURE_BINDING_2D: Int + val SAMPLE_BUFFERS: Int + val SAMPLES: Int + val SAMPLE_COVERAGE_VALUE: Int + val SAMPLE_COVERAGE_INVERT: Int + val COMPRESSED_TEXTURE_FORMATS: Int + val DONT_CARE: Int + val FASTEST: Int + val NICEST: Int + val GENERATE_MIPMAP_HINT: Int + val BYTE: Int + val UNSIGNED_BYTE: Int + val SHORT: Int + val UNSIGNED_SHORT: Int + val INT: Int + val UNSIGNED_INT: Int + val FLOAT: Int + val DEPTH_COMPONENT: Int + val ALPHA: Int + val RGB: Int + val RGBA: Int + val LUMINANCE: Int + val LUMINANCE_ALPHA: Int + val UNSIGNED_SHORT_4_4_4_4: Int + val UNSIGNED_SHORT_5_5_5_1: Int + val UNSIGNED_SHORT_5_6_5: Int + val FRAGMENT_SHADER: Int + val VERTEX_SHADER: Int + val MAX_VERTEX_ATTRIBS: Int + val MAX_VERTEX_UNIFORM_VECTORS: Int + val MAX_VARYING_VECTORS: Int + val MAX_COMBINED_TEXTURE_IMAGE_UNITS: Int + val MAX_VERTEX_TEXTURE_IMAGE_UNITS: Int + val MAX_TEXTURE_IMAGE_UNITS: Int + val MAX_FRAGMENT_UNIFORM_VECTORS: Int + val SHADER_TYPE: Int + val DELETE_STATUS: Int + val LINK_STATUS: Int + val VALIDATE_STATUS: Int + val ATTACHED_SHADERS: Int + val ACTIVE_UNIFORMS: Int + val ACTIVE_ATTRIBUTES: Int + val SHADING_LANGUAGE_VERSION: Int + val CURRENT_PROGRAM: Int + val NEVER: Int + val LESS: Int + val EQUAL: Int + val LEQUAL: Int + val GREATER: Int + val NOTEQUAL: Int + val GEQUAL: Int + val ALWAYS: Int + val KEEP: Int + val REPLACE: Int + val INCR: Int + val DECR: Int + val INVERT: Int + val INCR_WRAP: Int + val DECR_WRAP: Int + val VENDOR: Int + val RENDERER: Int + val VERSION: Int + val NEAREST: Int + val LINEAR: Int + val NEAREST_MIPMAP_NEAREST: Int + val LINEAR_MIPMAP_NEAREST: Int + val NEAREST_MIPMAP_LINEAR: Int + val LINEAR_MIPMAP_LINEAR: Int + val TEXTURE_MAG_FILTER: Int + val TEXTURE_MIN_FILTER: Int + val TEXTURE_WRAP_S: Int + val TEXTURE_WRAP_T: Int + val TEXTURE_2D: Int + val TEXTURE: Int + val TEXTURE_CUBE_MAP: Int + val TEXTURE_BINDING_CUBE_MAP: Int + val TEXTURE_CUBE_MAP_POSITIVE_X: Int + val TEXTURE_CUBE_MAP_NEGATIVE_X: Int + val TEXTURE_CUBE_MAP_POSITIVE_Y: Int + val TEXTURE_CUBE_MAP_NEGATIVE_Y: Int + val TEXTURE_CUBE_MAP_POSITIVE_Z: Int + val TEXTURE_CUBE_MAP_NEGATIVE_Z: Int + val MAX_CUBE_MAP_TEXTURE_SIZE: Int + val TEXTURE0: Int + val TEXTURE1: Int + val TEXTURE2: Int + val TEXTURE3: Int + val TEXTURE4: Int + val TEXTURE5: Int + val TEXTURE6: Int + val TEXTURE7: Int + val TEXTURE8: Int + val TEXTURE9: Int + val TEXTURE10: Int + val TEXTURE11: Int + val TEXTURE12: Int + val TEXTURE13: Int + val TEXTURE14: Int + val TEXTURE15: Int + val TEXTURE16: Int + val TEXTURE17: Int + val TEXTURE18: Int + val TEXTURE19: Int + val TEXTURE20: Int + val TEXTURE21: Int + val TEXTURE22: Int + val TEXTURE23: Int + val TEXTURE24: Int + val TEXTURE25: Int + val TEXTURE26: Int + val TEXTURE27: Int + val TEXTURE28: Int + val TEXTURE29: Int + val TEXTURE30: Int + val TEXTURE31: Int + val ACTIVE_TEXTURE: Int + val REPEAT: Int + val CLAMP_TO_EDGE: Int + val MIRRORED_REPEAT: Int + val FLOAT_VEC2: Int + val FLOAT_VEC3: Int + val FLOAT_VEC4: Int + val INT_VEC2: Int + val INT_VEC3: Int + val INT_VEC4: Int + val BOOL: Int + val BOOL_VEC2: Int + val BOOL_VEC3: Int + val BOOL_VEC4: Int + val FLOAT_MAT2: Int + val FLOAT_MAT3: Int + val FLOAT_MAT4: Int + val SAMPLER_2D: Int + val SAMPLER_CUBE: Int + val VERTEX_ATTRIB_ARRAY_ENABLED: Int + val VERTEX_ATTRIB_ARRAY_SIZE: Int + val VERTEX_ATTRIB_ARRAY_STRIDE: Int + val VERTEX_ATTRIB_ARRAY_TYPE: Int + val VERTEX_ATTRIB_ARRAY_NORMALIZED: Int + val VERTEX_ATTRIB_ARRAY_POINTER: Int + val VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: Int + val IMPLEMENTATION_COLOR_READ_TYPE: Int + val IMPLEMENTATION_COLOR_READ_FORMAT: Int + val COMPILE_STATUS: Int + val LOW_FLOAT: Int + val MEDIUM_FLOAT: Int + val HIGH_FLOAT: Int + val LOW_INT: Int + val MEDIUM_INT: Int + val HIGH_INT: Int + val FRAMEBUFFER: Int + val RENDERBUFFER: Int + val RGBA4: Int + val RGB5_A1: Int + val RGB565: Int + val DEPTH_COMPONENT16: Int + val STENCIL_INDEX: Int + val STENCIL_INDEX8: Int + val DEPTH_STENCIL: Int + val RENDERBUFFER_WIDTH: Int + val RENDERBUFFER_HEIGHT: Int + val RENDERBUFFER_INTERNAL_FORMAT: Int + val RENDERBUFFER_RED_SIZE: Int + val RENDERBUFFER_GREEN_SIZE: Int + val RENDERBUFFER_BLUE_SIZE: Int + val RENDERBUFFER_ALPHA_SIZE: Int + val RENDERBUFFER_DEPTH_SIZE: Int + val RENDERBUFFER_STENCIL_SIZE: Int + val FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: Int + val FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: Int + val FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: Int + val FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: Int + val COLOR_ATTACHMENT0: Int + val DEPTH_ATTACHMENT: Int + val STENCIL_ATTACHMENT: Int + val DEPTH_STENCIL_ATTACHMENT: Int + val NONE: Int + val FRAMEBUFFER_COMPLETE: Int + val FRAMEBUFFER_INCOMPLETE_ATTACHMENT: Int + val FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: Int + val FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Int + val FRAMEBUFFER_UNSUPPORTED: Int + val FRAMEBUFFER_BINDING: Int + val RENDERBUFFER_BINDING: Int + val MAX_RENDERBUFFER_SIZE: Int + val INVALID_FRAMEBUFFER_OPERATION: Int + val UNPACK_FLIP_Y_WEBGL: Int + val UNPACK_PREMULTIPLY_ALPHA_WEBGL: Int + val CONTEXT_LOST_WEBGL: Int + val UNPACK_COLORSPACE_CONVERSION_WEBGL: Int + val BROWSER_DEFAULT_WEBGL: Int + } +} + +/** + * Exposes the JavaScript [WebGLContextEvent](https://developer.mozilla.org/en/docs/Web/API/WebGLContextEvent) to Kotlin + */ +public external open class WebGLContextEvent(type: String, eventInit: WebGLContextEventInit = definedExternally) : Event { + open val statusMessage: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface WebGLContextEventInit : EventInit { + var statusMessage: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun WebGLContextEventInit(statusMessage: String? = "", bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): WebGLContextEventInit { + val o = js("({})") + o["statusMessage"] = statusMessage + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as WebGLContextEventInit +} + +/** + * Exposes the JavaScript [ArrayBuffer](https://developer.mozilla.org/en/docs/Web/API/ArrayBuffer) to Kotlin + */ +public external open class ArrayBuffer(length: Int) : BufferDataSource { + open val byteLength: Int + fun slice(begin: Int, end: Int = definedExternally): ArrayBuffer + + companion object { + fun isView(value: Any?): Boolean + } +} + +/** + * Exposes the JavaScript [ArrayBufferView](https://developer.mozilla.org/en/docs/Web/API/ArrayBufferView) to Kotlin + */ +public external interface ArrayBufferView : BufferDataSource { + val buffer: ArrayBuffer + val byteOffset: Int + val byteLength: Int +} + +/** + * Exposes the JavaScript [Int8Array](https://developer.mozilla.org/en/docs/Web/API/Int8Array) to Kotlin + */ +public external open class Int8Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Int8Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Int8Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Int8Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int8Array.get(index: Int): Byte = asDynamic().getByte(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int8Array.set(index: Int, value: Byte) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Uint8Array](https://developer.mozilla.org/en/docs/Web/API/Uint8Array) to Kotlin + */ +public external open class Uint8Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Uint8Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Uint8Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Uint8Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint8Array.get(index: Int): Byte = asDynamic().getByte(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint8Array.set(index: Int, value: Byte) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Uint8ClampedArray](https://developer.mozilla.org/en/docs/Web/API/Uint8ClampedArray) to Kotlin + */ +public external open class Uint8ClampedArray : ArrayBufferView { + constructor(length: Int) + constructor(array: Uint8ClampedArray) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Uint8ClampedArray, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Uint8ClampedArray + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint8ClampedArray.get(index: Int): Byte = asDynamic().getByte(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint8ClampedArray.set(index: Int, value: Byte) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Int16Array](https://developer.mozilla.org/en/docs/Web/API/Int16Array) to Kotlin + */ +public external open class Int16Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Int16Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Int16Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Int16Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int16Array.get(index: Int): Short = asDynamic().getShort(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int16Array.set(index: Int, value: Short) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Uint16Array](https://developer.mozilla.org/en/docs/Web/API/Uint16Array) to Kotlin + */ +public external open class Uint16Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Uint16Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Uint16Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Uint16Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint16Array.get(index: Int): Short = asDynamic().getShort(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint16Array.set(index: Int, value: Short) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Int32Array](https://developer.mozilla.org/en/docs/Web/API/Int32Array) to Kotlin + */ +public external open class Int32Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Int32Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Int32Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Int32Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int32Array.get(index: Int): Int = asDynamic().getInt(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Int32Array.set(index: Int, value: Int) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Uint32Array](https://developer.mozilla.org/en/docs/Web/API/Uint32Array) to Kotlin + */ +public external open class Uint32Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Uint32Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Uint32Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Uint32Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint32Array.get(index: Int): Int = asDynamic().getInt(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Uint32Array.set(index: Int, value: Int) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Float32Array](https://developer.mozilla.org/en/docs/Web/API/Float32Array) to Kotlin + */ +public external open class Float32Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Float32Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Float32Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Float32Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Float32Array.get(index: Int): Float = asDynamic().getFloat(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Float32Array.set(index: Int, value: Float) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [Float64Array](https://developer.mozilla.org/en/docs/Web/API/Float64Array) to Kotlin + */ +public external open class Float64Array : ArrayBufferView { + constructor(length: Int) + constructor(array: Float64Array) + constructor(array: Array) + constructor(buffer: ArrayBuffer, byteOffset: Int = definedExternally, length: Int = definedExternally) + open val length: Int + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun set(array: Float64Array, offset: Int = definedExternally) + fun set(array: Array, offset: Int = definedExternally) + fun subarray(start: Int, end: Int): Float64Array + + companion object { + val BYTES_PER_ELEMENT: Int + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Float64Array.get(index: Int): Double = asDynamic().getDouble(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Float64Array.set(index: Int, value: Double) { asDynamic()[index] = value } + +/** + * Exposes the JavaScript [DataView](https://developer.mozilla.org/en/docs/Web/API/DataView) to Kotlin + */ +public external open class DataView(buffer: ArrayBuffer, byteOffset: Int = definedExternally, byteLength: Int = definedExternally) : ArrayBufferView { + override val buffer: ArrayBuffer + override val byteOffset: Int + override val byteLength: Int + fun getInt8(byteOffset: Int): Byte + fun getUint8(byteOffset: Int): Byte + fun getInt16(byteOffset: Int, littleEndian: Boolean = definedExternally): Short + fun getUint16(byteOffset: Int, littleEndian: Boolean = definedExternally): Short + fun getInt32(byteOffset: Int, littleEndian: Boolean = definedExternally): Int + fun getUint32(byteOffset: Int, littleEndian: Boolean = definedExternally): Int + fun getFloat32(byteOffset: Int, littleEndian: Boolean = definedExternally): Float + fun getFloat64(byteOffset: Int, littleEndian: Boolean = definedExternally): Double + fun setInt8(byteOffset: Int, value: Byte) + fun setUint8(byteOffset: Int, value: Byte) + fun setInt16(byteOffset: Int, value: Short, littleEndian: Boolean = definedExternally) + fun setUint16(byteOffset: Int, value: Short, littleEndian: Boolean = definedExternally) + fun setInt32(byteOffset: Int, value: Int, littleEndian: Boolean = definedExternally) + fun setUint32(byteOffset: Int, value: Int, littleEndian: Boolean = definedExternally) + fun setFloat32(byteOffset: Int, value: Float, littleEndian: Boolean = definedExternally) + fun setFloat64(byteOffset: Int, value: Double, littleEndian: Boolean = definedExternally) +} + +public external interface BufferDataSource + +public external interface TexImageSource \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.css.masking.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.css.masking.kt new file mode 100644 index 00000000000..83aca27ee1a --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.css.masking.kt @@ -0,0 +1,81 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.css.masking + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.svg.* + +/** + * Exposes the JavaScript [SVGClipPathElement](https://developer.mozilla.org/en/docs/Web/API/SVGClipPathElement) to Kotlin + */ +public external abstract class SVGClipPathElement : SVGElement, SVGUnitTypes { + open val clipPathUnits: SVGAnimatedEnumeration + open val transform: SVGAnimatedTransformList + + companion object { + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGMaskElement](https://developer.mozilla.org/en/docs/Web/API/SVGMaskElement) to Kotlin + */ +public external abstract class SVGMaskElement : SVGElement, SVGUnitTypes { + open val maskUnits: SVGAnimatedEnumeration + open val maskContentUnits: SVGAnimatedEnumeration + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + + companion object { + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.clipboard.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.clipboard.kt new file mode 100644 index 00000000000..1880fb0bed0 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.clipboard.kt @@ -0,0 +1,69 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.clipboard + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +public external interface ClipboardEventInit : EventInit { + var clipboardData: DataTransfer? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ClipboardEventInit(clipboardData: DataTransfer? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ClipboardEventInit { + val o = js("({})") + o["clipboardData"] = clipboardData + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ClipboardEventInit +} + +/** + * Exposes the JavaScript [ClipboardEvent](https://developer.mozilla.org/en/docs/Web/API/ClipboardEvent) to Kotlin + */ +public external open class ClipboardEvent(type: String, eventInitDict: ClipboardEventInit = definedExternally) : Event { + open val clipboardData: DataTransfer? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +/** + * Exposes the JavaScript [Clipboard](https://developer.mozilla.org/en/docs/Web/API/Clipboard) to Kotlin + */ +public external abstract class Clipboard : EventTarget { + fun read(): Promise + fun readText(): Promise + fun write(data: DataTransfer): Promise + fun writeText(data: String): Promise +} + +public external interface ClipboardPermissionDescriptor { + var allowWithoutGesture: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ClipboardPermissionDescriptor(allowWithoutGesture: Boolean? = false): ClipboardPermissionDescriptor { + val o = js("({})") + o["allowWithoutGesture"] = allowWithoutGesture + return o as ClipboardPermissionDescriptor +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt new file mode 100644 index 00000000000..021c6d78eba --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.css.kt @@ -0,0 +1,487 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.css + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* + +public external abstract class MediaList : ItemArrayLike { + open var mediaText: String + fun appendMedium(medium: String) + fun deleteMedium(medium: String) + override fun item(index: Int): String? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun MediaList.get(index: Int): String? = asDynamic().getString(index) + +/** + * Exposes the JavaScript [StyleSheet](https://developer.mozilla.org/en/docs/Web/API/StyleSheet) to Kotlin + */ +public external abstract class StyleSheet { + open val type: String + open val href: String? + open val ownerNode: UnionElementOrProcessingInstruction? + open val parentStyleSheet: StyleSheet? + open val title: String? + open val media: MediaList + open var disabled: Boolean +} + +/** + * Exposes the JavaScript [CSSStyleSheet](https://developer.mozilla.org/en/docs/Web/API/CSSStyleSheet) to Kotlin + */ +public external abstract class CSSStyleSheet : StyleSheet { + open val ownerRule: CSSRule? + open val cssRules: CSSRuleList + fun insertRule(rule: String, index: Int): Int + fun deleteRule(index: Int) +} + +/** + * Exposes the JavaScript [StyleSheetList](https://developer.mozilla.org/en/docs/Web/API/StyleSheetList) to Kotlin + */ +public external abstract class StyleSheetList : ItemArrayLike { + override fun item(index: Int): StyleSheet? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun StyleSheetList.get(index: Int): StyleSheet? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [LinkStyle](https://developer.mozilla.org/en/docs/Web/API/LinkStyle) to Kotlin + */ +public external interface LinkStyle { + val sheet: StyleSheet? + get() = definedExternally +} + +/** + * Exposes the JavaScript [CSSRuleList](https://developer.mozilla.org/en/docs/Web/API/CSSRuleList) to Kotlin + */ +public external abstract class CSSRuleList : ItemArrayLike { + override fun item(index: Int): CSSRule? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun CSSRuleList.get(index: Int): CSSRule? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [CSSRule](https://developer.mozilla.org/en/docs/Web/API/CSSRule) to Kotlin + */ +public external abstract class CSSRule { + open val type: Short + open var cssText: String + open val parentRule: CSSRule? + open val parentStyleSheet: CSSStyleSheet? + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSStyleRule](https://developer.mozilla.org/en/docs/Web/API/CSSStyleRule) to Kotlin + */ +public external abstract class CSSStyleRule : CSSRule { + open var selectorText: String + open val style: CSSStyleDeclaration + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +public external abstract class CSSImportRule : CSSRule { + open val href: String + open val media: MediaList + open val styleSheet: CSSStyleSheet + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSGroupingRule](https://developer.mozilla.org/en/docs/Web/API/CSSGroupingRule) to Kotlin + */ +public external abstract class CSSGroupingRule : CSSRule { + open val cssRules: CSSRuleList + fun insertRule(rule: String, index: Int): Int + fun deleteRule(index: Int) + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSMediaRule](https://developer.mozilla.org/en/docs/Web/API/CSSMediaRule) to Kotlin + */ +public external abstract class CSSMediaRule : CSSGroupingRule { + open val media: MediaList + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSPageRule](https://developer.mozilla.org/en/docs/Web/API/CSSPageRule) to Kotlin + */ +public external abstract class CSSPageRule : CSSGroupingRule { + open var selectorText: String + open val style: CSSStyleDeclaration + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +public external abstract class CSSMarginRule : CSSRule { + open val name: String + open val style: CSSStyleDeclaration + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSNamespaceRule](https://developer.mozilla.org/en/docs/Web/API/CSSNamespaceRule) to Kotlin + */ +public external abstract class CSSNamespaceRule : CSSRule { + open val namespaceURI: String + open val prefix: String + + companion object { + val STYLE_RULE: Short + val CHARSET_RULE: Short + val IMPORT_RULE: Short + val MEDIA_RULE: Short + val FONT_FACE_RULE: Short + val PAGE_RULE: Short + val MARGIN_RULE: Short + val NAMESPACE_RULE: Short + } +} + +/** + * Exposes the JavaScript [CSSStyleDeclaration](https://developer.mozilla.org/en/docs/Web/API/CSSStyleDeclaration) to Kotlin + */ +public external abstract class CSSStyleDeclaration : ItemArrayLike { + open var cssText: String + open val parentRule: CSSRule? + open var cssFloat: String + open var alignContent: String + open var alignItems: String + open var alignSelf: String + open var animation: String + open var animationDelay: String + open var animationDirection: String + open var animationDuration: String + open var animationFillMode: String + open var animationIterationCount: String + open var animationName: String + open var animationPlayState: String + open var animationTimingFunction: String + open var backfaceVisibility: String + open var background: String + open var backgroundAttachment: String + open var backgroundClip: String + open var backgroundColor: String + open var backgroundImage: String + open var backgroundOrigin: String + open var backgroundPosition: String + open var backgroundRepeat: String + open var backgroundSize: String + open var border: String + open var borderBottom: String + open var borderBottomColor: String + open var borderBottomLeftRadius: String + open var borderBottomRightRadius: String + open var borderBottomStyle: String + open var borderBottomWidth: String + open var borderCollapse: String + open var borderColor: String + open var borderImage: String + open var borderImageOutset: String + open var borderImageRepeat: String + open var borderImageSlice: String + open var borderImageSource: String + open var borderImageWidth: String + open var borderLeft: String + open var borderLeftColor: String + open var borderLeftStyle: String + open var borderLeftWidth: String + open var borderRadius: String + open var borderRight: String + open var borderRightColor: String + open var borderRightStyle: String + open var borderRightWidth: String + open var borderSpacing: String + open var borderStyle: String + open var borderTop: String + open var borderTopColor: String + open var borderTopLeftRadius: String + open var borderTopRightRadius: String + open var borderTopStyle: String + open var borderTopWidth: String + open var borderWidth: String + open var bottom: String + open var boxDecorationBreak: String + open var boxShadow: String + open var boxSizing: String + open var breakAfter: String + open var breakBefore: String + open var breakInside: String + open var captionSide: String + open var clear: String + open var clip: String + open var color: String + open var columnCount: String + open var columnFill: String + open var columnGap: String + open var columnRule: String + open var columnRuleColor: String + open var columnRuleStyle: String + open var columnRuleWidth: String + open var columnSpan: String + open var columnWidth: String + open var columns: String + open var content: String + open var counterIncrement: String + open var counterReset: String + open var cursor: String + open var direction: String + open var display: String + open var emptyCells: String + open var filter: String + open var flex: String + open var flexBasis: String + open var flexDirection: String + open var flexFlow: String + open var flexGrow: String + open var flexShrink: String + open var flexWrap: String + open var font: String + open var fontFamily: String + open var fontFeatureSettings: String + open var fontKerning: String + open var fontLanguageOverride: String + open var fontSize: String + open var fontSizeAdjust: String + open var fontStretch: String + open var fontStyle: String + open var fontSynthesis: String + open var fontVariant: String + open var fontVariantAlternates: String + open var fontVariantCaps: String + open var fontVariantEastAsian: String + open var fontVariantLigatures: String + open var fontVariantNumeric: String + open var fontVariantPosition: String + open var fontWeight: String + open var hangingPunctuation: String + open var height: String + open var hyphens: String + open var imageOrientation: String + open var imageRendering: String + open var imageResolution: String + open var imeMode: String + open var justifyContent: String + open var left: String + open var letterSpacing: String + open var lineBreak: String + open var lineHeight: String + open var listStyle: String + open var listStyleImage: String + open var listStylePosition: String + open var listStyleType: String + open var margin: String + open var marginBottom: String + open var marginLeft: String + open var marginRight: String + open var marginTop: String + open var mark: String + open var markAfter: String + open var markBefore: String + open var marks: String + open var marqueeDirection: String + open var marqueePlayCount: String + open var marqueeSpeed: String + open var marqueeStyle: String + open var mask: String + open var maskType: String + open var maxHeight: String + open var maxWidth: String + open var minHeight: String + open var minWidth: String + open var navDown: String + open var navIndex: String + open var navLeft: String + open var navRight: String + open var navUp: String + open var objectFit: String + open var objectPosition: String + open var opacity: String + open var order: String + open var orphans: String + open var outline: String + open var outlineColor: String + open var outlineOffset: String + open var outlineStyle: String + open var outlineWidth: String + open var overflowWrap: String + open var overflowX: String + open var overflowY: String + open var padding: String + open var paddingBottom: String + open var paddingLeft: String + open var paddingRight: String + open var paddingTop: String + open var pageBreakAfter: String + open var pageBreakBefore: String + open var pageBreakInside: String + open var perspective: String + open var perspectiveOrigin: String + open var phonemes: String + open var position: String + open var quotes: String + open var resize: String + open var rest: String + open var restAfter: String + open var restBefore: String + open var right: String + open var tabSize: String + open var tableLayout: String + open var textAlign: String + open var textAlignLast: String + open var textCombineUpright: String + open var textDecoration: String + open var textDecorationColor: String + open var textDecorationLine: String + open var textDecorationStyle: String + open var textIndent: String + open var textJustify: String + open var textOrientation: String + open var textOverflow: String + open var textShadow: String + open var textTransform: String + open var textUnderlinePosition: String + open var top: String + open var transform: String + open var transformOrigin: String + open var transformStyle: String + open var transition: String + open var transitionDelay: String + open var transitionDuration: String + open var transitionProperty: String + open var transitionTimingFunction: String + open var unicodeBidi: String + open var verticalAlign: String + open var visibility: String + open var voiceBalance: String + open var voiceDuration: String + open var voicePitch: String + open var voicePitchRange: String + open var voiceRate: String + open var voiceStress: String + open var voiceVolume: String + open var whiteSpace: String + open var widows: String + open var width: String + open var wordBreak: String + open var wordSpacing: String + open var wordWrap: String + open var writingMode: String + open var zIndex: String + open var _dashed_attribute: String + open var _camel_cased_attribute: String + open var _webkit_cased_attribute: String + fun getPropertyValue(property: String): String + fun getPropertyPriority(property: String): String + fun setProperty(property: String, value: String, priority: String = definedExternally) + fun setPropertyValue(property: String, value: String) + fun setPropertyPriority(property: String, priority: String) + fun removeProperty(property: String): String + override fun item(index: Int): String +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun CSSStyleDeclaration.get(index: Int): String? = asDynamic().getString(index) + +public external interface ElementCSSInlineStyle { + val style: CSSStyleDeclaration +} + +/** + * Exposes the JavaScript [CSS](https://developer.mozilla.org/en/docs/Web/API/CSS) to Kotlin + */ +public external abstract class CSS { + companion object { + fun escape(ident: String): String + } +} + +public external interface UnionElementOrProcessingInstruction \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt new file mode 100644 index 00000000000..4450abef2bb --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.encryptedmedia.kt @@ -0,0 +1,241 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.encryptedmedia + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +/** + * Exposes the JavaScript [MediaKeySystemConfiguration](https://developer.mozilla.org/en/docs/Web/API/MediaKeySystemConfiguration) to Kotlin + */ +public external interface MediaKeySystemConfiguration { + var label: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var initDataTypes: Array? /* = arrayOf() */ + get() = definedExternally + set(value) = definedExternally + var audioCapabilities: Array? /* = arrayOf() */ + get() = definedExternally + set(value) = definedExternally + var videoCapabilities: Array? /* = arrayOf() */ + get() = definedExternally + set(value) = definedExternally + var distinctiveIdentifier: MediaKeysRequirement? /* = MediaKeysRequirement.OPTIONAL */ + get() = definedExternally + set(value) = definedExternally + var persistentState: MediaKeysRequirement? /* = MediaKeysRequirement.OPTIONAL */ + get() = definedExternally + set(value) = definedExternally + var sessionTypes: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaKeySystemConfiguration(label: String? = "", initDataTypes: Array? = arrayOf(), audioCapabilities: Array? = arrayOf(), videoCapabilities: Array? = arrayOf(), distinctiveIdentifier: MediaKeysRequirement? = MediaKeysRequirement.OPTIONAL, persistentState: MediaKeysRequirement? = MediaKeysRequirement.OPTIONAL, sessionTypes: Array? = undefined): MediaKeySystemConfiguration { + val o = js("({})") + o["label"] = label + o["initDataTypes"] = initDataTypes + o["audioCapabilities"] = audioCapabilities + o["videoCapabilities"] = videoCapabilities + o["distinctiveIdentifier"] = distinctiveIdentifier + o["persistentState"] = persistentState + o["sessionTypes"] = sessionTypes + return o as MediaKeySystemConfiguration +} + +public external interface MediaKeySystemMediaCapability { + var contentType: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var robustness: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaKeySystemMediaCapability(contentType: String? = "", robustness: String? = ""): MediaKeySystemMediaCapability { + val o = js("({})") + o["contentType"] = contentType + o["robustness"] = robustness + return o as MediaKeySystemMediaCapability +} + +/** + * Exposes the JavaScript [MediaKeySystemAccess](https://developer.mozilla.org/en/docs/Web/API/MediaKeySystemAccess) to Kotlin + */ +public external abstract class MediaKeySystemAccess { + open val keySystem: String + fun getConfiguration(): MediaKeySystemConfiguration + fun createMediaKeys(): Promise +} + +/** + * Exposes the JavaScript [MediaKeys](https://developer.mozilla.org/en/docs/Web/API/MediaKeys) to Kotlin + */ +public external abstract class MediaKeys { + fun createSession(sessionType: MediaKeySessionType = definedExternally): MediaKeySession + fun setServerCertificate(serverCertificate: Dynamic?): Promise +} + +/** + * Exposes the JavaScript [MediaKeySession](https://developer.mozilla.org/en/docs/Web/API/MediaKeySession) to Kotlin + */ +public external abstract class MediaKeySession : EventTarget { + open val sessionId: String + open val expiration: Double + open val closed: Promise + open val keyStatuses: MediaKeyStatusMap + open var onkeystatuseschange: ((Event) -> Dynamic?)? + open var onmessage: ((MessageEvent) -> Dynamic?)? + fun generateRequest(initDataType: String, initData: Dynamic?): Promise + fun load(sessionId: String): Promise + fun update(response: Dynamic?): Promise + fun close(): Promise + fun remove(): Promise +} + +/** + * Exposes the JavaScript [MediaKeyStatusMap](https://developer.mozilla.org/en/docs/Web/API/MediaKeyStatusMap) to Kotlin + */ +public external abstract class MediaKeyStatusMap { + open val size: Int + fun has(keyId: Dynamic?): Boolean + fun get(keyId: Dynamic?): Any? +} + +/** + * Exposes the JavaScript [MediaKeyMessageEvent](https://developer.mozilla.org/en/docs/Web/API/MediaKeyMessageEvent) to Kotlin + */ +public external open class MediaKeyMessageEvent(type: String, eventInitDict: MediaKeyMessageEventInit) : Event { + open val messageType: MediaKeyMessageType + open val message: ArrayBuffer + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MediaKeyMessageEventInit : EventInit { + var messageType: MediaKeyMessageType? + var message: ArrayBuffer? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaKeyMessageEventInit(messageType: MediaKeyMessageType?, message: ArrayBuffer?, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MediaKeyMessageEventInit { + val o = js("({})") + o["messageType"] = messageType + o["message"] = message + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MediaKeyMessageEventInit +} + +public external open class MediaEncryptedEvent(type: String, eventInitDict: MediaEncryptedEventInit = definedExternally) : Event { + open val initDataType: String + open val initData: ArrayBuffer? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MediaEncryptedEventInit : EventInit { + var initDataType: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var initData: ArrayBuffer? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaEncryptedEventInit(initDataType: String? = "", initData: ArrayBuffer? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MediaEncryptedEventInit { + val o = js("({})") + o["initDataType"] = initDataType + o["initData"] = initData + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MediaEncryptedEventInit +} + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaKeysRequirement { + companion object +} + +public inline val MediaKeysRequirement.Companion.REQUIRED: MediaKeysRequirement get() = "required".asDynamic().unsafeCast() + +public inline val MediaKeysRequirement.Companion.OPTIONAL: MediaKeysRequirement get() = "optional".asDynamic().unsafeCast() + +public inline val MediaKeysRequirement.Companion.NOT_ALLOWED: MediaKeysRequirement get() = "not-allowed".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaKeySessionType { + companion object +} + +public inline val MediaKeySessionType.Companion.TEMPORARY: MediaKeySessionType get() = "temporary".asDynamic().unsafeCast() + +public inline val MediaKeySessionType.Companion.PERSISTENT_LICENSE: MediaKeySessionType get() = "persistent-license".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaKeyStatus { + companion object +} + +public inline val MediaKeyStatus.Companion.USABLE: MediaKeyStatus get() = "usable".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.EXPIRED: MediaKeyStatus get() = "expired".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.RELEASED: MediaKeyStatus get() = "released".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.OUTPUT_RESTRICTED: MediaKeyStatus get() = "output-restricted".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.OUTPUT_DOWNSCALED: MediaKeyStatus get() = "output-downscaled".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.STATUS_PENDING: MediaKeyStatus get() = "status-pending".asDynamic().unsafeCast() + +public inline val MediaKeyStatus.Companion.INTERNAL_ERROR: MediaKeyStatus get() = "internal-error".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaKeyMessageType { + companion object +} + +public inline val MediaKeyMessageType.Companion.LICENSE_REQUEST: MediaKeyMessageType get() = "license-request".asDynamic().unsafeCast() + +public inline val MediaKeyMessageType.Companion.LICENSE_RENEWAL: MediaKeyMessageType get() = "license-renewal".asDynamic().unsafeCast() + +public inline val MediaKeyMessageType.Companion.LICENSE_RELEASE: MediaKeyMessageType get() = "license-release".asDynamic().unsafeCast() + +public inline val MediaKeyMessageType.Companion.INDIVIDUALIZATION_REQUEST: MediaKeyMessageType get() = "individualization-request".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.events.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.events.kt new file mode 100644 index 00000000000..5887b120f30 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.events.kt @@ -0,0 +1,515 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.events + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* + +/** + * Exposes the JavaScript [UIEvent](https://developer.mozilla.org/en/docs/Web/API/UIEvent) to Kotlin + */ +public external open class UIEvent(type: String, eventInitDict: UIEventInit = definedExternally) : Event { + open val view: Window? + open val detail: Int + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface UIEventInit : EventInit { + var view: Window? /* = null */ + get() = definedExternally + set(value) = definedExternally + var detail: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun UIEventInit(view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): UIEventInit { + val o = js("({})") + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as UIEventInit +} + +/** + * Exposes the JavaScript [FocusEvent](https://developer.mozilla.org/en/docs/Web/API/FocusEvent) to Kotlin + */ +public external open class FocusEvent(type: String, eventInitDict: FocusEventInit = definedExternally) : UIEvent { + open val relatedTarget: EventTarget? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface FocusEventInit : UIEventInit { + var relatedTarget: EventTarget? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun FocusEventInit(relatedTarget: EventTarget? = null, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): FocusEventInit { + val o = js("({})") + o["relatedTarget"] = relatedTarget + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as FocusEventInit +} + +/** + * Exposes the JavaScript [MouseEvent](https://developer.mozilla.org/en/docs/Web/API/MouseEvent) to Kotlin + */ +public external open class MouseEvent(type: String, eventInitDict: MouseEventInit = definedExternally) : UIEvent, UnionElementOrMouseEvent { + open val screenX: Int + open val screenY: Int + open val clientX: Int + open val clientY: Int + open val ctrlKey: Boolean + open val shiftKey: Boolean + open val altKey: Boolean + open val metaKey: Boolean + open val button: Short + open val buttons: Short + open val relatedTarget: EventTarget? + open val region: String? + open val pageX: Double + open val pageY: Double + open val x: Double + open val y: Double + open val offsetX: Double + open val offsetY: Double + fun getModifierState(keyArg: String): Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MouseEventInit : EventModifierInit { + var screenX: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var screenY: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var clientX: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var clientY: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var button: Short? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var buttons: Short? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var relatedTarget: EventTarget? /* = null */ + get() = definedExternally + set(value) = definedExternally + var region: String? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MouseEventInit(screenX: Int? = 0, screenY: Int? = 0, clientX: Int? = 0, clientY: Int? = 0, button: Short? = 0, buttons: Short? = 0, relatedTarget: EventTarget? = null, region: String? = null, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MouseEventInit { + val o = js("({})") + o["screenX"] = screenX + o["screenY"] = screenY + o["clientX"] = clientX + o["clientY"] = clientY + o["button"] = button + o["buttons"] = buttons + o["relatedTarget"] = relatedTarget + o["region"] = region + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MouseEventInit +} + +public external interface EventModifierInit : UIEventInit { + var ctrlKey: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var shiftKey: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var altKey: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var metaKey: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierAltGraph: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierCapsLock: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierFn: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierFnLock: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierHyper: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierNumLock: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierScrollLock: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierSuper: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierSymbol: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var modifierSymbolLock: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun EventModifierInit(ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): EventModifierInit { + val o = js("({})") + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as EventModifierInit +} + +/** + * Exposes the JavaScript [WheelEvent](https://developer.mozilla.org/en/docs/Web/API/WheelEvent) to Kotlin + */ +public external open class WheelEvent(type: String, eventInitDict: WheelEventInit = definedExternally) : MouseEvent { + open val deltaX: Double + open val deltaY: Double + open val deltaZ: Double + open val deltaMode: Int + + companion object { + val DOM_DELTA_PIXEL: Int + val DOM_DELTA_LINE: Int + val DOM_DELTA_PAGE: Int + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface WheelEventInit : MouseEventInit { + var deltaX: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var deltaY: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var deltaZ: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var deltaMode: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun WheelEventInit(deltaX: Double? = 0.0, deltaY: Double? = 0.0, deltaZ: Double? = 0.0, deltaMode: Int? = 0, screenX: Int? = 0, screenY: Int? = 0, clientX: Int? = 0, clientY: Int? = 0, button: Short? = 0, buttons: Short? = 0, relatedTarget: EventTarget? = null, region: String? = null, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): WheelEventInit { + val o = js("({})") + o["deltaX"] = deltaX + o["deltaY"] = deltaY + o["deltaZ"] = deltaZ + o["deltaMode"] = deltaMode + o["screenX"] = screenX + o["screenY"] = screenY + o["clientX"] = clientX + o["clientY"] = clientY + o["button"] = button + o["buttons"] = buttons + o["relatedTarget"] = relatedTarget + o["region"] = region + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as WheelEventInit +} + +/** + * Exposes the JavaScript [InputEvent](https://developer.mozilla.org/en/docs/Web/API/InputEvent) to Kotlin + */ +public external open class InputEvent(type: String, eventInitDict: InputEventInit = definedExternally) : UIEvent { + open val data: String + open val isComposing: Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface InputEventInit : UIEventInit { + var data: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var isComposing: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun InputEventInit(data: String? = "", isComposing: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): InputEventInit { + val o = js("({})") + o["data"] = data + o["isComposing"] = isComposing + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as InputEventInit +} + +/** + * Exposes the JavaScript [KeyboardEvent](https://developer.mozilla.org/en/docs/Web/API/KeyboardEvent) to Kotlin + */ +public external open class KeyboardEvent(type: String, eventInitDict: KeyboardEventInit = definedExternally) : UIEvent { + open val key: String + open val code: String + open val location: Int + open val ctrlKey: Boolean + open val shiftKey: Boolean + open val altKey: Boolean + open val metaKey: Boolean + open val repeat: Boolean + open val isComposing: Boolean + open val charCode: Int + open val keyCode: Int + open val which: Int + fun getModifierState(keyArg: String): Boolean + + companion object { + val DOM_KEY_LOCATION_STANDARD: Int + val DOM_KEY_LOCATION_LEFT: Int + val DOM_KEY_LOCATION_RIGHT: Int + val DOM_KEY_LOCATION_NUMPAD: Int + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface KeyboardEventInit : EventModifierInit { + var key: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var code: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var location: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var repeat: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var isComposing: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun KeyboardEventInit(key: String? = "", code: String? = "", location: Int? = 0, repeat: Boolean? = false, isComposing: Boolean? = false, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): KeyboardEventInit { + val o = js("({})") + o["key"] = key + o["code"] = code + o["location"] = location + o["repeat"] = repeat + o["isComposing"] = isComposing + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as KeyboardEventInit +} + +/** + * Exposes the JavaScript [CompositionEvent](https://developer.mozilla.org/en/docs/Web/API/CompositionEvent) to Kotlin + */ +public external open class CompositionEvent(type: String, eventInitDict: CompositionEventInit = definedExternally) : UIEvent { + open val data: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface CompositionEventInit : UIEventInit { + var data: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CompositionEventInit(data: String? = "", view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): CompositionEventInit { + val o = js("({})") + o["data"] = data + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as CompositionEventInit +} + +/** + * Exposes the JavaScript [Event](https://developer.mozilla.org/en/docs/Web/API/Event) to Kotlin + */ +public external open class Event(type: String, eventInitDict: EventInit = definedExternally) { + open val type: String + open val target: EventTarget? + open val currentTarget: EventTarget? + open val eventPhase: Short + open val bubbles: Boolean + open val cancelable: Boolean + open val defaultPrevented: Boolean + open val composed: Boolean + open val isTrusted: Boolean + open val timeStamp: Number + fun composedPath(): Array + fun stopPropagation() + fun stopImmediatePropagation() + fun preventDefault() + fun initEvent(type: String, bubbles: Boolean, cancelable: Boolean) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +/** + * Exposes the JavaScript [EventTarget](https://developer.mozilla.org/en/docs/Web/API/EventTarget) to Kotlin + */ +public external abstract class EventTarget { + fun addEventListener(type: String, callback: EventListener?, options: Dynamic? = definedExternally) + fun addEventListener(type: String, callback: ((Event) -> Unit)?, options: Dynamic? = definedExternally) + fun removeEventListener(type: String, callback: EventListener?, options: Dynamic? = definedExternally) + fun removeEventListener(type: String, callback: ((Event) -> Unit)?, options: Dynamic? = definedExternally) + fun dispatchEvent(event: Event): Boolean +} + +/** + * Exposes the JavaScript [EventListener](https://developer.mozilla.org/en/docs/Web/API/EventListener) to Kotlin + */ +public external interface EventListener { + fun handleEvent(event: Event) +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt new file mode 100644 index 00000000000..e9149102864 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.kt @@ -0,0 +1,6743 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.clipboard.* +import org.w3c.dom.css.* +import org.w3c.dom.encryptedmedia.* +import org.w3c.dom.events.* +import org.w3c.dom.mediacapture.* +import org.w3c.dom.mediasource.* +import org.w3c.dom.pointerevents.* +import org.w3c.dom.svg.* +import org.w3c.fetch.* +import org.w3c.files.* +import org.w3c.performance.* +import org.w3c.workers.* +import org.w3c.xhr.* + +public external abstract class HTMLAllCollection { + open val length: Int + fun item(nameOrIndex: String = definedExternally): UnionElementOrHTMLCollection? + fun namedItem(name: String): UnionElementOrHTMLCollection? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLAllCollection.get(index: Int): Element? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLAllCollection.get(name: String): UnionElementOrHTMLCollection? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [HTMLFormControlsCollection](https://developer.mozilla.org/en/docs/Web/API/HTMLFormControlsCollection) to Kotlin + */ +public external abstract class HTMLFormControlsCollection : HTMLCollection + +/** + * Exposes the JavaScript [RadioNodeList](https://developer.mozilla.org/en/docs/Web/API/RadioNodeList) to Kotlin + */ +public external abstract class RadioNodeList : NodeList, UnionElementOrRadioNodeList { + open var value: String +} + +/** + * Exposes the JavaScript [HTMLOptionsCollection](https://developer.mozilla.org/en/docs/Web/API/HTMLOptionsCollection) to Kotlin + */ +public external abstract class HTMLOptionsCollection : HTMLCollection { + override var length: Int + open var selectedIndex: Int + fun add(element: UnionHTMLOptGroupElementOrHTMLOptionElement, before: Dynamic? = definedExternally) + fun remove(index: Int) +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLOptionsCollection.set(index: Int, option: HTMLOptionElement?) { asDynamic()[index] = option } + +/** + * Exposes the JavaScript [HTMLElement](https://developer.mozilla.org/en/docs/Web/API/HTMLElement) to Kotlin + */ +public external abstract class HTMLElement : Element, GlobalEventHandlers, DocumentAndElementEventHandlers, ElementContentEditable, ElementCSSInlineStyle { + open var title: String + open var lang: String + open var translate: Boolean + open var dir: String + open val dataset: DOMStringMap + open var hidden: Boolean + open var tabIndex: Int + open var accessKey: String + open val accessKeyLabel: String + open var draggable: Boolean + open val dropzone: DOMTokenList + open var contextMenu: HTMLMenuElement? + open var spellcheck: Boolean + open var innerText: String + open val offsetParent: Element? + open val offsetTop: Int + open val offsetLeft: Int + open val offsetWidth: Int + open val offsetHeight: Int + fun click() + fun focus() + fun blur() + fun forceSpellCheck() + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLUnknownElement](https://developer.mozilla.org/en/docs/Web/API/HTMLUnknownElement) to Kotlin + */ +public external abstract class HTMLUnknownElement : HTMLElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [DOMStringMap](https://developer.mozilla.org/en/docs/Web/API/DOMStringMap) to Kotlin + */ +public external abstract class DOMStringMap + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun DOMStringMap.get(name: String): String? = asDynamic().getString(name) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun DOMStringMap.set(name: String, value: String) { asDynamic()[name] = value } + +/** + * Exposes the JavaScript [HTMLHtmlElement](https://developer.mozilla.org/en/docs/Web/API/HTMLHtmlElement) to Kotlin + */ +public external abstract class HTMLHtmlElement : HTMLElement { + open var version: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLHeadElement](https://developer.mozilla.org/en/docs/Web/API/HTMLHeadElement) to Kotlin + */ +public external abstract class HTMLHeadElement : HTMLElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTitleElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTitleElement) to Kotlin + */ +public external abstract class HTMLTitleElement : HTMLElement { + open var text: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLBaseElement](https://developer.mozilla.org/en/docs/Web/API/HTMLBaseElement) to Kotlin + */ +public external abstract class HTMLBaseElement : HTMLElement { + open var href: String + open var target: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLLinkElement](https://developer.mozilla.org/en/docs/Web/API/HTMLLinkElement) to Kotlin + */ +public external abstract class HTMLLinkElement : HTMLElement, LinkStyle { + open var href: String + open var crossOrigin: String? + open var rel: String + open var `as`: RequestDestination + open val relList: DOMTokenList + open var media: String + open var nonce: String + open var hreflang: String + open var type: String + open val sizes: DOMTokenList + open var referrerPolicy: String + open var charset: String + open var rev: String + open var target: String + open var scope: String + open var workerType: WorkerType + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLMetaElement](https://developer.mozilla.org/en/docs/Web/API/HTMLMetaElement) to Kotlin + */ +public external abstract class HTMLMetaElement : HTMLElement { + open var name: String + open var httpEquiv: String + open var content: String + open var scheme: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLStyleElement](https://developer.mozilla.org/en/docs/Web/API/HTMLStyleElement) to Kotlin + */ +public external abstract class HTMLStyleElement : HTMLElement, LinkStyle { + open var media: String + open var nonce: String + open var type: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLBodyElement](https://developer.mozilla.org/en/docs/Web/API/HTMLBodyElement) to Kotlin + */ +public external abstract class HTMLBodyElement : HTMLElement, WindowEventHandlers { + open var text: String + open var link: String + open var vLink: String + open var aLink: String + open var bgColor: String + open var background: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLHeadingElement](https://developer.mozilla.org/en/docs/Web/API/HTMLHeadingElement) to Kotlin + */ +public external abstract class HTMLHeadingElement : HTMLElement { + open var align: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLParagraphElement](https://developer.mozilla.org/en/docs/Web/API/HTMLParagraphElement) to Kotlin + */ +public external abstract class HTMLParagraphElement : HTMLElement { + open var align: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLHRElement](https://developer.mozilla.org/en/docs/Web/API/HTMLHRElement) to Kotlin + */ +public external abstract class HTMLHRElement : HTMLElement { + open var align: String + open var color: String + open var noShade: Boolean + open var size: String + open var width: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLPreElement](https://developer.mozilla.org/en/docs/Web/API/HTMLPreElement) to Kotlin + */ +public external abstract class HTMLPreElement : HTMLElement { + open var width: Int + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLQuoteElement](https://developer.mozilla.org/en/docs/Web/API/HTMLQuoteElement) to Kotlin + */ +public external abstract class HTMLQuoteElement : HTMLElement { + open var cite: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLOListElement](https://developer.mozilla.org/en/docs/Web/API/HTMLOListElement) to Kotlin + */ +public external abstract class HTMLOListElement : HTMLElement { + open var reversed: Boolean + open var start: Int + open var type: String + open var compact: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLUListElement](https://developer.mozilla.org/en/docs/Web/API/HTMLUListElement) to Kotlin + */ +public external abstract class HTMLUListElement : HTMLElement { + open var compact: Boolean + open var type: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLLIElement](https://developer.mozilla.org/en/docs/Web/API/HTMLLIElement) to Kotlin + */ +public external abstract class HTMLLIElement : HTMLElement { + open var value: Int + open var type: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLDListElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDListElement) to Kotlin + */ +public external abstract class HTMLDListElement : HTMLElement { + open var compact: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLDivElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDivElement) to Kotlin + */ +public external abstract class HTMLDivElement : HTMLElement { + open var align: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLAnchorElement](https://developer.mozilla.org/en/docs/Web/API/HTMLAnchorElement) to Kotlin + */ +public external abstract class HTMLAnchorElement : HTMLElement, HTMLHyperlinkElementUtils { + open var target: String + open var download: String + open var ping: String + open var rel: String + open val relList: DOMTokenList + open var hreflang: String + open var type: String + open var text: String + open var referrerPolicy: String + open var coords: String + open var charset: String + open var name: String + open var rev: String + open var shape: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLDataElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDataElement) to Kotlin + */ +public external abstract class HTMLDataElement : HTMLElement { + open var value: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTimeElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTimeElement) to Kotlin + */ +public external abstract class HTMLTimeElement : HTMLElement { + open var dateTime: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLSpanElement](https://developer.mozilla.org/en/docs/Web/API/HTMLSpanElement) to Kotlin + */ +public external abstract class HTMLSpanElement : HTMLElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLBRElement](https://developer.mozilla.org/en/docs/Web/API/HTMLBRElement) to Kotlin + */ +public external abstract class HTMLBRElement : HTMLElement { + open var clear: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLHyperlinkElementUtils](https://developer.mozilla.org/en/docs/Web/API/HTMLHyperlinkElementUtils) to Kotlin + */ +public external interface HTMLHyperlinkElementUtils { + var href: String + val origin: String + var protocol: String + var username: String + var password: String + var host: String + var hostname: String + var port: String + var pathname: String + var search: String + var hash: String +} + +/** + * Exposes the JavaScript [HTMLModElement](https://developer.mozilla.org/en/docs/Web/API/HTMLModElement) to Kotlin + */ +public external abstract class HTMLModElement : HTMLElement { + open var cite: String + open var dateTime: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLPictureElement](https://developer.mozilla.org/en/docs/Web/API/HTMLPictureElement) to Kotlin + */ +public external abstract class HTMLPictureElement : HTMLElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLSourceElement](https://developer.mozilla.org/en/docs/Web/API/HTMLSourceElement) to Kotlin + */ +public external abstract class HTMLSourceElement : HTMLElement { + open var src: String + open var type: String + open var srcset: String + open var sizes: String + open var media: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLImageElement](https://developer.mozilla.org/en/docs/Web/API/HTMLImageElement) to Kotlin + */ +public external abstract class HTMLImageElement : HTMLElement, HTMLOrSVGImageElement, TexImageSource { + open var alt: String + open var src: String + open var srcset: String + open var sizes: String + open var crossOrigin: String? + open var useMap: String + open var isMap: Boolean + open var width: Int + open var height: Int + open val naturalWidth: Int + open val naturalHeight: Int + open val complete: Boolean + open val currentSrc: String + open var referrerPolicy: String + open var name: String + open var lowsrc: String + open var align: String + open var hspace: Int + open var vspace: Int + open var longDesc: String + open var border: String + open val x: Int + open val y: Int + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLIFrameElement](https://developer.mozilla.org/en/docs/Web/API/HTMLIFrameElement) to Kotlin + */ +public external abstract class HTMLIFrameElement : HTMLElement { + open var src: String + open var srcdoc: String + open var name: String + open val sandbox: DOMTokenList + open var allowFullscreen: Boolean + open var allowUserMedia: Boolean + open var width: String + open var height: String + open var referrerPolicy: String + open val contentDocument: Document? + open val contentWindow: Window? + open var align: String + open var scrolling: String + open var frameBorder: String + open var longDesc: String + open var marginHeight: String + open var marginWidth: String + fun getSVGDocument(): Document? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLEmbedElement](https://developer.mozilla.org/en/docs/Web/API/HTMLEmbedElement) to Kotlin + */ +public external abstract class HTMLEmbedElement : HTMLElement { + open var src: String + open var type: String + open var width: String + open var height: String + open var align: String + open var name: String + fun getSVGDocument(): Document? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLObjectElement](https://developer.mozilla.org/en/docs/Web/API/HTMLObjectElement) to Kotlin + */ +public external abstract class HTMLObjectElement : HTMLElement { + open var data: String + open var type: String + open var typeMustMatch: Boolean + open var name: String + open var useMap: String + open val form: HTMLFormElement? + open var width: String + open var height: String + open val contentDocument: Document? + open val contentWindow: Window? + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open var align: String + open var archive: String + open var code: String + open var declare: Boolean + open var hspace: Int + open var standby: String + open var vspace: Int + open var codeBase: String + open var codeType: String + open var border: String + fun getSVGDocument(): Document? + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLParamElement](https://developer.mozilla.org/en/docs/Web/API/HTMLParamElement) to Kotlin + */ +public external abstract class HTMLParamElement : HTMLElement { + open var name: String + open var value: String + open var type: String + open var valueType: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLVideoElement](https://developer.mozilla.org/en/docs/Web/API/HTMLVideoElement) to Kotlin + */ +public external abstract class HTMLVideoElement : HTMLMediaElement, CanvasImageSource, TexImageSource { + open var width: Int + open var height: Int + open val videoWidth: Int + open val videoHeight: Int + open var poster: String + open var playsInline: Boolean + + companion object { + val NETWORK_EMPTY: Short + val NETWORK_IDLE: Short + val NETWORK_LOADING: Short + val NETWORK_NO_SOURCE: Short + val HAVE_NOTHING: Short + val HAVE_METADATA: Short + val HAVE_CURRENT_DATA: Short + val HAVE_FUTURE_DATA: Short + val HAVE_ENOUGH_DATA: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLAudioElement](https://developer.mozilla.org/en/docs/Web/API/HTMLAudioElement) to Kotlin + */ +public external abstract class HTMLAudioElement : HTMLMediaElement { + companion object { + val NETWORK_EMPTY: Short + val NETWORK_IDLE: Short + val NETWORK_LOADING: Short + val NETWORK_NO_SOURCE: Short + val HAVE_NOTHING: Short + val HAVE_METADATA: Short + val HAVE_CURRENT_DATA: Short + val HAVE_FUTURE_DATA: Short + val HAVE_ENOUGH_DATA: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTrackElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTrackElement) to Kotlin + */ +public external abstract class HTMLTrackElement : HTMLElement { + open var kind: String + open var src: String + open var srclang: String + open var label: String + open var default: Boolean + open val readyState: Short + open val track: TextTrack + + companion object { + val NONE: Short + val LOADING: Short + val LOADED: Short + val ERROR: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLMediaElement](https://developer.mozilla.org/en/docs/Web/API/HTMLMediaElement) to Kotlin + */ +public external abstract class HTMLMediaElement : HTMLElement { + open val error: MediaError? + open var src: String + open var srcObject: MediaProvider? + open val currentSrc: String + open var crossOrigin: String? + open val networkState: Short + open var preload: String + open val buffered: TimeRanges + open val readyState: Short + open val seeking: Boolean + open var currentTime: Double + open val duration: Double + open val paused: Boolean + open var defaultPlaybackRate: Double + open var playbackRate: Double + open val played: TimeRanges + open val seekable: TimeRanges + open val ended: Boolean + open var autoplay: Boolean + open var loop: Boolean + open var controls: Boolean + open var volume: Double + open var muted: Boolean + open var defaultMuted: Boolean + open val audioTracks: AudioTrackList + open val videoTracks: VideoTrackList + open val textTracks: TextTrackList + open val mediaKeys: MediaKeys? + open var onencrypted: ((Event) -> Dynamic?)? + open var onwaitingforkey: ((Event) -> Dynamic?)? + fun load() + fun canPlayType(type: String): CanPlayTypeResult + fun fastSeek(time: Double) + fun getStartDate(): Dynamic? + fun play(): Promise + fun pause() + fun addTextTrack(kind: TextTrackKind, label: String = definedExternally, language: String = definedExternally): TextTrack + fun setMediaKeys(mediaKeys: MediaKeys?): Promise + + companion object { + val NETWORK_EMPTY: Short + val NETWORK_IDLE: Short + val NETWORK_LOADING: Short + val NETWORK_NO_SOURCE: Short + val HAVE_NOTHING: Short + val HAVE_METADATA: Short + val HAVE_CURRENT_DATA: Short + val HAVE_FUTURE_DATA: Short + val HAVE_ENOUGH_DATA: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [MediaError](https://developer.mozilla.org/en/docs/Web/API/MediaError) to Kotlin + */ +public external abstract class MediaError { + open val code: Short + + companion object { + val MEDIA_ERR_ABORTED: Short + val MEDIA_ERR_NETWORK: Short + val MEDIA_ERR_DECODE: Short + val MEDIA_ERR_SRC_NOT_SUPPORTED: Short + } +} + +/** + * Exposes the JavaScript [AudioTrackList](https://developer.mozilla.org/en/docs/Web/API/AudioTrackList) to Kotlin + */ +public external abstract class AudioTrackList : EventTarget { + open val length: Int + open var onchange: ((Event) -> Dynamic?)? + open var onaddtrack: ((TrackEvent) -> Dynamic?)? + open var onremovetrack: ((TrackEvent) -> Dynamic?)? + fun getTrackById(id: String): AudioTrack? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun AudioTrackList.get(index: Int): AudioTrack? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [AudioTrack](https://developer.mozilla.org/en/docs/Web/API/AudioTrack) to Kotlin + */ +public external abstract class AudioTrack : UnionAudioTrackOrTextTrackOrVideoTrack { + open val id: String + open val kind: String + open val label: String + open val language: String + open var enabled: Boolean + open val sourceBuffer: SourceBuffer? +} + +/** + * Exposes the JavaScript [VideoTrackList](https://developer.mozilla.org/en/docs/Web/API/VideoTrackList) to Kotlin + */ +public external abstract class VideoTrackList : EventTarget { + open val length: Int + open val selectedIndex: Int + open var onchange: ((Event) -> Dynamic?)? + open var onaddtrack: ((TrackEvent) -> Dynamic?)? + open var onremovetrack: ((TrackEvent) -> Dynamic?)? + fun getTrackById(id: String): VideoTrack? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun VideoTrackList.get(index: Int): VideoTrack? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [VideoTrack](https://developer.mozilla.org/en/docs/Web/API/VideoTrack) to Kotlin + */ +public external abstract class VideoTrack : UnionAudioTrackOrTextTrackOrVideoTrack { + open val id: String + open val kind: String + open val label: String + open val language: String + open var selected: Boolean + open val sourceBuffer: SourceBuffer? +} + +public external abstract class TextTrackList : EventTarget { + open val length: Int + open var onchange: ((Event) -> Dynamic?)? + open var onaddtrack: ((TrackEvent) -> Dynamic?)? + open var onremovetrack: ((TrackEvent) -> Dynamic?)? + fun getTrackById(id: String): TextTrack? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun TextTrackList.get(index: Int): TextTrack? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [TextTrack](https://developer.mozilla.org/en/docs/Web/API/TextTrack) to Kotlin + */ +public external abstract class TextTrack : EventTarget, UnionAudioTrackOrTextTrackOrVideoTrack { + open val kind: TextTrackKind + open val label: String + open val language: String + open val id: String + open val inBandMetadataTrackDispatchType: String + open var mode: TextTrackMode + open val cues: TextTrackCueList? + open val activeCues: TextTrackCueList? + open var oncuechange: ((Event) -> Dynamic?)? + open val sourceBuffer: SourceBuffer? + fun addCue(cue: TextTrackCue) + fun removeCue(cue: TextTrackCue) +} + +public external abstract class TextTrackCueList { + open val length: Int + fun getCueById(id: String): TextTrackCue? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun TextTrackCueList.get(index: Int): TextTrackCue? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [TextTrackCue](https://developer.mozilla.org/en/docs/Web/API/TextTrackCue) to Kotlin + */ +public external abstract class TextTrackCue : EventTarget { + open val track: TextTrack? + open var id: String + open var startTime: Double + open var endTime: Double + open var pauseOnExit: Boolean + open var onenter: ((Event) -> Dynamic?)? + open var onexit: ((Event) -> Dynamic?)? +} + +/** + * Exposes the JavaScript [TimeRanges](https://developer.mozilla.org/en/docs/Web/API/TimeRanges) to Kotlin + */ +public external abstract class TimeRanges { + open val length: Int + fun start(index: Int): Double + fun end(index: Int): Double +} + +/** + * Exposes the JavaScript [TrackEvent](https://developer.mozilla.org/en/docs/Web/API/TrackEvent) to Kotlin + */ +public external open class TrackEvent(type: String, eventInitDict: TrackEventInit = definedExternally) : Event { + open val track: UnionAudioTrackOrTextTrackOrVideoTrack? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface TrackEventInit : EventInit { + var track: UnionAudioTrackOrTextTrackOrVideoTrack? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun TrackEventInit(track: UnionAudioTrackOrTextTrackOrVideoTrack? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): TrackEventInit { + val o = js("({})") + o["track"] = track + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as TrackEventInit +} + +/** + * Exposes the JavaScript [HTMLMapElement](https://developer.mozilla.org/en/docs/Web/API/HTMLMapElement) to Kotlin + */ +public external abstract class HTMLMapElement : HTMLElement { + open var name: String + open val areas: HTMLCollection + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLAreaElement](https://developer.mozilla.org/en/docs/Web/API/HTMLAreaElement) to Kotlin + */ +public external abstract class HTMLAreaElement : HTMLElement, HTMLHyperlinkElementUtils { + open var alt: String + open var coords: String + open var shape: String + open var target: String + open var download: String + open var ping: String + open var rel: String + open val relList: DOMTokenList + open var referrerPolicy: String + open var noHref: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableElement) to Kotlin + */ +public external abstract class HTMLTableElement : HTMLElement { + open var caption: HTMLTableCaptionElement? + open var tHead: HTMLTableSectionElement? + open var tFoot: HTMLTableSectionElement? + open val tBodies: HTMLCollection + open val rows: HTMLCollection + open var align: String + open var border: String + open var frame: String + open var rules: String + open var summary: String + open var width: String + open var bgColor: String + open var cellPadding: String + open var cellSpacing: String + fun createCaption(): HTMLTableCaptionElement + fun deleteCaption() + fun createTHead(): HTMLTableSectionElement + fun deleteTHead() + fun createTFoot(): HTMLTableSectionElement + fun deleteTFoot() + fun createTBody(): HTMLTableSectionElement + fun insertRow(index: Int = definedExternally): HTMLTableRowElement + fun deleteRow(index: Int) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableCaptionElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableCaptionElement) to Kotlin + */ +public external abstract class HTMLTableCaptionElement : HTMLElement { + open var align: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableColElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableColElement) to Kotlin + */ +public external abstract class HTMLTableColElement : HTMLElement { + open var span: Int + open var align: String + open var ch: String + open var chOff: String + open var vAlign: String + open var width: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableSectionElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableSectionElement) to Kotlin + */ +public external abstract class HTMLTableSectionElement : HTMLElement { + open val rows: HTMLCollection + open var align: String + open var ch: String + open var chOff: String + open var vAlign: String + fun insertRow(index: Int = definedExternally): HTMLElement + fun deleteRow(index: Int) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableRowElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableRowElement) to Kotlin + */ +public external abstract class HTMLTableRowElement : HTMLElement { + open val rowIndex: Int + open val sectionRowIndex: Int + open val cells: HTMLCollection + open var align: String + open var ch: String + open var chOff: String + open var vAlign: String + open var bgColor: String + fun insertCell(index: Int = definedExternally): HTMLElement + fun deleteCell(index: Int) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTableCellElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTableCellElement) to Kotlin + */ +public external abstract class HTMLTableCellElement : HTMLElement { + open var colSpan: Int + open var rowSpan: Int + open var headers: String + open val cellIndex: Int + open var scope: String + open var abbr: String + open var align: String + open var axis: String + open var height: String + open var width: String + open var ch: String + open var chOff: String + open var noWrap: Boolean + open var vAlign: String + open var bgColor: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLFormElement](https://developer.mozilla.org/en/docs/Web/API/HTMLFormElement) to Kotlin + */ +public external abstract class HTMLFormElement : HTMLElement { + open var acceptCharset: String + open var action: String + open var autocomplete: String + open var enctype: String + open var encoding: String + open var method: String + open var name: String + open var noValidate: Boolean + open var target: String + open val elements: HTMLFormControlsCollection + open val length: Int + fun submit() + fun reset() + fun checkValidity(): Boolean + fun reportValidity(): Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLFormElement.get(index: Int): Element? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLFormElement.get(name: String): UnionElementOrRadioNodeList? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [HTMLLabelElement](https://developer.mozilla.org/en/docs/Web/API/HTMLLabelElement) to Kotlin + */ +public external abstract class HTMLLabelElement : HTMLElement { + open val form: HTMLFormElement? + open var htmlFor: String + open val control: HTMLElement? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLInputElement](https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement) to Kotlin + */ +public external abstract class HTMLInputElement : HTMLElement { + open var accept: String + open var alt: String + open var autocomplete: String + open var autofocus: Boolean + open var defaultChecked: Boolean + open var checked: Boolean + open var dirName: String + open var disabled: Boolean + open val form: HTMLFormElement? + open val files: FileList? + open var formAction: String + open var formEnctype: String + open var formMethod: String + open var formNoValidate: Boolean + open var formTarget: String + open var height: Int + open var indeterminate: Boolean + open var inputMode: String + open val list: HTMLElement? + open var max: String + open var maxLength: Int + open var min: String + open var minLength: Int + open var multiple: Boolean + open var name: String + open var pattern: String + open var placeholder: String + open var readOnly: Boolean + open var required: Boolean + open var size: Int + open var src: String + open var step: String + open var type: String + open var defaultValue: String + open var value: String + open var valueAsDate: Dynamic? + open var valueAsNumber: Double + open var width: Int + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + open var selectionStart: Int? + open var selectionEnd: Int? + open var selectionDirection: String? + open var align: String + open var useMap: String + fun stepUp(n: Int = definedExternally) + fun stepDown(n: Int = definedExternally) + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + fun select() + fun setRangeText(replacement: String) + fun setRangeText(replacement: String, start: Int, end: Int, selectionMode: SelectionMode = definedExternally) + fun setSelectionRange(start: Int, end: Int, direction: String = definedExternally) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLButtonElement](https://developer.mozilla.org/en/docs/Web/API/HTMLButtonElement) to Kotlin + */ +public external abstract class HTMLButtonElement : HTMLElement { + open var autofocus: Boolean + open var disabled: Boolean + open val form: HTMLFormElement? + open var formAction: String + open var formEnctype: String + open var formMethod: String + open var formNoValidate: Boolean + open var formTarget: String + open var name: String + open var type: String + open var value: String + open var menu: HTMLMenuElement? + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLSelectElement](https://developer.mozilla.org/en/docs/Web/API/HTMLSelectElement) to Kotlin + */ +public external abstract class HTMLSelectElement : HTMLElement, ItemArrayLike { + open var autocomplete: String + open var autofocus: Boolean + open var disabled: Boolean + open val form: HTMLFormElement? + open var multiple: Boolean + open var name: String + open var required: Boolean + open var size: Int + open val type: String + open val options: HTMLOptionsCollection + override var length: Int + open val selectedOptions: HTMLCollection + open var selectedIndex: Int + open var value: String + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + fun namedItem(name: String): HTMLOptionElement? + fun add(element: UnionHTMLOptGroupElementOrHTMLOptionElement, before: Dynamic? = definedExternally) + fun remove(index: Int) + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + override fun item(index: Int): Element? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLSelectElement.get(index: Int): Element? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLSelectElement.set(index: Int, option: HTMLOptionElement?) { asDynamic()[index] = option } + +/** + * Exposes the JavaScript [HTMLDataListElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDataListElement) to Kotlin + */ +public external abstract class HTMLDataListElement : HTMLElement { + open val options: HTMLCollection + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLOptGroupElement](https://developer.mozilla.org/en/docs/Web/API/HTMLOptGroupElement) to Kotlin + */ +public external abstract class HTMLOptGroupElement : HTMLElement, UnionHTMLOptGroupElementOrHTMLOptionElement { + open var disabled: Boolean + open var label: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLOptionElement](https://developer.mozilla.org/en/docs/Web/API/HTMLOptionElement) to Kotlin + */ +public external abstract class HTMLOptionElement : HTMLElement, UnionHTMLOptGroupElementOrHTMLOptionElement { + open var disabled: Boolean + open val form: HTMLFormElement? + open var label: String + open var defaultSelected: Boolean + open var selected: Boolean + open var value: String + open var text: String + open val index: Int + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTextAreaElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTextAreaElement) to Kotlin + */ +public external abstract class HTMLTextAreaElement : HTMLElement { + open var autocomplete: String + open var autofocus: Boolean + open var cols: Int + open var dirName: String + open var disabled: Boolean + open val form: HTMLFormElement? + open var inputMode: String + open var maxLength: Int + open var minLength: Int + open var name: String + open var placeholder: String + open var readOnly: Boolean + open var required: Boolean + open var rows: Int + open var wrap: String + open val type: String + open var defaultValue: String + open var value: String + open val textLength: Int + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + open var selectionStart: Int? + open var selectionEnd: Int? + open var selectionDirection: String? + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + fun select() + fun setRangeText(replacement: String) + fun setRangeText(replacement: String, start: Int, end: Int, selectionMode: SelectionMode = definedExternally) + fun setSelectionRange(start: Int, end: Int, direction: String = definedExternally) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLKeygenElement](https://developer.mozilla.org/en/docs/Web/API/HTMLKeygenElement) to Kotlin + */ +public external abstract class HTMLKeygenElement : HTMLElement { + open var autofocus: Boolean + open var challenge: String + open var disabled: Boolean + open val form: HTMLFormElement? + open var keytype: String + open var name: String + open val type: String + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLOutputElement](https://developer.mozilla.org/en/docs/Web/API/HTMLOutputElement) to Kotlin + */ +public external abstract class HTMLOutputElement : HTMLElement { + open val htmlFor: DOMTokenList + open val form: HTMLFormElement? + open var name: String + open val type: String + open var defaultValue: String + open var value: String + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + open val labels: NodeList + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLProgressElement](https://developer.mozilla.org/en/docs/Web/API/HTMLProgressElement) to Kotlin + */ +public external abstract class HTMLProgressElement : HTMLElement { + open var value: Double + open var max: Double + open val position: Double + open val labels: NodeList + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLMeterElement](https://developer.mozilla.org/en/docs/Web/API/HTMLMeterElement) to Kotlin + */ +public external abstract class HTMLMeterElement : HTMLElement { + open var value: Double + open var min: Double + open var max: Double + open var low: Double + open var high: Double + open var optimum: Double + open val labels: NodeList + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLFieldSetElement](https://developer.mozilla.org/en/docs/Web/API/HTMLFieldSetElement) to Kotlin + */ +public external abstract class HTMLFieldSetElement : HTMLElement { + open var disabled: Boolean + open val form: HTMLFormElement? + open var name: String + open val type: String + open val elements: HTMLCollection + open val willValidate: Boolean + open val validity: ValidityState + open val validationMessage: String + fun checkValidity(): Boolean + fun reportValidity(): Boolean + fun setCustomValidity(error: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLLegendElement](https://developer.mozilla.org/en/docs/Web/API/HTMLLegendElement) to Kotlin + */ +public external abstract class HTMLLegendElement : HTMLElement { + open val form: HTMLFormElement? + open var align: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [ValidityState](https://developer.mozilla.org/en/docs/Web/API/ValidityState) to Kotlin + */ +public external abstract class ValidityState { + open val valueMissing: Boolean + open val typeMismatch: Boolean + open val patternMismatch: Boolean + open val tooLong: Boolean + open val tooShort: Boolean + open val rangeUnderflow: Boolean + open val rangeOverflow: Boolean + open val stepMismatch: Boolean + open val badInput: Boolean + open val customError: Boolean + open val valid: Boolean +} + +/** + * Exposes the JavaScript [HTMLDetailsElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDetailsElement) to Kotlin + */ +public external abstract class HTMLDetailsElement : HTMLElement { + open var open: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class HTMLMenuElement : HTMLElement { + open var type: String + open var label: String + open var compact: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class HTMLMenuItemElement : HTMLElement { + open var type: String + open var label: String + open var icon: String + open var disabled: Boolean + open var checked: Boolean + open var radiogroup: String + open var default: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external open class RelatedEvent(type: String, eventInitDict: RelatedEventInit = definedExternally) : Event { + open val relatedTarget: EventTarget? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface RelatedEventInit : EventInit { + var relatedTarget: EventTarget? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun RelatedEventInit(relatedTarget: EventTarget? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): RelatedEventInit { + val o = js("({})") + o["relatedTarget"] = relatedTarget + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as RelatedEventInit +} + +/** + * Exposes the JavaScript [HTMLDialogElement](https://developer.mozilla.org/en/docs/Web/API/HTMLDialogElement) to Kotlin + */ +public external abstract class HTMLDialogElement : HTMLElement { + open var open: Boolean + open var returnValue: String + fun show(anchor: UnionElementOrMouseEvent = definedExternally) + fun showModal(anchor: UnionElementOrMouseEvent = definedExternally) + fun close(returnValue: String = definedExternally) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLScriptElement](https://developer.mozilla.org/en/docs/Web/API/HTMLScriptElement) to Kotlin + */ +public external abstract class HTMLScriptElement : HTMLElement, HTMLOrSVGScriptElement { + open var src: String + open var type: String + open var charset: String + open var async: Boolean + open var defer: Boolean + open var crossOrigin: String? + open var text: String + open var nonce: String + open var event: String + open var htmlFor: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLTemplateElement](https://developer.mozilla.org/en/docs/Web/API/HTMLTemplateElement) to Kotlin + */ +public external abstract class HTMLTemplateElement : HTMLElement { + open val content: DocumentFragment + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLSlotElement](https://developer.mozilla.org/en/docs/Web/API/HTMLSlotElement) to Kotlin + */ +public external abstract class HTMLSlotElement : HTMLElement { + open var name: String + fun assignedNodes(options: AssignedNodesOptions = definedExternally): Array + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface AssignedNodesOptions { + var flatten: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun AssignedNodesOptions(flatten: Boolean? = false): AssignedNodesOptions { + val o = js("({})") + o["flatten"] = flatten + return o as AssignedNodesOptions +} + +/** + * Exposes the JavaScript [HTMLCanvasElement](https://developer.mozilla.org/en/docs/Web/API/HTMLCanvasElement) to Kotlin + */ +public external abstract class HTMLCanvasElement : HTMLElement, CanvasImageSource, TexImageSource { + open var width: Int + open var height: Int + fun getContext(contextId: String, vararg arguments: Any?): RenderingContext? + fun toDataURL(type: String = definedExternally, quality: Any? = definedExternally): String + fun toBlob(_callback: (Blob?) -> Unit, type: String = definedExternally, quality: Any? = definedExternally) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface CanvasRenderingContext2DSettings { + var alpha: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CanvasRenderingContext2DSettings(alpha: Boolean? = true): CanvasRenderingContext2DSettings { + val o = js("({})") + o["alpha"] = alpha + return o as CanvasRenderingContext2DSettings +} + +/** + * Exposes the JavaScript [CanvasRenderingContext2D](https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D) to Kotlin + */ +public external abstract class CanvasRenderingContext2D : CanvasState, CanvasTransform, CanvasCompositing, CanvasImageSmoothing, CanvasFillStrokeStyles, CanvasShadowStyles, CanvasFilters, CanvasRect, CanvasDrawPath, CanvasUserInterface, CanvasText, CanvasDrawImage, CanvasHitRegion, CanvasImageData, CanvasPathDrawingStyles, CanvasTextDrawingStyles, CanvasPath, RenderingContext { + open val canvas: HTMLCanvasElement +} + +public external interface CanvasState { + fun save() + fun restore() +} + +public external interface CanvasTransform { + fun scale(x: Double, y: Double) + fun rotate(angle: Double) + fun translate(x: Double, y: Double) + fun transform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) + fun getTransform(): DOMMatrix + fun setTransform(a: Double, b: Double, c: Double, d: Double, e: Double, f: Double) + fun setTransform(transform: Dynamic? = definedExternally) + fun resetTransform() +} + +public external interface CanvasCompositing { + var globalAlpha: Double + var globalCompositeOperation: String +} + +public external interface CanvasImageSmoothing { + var imageSmoothingEnabled: Boolean + var imageSmoothingQuality: ImageSmoothingQuality +} + +public external interface CanvasFillStrokeStyles { + var strokeStyle: Dynamic? + get() = definedExternally + set(value) = definedExternally + var fillStyle: Dynamic? + get() = definedExternally + set(value) = definedExternally + fun createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double): CanvasGradient + fun createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double): CanvasGradient + fun createPattern(image: CanvasImageSource, repetition: String): CanvasPattern? +} + +public external interface CanvasShadowStyles { + var shadowOffsetX: Double + var shadowOffsetY: Double + var shadowBlur: Double + var shadowColor: String +} + +public external interface CanvasFilters { + var filter: String +} + +public external interface CanvasRect { + fun clearRect(x: Double, y: Double, w: Double, h: Double) + fun fillRect(x: Double, y: Double, w: Double, h: Double) + fun strokeRect(x: Double, y: Double, w: Double, h: Double) +} + +public external interface CanvasDrawPath { + fun beginPath() + fun fill(fillRule: CanvasFillRule = definedExternally) + fun fill(path: Path2D, fillRule: CanvasFillRule = definedExternally) + fun stroke() + fun stroke(path: Path2D) + fun clip(fillRule: CanvasFillRule = definedExternally) + fun clip(path: Path2D, fillRule: CanvasFillRule = definedExternally) + fun resetClip() + fun isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule = definedExternally): Boolean + fun isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule = definedExternally): Boolean + fun isPointInStroke(x: Double, y: Double): Boolean + fun isPointInStroke(path: Path2D, x: Double, y: Double): Boolean +} + +public external interface CanvasUserInterface { + fun drawFocusIfNeeded(element: Element) + fun drawFocusIfNeeded(path: Path2D, element: Element) + fun scrollPathIntoView() + fun scrollPathIntoView(path: Path2D) +} + +public external interface CanvasText { + fun fillText(text: String, x: Double, y: Double, maxWidth: Double = definedExternally) + fun strokeText(text: String, x: Double, y: Double, maxWidth: Double = definedExternally) + fun measureText(text: String): TextMetrics +} + +public external interface CanvasDrawImage { + fun drawImage(image: CanvasImageSource, dx: Double, dy: Double) + fun drawImage(image: CanvasImageSource, dx: Double, dy: Double, dw: Double, dh: Double) + fun drawImage(image: CanvasImageSource, sx: Double, sy: Double, sw: Double, sh: Double, dx: Double, dy: Double, dw: Double, dh: Double) +} + +public external interface CanvasHitRegion { + fun addHitRegion(options: HitRegionOptions = definedExternally) + fun removeHitRegion(id: String) + fun clearHitRegions() +} + +public external interface CanvasImageData { + fun createImageData(sw: Double, sh: Double): ImageData + fun createImageData(imagedata: ImageData): ImageData + fun getImageData(sx: Double, sy: Double, sw: Double, sh: Double): ImageData + fun putImageData(imagedata: ImageData, dx: Double, dy: Double) + fun putImageData(imagedata: ImageData, dx: Double, dy: Double, dirtyX: Double, dirtyY: Double, dirtyWidth: Double, dirtyHeight: Double) +} + +public external interface CanvasPathDrawingStyles { + var lineWidth: Double + var lineCap: CanvasLineCap + var lineJoin: CanvasLineJoin + var miterLimit: Double + var lineDashOffset: Double + fun setLineDash(segments: Array) + fun getLineDash(): Array +} + +public external interface CanvasTextDrawingStyles { + var font: String + var textAlign: CanvasTextAlign + var textBaseline: CanvasTextBaseline + var direction: CanvasDirection +} + +public external interface CanvasPath { + fun closePath() + fun moveTo(x: Double, y: Double) + fun lineTo(x: Double, y: Double) + fun quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) + fun bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) + fun arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) + fun arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radiusX: Double, radiusY: Double, rotation: Double) + fun rect(x: Double, y: Double, w: Double, h: Double) + fun arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean = definedExternally) + fun ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean = definedExternally) +} + +/** + * Exposes the JavaScript [CanvasGradient](https://developer.mozilla.org/en/docs/Web/API/CanvasGradient) to Kotlin + */ +public external abstract class CanvasGradient { + fun addColorStop(offset: Double, color: String) +} + +/** + * Exposes the JavaScript [CanvasPattern](https://developer.mozilla.org/en/docs/Web/API/CanvasPattern) to Kotlin + */ +public external abstract class CanvasPattern { + fun setTransform(transform: Dynamic? = definedExternally) +} + +/** + * Exposes the JavaScript [TextMetrics](https://developer.mozilla.org/en/docs/Web/API/TextMetrics) to Kotlin + */ +public external abstract class TextMetrics { + open val width: Double + open val actualBoundingBoxLeft: Double + open val actualBoundingBoxRight: Double + open val fontBoundingBoxAscent: Double + open val fontBoundingBoxDescent: Double + open val actualBoundingBoxAscent: Double + open val actualBoundingBoxDescent: Double + open val emHeightAscent: Double + open val emHeightDescent: Double + open val hangingBaseline: Double + open val alphabeticBaseline: Double + open val ideographicBaseline: Double +} + +public external interface HitRegionOptions { + var path: Path2D? /* = null */ + get() = definedExternally + set(value) = definedExternally + var fillRule: CanvasFillRule? /* = CanvasFillRule.NONZERO */ + get() = definedExternally + set(value) = definedExternally + var id: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var parentID: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var cursor: String? /* = "inherit" */ + get() = definedExternally + set(value) = definedExternally + var control: Element? /* = null */ + get() = definedExternally + set(value) = definedExternally + var label: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var role: String? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun HitRegionOptions(path: Path2D? = null, fillRule: CanvasFillRule? = CanvasFillRule.NONZERO, id: String? = "", parentID: String? = null, cursor: String? = "inherit", control: Element? = null, label: String? = null, role: String? = null): HitRegionOptions { + val o = js("({})") + o["path"] = path + o["fillRule"] = fillRule + o["id"] = id + o["parentID"] = parentID + o["cursor"] = cursor + o["control"] = control + o["label"] = label + o["role"] = role + return o as HitRegionOptions +} + +/** + * Exposes the JavaScript [ImageData](https://developer.mozilla.org/en/docs/Web/API/ImageData) to Kotlin + */ +public external open class ImageData : ImageBitmapSource, TexImageSource { + constructor(sw: Int, sh: Int) + constructor(data: Uint8ClampedArray, sw: Int, sh: Int = definedExternally) + open val width: Int + open val height: Int + open val data: Uint8ClampedArray +} + +/** + * Exposes the JavaScript [Path2D](https://developer.mozilla.org/en/docs/Web/API/Path2D) to Kotlin + */ +public external open class Path2D() : CanvasPath { + constructor(path: Path2D) + constructor(paths: Array, fillRule: CanvasFillRule = definedExternally) + constructor(d: String) + fun addPath(path: Path2D, transform: Dynamic? = definedExternally) + override fun closePath() + override fun moveTo(x: Double, y: Double) + override fun lineTo(x: Double, y: Double) + override fun quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double) + override fun bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double) + override fun arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double) + override fun arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radiusX: Double, radiusY: Double, rotation: Double) + override fun rect(x: Double, y: Double, w: Double, h: Double) + override fun arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean /* = definedExternally */) + override fun ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean /* = definedExternally */) +} + +/** + * Exposes the JavaScript [ImageBitmapRenderingContext](https://developer.mozilla.org/en/docs/Web/API/ImageBitmapRenderingContext) to Kotlin + */ +public external abstract class ImageBitmapRenderingContext { + open val canvas: HTMLCanvasElement + fun transferFromImageBitmap(bitmap: ImageBitmap?) +} + +public external interface ImageBitmapRenderingContextSettings { + var alpha: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ImageBitmapRenderingContextSettings(alpha: Boolean? = true): ImageBitmapRenderingContextSettings { + val o = js("({})") + o["alpha"] = alpha + return o as ImageBitmapRenderingContextSettings +} + +/** + * Exposes the JavaScript [CustomElementRegistry](https://developer.mozilla.org/en/docs/Web/API/CustomElementRegistry) to Kotlin + */ +public external abstract class CustomElementRegistry { + fun define(name: String, constructor: () -> Dynamic?, options: ElementDefinitionOptions = definedExternally) + fun get(name: String): Any? + fun whenDefined(name: String): Promise +} + +public external interface ElementDefinitionOptions { + var extends: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ElementDefinitionOptions(extends: String? = undefined): ElementDefinitionOptions { + val o = js("({})") + o["extends"] = extends + return o as ElementDefinitionOptions +} + +public external interface ElementContentEditable { + var contentEditable: String + val isContentEditable: Boolean +} + +/** + * Exposes the JavaScript [DataTransfer](https://developer.mozilla.org/en/docs/Web/API/DataTransfer) to Kotlin + */ +public external abstract class DataTransfer { + open var dropEffect: String + open var effectAllowed: String + open val items: DataTransferItemList + open val types: Array + open val files: FileList + fun setDragImage(image: Element, x: Int, y: Int) + fun getData(format: String): String + fun setData(format: String, data: String) + fun clearData(format: String = definedExternally) +} + +/** + * Exposes the JavaScript [DataTransferItemList](https://developer.mozilla.org/en/docs/Web/API/DataTransferItemList) to Kotlin + */ +public external abstract class DataTransferItemList { + open val length: Int + fun add(data: String, type: String): DataTransferItem? + fun add(data: File): DataTransferItem? + fun remove(index: Int) + fun clear() +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun DataTransferItemList.get(index: Int): DataTransferItem? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [DataTransferItem](https://developer.mozilla.org/en/docs/Web/API/DataTransferItem) to Kotlin + */ +public external abstract class DataTransferItem { + open val kind: String + open val type: String + fun getAsString(_callback: ((String) -> Unit)?) + fun getAsFile(): File? +} + +/** + * Exposes the JavaScript [DragEvent](https://developer.mozilla.org/en/docs/Web/API/DragEvent) to Kotlin + */ +public external open class DragEvent(type: String, eventInitDict: DragEventInit = definedExternally) : MouseEvent { + open val dataTransfer: DataTransfer? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface DragEventInit : MouseEventInit { + var dataTransfer: DataTransfer? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun DragEventInit(dataTransfer: DataTransfer? = null, screenX: Int? = 0, screenY: Int? = 0, clientX: Int? = 0, clientY: Int? = 0, button: Short? = 0, buttons: Short? = 0, relatedTarget: EventTarget? = null, region: String? = null, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): DragEventInit { + val o = js("({})") + o["dataTransfer"] = dataTransfer + o["screenX"] = screenX + o["screenY"] = screenY + o["clientX"] = clientX + o["clientY"] = clientY + o["button"] = button + o["buttons"] = buttons + o["relatedTarget"] = relatedTarget + o["region"] = region + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as DragEventInit +} + +/** + * Exposes the JavaScript [Window](https://developer.mozilla.org/en/docs/Web/API/Window) to Kotlin + */ +public external abstract class Window : EventTarget, GlobalEventHandlers, WindowEventHandlers, WindowOrWorkerGlobalScope, WindowSessionStorage, WindowLocalStorage, GlobalPerformance, UnionMessagePortOrWindowProxy { + open val window: Window + open val self: Window + open val document: Document + open var name: String + open val location: Location + open val history: History + open val customElements: CustomElementRegistry + open val locationbar: BarProp + open val menubar: BarProp + open val personalbar: BarProp + open val scrollbars: BarProp + open val statusbar: BarProp + open val toolbar: BarProp + open var status: String + open val closed: Boolean + open val frames: Window + open val length: Int + open val top: Window + open var opener: Any? + open val parent: Window + open val frameElement: Element? + open val navigator: Navigator + open val applicationCache: ApplicationCache + open val external: External + open val screen: Screen + open val innerWidth: Int + open val innerHeight: Int + open val scrollX: Double + open val pageXOffset: Double + open val scrollY: Double + open val pageYOffset: Double + open val screenX: Int + open val screenY: Int + open val outerWidth: Int + open val outerHeight: Int + open val devicePixelRatio: Double + fun close() + fun stop() + fun focus() + fun blur() + fun open(url: String = definedExternally, target: String = definedExternally, features: String = definedExternally): Window? + fun alert() + fun alert(message: String) + fun confirm(message: String = definedExternally): Boolean + fun prompt(message: String = definedExternally, default: String = definedExternally): String? + fun print() + fun requestAnimationFrame(callback: (Double) -> Unit): Int + fun cancelAnimationFrame(handle: Int) + fun postMessage(message: Any?, targetOrigin: String, transfer: Array = definedExternally) + fun captureEvents() + fun releaseEvents() + fun matchMedia(query: String): MediaQueryList + fun moveTo(x: Int, y: Int) + fun moveBy(x: Int, y: Int) + fun resizeTo(x: Int, y: Int) + fun resizeBy(x: Int, y: Int) + fun scroll(options: ScrollToOptions = definedExternally) + fun scroll(x: Double, y: Double) + fun scrollTo(options: ScrollToOptions = definedExternally) + fun scrollTo(x: Double, y: Double) + fun scrollBy(options: ScrollToOptions = definedExternally) + fun scrollBy(x: Double, y: Double) + fun getComputedStyle(elt: Element, pseudoElt: String? = definedExternally): CSSStyleDeclaration +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Window.get(name: String): Dynamic? = asDynamic().getAny(name) + +public external abstract class BarProp { + open val visible: Boolean +} + +/** + * Exposes the JavaScript [History](https://developer.mozilla.org/en/docs/Web/API/History) to Kotlin + */ +public external abstract class History { + open val length: Int + open var scrollRestoration: ScrollRestoration + open val state: Any? + fun go(delta: Int = definedExternally) + fun back() + fun forward() + fun pushState(data: Any?, title: String, url: String? = definedExternally) + fun replaceState(data: Any?, title: String, url: String? = definedExternally) +} + +/** + * Exposes the JavaScript [Location](https://developer.mozilla.org/en/docs/Web/API/Location) to Kotlin + */ +public external abstract class Location { + open var href: String + open val origin: String + open var protocol: String + open var host: String + open var hostname: String + open var port: String + open var pathname: String + open var search: String + open var hash: String + open val ancestorOrigins: Array + fun assign(url: String) + fun replace(url: String) + fun reload() +} + +/** + * Exposes the JavaScript [PopStateEvent](https://developer.mozilla.org/en/docs/Web/API/PopStateEvent) to Kotlin + */ +public external open class PopStateEvent(type: String, eventInitDict: PopStateEventInit = definedExternally) : Event { + open val state: Any? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface PopStateEventInit : EventInit { + var state: Any? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun PopStateEventInit(state: Any? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): PopStateEventInit { + val o = js("({})") + o["state"] = state + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as PopStateEventInit +} + +/** + * Exposes the JavaScript [HashChangeEvent](https://developer.mozilla.org/en/docs/Web/API/HashChangeEvent) to Kotlin + */ +public external open class HashChangeEvent(type: String, eventInitDict: HashChangeEventInit = definedExternally) : Event { + open val oldURL: String + open val newURL: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface HashChangeEventInit : EventInit { + var oldURL: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var newURL: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun HashChangeEventInit(oldURL: String? = "", newURL: String? = "", bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): HashChangeEventInit { + val o = js("({})") + o["oldURL"] = oldURL + o["newURL"] = newURL + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as HashChangeEventInit +} + +/** + * Exposes the JavaScript [PageTransitionEvent](https://developer.mozilla.org/en/docs/Web/API/PageTransitionEvent) to Kotlin + */ +public external open class PageTransitionEvent(type: String, eventInitDict: PageTransitionEventInit = definedExternally) : Event { + open val persisted: Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface PageTransitionEventInit : EventInit { + var persisted: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun PageTransitionEventInit(persisted: Boolean? = false, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): PageTransitionEventInit { + val o = js("({})") + o["persisted"] = persisted + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as PageTransitionEventInit +} + +/** + * Exposes the JavaScript [BeforeUnloadEvent](https://developer.mozilla.org/en/docs/Web/API/BeforeUnloadEvent) to Kotlin + */ +public external open class BeforeUnloadEvent : Event { + var returnValue: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external abstract class ApplicationCache : EventTarget { + open val status: Short + open var onchecking: ((Event) -> Dynamic?)? + open var onerror: ((Event) -> Dynamic?)? + open var onnoupdate: ((Event) -> Dynamic?)? + open var ondownloading: ((Event) -> Dynamic?)? + open var onprogress: ((ProgressEvent) -> Dynamic?)? + open var onupdateready: ((Event) -> Dynamic?)? + open var oncached: ((Event) -> Dynamic?)? + open var onobsolete: ((Event) -> Dynamic?)? + fun update() + fun abort() + fun swapCache() + + companion object { + val UNCACHED: Short + val IDLE: Short + val CHECKING: Short + val DOWNLOADING: Short + val UPDATEREADY: Short + val OBSOLETE: Short + } +} + +/** + * Exposes the JavaScript [NavigatorOnLine](https://developer.mozilla.org/en/docs/Web/API/NavigatorOnLine) to Kotlin + */ +public external interface NavigatorOnLine { + val onLine: Boolean +} + +/** + * Exposes the JavaScript [ErrorEvent](https://developer.mozilla.org/en/docs/Web/API/ErrorEvent) to Kotlin + */ +public external open class ErrorEvent(type: String, eventInitDict: ErrorEventInit = definedExternally) : Event { + open val message: String + open val filename: String + open val lineno: Int + open val colno: Int + open val error: Any? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ErrorEventInit : EventInit { + var message: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var filename: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var lineno: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var colno: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var error: Any? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ErrorEventInit(message: String? = "", filename: String? = "", lineno: Int? = 0, colno: Int? = 0, error: Any? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ErrorEventInit { + val o = js("({})") + o["message"] = message + o["filename"] = filename + o["lineno"] = lineno + o["colno"] = colno + o["error"] = error + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ErrorEventInit +} + +/** + * Exposes the JavaScript [PromiseRejectionEvent](https://developer.mozilla.org/en/docs/Web/API/PromiseRejectionEvent) to Kotlin + */ +public external open class PromiseRejectionEvent(type: String, eventInitDict: PromiseRejectionEventInit) : Event { + open val promise: Promise + open val reason: Any? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface PromiseRejectionEventInit : EventInit { + var promise: Promise? + var reason: Any? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun PromiseRejectionEventInit(promise: Promise?, reason: Any? = undefined, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): PromiseRejectionEventInit { + val o = js("({})") + o["promise"] = promise + o["reason"] = reason + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as PromiseRejectionEventInit +} + +/** + * Exposes the JavaScript [GlobalEventHandlers](https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers) to Kotlin + */ +public external interface GlobalEventHandlers { + var onabort: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onblur: ((FocusEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncancel: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncanplay: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncanplaythrough: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onchange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onclick: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onclose: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncontextmenu: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncuechange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondblclick: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondrag: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragend: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragenter: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragexit: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragleave: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragover: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondragstart: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondrop: ((DragEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ondurationchange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onemptied: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onended: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onfocus: ((FocusEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oninput: ((InputEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oninvalid: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onkeydown: ((KeyboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onkeypress: ((KeyboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onkeyup: ((KeyboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onload: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onloadeddata: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onloadedmetadata: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onloadend: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onloadstart: ((ProgressEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmousedown: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmouseenter: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmouseleave: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmousemove: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmouseout: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmouseover: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmouseup: ((MouseEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onwheel: ((WheelEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpause: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onplay: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onplaying: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onprogress: ((ProgressEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onratechange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onreset: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onresize: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onscroll: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onseeked: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onseeking: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onselect: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onshow: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onstalled: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onsubmit: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onsuspend: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ontimeupdate: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ontoggle: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onvolumechange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onwaiting: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerdown: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointermove: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerup: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointercancel: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerover: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerout: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerenter: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpointerleave: ((PointerEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally +} + +/** + * Exposes the JavaScript [WindowEventHandlers](https://developer.mozilla.org/en/docs/Web/API/WindowEventHandlers) to Kotlin + */ +public external interface WindowEventHandlers { + var onafterprint: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onbeforeprint: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onbeforeunload: ((BeforeUnloadEvent) -> String?)? + get() = definedExternally + set(value) = definedExternally + var onhashchange: ((HashChangeEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onlanguagechange: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onmessage: ((MessageEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onoffline: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var ononline: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpagehide: ((PageTransitionEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpageshow: ((PageTransitionEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpopstate: ((PopStateEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onrejectionhandled: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onstorage: ((StorageEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onunhandledrejection: ((PromiseRejectionEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onunload: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally +} + +public external interface DocumentAndElementEventHandlers { + var oncopy: ((ClipboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var oncut: ((ClipboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + var onpaste: ((ClipboardEvent) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally +} + +/** + * Exposes the JavaScript [WindowOrWorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/WindowOrWorkerGlobalScope) to Kotlin + */ +public external interface WindowOrWorkerGlobalScope { + val origin: String + val caches: CacheStorage + fun btoa(data: String): String + fun atob(data: String): String + fun setTimeout(handler: Dynamic?, timeout: Int = definedExternally, vararg arguments: Any?): Int + fun clearTimeout(handle: Int = definedExternally) + fun setInterval(handler: Dynamic?, timeout: Int = definedExternally, vararg arguments: Any?): Int + fun clearInterval(handle: Int = definedExternally) + fun createImageBitmap(image: ImageBitmapSource, options: ImageBitmapOptions = definedExternally): Promise + fun createImageBitmap(image: ImageBitmapSource, sx: Int, sy: Int, sw: Int, sh: Int, options: ImageBitmapOptions = definedExternally): Promise + fun fetch(input: Dynamic?, init: RequestInit = definedExternally): Promise +} + +/** + * Exposes the JavaScript [Navigator](https://developer.mozilla.org/en/docs/Web/API/Navigator) to Kotlin + */ +public external abstract class Navigator : NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware { + open val clipboard: Clipboard + open val mediaDevices: MediaDevices + open val maxTouchPoints: Int + open val serviceWorker: ServiceWorkerContainer + fun requestMediaKeySystemAccess(keySystem: String, supportedConfigurations: Array): Promise + fun getUserMedia(constraints: MediaStreamConstraints, successCallback: (MediaStream) -> Unit, errorCallback: (Dynamic?) -> Unit) + fun vibrate(pattern: Dynamic?): Boolean +} + +/** + * Exposes the JavaScript [NavigatorID](https://developer.mozilla.org/en/docs/Web/API/NavigatorID) to Kotlin + */ +public external interface NavigatorID { + val appCodeName: String + val appName: String + val appVersion: String + val platform: String + val product: String + val productSub: String + val userAgent: String + val vendor: String + val vendorSub: String + val oscpu: String + fun taintEnabled(): Boolean +} + +/** + * Exposes the JavaScript [NavigatorLanguage](https://developer.mozilla.org/en/docs/Web/API/NavigatorLanguage) to Kotlin + */ +public external interface NavigatorLanguage { + val language: String + val languages: Array +} + +public external interface NavigatorContentUtils { + fun registerProtocolHandler(scheme: String, url: String, title: String) + fun registerContentHandler(mimeType: String, url: String, title: String) + fun isProtocolHandlerRegistered(scheme: String, url: String): String + fun isContentHandlerRegistered(mimeType: String, url: String): String + fun unregisterProtocolHandler(scheme: String, url: String) + fun unregisterContentHandler(mimeType: String, url: String) +} + +public external interface NavigatorCookies { + val cookieEnabled: Boolean +} + +/** + * Exposes the JavaScript [NavigatorPlugins](https://developer.mozilla.org/en/docs/Web/API/NavigatorPlugins) to Kotlin + */ +public external interface NavigatorPlugins { + val plugins: PluginArray + val mimeTypes: MimeTypeArray + fun javaEnabled(): Boolean +} + +/** + * Exposes the JavaScript [PluginArray](https://developer.mozilla.org/en/docs/Web/API/PluginArray) to Kotlin + */ +public external abstract class PluginArray : ItemArrayLike { + fun refresh(reload: Boolean = definedExternally) + override fun item(index: Int): Plugin? + fun namedItem(name: String): Plugin? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun PluginArray.get(index: Int): Plugin? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun PluginArray.get(name: String): Plugin? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [MimeTypeArray](https://developer.mozilla.org/en/docs/Web/API/MimeTypeArray) to Kotlin + */ +public external abstract class MimeTypeArray : ItemArrayLike { + override fun item(index: Int): MimeType? + fun namedItem(name: String): MimeType? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun MimeTypeArray.get(index: Int): MimeType? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun MimeTypeArray.get(name: String): MimeType? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [Plugin](https://developer.mozilla.org/en/docs/Web/API/Plugin) to Kotlin + */ +public external abstract class Plugin : ItemArrayLike { + open val name: String + open val description: String + open val filename: String + override fun item(index: Int): MimeType? + fun namedItem(name: String): MimeType? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Plugin.get(index: Int): MimeType? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Plugin.get(name: String): MimeType? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [MimeType](https://developer.mozilla.org/en/docs/Web/API/MimeType) to Kotlin + */ +public external abstract class MimeType { + open val type: String + open val description: String + open val suffixes: String + open val enabledPlugin: Plugin +} + +/** + * Exposes the JavaScript [ImageBitmap](https://developer.mozilla.org/en/docs/Web/API/ImageBitmap) to Kotlin + */ +public external abstract class ImageBitmap : CanvasImageSource, TexImageSource { + open val width: Int + open val height: Int + fun close() +} + +public external interface ImageBitmapOptions { + var imageOrientation: ImageOrientation? /* = ImageOrientation.NONE */ + get() = definedExternally + set(value) = definedExternally + var premultiplyAlpha: PremultiplyAlpha? /* = PremultiplyAlpha.DEFAULT */ + get() = definedExternally + set(value) = definedExternally + var colorSpaceConversion: ColorSpaceConversion? /* = ColorSpaceConversion.DEFAULT */ + get() = definedExternally + set(value) = definedExternally + var resizeWidth: Int? + get() = definedExternally + set(value) = definedExternally + var resizeHeight: Int? + get() = definedExternally + set(value) = definedExternally + var resizeQuality: ResizeQuality? /* = ResizeQuality.LOW */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ImageBitmapOptions(imageOrientation: ImageOrientation? = ImageOrientation.NONE, premultiplyAlpha: PremultiplyAlpha? = PremultiplyAlpha.DEFAULT, colorSpaceConversion: ColorSpaceConversion? = ColorSpaceConversion.DEFAULT, resizeWidth: Int? = undefined, resizeHeight: Int? = undefined, resizeQuality: ResizeQuality? = ResizeQuality.LOW): ImageBitmapOptions { + val o = js("({})") + o["imageOrientation"] = imageOrientation + o["premultiplyAlpha"] = premultiplyAlpha + o["colorSpaceConversion"] = colorSpaceConversion + o["resizeWidth"] = resizeWidth + o["resizeHeight"] = resizeHeight + o["resizeQuality"] = resizeQuality + return o as ImageBitmapOptions +} + +/** + * Exposes the JavaScript [MessageEvent](https://developer.mozilla.org/en/docs/Web/API/MessageEvent) to Kotlin + */ +public external open class MessageEvent(type: String, eventInitDict: MessageEventInit = definedExternally) : Event { + open val data: Any? + open val origin: String + open val lastEventId: String + open val source: UnionMessagePortOrWindowProxy? + open val ports: Array + fun initMessageEvent(type: String, bubbles: Boolean, cancelable: Boolean, data: Any?, origin: String, lastEventId: String, source: UnionMessagePortOrWindowProxy?, ports: Array) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MessageEventInit : EventInit { + var data: Any? /* = null */ + get() = definedExternally + set(value) = definedExternally + var origin: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var lastEventId: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var source: UnionMessagePortOrWindowProxy? /* = null */ + get() = definedExternally + set(value) = definedExternally + var ports: Array? /* = arrayOf() */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MessageEventInit(data: Any? = null, origin: String? = "", lastEventId: String? = "", source: UnionMessagePortOrWindowProxy? = null, ports: Array? = arrayOf(), bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MessageEventInit { + val o = js("({})") + o["data"] = data + o["origin"] = origin + o["lastEventId"] = lastEventId + o["source"] = source + o["ports"] = ports + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MessageEventInit +} + +/** + * Exposes the JavaScript [EventSource](https://developer.mozilla.org/en/docs/Web/API/EventSource) to Kotlin + */ +public external open class EventSource(url: String, eventSourceInitDict: EventSourceInit = definedExternally) : EventTarget { + open val url: String + open val withCredentials: Boolean + open val readyState: Short + var onopen: ((Event) -> Dynamic?)? + var onmessage: ((MessageEvent) -> Dynamic?)? + var onerror: ((Event) -> Dynamic?)? + fun close() + + companion object { + val CONNECTING: Short + val OPEN: Short + val CLOSED: Short + } +} + +public external interface EventSourceInit { + var withCredentials: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun EventSourceInit(withCredentials: Boolean? = false): EventSourceInit { + val o = js("({})") + o["withCredentials"] = withCredentials + return o as EventSourceInit +} + +/** + * Exposes the JavaScript [WebSocket](https://developer.mozilla.org/en/docs/Web/API/WebSocket) to Kotlin + */ +public external open class WebSocket(url: String, protocols: Dynamic? = definedExternally) : EventTarget { + open val url: String + open val readyState: Short + open val bufferedAmount: Number + var onopen: ((Event) -> Dynamic?)? + var onerror: ((Event) -> Dynamic?)? + var onclose: ((Event) -> Dynamic?)? + open val extensions: String + open val protocol: String + var onmessage: ((MessageEvent) -> Dynamic?)? + var binaryType: BinaryType + fun close(code: Short = definedExternally, reason: String = definedExternally) + fun send(data: String) + fun send(data: Blob) + fun send(data: ArrayBuffer) + fun send(data: ArrayBufferView) + + companion object { + val CONNECTING: Short + val OPEN: Short + val CLOSING: Short + val CLOSED: Short + } +} + +/** + * Exposes the JavaScript [CloseEvent](https://developer.mozilla.org/en/docs/Web/API/CloseEvent) to Kotlin + */ +public external open class CloseEvent(type: String, eventInitDict: CloseEventInit = definedExternally) : Event { + open val wasClean: Boolean + open val code: Short + open val reason: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface CloseEventInit : EventInit { + var wasClean: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var code: Short? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var reason: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CloseEventInit(wasClean: Boolean? = false, code: Short? = 0, reason: String? = "", bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): CloseEventInit { + val o = js("({})") + o["wasClean"] = wasClean + o["code"] = code + o["reason"] = reason + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as CloseEventInit +} + +/** + * Exposes the JavaScript [MessageChannel](https://developer.mozilla.org/en/docs/Web/API/MessageChannel) to Kotlin + */ +public external open class MessageChannel { + open val port1: MessagePort + open val port2: MessagePort +} + +/** + * Exposes the JavaScript [MessagePort](https://developer.mozilla.org/en/docs/Web/API/MessagePort) to Kotlin + */ +public external abstract class MessagePort : EventTarget, UnionMessagePortOrWindowProxy, UnionMessagePortOrServiceWorker, UnionClientOrMessagePortOrServiceWorker { + open var onmessage: ((MessageEvent) -> Dynamic?)? + fun postMessage(message: Any?, transfer: Array = definedExternally) + fun start() + fun close() +} + +/** + * Exposes the JavaScript [BroadcastChannel](https://developer.mozilla.org/en/docs/Web/API/BroadcastChannel) to Kotlin + */ +public external open class BroadcastChannel(name: String) : EventTarget { + open val name: String + var onmessage: ((MessageEvent) -> Dynamic?)? + fun postMessage(message: Any?) + fun close() +} + +/** + * Exposes the JavaScript [WorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/WorkerGlobalScope) to Kotlin + */ +public external abstract class WorkerGlobalScope : EventTarget, WindowOrWorkerGlobalScope, GlobalPerformance { + open val self: WorkerGlobalScope + open val location: WorkerLocation + open val navigator: WorkerNavigator + open var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + open var onlanguagechange: ((Event) -> Dynamic?)? + open var onoffline: ((Event) -> Dynamic?)? + open var ononline: ((Event) -> Dynamic?)? + open var onrejectionhandled: ((Event) -> Dynamic?)? + open var onunhandledrejection: ((PromiseRejectionEvent) -> Dynamic?)? + fun importScripts(vararg urls: String) +} + +/** + * Exposes the JavaScript [DedicatedWorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/DedicatedWorkerGlobalScope) to Kotlin + */ +public external abstract class DedicatedWorkerGlobalScope : WorkerGlobalScope { + open var onmessage: ((MessageEvent) -> Dynamic?)? + fun postMessage(message: Any?, transfer: Array = definedExternally) + fun close() +} + +/** + * Exposes the JavaScript [SharedWorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/SharedWorkerGlobalScope) to Kotlin + */ +public external abstract class SharedWorkerGlobalScope : WorkerGlobalScope { + open val name: String + open val applicationCache: ApplicationCache + open var onconnect: ((Event) -> Dynamic?)? + fun close() +} + +/** + * Exposes the JavaScript [AbstractWorker](https://developer.mozilla.org/en/docs/Web/API/AbstractWorker) to Kotlin + */ +public external interface AbstractWorker { + var onerror: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally +} + +/** + * Exposes the JavaScript [Worker](https://developer.mozilla.org/en/docs/Web/API/Worker) to Kotlin + */ +public external open class Worker(scriptURL: String, options: WorkerOptions = definedExternally) : EventTarget, AbstractWorker { + var onmessage: ((MessageEvent) -> Dynamic?)? + override var onerror: ((Event) -> Dynamic?)? + fun terminate() + fun postMessage(message: Any?, transfer: Array = definedExternally) +} + +public external interface WorkerOptions { + var type: WorkerType? /* = WorkerType.CLASSIC */ + get() = definedExternally + set(value) = definedExternally + var credentials: RequestCredentials? /* = RequestCredentials.OMIT */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun WorkerOptions(type: WorkerType? = WorkerType.CLASSIC, credentials: RequestCredentials? = RequestCredentials.OMIT): WorkerOptions { + val o = js("({})") + o["type"] = type + o["credentials"] = credentials + return o as WorkerOptions +} + +/** + * Exposes the JavaScript [SharedWorker](https://developer.mozilla.org/en/docs/Web/API/SharedWorker) to Kotlin + */ +public external open class SharedWorker(scriptURL: String, name: String = definedExternally, options: WorkerOptions = definedExternally) : EventTarget, AbstractWorker { + open val port: MessagePort + override var onerror: ((Event) -> Dynamic?)? +} + +/** + * Exposes the JavaScript [NavigatorConcurrentHardware](https://developer.mozilla.org/en/docs/Web/API/NavigatorConcurrentHardware) to Kotlin + */ +public external interface NavigatorConcurrentHardware { + val hardwareConcurrency: Number +} + +/** + * Exposes the JavaScript [WorkerNavigator](https://developer.mozilla.org/en/docs/Web/API/WorkerNavigator) to Kotlin + */ +public external abstract class WorkerNavigator : NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorConcurrentHardware { + open val serviceWorker: ServiceWorkerContainer +} + +/** + * Exposes the JavaScript [WorkerLocation](https://developer.mozilla.org/en/docs/Web/API/WorkerLocation) to Kotlin + */ +public external abstract class WorkerLocation { + open val href: String + open val origin: String + open val protocol: String + open val host: String + open val hostname: String + open val port: String + open val pathname: String + open val search: String + open val hash: String +} + +/** + * Exposes the JavaScript [Storage](https://developer.mozilla.org/en/docs/Web/API/Storage) to Kotlin + */ +public external abstract class Storage { + open val length: Int + fun key(index: Int): String? + fun removeItem(key: String) + fun clear() + fun getItem(key: String): String? + fun setItem(key: String, value: String) +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Storage.get(key: String): String? = asDynamic().getString(key) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Storage.set(key: String, value: String) { asDynamic()[key] = value } + +/** + * Exposes the JavaScript [WindowSessionStorage](https://developer.mozilla.org/en/docs/Web/API/WindowSessionStorage) to Kotlin + */ +public external interface WindowSessionStorage { + val sessionStorage: Storage +} + +/** + * Exposes the JavaScript [WindowLocalStorage](https://developer.mozilla.org/en/docs/Web/API/WindowLocalStorage) to Kotlin + */ +public external interface WindowLocalStorage { + val localStorage: Storage +} + +/** + * Exposes the JavaScript [StorageEvent](https://developer.mozilla.org/en/docs/Web/API/StorageEvent) to Kotlin + */ +public external open class StorageEvent(type: String, eventInitDict: StorageEventInit = definedExternally) : Event { + open val key: String? + open val oldValue: String? + open val newValue: String? + open val url: String + open val storageArea: Storage? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface StorageEventInit : EventInit { + var key: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var oldValue: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var newValue: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var url: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var storageArea: Storage? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun StorageEventInit(key: String? = null, oldValue: String? = null, newValue: String? = null, url: String? = "", storageArea: Storage? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): StorageEventInit { + val o = js("({})") + o["key"] = key + o["oldValue"] = oldValue + o["newValue"] = newValue + o["url"] = url + o["storageArea"] = storageArea + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as StorageEventInit +} + +public external abstract class HTMLAppletElement : HTMLElement { + open var align: String + open var alt: String + open var archive: String + open var code: String + open var codeBase: String + open var height: String + open var hspace: Int + open var name: String + open var _object: String + open var vspace: Int + open var width: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLMarqueeElement](https://developer.mozilla.org/en/docs/Web/API/HTMLMarqueeElement) to Kotlin + */ +public external abstract class HTMLMarqueeElement : HTMLElement { + open var behavior: String + open var bgColor: String + open var direction: String + open var height: String + open var hspace: Int + open var loop: Int + open var scrollAmount: Int + open var scrollDelay: Int + open var trueSpeed: Boolean + open var vspace: Int + open var width: String + open var onbounce: ((Event) -> Dynamic?)? + open var onfinish: ((Event) -> Dynamic?)? + open var onstart: ((Event) -> Dynamic?)? + fun start() + fun stop() + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLFrameSetElement](https://developer.mozilla.org/en/docs/Web/API/HTMLFrameSetElement) to Kotlin + */ +public external abstract class HTMLFrameSetElement : HTMLElement, WindowEventHandlers { + open var cols: String + open var rows: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class HTMLFrameElement : HTMLElement { + open var name: String + open var scrolling: String + open var src: String + open var frameBorder: String + open var longDesc: String + open var noResize: Boolean + open val contentDocument: Document? + open val contentWindow: Window? + open var marginHeight: String + open var marginWidth: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class HTMLDirectoryElement : HTMLElement { + open var compact: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [HTMLFontElement](https://developer.mozilla.org/en/docs/Web/API/HTMLFontElement) to Kotlin + */ +public external abstract class HTMLFontElement : HTMLElement { + open var color: String + open var face: String + open var size: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface External { + fun AddSearchProvider() + fun IsSearchProviderInstalled() +} + +public external interface EventInit { + var bubbles: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var cancelable: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var composed: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun EventInit(bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): EventInit { + val o = js("({})") + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as EventInit +} + +/** + * Exposes the JavaScript [CustomEvent](https://developer.mozilla.org/en/docs/Web/API/CustomEvent) to Kotlin + */ +public external open class CustomEvent(type: String, eventInitDict: CustomEventInit = definedExternally) : Event { + open val detail: Any? + fun initCustomEvent(type: String, bubbles: Boolean, cancelable: Boolean, detail: Any?) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface CustomEventInit : EventInit { + var detail: Any? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CustomEventInit(detail: Any? = null, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): CustomEventInit { + val o = js("({})") + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as CustomEventInit +} + +public external interface EventListenerOptions { + var capture: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun EventListenerOptions(capture: Boolean? = false): EventListenerOptions { + val o = js("({})") + o["capture"] = capture + return o as EventListenerOptions +} + +public external interface AddEventListenerOptions : EventListenerOptions { + var passive: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var once: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun AddEventListenerOptions(passive: Boolean? = false, once: Boolean? = false, capture: Boolean? = false): AddEventListenerOptions { + val o = js("({})") + o["passive"] = passive + o["once"] = once + o["capture"] = capture + return o as AddEventListenerOptions +} + +public external interface NonElementParentNode { + fun getElementById(elementId: String): Element? +} + +/** + * Exposes the JavaScript [DocumentOrShadowRoot](https://developer.mozilla.org/en/docs/Web/API/DocumentOrShadowRoot) to Kotlin + */ +public external interface DocumentOrShadowRoot { + val fullscreenElement: Element? + get() = definedExternally +} + +/** + * Exposes the JavaScript [ParentNode](https://developer.mozilla.org/en/docs/Web/API/ParentNode) to Kotlin + */ +public external interface ParentNode { + val children: HTMLCollection + val firstElementChild: Element? + get() = definedExternally + val lastElementChild: Element? + get() = definedExternally + val childElementCount: Int + fun prepend(vararg nodes: Dynamic?) + fun append(vararg nodes: Dynamic?) + fun querySelector(selectors: String): Element? + fun querySelectorAll(selectors: String): NodeList +} + +/** + * Exposes the JavaScript [NonDocumentTypeChildNode](https://developer.mozilla.org/en/docs/Web/API/NonDocumentTypeChildNode) to Kotlin + */ +public external interface NonDocumentTypeChildNode { + val previousElementSibling: Element? + get() = definedExternally + val nextElementSibling: Element? + get() = definedExternally +} + +/** + * Exposes the JavaScript [ChildNode](https://developer.mozilla.org/en/docs/Web/API/ChildNode) to Kotlin + */ +public external interface ChildNode { + fun before(vararg nodes: Dynamic?) + fun after(vararg nodes: Dynamic?) + fun replaceWith(vararg nodes: Dynamic?) + fun remove() +} + +/** + * Exposes the JavaScript [Slotable](https://developer.mozilla.org/en/docs/Web/API/Slotable) to Kotlin + */ +public external interface Slotable { + val assignedSlot: HTMLSlotElement? + get() = definedExternally +} + +/** + * Exposes the JavaScript [NodeList](https://developer.mozilla.org/en/docs/Web/API/NodeList) to Kotlin + */ +public external abstract class NodeList : ItemArrayLike { + override fun item(index: Int): Node? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun NodeList.get(index: Int): Node? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [HTMLCollection](https://developer.mozilla.org/en/docs/Web/API/HTMLCollection) to Kotlin + */ +public external abstract class HTMLCollection : ItemArrayLike, UnionElementOrHTMLCollection { + override fun item(index: Int): Element? + fun namedItem(name: String): Element? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLCollection.get(index: Int): Element? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun HTMLCollection.get(name: String): Element? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [MutationObserver](https://developer.mozilla.org/en/docs/Web/API/MutationObserver) to Kotlin + */ +public external open class MutationObserver(callback: (Array, MutationObserver) -> Unit) { + fun observe(target: Node, options: MutationObserverInit = definedExternally) + fun disconnect() + fun takeRecords(): Array +} + +/** + * Exposes the JavaScript [MutationObserverInit](https://developer.mozilla.org/en/docs/Web/API/MutationObserverInit) to Kotlin + */ +public external interface MutationObserverInit { + var childList: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var attributes: Boolean? + get() = definedExternally + set(value) = definedExternally + var characterData: Boolean? + get() = definedExternally + set(value) = definedExternally + var subtree: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var attributeOldValue: Boolean? + get() = definedExternally + set(value) = definedExternally + var characterDataOldValue: Boolean? + get() = definedExternally + set(value) = definedExternally + var attributeFilter: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MutationObserverInit(childList: Boolean? = false, attributes: Boolean? = undefined, characterData: Boolean? = undefined, subtree: Boolean? = false, attributeOldValue: Boolean? = undefined, characterDataOldValue: Boolean? = undefined, attributeFilter: Array? = undefined): MutationObserverInit { + val o = js("({})") + o["childList"] = childList + o["attributes"] = attributes + o["characterData"] = characterData + o["subtree"] = subtree + o["attributeOldValue"] = attributeOldValue + o["characterDataOldValue"] = characterDataOldValue + o["attributeFilter"] = attributeFilter + return o as MutationObserverInit +} + +/** + * Exposes the JavaScript [MutationRecord](https://developer.mozilla.org/en/docs/Web/API/MutationRecord) to Kotlin + */ +public external abstract class MutationRecord { + open val type: String + open val target: Node + open val addedNodes: NodeList + open val removedNodes: NodeList + open val previousSibling: Node? + open val nextSibling: Node? + open val attributeName: String? + open val attributeNamespace: String? + open val oldValue: String? +} + +/** + * Exposes the JavaScript [Node](https://developer.mozilla.org/en/docs/Web/API/Node) to Kotlin + */ +public external abstract class Node : EventTarget { + open val nodeType: Short + open val nodeName: String + open val baseURI: String + open val isConnected: Boolean + open val ownerDocument: Document? + open val parentNode: Node? + open val parentElement: Element? + open val childNodes: NodeList + open val firstChild: Node? + open val lastChild: Node? + open val previousSibling: Node? + open val nextSibling: Node? + open var nodeValue: String? + open var textContent: String? + fun getRootNode(options: GetRootNodeOptions = definedExternally): Node + fun hasChildNodes(): Boolean + fun normalize() + fun cloneNode(deep: Boolean = definedExternally): Node + fun isEqualNode(otherNode: Node?): Boolean + fun isSameNode(otherNode: Node?): Boolean + fun compareDocumentPosition(other: Node): Short + fun contains(other: Node?): Boolean + fun lookupPrefix(namespace: String?): String? + fun lookupNamespaceURI(prefix: String?): String? + fun isDefaultNamespace(namespace: String?): Boolean + fun insertBefore(node: Node, child: Node?): Node + fun appendChild(node: Node): Node + fun replaceChild(node: Node, child: Node): Node + fun removeChild(child: Node): Node + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface GetRootNodeOptions { + var composed: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun GetRootNodeOptions(composed: Boolean? = false): GetRootNodeOptions { + val o = js("({})") + o["composed"] = composed + return o as GetRootNodeOptions +} + +/** + * Exposes the JavaScript [Document](https://developer.mozilla.org/en/docs/Web/API/Document) to Kotlin + */ +public external open class Document : Node, GlobalEventHandlers, DocumentAndElementEventHandlers, NonElementParentNode, DocumentOrShadowRoot, ParentNode, GeometryUtils { + open val implementation: DOMImplementation + open val URL: String + open val documentURI: String + open val origin: String + open val compatMode: String + open val characterSet: String + open val charset: String + open val inputEncoding: String + open val contentType: String + open val doctype: DocumentType? + open val documentElement: Element? + open val location: Location? + var domain: String + open val referrer: String + var cookie: String + open val lastModified: String + open val readyState: DocumentReadyState + var title: String + var dir: String + var body: HTMLElement? + open val head: HTMLHeadElement? + open val images: HTMLCollection + open val embeds: HTMLCollection + open val plugins: HTMLCollection + open val links: HTMLCollection + open val forms: HTMLCollection + open val scripts: HTMLCollection + open val currentScript: HTMLOrSVGScriptElement? + open val defaultView: Window? + open val activeElement: Element? + var designMode: String + var onreadystatechange: ((Event) -> Dynamic?)? + var fgColor: String + var linkColor: String + var vlinkColor: String + var alinkColor: String + var bgColor: String + open val anchors: HTMLCollection + open val applets: HTMLCollection + open val all: HTMLAllCollection + open val scrollingElement: Element? + open val styleSheets: StyleSheetList + open val rootElement: SVGSVGElement? + open val fullscreenEnabled: Boolean + open val fullscreen: Boolean + var onfullscreenchange: ((Event) -> Dynamic?)? + var onfullscreenerror: ((Event) -> Dynamic?)? + override var onabort: ((Event) -> Dynamic?)? + override var onblur: ((FocusEvent) -> Dynamic?)? + override var oncancel: ((Event) -> Dynamic?)? + override var oncanplay: ((Event) -> Dynamic?)? + override var oncanplaythrough: ((Event) -> Dynamic?)? + override var onchange: ((Event) -> Dynamic?)? + override var onclick: ((MouseEvent) -> Dynamic?)? + override var onclose: ((Event) -> Dynamic?)? + override var oncontextmenu: ((MouseEvent) -> Dynamic?)? + override var oncuechange: ((Event) -> Dynamic?)? + override var ondblclick: ((MouseEvent) -> Dynamic?)? + override var ondrag: ((DragEvent) -> Dynamic?)? + override var ondragend: ((DragEvent) -> Dynamic?)? + override var ondragenter: ((DragEvent) -> Dynamic?)? + override var ondragexit: ((DragEvent) -> Dynamic?)? + override var ondragleave: ((DragEvent) -> Dynamic?)? + override var ondragover: ((DragEvent) -> Dynamic?)? + override var ondragstart: ((DragEvent) -> Dynamic?)? + override var ondrop: ((DragEvent) -> Dynamic?)? + override var ondurationchange: ((Event) -> Dynamic?)? + override var onemptied: ((Event) -> Dynamic?)? + override var onended: ((Event) -> Dynamic?)? + override var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + override var onfocus: ((FocusEvent) -> Dynamic?)? + override var oninput: ((InputEvent) -> Dynamic?)? + override var oninvalid: ((Event) -> Dynamic?)? + override var onkeydown: ((KeyboardEvent) -> Dynamic?)? + override var onkeypress: ((KeyboardEvent) -> Dynamic?)? + override var onkeyup: ((KeyboardEvent) -> Dynamic?)? + override var onload: ((Event) -> Dynamic?)? + override var onloadeddata: ((Event) -> Dynamic?)? + override var onloadedmetadata: ((Event) -> Dynamic?)? + override var onloadend: ((Event) -> Dynamic?)? + override var onloadstart: ((ProgressEvent) -> Dynamic?)? + override var onmousedown: ((MouseEvent) -> Dynamic?)? + override var onmouseenter: ((MouseEvent) -> Dynamic?)? + override var onmouseleave: ((MouseEvent) -> Dynamic?)? + override var onmousemove: ((MouseEvent) -> Dynamic?)? + override var onmouseout: ((MouseEvent) -> Dynamic?)? + override var onmouseover: ((MouseEvent) -> Dynamic?)? + override var onmouseup: ((MouseEvent) -> Dynamic?)? + override var onwheel: ((WheelEvent) -> Dynamic?)? + override var onpause: ((Event) -> Dynamic?)? + override var onplay: ((Event) -> Dynamic?)? + override var onplaying: ((Event) -> Dynamic?)? + override var onprogress: ((ProgressEvent) -> Dynamic?)? + override var onratechange: ((Event) -> Dynamic?)? + override var onreset: ((Event) -> Dynamic?)? + override var onresize: ((Event) -> Dynamic?)? + override var onscroll: ((Event) -> Dynamic?)? + override var onseeked: ((Event) -> Dynamic?)? + override var onseeking: ((Event) -> Dynamic?)? + override var onselect: ((Event) -> Dynamic?)? + override var onshow: ((Event) -> Dynamic?)? + override var onstalled: ((Event) -> Dynamic?)? + override var onsubmit: ((Event) -> Dynamic?)? + override var onsuspend: ((Event) -> Dynamic?)? + override var ontimeupdate: ((Event) -> Dynamic?)? + override var ontoggle: ((Event) -> Dynamic?)? + override var onvolumechange: ((Event) -> Dynamic?)? + override var onwaiting: ((Event) -> Dynamic?)? + override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + override var onpointerdown: ((PointerEvent) -> Dynamic?)? + override var onpointermove: ((PointerEvent) -> Dynamic?)? + override var onpointerup: ((PointerEvent) -> Dynamic?)? + override var onpointercancel: ((PointerEvent) -> Dynamic?)? + override var onpointerover: ((PointerEvent) -> Dynamic?)? + override var onpointerout: ((PointerEvent) -> Dynamic?)? + override var onpointerenter: ((PointerEvent) -> Dynamic?)? + override var onpointerleave: ((PointerEvent) -> Dynamic?)? + override var oncopy: ((ClipboardEvent) -> Dynamic?)? + override var oncut: ((ClipboardEvent) -> Dynamic?)? + override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override val fullscreenElement: Element? + override val children: HTMLCollection + override val firstElementChild: Element? + override val lastElementChild: Element? + override val childElementCount: Int + fun getElementsByTagName(qualifiedName: String): HTMLCollection + fun getElementsByTagNameNS(namespace: String?, localName: String): HTMLCollection + fun getElementsByClassName(classNames: String): HTMLCollection + fun createElement(localName: String, options: ElementCreationOptions = definedExternally): Element + fun createElementNS(namespace: String?, qualifiedName: String, options: ElementCreationOptions = definedExternally): Element + fun createDocumentFragment(): DocumentFragment + fun createTextNode(data: String): Text + fun createCDATASection(data: String): CDATASection + fun createComment(data: String): Comment + fun createProcessingInstruction(target: String, data: String): ProcessingInstruction + fun importNode(node: Node, deep: Boolean = definedExternally): Node + fun adoptNode(node: Node): Node + fun createAttribute(localName: String): Attr + fun createAttributeNS(namespace: String?, qualifiedName: String): Attr + fun createEvent(param_interface: String): Event + fun createRange(): Range + fun createNodeIterator(root: Node, whatToShow: Int = definedExternally, filter: NodeFilter? = definedExternally): NodeIterator + fun createNodeIterator(root: Node, whatToShow: Int = definedExternally, filter: ((Node) -> Short)? = definedExternally): NodeIterator + fun createTreeWalker(root: Node, whatToShow: Int = definedExternally, filter: NodeFilter? = definedExternally): TreeWalker + fun createTreeWalker(root: Node, whatToShow: Int = definedExternally, filter: ((Node) -> Short)? = definedExternally): TreeWalker + fun getElementsByName(elementName: String): NodeList + fun open(type: String = definedExternally, replace: String = definedExternally): Document + fun open(url: String, name: String, features: String): Window + fun close() + fun write(vararg text: String) + fun writeln(vararg text: String) + fun hasFocus(): Boolean + fun execCommand(commandId: String, showUI: Boolean = definedExternally, value: String = definedExternally): Boolean + fun queryCommandEnabled(commandId: String): Boolean + fun queryCommandIndeterm(commandId: String): Boolean + fun queryCommandState(commandId: String): Boolean + fun queryCommandSupported(commandId: String): Boolean + fun queryCommandValue(commandId: String): String + fun clear() + fun captureEvents() + fun releaseEvents() + fun elementFromPoint(x: Double, y: Double): Element? + fun elementsFromPoint(x: Double, y: Double): Array + fun caretPositionFromPoint(x: Double, y: Double): CaretPosition? + fun createTouch(view: Window, target: EventTarget, identifier: Int, pageX: Int, pageY: Int, screenX: Int, screenY: Int): Touch + fun createTouchList(vararg touches: Touch): TouchList + fun exitFullscreen(): Promise + override fun getElementById(elementId: String): Element? + override fun prepend(vararg nodes: Dynamic?) + override fun append(vararg nodes: Dynamic?) + override fun querySelector(selectors: String): Element? + override fun querySelectorAll(selectors: String): NodeList + override fun getBoxQuads(options: BoxQuadOptions /* = definedExternally */): Array + override fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMPoint + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun Document.get(name: String): Dynamic? = asDynamic().getAny(name) + +/** + * Exposes the JavaScript [XMLDocument](https://developer.mozilla.org/en/docs/Web/API/XMLDocument) to Kotlin + */ +public external open class XMLDocument : Document { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface ElementCreationOptions { + var `is`: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ElementCreationOptions(param_is: String? = undefined): ElementCreationOptions { + val o = js("({})") + o["is"] = param_is + return o as ElementCreationOptions +} + +/** + * Exposes the JavaScript [DOMImplementation](https://developer.mozilla.org/en/docs/Web/API/DOMImplementation) to Kotlin + */ +public external abstract class DOMImplementation { + fun createDocumentType(qualifiedName: String, publicId: String, systemId: String): DocumentType + fun createDocument(namespace: String?, qualifiedName: String, doctype: DocumentType? = definedExternally): XMLDocument + fun createHTMLDocument(title: String = definedExternally): Document + fun hasFeature(): Boolean +} + +/** + * Exposes the JavaScript [DocumentType](https://developer.mozilla.org/en/docs/Web/API/DocumentType) to Kotlin + */ +public external abstract class DocumentType : Node, ChildNode { + open val name: String + open val publicId: String + open val systemId: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [DocumentFragment](https://developer.mozilla.org/en/docs/Web/API/DocumentFragment) to Kotlin + */ +public external open class DocumentFragment : Node, NonElementParentNode, ParentNode { + override val children: HTMLCollection + override val firstElementChild: Element? + override val lastElementChild: Element? + override val childElementCount: Int + override fun getElementById(elementId: String): Element? + override fun prepend(vararg nodes: Dynamic?) + override fun append(vararg nodes: Dynamic?) + override fun querySelector(selectors: String): Element? + override fun querySelectorAll(selectors: String): NodeList + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [ShadowRoot](https://developer.mozilla.org/en/docs/Web/API/ShadowRoot) to Kotlin + */ +public external open class ShadowRoot : DocumentFragment, DocumentOrShadowRoot { + open val mode: ShadowRootMode + open val host: Element + override val fullscreenElement: Element? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [Element](https://developer.mozilla.org/en/docs/Web/API/Element) to Kotlin + */ +public external abstract class Element : Node, ParentNode, NonDocumentTypeChildNode, ChildNode, Slotable, GeometryUtils, UnionElementOrHTMLCollection, UnionElementOrRadioNodeList, UnionElementOrMouseEvent, UnionElementOrProcessingInstruction { + open val namespaceURI: String? + open val prefix: String? + open val localName: String + open val tagName: String + open var id: String + open var className: String + open val classList: DOMTokenList + open var slot: String + open val attributes: NamedNodeMap + open val shadowRoot: ShadowRoot? + open var scrollTop: Double + open var scrollLeft: Double + open val scrollWidth: Int + open val scrollHeight: Int + open val clientTop: Int + open val clientLeft: Int + open val clientWidth: Int + open val clientHeight: Int + open var innerHTML: String + open var outerHTML: String + fun hasAttributes(): Boolean + fun getAttributeNames(): Array + fun getAttribute(qualifiedName: String): String? + fun getAttributeNS(namespace: String?, localName: String): String? + fun setAttribute(qualifiedName: String, value: String) + fun setAttributeNS(namespace: String?, qualifiedName: String, value: String) + fun removeAttribute(qualifiedName: String) + fun removeAttributeNS(namespace: String?, localName: String) + fun hasAttribute(qualifiedName: String): Boolean + fun hasAttributeNS(namespace: String?, localName: String): Boolean + fun getAttributeNode(qualifiedName: String): Attr? + fun getAttributeNodeNS(namespace: String?, localName: String): Attr? + fun setAttributeNode(attr: Attr): Attr? + fun setAttributeNodeNS(attr: Attr): Attr? + fun removeAttributeNode(attr: Attr): Attr + fun attachShadow(init: ShadowRootInit): ShadowRoot + fun closest(selectors: String): Element? + fun matches(selectors: String): Boolean + fun webkitMatchesSelector(selectors: String): Boolean + fun getElementsByTagName(qualifiedName: String): HTMLCollection + fun getElementsByTagNameNS(namespace: String?, localName: String): HTMLCollection + fun getElementsByClassName(classNames: String): HTMLCollection + fun insertAdjacentElement(where: String, element: Element): Element? + fun insertAdjacentText(where: String, data: String) + fun getClientRects(): Array + fun getBoundingClientRect(): DOMRect + fun scrollIntoView() + fun scrollIntoView(arg: Dynamic?) + fun scroll(options: ScrollToOptions = definedExternally) + fun scroll(x: Double, y: Double) + fun scrollTo(options: ScrollToOptions = definedExternally) + fun scrollTo(x: Double, y: Double) + fun scrollBy(options: ScrollToOptions = definedExternally) + fun scrollBy(x: Double, y: Double) + fun insertAdjacentHTML(position: String, text: String) + fun setPointerCapture(pointerId: Int) + fun releasePointerCapture(pointerId: Int) + fun hasPointerCapture(pointerId: Int): Boolean + fun requestFullscreen(): Promise + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface ShadowRootInit { + var mode: ShadowRootMode? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ShadowRootInit(mode: ShadowRootMode?): ShadowRootInit { + val o = js("({})") + o["mode"] = mode + return o as ShadowRootInit +} + +/** + * Exposes the JavaScript [NamedNodeMap](https://developer.mozilla.org/en/docs/Web/API/NamedNodeMap) to Kotlin + */ +public external abstract class NamedNodeMap : ItemArrayLike { + fun getNamedItemNS(namespace: String?, localName: String): Attr? + fun setNamedItem(attr: Attr): Attr? + fun setNamedItemNS(attr: Attr): Attr? + fun removeNamedItem(qualifiedName: String): Attr + fun removeNamedItemNS(namespace: String?, localName: String): Attr + override fun item(index: Int): Attr? + fun getNamedItem(qualifiedName: String): Attr? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun NamedNodeMap.get(index: Int): Attr? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun NamedNodeMap.get(qualifiedName: String): Attr? = asDynamic().getAny(qualifiedName) + +/** + * Exposes the JavaScript [Attr](https://developer.mozilla.org/en/docs/Web/API/Attr) to Kotlin + */ +public external abstract class Attr : Node { + open val namespaceURI: String? + open val prefix: String? + open val localName: String + open val name: String + open var value: String + open val ownerElement: Element? + open val specified: Boolean + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [CharacterData](https://developer.mozilla.org/en/docs/Web/API/CharacterData) to Kotlin + */ +public external abstract class CharacterData : Node, NonDocumentTypeChildNode, ChildNode { + open var data: String + open val length: Int + fun substringData(offset: Int, count: Int): String + fun appendData(data: String) + fun insertData(offset: Int, data: String) + fun deleteData(offset: Int, count: Int) + fun replaceData(offset: Int, count: Int, data: String) + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [Text](https://developer.mozilla.org/en/docs/Web/API/Text) to Kotlin + */ +public external open class Text(data: String = definedExternally) : CharacterData, Slotable, GeometryUtils { + open val wholeText: String + override val assignedSlot: HTMLSlotElement? + override val previousElementSibling: Element? + override val nextElementSibling: Element? + fun splitText(offset: Int): Text + override fun getBoxQuads(options: BoxQuadOptions /* = definedExternally */): Array + override fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMPoint + override fun before(vararg nodes: Dynamic?) + override fun after(vararg nodes: Dynamic?) + override fun replaceWith(vararg nodes: Dynamic?) + override fun remove() + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [CDATASection](https://developer.mozilla.org/en/docs/Web/API/CDATASection) to Kotlin + */ +public external open class CDATASection : Text { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [ProcessingInstruction](https://developer.mozilla.org/en/docs/Web/API/ProcessingInstruction) to Kotlin + */ +public external abstract class ProcessingInstruction : CharacterData, LinkStyle, UnionElementOrProcessingInstruction { + open val target: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [Comment](https://developer.mozilla.org/en/docs/Web/API/Comment) to Kotlin + */ +public external open class Comment(data: String = definedExternally) : CharacterData { + override val previousElementSibling: Element? + override val nextElementSibling: Element? + override fun before(vararg nodes: Dynamic?) + override fun after(vararg nodes: Dynamic?) + override fun replaceWith(vararg nodes: Dynamic?) + override fun remove() + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [Range](https://developer.mozilla.org/en/docs/Web/API/Range) to Kotlin + */ +public external open class Range { + open val startContainer: Node + open val startOffset: Int + open val endContainer: Node + open val endOffset: Int + open val collapsed: Boolean + open val commonAncestorContainer: Node + fun setStart(node: Node, offset: Int) + fun setEnd(node: Node, offset: Int) + fun setStartBefore(node: Node) + fun setStartAfter(node: Node) + fun setEndBefore(node: Node) + fun setEndAfter(node: Node) + fun collapse(toStart: Boolean = definedExternally) + fun selectNode(node: Node) + fun selectNodeContents(node: Node) + fun compareBoundaryPoints(how: Short, sourceRange: Range): Short + fun deleteContents() + fun extractContents(): DocumentFragment + fun cloneContents(): DocumentFragment + fun insertNode(node: Node) + fun surroundContents(newParent: Node) + fun cloneRange(): Range + fun detach() + fun isPointInRange(node: Node, offset: Int): Boolean + fun comparePoint(node: Node, offset: Int): Short + fun intersectsNode(node: Node): Boolean + fun getClientRects(): Array + fun getBoundingClientRect(): DOMRect + fun createContextualFragment(fragment: String): DocumentFragment + + companion object { + val START_TO_START: Short + val START_TO_END: Short + val END_TO_END: Short + val END_TO_START: Short + } +} + +/** + * Exposes the JavaScript [NodeIterator](https://developer.mozilla.org/en/docs/Web/API/NodeIterator) to Kotlin + */ +public external abstract class NodeIterator { + open val root: Node + open val referenceNode: Node + open val pointerBeforeReferenceNode: Boolean + open val whatToShow: Int + open val filter: NodeFilter? + fun nextNode(): Node? + fun previousNode(): Node? + fun detach() +} + +/** + * Exposes the JavaScript [TreeWalker](https://developer.mozilla.org/en/docs/Web/API/TreeWalker) to Kotlin + */ +public external abstract class TreeWalker { + open val root: Node + open val whatToShow: Int + open val filter: NodeFilter? + open var currentNode: Node + fun parentNode(): Node? + fun firstChild(): Node? + fun lastChild(): Node? + fun previousSibling(): Node? + fun nextSibling(): Node? + fun previousNode(): Node? + fun nextNode(): Node? +} + +/** + * Exposes the JavaScript [NodeFilter](https://developer.mozilla.org/en/docs/Web/API/NodeFilter) to Kotlin + */ +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface NodeFilter { + fun acceptNode(node: Node): Short + + companion object { + val FILTER_ACCEPT: Short + val FILTER_REJECT: Short + val FILTER_SKIP: Short + val SHOW_ALL: Int + val SHOW_ELEMENT: Int + val SHOW_ATTRIBUTE: Int + val SHOW_TEXT: Int + val SHOW_CDATA_SECTION: Int + val SHOW_ENTITY_REFERENCE: Int + val SHOW_ENTITY: Int + val SHOW_PROCESSING_INSTRUCTION: Int + val SHOW_COMMENT: Int + val SHOW_DOCUMENT: Int + val SHOW_DOCUMENT_TYPE: Int + val SHOW_DOCUMENT_FRAGMENT: Int + val SHOW_NOTATION: Int + } +} + +/** + * Exposes the JavaScript [DOMTokenList](https://developer.mozilla.org/en/docs/Web/API/DOMTokenList) to Kotlin + */ +public external abstract class DOMTokenList : ItemArrayLike { + open var value: String + fun contains(token: String): Boolean + fun add(vararg tokens: String) + fun remove(vararg tokens: String) + fun toggle(token: String, force: Boolean = definedExternally): Boolean + fun replace(token: String, newToken: String) + fun supports(token: String): Boolean + override fun item(index: Int): String? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun DOMTokenList.get(index: Int): String? = asDynamic().getString(index) + +/** + * Exposes the JavaScript [DOMPointReadOnly](https://developer.mozilla.org/en/docs/Web/API/DOMPointReadOnly) to Kotlin + */ +public external open class DOMPointReadOnly(x: Double, y: Double, z: Double, w: Double) { + open val x: Double + open val y: Double + open val z: Double + open val w: Double + fun matrixTransform(matrix: DOMMatrixReadOnly): DOMPoint +} + +/** + * Exposes the JavaScript [DOMPoint](https://developer.mozilla.org/en/docs/Web/API/DOMPoint) to Kotlin + */ +public external open class DOMPoint : DOMPointReadOnly { + constructor(point: DOMPointInit) + constructor(x: Double = definedExternally, y: Double = definedExternally, z: Double = definedExternally, w: Double = definedExternally) + override var x: Double + override var y: Double + override var z: Double + override var w: Double +} + +/** + * Exposes the JavaScript [DOMPointInit](https://developer.mozilla.org/en/docs/Web/API/DOMPointInit) to Kotlin + */ +public external interface DOMPointInit { + var x: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var y: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var z: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var w: Double? /* = 1.0 */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun DOMPointInit(x: Double? = 0.0, y: Double? = 0.0, z: Double? = 0.0, w: Double? = 1.0): DOMPointInit { + val o = js("({})") + o["x"] = x + o["y"] = y + o["z"] = z + o["w"] = w + return o as DOMPointInit +} + +/** + * Exposes the JavaScript [DOMRect](https://developer.mozilla.org/en/docs/Web/API/DOMRect) to Kotlin + */ +public external open class DOMRect(x: Double = definedExternally, y: Double = definedExternally, width: Double = definedExternally, height: Double = definedExternally) : DOMRectReadOnly { + override var x: Double + override var y: Double + override var width: Double + override var height: Double +} + +/** + * Exposes the JavaScript [DOMRectReadOnly](https://developer.mozilla.org/en/docs/Web/API/DOMRectReadOnly) to Kotlin + */ +public external open class DOMRectReadOnly(x: Double, y: Double, width: Double, height: Double) { + open val x: Double + open val y: Double + open val width: Double + open val height: Double + open val top: Double + open val right: Double + open val bottom: Double + open val left: Double +} + +public external interface DOMRectInit { + var x: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var y: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var width: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally + var height: Double? /* = 0.0 */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun DOMRectInit(x: Double? = 0.0, y: Double? = 0.0, width: Double? = 0.0, height: Double? = 0.0): DOMRectInit { + val o = js("({})") + o["x"] = x + o["y"] = y + o["width"] = width + o["height"] = height + return o as DOMRectInit +} + +public external interface DOMRectList : ItemArrayLike { + override fun item(index: Int): DOMRect? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun DOMRectList.get(index: Int): DOMRect? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [DOMQuad](https://developer.mozilla.org/en/docs/Web/API/DOMQuad) to Kotlin + */ +public external open class DOMQuad { + constructor(p1: DOMPointInit = definedExternally, p2: DOMPointInit = definedExternally, p3: DOMPointInit = definedExternally, p4: DOMPointInit = definedExternally) + constructor(rect: DOMRectInit) + open val p1: DOMPoint + open val p2: DOMPoint + open val p3: DOMPoint + open val p4: DOMPoint + open val bounds: DOMRectReadOnly +} + +/** + * Exposes the JavaScript [DOMMatrixReadOnly](https://developer.mozilla.org/en/docs/Web/API/DOMMatrixReadOnly) to Kotlin + */ +public external open class DOMMatrixReadOnly(numberSequence: Array) { + open val a: Double + open val b: Double + open val c: Double + open val d: Double + open val e: Double + open val f: Double + open val m11: Double + open val m12: Double + open val m13: Double + open val m14: Double + open val m21: Double + open val m22: Double + open val m23: Double + open val m24: Double + open val m31: Double + open val m32: Double + open val m33: Double + open val m34: Double + open val m41: Double + open val m42: Double + open val m43: Double + open val m44: Double + open val is2D: Boolean + open val isIdentity: Boolean + fun translate(tx: Double, ty: Double, tz: Double = definedExternally): DOMMatrix + fun scale(scale: Double, originX: Double = definedExternally, originY: Double = definedExternally): DOMMatrix + fun scale3d(scale: Double, originX: Double = definedExternally, originY: Double = definedExternally, originZ: Double = definedExternally): DOMMatrix + fun scaleNonUniform(scaleX: Double, scaleY: Double = definedExternally, scaleZ: Double = definedExternally, originX: Double = definedExternally, originY: Double = definedExternally, originZ: Double = definedExternally): DOMMatrix + fun rotate(angle: Double, originX: Double = definedExternally, originY: Double = definedExternally): DOMMatrix + fun rotateFromVector(x: Double, y: Double): DOMMatrix + fun rotateAxisAngle(x: Double, y: Double, z: Double, angle: Double): DOMMatrix + fun skewX(sx: Double): DOMMatrix + fun skewY(sy: Double): DOMMatrix + fun multiply(other: DOMMatrix): DOMMatrix + fun flipX(): DOMMatrix + fun flipY(): DOMMatrix + fun inverse(): DOMMatrix + fun transformPoint(point: DOMPointInit = definedExternally): DOMPoint + fun toFloat32Array(): Float32Array + fun toFloat64Array(): Float64Array +} + +/** + * Exposes the JavaScript [DOMMatrix](https://developer.mozilla.org/en/docs/Web/API/DOMMatrix) to Kotlin + */ +public external open class DOMMatrix() : DOMMatrixReadOnly { + constructor(transformList: String) + constructor(other: DOMMatrixReadOnly) + constructor(array32: Float32Array) + constructor(array64: Float64Array) + constructor(numberSequence: Array) + override var a: Double + override var b: Double + override var c: Double + override var d: Double + override var e: Double + override var f: Double + override var m11: Double + override var m12: Double + override var m13: Double + override var m14: Double + override var m21: Double + override var m22: Double + override var m23: Double + override var m24: Double + override var m31: Double + override var m32: Double + override var m33: Double + override var m34: Double + override var m41: Double + override var m42: Double + override var m43: Double + override var m44: Double + fun multiplySelf(other: DOMMatrix): DOMMatrix + fun preMultiplySelf(other: DOMMatrix): DOMMatrix + fun translateSelf(tx: Double, ty: Double, tz: Double = definedExternally): DOMMatrix + fun scaleSelf(scale: Double, originX: Double = definedExternally, originY: Double = definedExternally): DOMMatrix + fun scale3dSelf(scale: Double, originX: Double = definedExternally, originY: Double = definedExternally, originZ: Double = definedExternally): DOMMatrix + fun scaleNonUniformSelf(scaleX: Double, scaleY: Double = definedExternally, scaleZ: Double = definedExternally, originX: Double = definedExternally, originY: Double = definedExternally, originZ: Double = definedExternally): DOMMatrix + fun rotateSelf(angle: Double, originX: Double = definedExternally, originY: Double = definedExternally): DOMMatrix + fun rotateFromVectorSelf(x: Double, y: Double): DOMMatrix + fun rotateAxisAngleSelf(x: Double, y: Double, z: Double, angle: Double): DOMMatrix + fun skewXSelf(sx: Double): DOMMatrix + fun skewYSelf(sy: Double): DOMMatrix + fun invertSelf(): DOMMatrix + fun setMatrixValue(transformList: String): DOMMatrix +} + +public external interface ScrollOptions { + var behavior: ScrollBehavior? /* = ScrollBehavior.AUTO */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ScrollOptions(behavior: ScrollBehavior? = ScrollBehavior.AUTO): ScrollOptions { + val o = js("({})") + o["behavior"] = behavior + return o as ScrollOptions +} + +/** + * Exposes the JavaScript [ScrollToOptions](https://developer.mozilla.org/en/docs/Web/API/ScrollToOptions) to Kotlin + */ +public external interface ScrollToOptions : ScrollOptions { + var left: Double? + get() = definedExternally + set(value) = definedExternally + var top: Double? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ScrollToOptions(left: Double? = undefined, top: Double? = undefined, behavior: ScrollBehavior? = ScrollBehavior.AUTO): ScrollToOptions { + val o = js("({})") + o["left"] = left + o["top"] = top + o["behavior"] = behavior + return o as ScrollToOptions +} + +/** + * Exposes the JavaScript [MediaQueryList](https://developer.mozilla.org/en/docs/Web/API/MediaQueryList) to Kotlin + */ +public external abstract class MediaQueryList : EventTarget { + open val media: String + open val matches: Boolean + open var onchange: ((Event) -> Dynamic?)? + fun addListener(listener: EventListener?) + fun addListener(listener: ((Event) -> Unit)?) + fun removeListener(listener: EventListener?) + fun removeListener(listener: ((Event) -> Unit)?) +} + +/** + * Exposes the JavaScript [MediaQueryListEvent](https://developer.mozilla.org/en/docs/Web/API/MediaQueryListEvent) to Kotlin + */ +public external open class MediaQueryListEvent(type: String, eventInitDict: MediaQueryListEventInit = definedExternally) : Event { + open val media: String + open val matches: Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MediaQueryListEventInit : EventInit { + var media: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var matches: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaQueryListEventInit(media: String? = "", matches: Boolean? = false, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MediaQueryListEventInit { + val o = js("({})") + o["media"] = media + o["matches"] = matches + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MediaQueryListEventInit +} + +/** + * Exposes the JavaScript [Screen](https://developer.mozilla.org/en/docs/Web/API/Screen) to Kotlin + */ +public external abstract class Screen { + open val availWidth: Int + open val availHeight: Int + open val width: Int + open val height: Int + open val colorDepth: Int + open val pixelDepth: Int +} + +/** + * Exposes the JavaScript [CaretPosition](https://developer.mozilla.org/en/docs/Web/API/CaretPosition) to Kotlin + */ +public external abstract class CaretPosition { + open val offsetNode: Node + open val offset: Int + fun getClientRect(): DOMRect? +} + +public external interface ScrollIntoViewOptions : ScrollOptions { + var block: ScrollLogicalPosition? /* = ScrollLogicalPosition.CENTER */ + get() = definedExternally + set(value) = definedExternally + var inline: ScrollLogicalPosition? /* = ScrollLogicalPosition.CENTER */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ScrollIntoViewOptions(block: ScrollLogicalPosition? = ScrollLogicalPosition.CENTER, inline: ScrollLogicalPosition? = ScrollLogicalPosition.CENTER, behavior: ScrollBehavior? = ScrollBehavior.AUTO): ScrollIntoViewOptions { + val o = js("({})") + o["block"] = block + o["inline"] = inline + o["behavior"] = behavior + return o as ScrollIntoViewOptions +} + +public external interface BoxQuadOptions { + var box: CSSBoxType? /* = CSSBoxType.BORDER */ + get() = definedExternally + set(value) = definedExternally + var relativeTo: Dynamic? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun BoxQuadOptions(box: CSSBoxType? = CSSBoxType.BORDER, relativeTo: Dynamic? = undefined): BoxQuadOptions { + val o = js("({})") + o["box"] = box + o["relativeTo"] = relativeTo + return o as BoxQuadOptions +} + +public external interface ConvertCoordinateOptions { + var fromBox: CSSBoxType? /* = CSSBoxType.BORDER */ + get() = definedExternally + set(value) = definedExternally + var toBox: CSSBoxType? /* = CSSBoxType.BORDER */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConvertCoordinateOptions(fromBox: CSSBoxType? = CSSBoxType.BORDER, toBox: CSSBoxType? = CSSBoxType.BORDER): ConvertCoordinateOptions { + val o = js("({})") + o["fromBox"] = fromBox + o["toBox"] = toBox + return o as ConvertCoordinateOptions +} + +/** + * Exposes the JavaScript [GeometryUtils](https://developer.mozilla.org/en/docs/Web/API/GeometryUtils) to Kotlin + */ +public external interface GeometryUtils { + fun getBoxQuads(options: BoxQuadOptions = definedExternally): Array + fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions = definedExternally): DOMQuad + fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions = definedExternally): DOMQuad + fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions = definedExternally): DOMPoint +} + +/** + * Exposes the JavaScript [Touch](https://developer.mozilla.org/en/docs/Web/API/Touch) to Kotlin + */ +public external abstract class Touch { + open val identifier: Int + open val target: EventTarget + open val screenX: Int + open val screenY: Int + open val clientX: Int + open val clientY: Int + open val pageX: Int + open val pageY: Int + open val region: String? +} + +public external abstract class TouchList : ItemArrayLike { + override fun item(index: Int): Touch? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun TouchList.get(index: Int): Touch? = asDynamic().getAny(index) + +public external open class TouchEvent : UIEvent { + open val touches: TouchList + open val targetTouches: TouchList + open val changedTouches: TouchList + open val altKey: Boolean + open val metaKey: Boolean + open val ctrlKey: Boolean + open val shiftKey: Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +/** + * Exposes the JavaScript [Image](https://developer.mozilla.org/en/docs/Web/API/Image) to Kotlin + */ +public external open class Image(width: Int = definedExternally, height: Int = definedExternally) : HTMLImageElement { + override var onabort: ((Event) -> Dynamic?)? + override var onblur: ((FocusEvent) -> Dynamic?)? + override var oncancel: ((Event) -> Dynamic?)? + override var oncanplay: ((Event) -> Dynamic?)? + override var oncanplaythrough: ((Event) -> Dynamic?)? + override var onchange: ((Event) -> Dynamic?)? + override var onclick: ((MouseEvent) -> Dynamic?)? + override var onclose: ((Event) -> Dynamic?)? + override var oncontextmenu: ((MouseEvent) -> Dynamic?)? + override var oncuechange: ((Event) -> Dynamic?)? + override var ondblclick: ((MouseEvent) -> Dynamic?)? + override var ondrag: ((DragEvent) -> Dynamic?)? + override var ondragend: ((DragEvent) -> Dynamic?)? + override var ondragenter: ((DragEvent) -> Dynamic?)? + override var ondragexit: ((DragEvent) -> Dynamic?)? + override var ondragleave: ((DragEvent) -> Dynamic?)? + override var ondragover: ((DragEvent) -> Dynamic?)? + override var ondragstart: ((DragEvent) -> Dynamic?)? + override var ondrop: ((DragEvent) -> Dynamic?)? + override var ondurationchange: ((Event) -> Dynamic?)? + override var onemptied: ((Event) -> Dynamic?)? + override var onended: ((Event) -> Dynamic?)? + override var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + override var onfocus: ((FocusEvent) -> Dynamic?)? + override var oninput: ((InputEvent) -> Dynamic?)? + override var oninvalid: ((Event) -> Dynamic?)? + override var onkeydown: ((KeyboardEvent) -> Dynamic?)? + override var onkeypress: ((KeyboardEvent) -> Dynamic?)? + override var onkeyup: ((KeyboardEvent) -> Dynamic?)? + override var onload: ((Event) -> Dynamic?)? + override var onloadeddata: ((Event) -> Dynamic?)? + override var onloadedmetadata: ((Event) -> Dynamic?)? + override var onloadend: ((Event) -> Dynamic?)? + override var onloadstart: ((ProgressEvent) -> Dynamic?)? + override var onmousedown: ((MouseEvent) -> Dynamic?)? + override var onmouseenter: ((MouseEvent) -> Dynamic?)? + override var onmouseleave: ((MouseEvent) -> Dynamic?)? + override var onmousemove: ((MouseEvent) -> Dynamic?)? + override var onmouseout: ((MouseEvent) -> Dynamic?)? + override var onmouseover: ((MouseEvent) -> Dynamic?)? + override var onmouseup: ((MouseEvent) -> Dynamic?)? + override var onwheel: ((WheelEvent) -> Dynamic?)? + override var onpause: ((Event) -> Dynamic?)? + override var onplay: ((Event) -> Dynamic?)? + override var onplaying: ((Event) -> Dynamic?)? + override var onprogress: ((ProgressEvent) -> Dynamic?)? + override var onratechange: ((Event) -> Dynamic?)? + override var onreset: ((Event) -> Dynamic?)? + override var onresize: ((Event) -> Dynamic?)? + override var onscroll: ((Event) -> Dynamic?)? + override var onseeked: ((Event) -> Dynamic?)? + override var onseeking: ((Event) -> Dynamic?)? + override var onselect: ((Event) -> Dynamic?)? + override var onshow: ((Event) -> Dynamic?)? + override var onstalled: ((Event) -> Dynamic?)? + override var onsubmit: ((Event) -> Dynamic?)? + override var onsuspend: ((Event) -> Dynamic?)? + override var ontimeupdate: ((Event) -> Dynamic?)? + override var ontoggle: ((Event) -> Dynamic?)? + override var onvolumechange: ((Event) -> Dynamic?)? + override var onwaiting: ((Event) -> Dynamic?)? + override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + override var onpointerdown: ((PointerEvent) -> Dynamic?)? + override var onpointermove: ((PointerEvent) -> Dynamic?)? + override var onpointerup: ((PointerEvent) -> Dynamic?)? + override var onpointercancel: ((PointerEvent) -> Dynamic?)? + override var onpointerover: ((PointerEvent) -> Dynamic?)? + override var onpointerout: ((PointerEvent) -> Dynamic?)? + override var onpointerenter: ((PointerEvent) -> Dynamic?)? + override var onpointerleave: ((PointerEvent) -> Dynamic?)? + override var oncopy: ((ClipboardEvent) -> Dynamic?)? + override var oncut: ((ClipboardEvent) -> Dynamic?)? + override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var contentEditable: String + override val isContentEditable: Boolean + override val style: CSSStyleDeclaration + override val children: HTMLCollection + override val firstElementChild: Element? + override val lastElementChild: Element? + override val childElementCount: Int + override val previousElementSibling: Element? + override val nextElementSibling: Element? + override val assignedSlot: HTMLSlotElement? + override fun prepend(vararg nodes: Dynamic?) + override fun append(vararg nodes: Dynamic?) + override fun querySelector(selectors: String): Element? + override fun querySelectorAll(selectors: String): NodeList + override fun before(vararg nodes: Dynamic?) + override fun after(vararg nodes: Dynamic?) + override fun replaceWith(vararg nodes: Dynamic?) + override fun remove() + override fun getBoxQuads(options: BoxQuadOptions /* = definedExternally */): Array + override fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMPoint + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external open class Audio(src: String = definedExternally) : HTMLAudioElement { + override var onabort: ((Event) -> Dynamic?)? + override var onblur: ((FocusEvent) -> Dynamic?)? + override var oncancel: ((Event) -> Dynamic?)? + override var oncanplay: ((Event) -> Dynamic?)? + override var oncanplaythrough: ((Event) -> Dynamic?)? + override var onchange: ((Event) -> Dynamic?)? + override var onclick: ((MouseEvent) -> Dynamic?)? + override var onclose: ((Event) -> Dynamic?)? + override var oncontextmenu: ((MouseEvent) -> Dynamic?)? + override var oncuechange: ((Event) -> Dynamic?)? + override var ondblclick: ((MouseEvent) -> Dynamic?)? + override var ondrag: ((DragEvent) -> Dynamic?)? + override var ondragend: ((DragEvent) -> Dynamic?)? + override var ondragenter: ((DragEvent) -> Dynamic?)? + override var ondragexit: ((DragEvent) -> Dynamic?)? + override var ondragleave: ((DragEvent) -> Dynamic?)? + override var ondragover: ((DragEvent) -> Dynamic?)? + override var ondragstart: ((DragEvent) -> Dynamic?)? + override var ondrop: ((DragEvent) -> Dynamic?)? + override var ondurationchange: ((Event) -> Dynamic?)? + override var onemptied: ((Event) -> Dynamic?)? + override var onended: ((Event) -> Dynamic?)? + override var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + override var onfocus: ((FocusEvent) -> Dynamic?)? + override var oninput: ((InputEvent) -> Dynamic?)? + override var oninvalid: ((Event) -> Dynamic?)? + override var onkeydown: ((KeyboardEvent) -> Dynamic?)? + override var onkeypress: ((KeyboardEvent) -> Dynamic?)? + override var onkeyup: ((KeyboardEvent) -> Dynamic?)? + override var onload: ((Event) -> Dynamic?)? + override var onloadeddata: ((Event) -> Dynamic?)? + override var onloadedmetadata: ((Event) -> Dynamic?)? + override var onloadend: ((Event) -> Dynamic?)? + override var onloadstart: ((ProgressEvent) -> Dynamic?)? + override var onmousedown: ((MouseEvent) -> Dynamic?)? + override var onmouseenter: ((MouseEvent) -> Dynamic?)? + override var onmouseleave: ((MouseEvent) -> Dynamic?)? + override var onmousemove: ((MouseEvent) -> Dynamic?)? + override var onmouseout: ((MouseEvent) -> Dynamic?)? + override var onmouseover: ((MouseEvent) -> Dynamic?)? + override var onmouseup: ((MouseEvent) -> Dynamic?)? + override var onwheel: ((WheelEvent) -> Dynamic?)? + override var onpause: ((Event) -> Dynamic?)? + override var onplay: ((Event) -> Dynamic?)? + override var onplaying: ((Event) -> Dynamic?)? + override var onprogress: ((ProgressEvent) -> Dynamic?)? + override var onratechange: ((Event) -> Dynamic?)? + override var onreset: ((Event) -> Dynamic?)? + override var onresize: ((Event) -> Dynamic?)? + override var onscroll: ((Event) -> Dynamic?)? + override var onseeked: ((Event) -> Dynamic?)? + override var onseeking: ((Event) -> Dynamic?)? + override var onselect: ((Event) -> Dynamic?)? + override var onshow: ((Event) -> Dynamic?)? + override var onstalled: ((Event) -> Dynamic?)? + override var onsubmit: ((Event) -> Dynamic?)? + override var onsuspend: ((Event) -> Dynamic?)? + override var ontimeupdate: ((Event) -> Dynamic?)? + override var ontoggle: ((Event) -> Dynamic?)? + override var onvolumechange: ((Event) -> Dynamic?)? + override var onwaiting: ((Event) -> Dynamic?)? + override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + override var onpointerdown: ((PointerEvent) -> Dynamic?)? + override var onpointermove: ((PointerEvent) -> Dynamic?)? + override var onpointerup: ((PointerEvent) -> Dynamic?)? + override var onpointercancel: ((PointerEvent) -> Dynamic?)? + override var onpointerover: ((PointerEvent) -> Dynamic?)? + override var onpointerout: ((PointerEvent) -> Dynamic?)? + override var onpointerenter: ((PointerEvent) -> Dynamic?)? + override var onpointerleave: ((PointerEvent) -> Dynamic?)? + override var oncopy: ((ClipboardEvent) -> Dynamic?)? + override var oncut: ((ClipboardEvent) -> Dynamic?)? + override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var contentEditable: String + override val isContentEditable: Boolean + override val style: CSSStyleDeclaration + override val children: HTMLCollection + override val firstElementChild: Element? + override val lastElementChild: Element? + override val childElementCount: Int + override val previousElementSibling: Element? + override val nextElementSibling: Element? + override val assignedSlot: HTMLSlotElement? + override fun prepend(vararg nodes: Dynamic?) + override fun append(vararg nodes: Dynamic?) + override fun querySelector(selectors: String): Element? + override fun querySelectorAll(selectors: String): NodeList + override fun before(vararg nodes: Dynamic?) + override fun after(vararg nodes: Dynamic?) + override fun replaceWith(vararg nodes: Dynamic?) + override fun remove() + override fun getBoxQuads(options: BoxQuadOptions /* = definedExternally */): Array + override fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMPoint + + companion object { + val NETWORK_EMPTY: Short + val NETWORK_IDLE: Short + val NETWORK_LOADING: Short + val NETWORK_NO_SOURCE: Short + val HAVE_NOTHING: Short + val HAVE_METADATA: Short + val HAVE_CURRENT_DATA: Short + val HAVE_FUTURE_DATA: Short + val HAVE_ENOUGH_DATA: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [Option](https://developer.mozilla.org/en/docs/Web/API/Option) to Kotlin + */ +public external open class Option(text: String = definedExternally, value: String = definedExternally, defaultSelected: Boolean = definedExternally, selected: Boolean = definedExternally) : HTMLOptionElement { + override var onabort: ((Event) -> Dynamic?)? + override var onblur: ((FocusEvent) -> Dynamic?)? + override var oncancel: ((Event) -> Dynamic?)? + override var oncanplay: ((Event) -> Dynamic?)? + override var oncanplaythrough: ((Event) -> Dynamic?)? + override var onchange: ((Event) -> Dynamic?)? + override var onclick: ((MouseEvent) -> Dynamic?)? + override var onclose: ((Event) -> Dynamic?)? + override var oncontextmenu: ((MouseEvent) -> Dynamic?)? + override var oncuechange: ((Event) -> Dynamic?)? + override var ondblclick: ((MouseEvent) -> Dynamic?)? + override var ondrag: ((DragEvent) -> Dynamic?)? + override var ondragend: ((DragEvent) -> Dynamic?)? + override var ondragenter: ((DragEvent) -> Dynamic?)? + override var ondragexit: ((DragEvent) -> Dynamic?)? + override var ondragleave: ((DragEvent) -> Dynamic?)? + override var ondragover: ((DragEvent) -> Dynamic?)? + override var ondragstart: ((DragEvent) -> Dynamic?)? + override var ondrop: ((DragEvent) -> Dynamic?)? + override var ondurationchange: ((Event) -> Dynamic?)? + override var onemptied: ((Event) -> Dynamic?)? + override var onended: ((Event) -> Dynamic?)? + override var onerror: ((Dynamic?, String, Int, Int, Any?) -> Dynamic?)? + override var onfocus: ((FocusEvent) -> Dynamic?)? + override var oninput: ((InputEvent) -> Dynamic?)? + override var oninvalid: ((Event) -> Dynamic?)? + override var onkeydown: ((KeyboardEvent) -> Dynamic?)? + override var onkeypress: ((KeyboardEvent) -> Dynamic?)? + override var onkeyup: ((KeyboardEvent) -> Dynamic?)? + override var onload: ((Event) -> Dynamic?)? + override var onloadeddata: ((Event) -> Dynamic?)? + override var onloadedmetadata: ((Event) -> Dynamic?)? + override var onloadend: ((Event) -> Dynamic?)? + override var onloadstart: ((ProgressEvent) -> Dynamic?)? + override var onmousedown: ((MouseEvent) -> Dynamic?)? + override var onmouseenter: ((MouseEvent) -> Dynamic?)? + override var onmouseleave: ((MouseEvent) -> Dynamic?)? + override var onmousemove: ((MouseEvent) -> Dynamic?)? + override var onmouseout: ((MouseEvent) -> Dynamic?)? + override var onmouseover: ((MouseEvent) -> Dynamic?)? + override var onmouseup: ((MouseEvent) -> Dynamic?)? + override var onwheel: ((WheelEvent) -> Dynamic?)? + override var onpause: ((Event) -> Dynamic?)? + override var onplay: ((Event) -> Dynamic?)? + override var onplaying: ((Event) -> Dynamic?)? + override var onprogress: ((ProgressEvent) -> Dynamic?)? + override var onratechange: ((Event) -> Dynamic?)? + override var onreset: ((Event) -> Dynamic?)? + override var onresize: ((Event) -> Dynamic?)? + override var onscroll: ((Event) -> Dynamic?)? + override var onseeked: ((Event) -> Dynamic?)? + override var onseeking: ((Event) -> Dynamic?)? + override var onselect: ((Event) -> Dynamic?)? + override var onshow: ((Event) -> Dynamic?)? + override var onstalled: ((Event) -> Dynamic?)? + override var onsubmit: ((Event) -> Dynamic?)? + override var onsuspend: ((Event) -> Dynamic?)? + override var ontimeupdate: ((Event) -> Dynamic?)? + override var ontoggle: ((Event) -> Dynamic?)? + override var onvolumechange: ((Event) -> Dynamic?)? + override var onwaiting: ((Event) -> Dynamic?)? + override var ongotpointercapture: ((PointerEvent) -> Dynamic?)? + override var onlostpointercapture: ((PointerEvent) -> Dynamic?)? + override var onpointerdown: ((PointerEvent) -> Dynamic?)? + override var onpointermove: ((PointerEvent) -> Dynamic?)? + override var onpointerup: ((PointerEvent) -> Dynamic?)? + override var onpointercancel: ((PointerEvent) -> Dynamic?)? + override var onpointerover: ((PointerEvent) -> Dynamic?)? + override var onpointerout: ((PointerEvent) -> Dynamic?)? + override var onpointerenter: ((PointerEvent) -> Dynamic?)? + override var onpointerleave: ((PointerEvent) -> Dynamic?)? + override var oncopy: ((ClipboardEvent) -> Dynamic?)? + override var oncut: ((ClipboardEvent) -> Dynamic?)? + override var onpaste: ((ClipboardEvent) -> Dynamic?)? + override var contentEditable: String + override val isContentEditable: Boolean + override val style: CSSStyleDeclaration + override val children: HTMLCollection + override val firstElementChild: Element? + override val lastElementChild: Element? + override val childElementCount: Int + override val previousElementSibling: Element? + override val nextElementSibling: Element? + override val assignedSlot: HTMLSlotElement? + override fun prepend(vararg nodes: Dynamic?) + override fun append(vararg nodes: Dynamic?) + override fun querySelector(selectors: String): Element? + override fun querySelectorAll(selectors: String): NodeList + override fun before(vararg nodes: Dynamic?) + override fun after(vararg nodes: Dynamic?) + override fun replaceWith(vararg nodes: Dynamic?) + override fun remove() + override fun getBoxQuads(options: BoxQuadOptions /* = definedExternally */): Array + override fun convertQuadFromNode(quad: Dynamic?, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertRectFromNode(rect: DOMRectReadOnly, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMQuad + override fun convertPointFromNode(point: DOMPointInit, from: Dynamic?, options: ConvertCoordinateOptions /* = definedExternally */): DOMPoint + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface UnionElementOrHTMLCollection + +public external interface UnionElementOrRadioNodeList + +public external interface UnionHTMLOptGroupElementOrHTMLOptionElement + +public external interface UnionAudioTrackOrTextTrackOrVideoTrack + +public external interface UnionElementOrMouseEvent + +public external interface UnionMessagePortOrWindowProxy + +public external interface MediaProvider + +public external interface RenderingContext + +public external interface HTMLOrSVGImageElement : CanvasImageSource + +public external interface CanvasImageSource : ImageBitmapSource + +public external interface ImageBitmapSource + +public external interface HTMLOrSVGScriptElement + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface DocumentReadyState { + companion object +} + +public inline val DocumentReadyState.Companion.LOADING: DocumentReadyState get() = "loading".asDynamic().unsafeCast() + +public inline val DocumentReadyState.Companion.INTERACTIVE: DocumentReadyState get() = "interactive".asDynamic().unsafeCast() + +public inline val DocumentReadyState.Companion.COMPLETE: DocumentReadyState get() = "complete".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanPlayTypeResult { + companion object +} + +public inline val CanPlayTypeResult.Companion.EMPTY: CanPlayTypeResult get() = "".asDynamic().unsafeCast() + +public inline val CanPlayTypeResult.Companion.MAYBE: CanPlayTypeResult get() = "maybe".asDynamic().unsafeCast() + +public inline val CanPlayTypeResult.Companion.PROBABLY: CanPlayTypeResult get() = "probably".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface TextTrackMode { + companion object +} + +public inline val TextTrackMode.Companion.DISABLED: TextTrackMode get() = "disabled".asDynamic().unsafeCast() + +public inline val TextTrackMode.Companion.HIDDEN: TextTrackMode get() = "hidden".asDynamic().unsafeCast() + +public inline val TextTrackMode.Companion.SHOWING: TextTrackMode get() = "showing".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface TextTrackKind { + companion object +} + +public inline val TextTrackKind.Companion.SUBTITLES: TextTrackKind get() = "subtitles".asDynamic().unsafeCast() + +public inline val TextTrackKind.Companion.CAPTIONS: TextTrackKind get() = "captions".asDynamic().unsafeCast() + +public inline val TextTrackKind.Companion.DESCRIPTIONS: TextTrackKind get() = "descriptions".asDynamic().unsafeCast() + +public inline val TextTrackKind.Companion.CHAPTERS: TextTrackKind get() = "chapters".asDynamic().unsafeCast() + +public inline val TextTrackKind.Companion.METADATA: TextTrackKind get() = "metadata".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface SelectionMode { + companion object +} + +public inline val SelectionMode.Companion.SELECT: SelectionMode get() = "select".asDynamic().unsafeCast() + +public inline val SelectionMode.Companion.START: SelectionMode get() = "start".asDynamic().unsafeCast() + +public inline val SelectionMode.Companion.END: SelectionMode get() = "end".asDynamic().unsafeCast() + +public inline val SelectionMode.Companion.PRESERVE: SelectionMode get() = "preserve".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasFillRule { + companion object +} + +public inline val CanvasFillRule.Companion.NONZERO: CanvasFillRule get() = "nonzero".asDynamic().unsafeCast() + +public inline val CanvasFillRule.Companion.EVENODD: CanvasFillRule get() = "evenodd".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ImageSmoothingQuality { + companion object +} + +public inline val ImageSmoothingQuality.Companion.LOW: ImageSmoothingQuality get() = "low".asDynamic().unsafeCast() + +public inline val ImageSmoothingQuality.Companion.MEDIUM: ImageSmoothingQuality get() = "medium".asDynamic().unsafeCast() + +public inline val ImageSmoothingQuality.Companion.HIGH: ImageSmoothingQuality get() = "high".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasLineCap { + companion object +} + +public inline val CanvasLineCap.Companion.BUTT: CanvasLineCap get() = "butt".asDynamic().unsafeCast() + +public inline val CanvasLineCap.Companion.ROUND: CanvasLineCap get() = "round".asDynamic().unsafeCast() + +public inline val CanvasLineCap.Companion.SQUARE: CanvasLineCap get() = "square".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasLineJoin { + companion object +} + +public inline val CanvasLineJoin.Companion.ROUND: CanvasLineJoin get() = "round".asDynamic().unsafeCast() + +public inline val CanvasLineJoin.Companion.BEVEL: CanvasLineJoin get() = "bevel".asDynamic().unsafeCast() + +public inline val CanvasLineJoin.Companion.MITER: CanvasLineJoin get() = "miter".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasTextAlign { + companion object +} + +public inline val CanvasTextAlign.Companion.START: CanvasTextAlign get() = "start".asDynamic().unsafeCast() + +public inline val CanvasTextAlign.Companion.END: CanvasTextAlign get() = "end".asDynamic().unsafeCast() + +public inline val CanvasTextAlign.Companion.LEFT: CanvasTextAlign get() = "left".asDynamic().unsafeCast() + +public inline val CanvasTextAlign.Companion.RIGHT: CanvasTextAlign get() = "right".asDynamic().unsafeCast() + +public inline val CanvasTextAlign.Companion.CENTER: CanvasTextAlign get() = "center".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasTextBaseline { + companion object +} + +public inline val CanvasTextBaseline.Companion.TOP: CanvasTextBaseline get() = "top".asDynamic().unsafeCast() + +public inline val CanvasTextBaseline.Companion.HANGING: CanvasTextBaseline get() = "hanging".asDynamic().unsafeCast() + +public inline val CanvasTextBaseline.Companion.MIDDLE: CanvasTextBaseline get() = "middle".asDynamic().unsafeCast() + +public inline val CanvasTextBaseline.Companion.ALPHABETIC: CanvasTextBaseline get() = "alphabetic".asDynamic().unsafeCast() + +public inline val CanvasTextBaseline.Companion.IDEOGRAPHIC: CanvasTextBaseline get() = "ideographic".asDynamic().unsafeCast() + +public inline val CanvasTextBaseline.Companion.BOTTOM: CanvasTextBaseline get() = "bottom".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CanvasDirection { + companion object +} + +public inline val CanvasDirection.Companion.LTR: CanvasDirection get() = "ltr".asDynamic().unsafeCast() + +public inline val CanvasDirection.Companion.RTL: CanvasDirection get() = "rtl".asDynamic().unsafeCast() + +public inline val CanvasDirection.Companion.INHERIT: CanvasDirection get() = "inherit".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ScrollRestoration { + companion object +} + +public inline val ScrollRestoration.Companion.AUTO: ScrollRestoration get() = "auto".asDynamic().unsafeCast() + +public inline val ScrollRestoration.Companion.MANUAL: ScrollRestoration get() = "manual".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ImageOrientation { + companion object +} + +public inline val ImageOrientation.Companion.NONE: ImageOrientation get() = "none".asDynamic().unsafeCast() + +public inline val ImageOrientation.Companion.FLIPY: ImageOrientation get() = "flipY".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface PremultiplyAlpha { + companion object +} + +public inline val PremultiplyAlpha.Companion.NONE: PremultiplyAlpha get() = "none".asDynamic().unsafeCast() + +public inline val PremultiplyAlpha.Companion.PREMULTIPLY: PremultiplyAlpha get() = "premultiply".asDynamic().unsafeCast() + +public inline val PremultiplyAlpha.Companion.DEFAULT: PremultiplyAlpha get() = "default".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ColorSpaceConversion { + companion object +} + +public inline val ColorSpaceConversion.Companion.NONE: ColorSpaceConversion get() = "none".asDynamic().unsafeCast() + +public inline val ColorSpaceConversion.Companion.DEFAULT: ColorSpaceConversion get() = "default".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ResizeQuality { + companion object +} + +public inline val ResizeQuality.Companion.PIXELATED: ResizeQuality get() = "pixelated".asDynamic().unsafeCast() + +public inline val ResizeQuality.Companion.LOW: ResizeQuality get() = "low".asDynamic().unsafeCast() + +public inline val ResizeQuality.Companion.MEDIUM: ResizeQuality get() = "medium".asDynamic().unsafeCast() + +public inline val ResizeQuality.Companion.HIGH: ResizeQuality get() = "high".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface BinaryType { + companion object +} + +public inline val BinaryType.Companion.BLOB: BinaryType get() = "blob".asDynamic().unsafeCast() + +public inline val BinaryType.Companion.ARRAYBUFFER: BinaryType get() = "arraybuffer".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface WorkerType { + companion object +} + +public inline val WorkerType.Companion.CLASSIC: WorkerType get() = "classic".asDynamic().unsafeCast() + +public inline val WorkerType.Companion.MODULE: WorkerType get() = "module".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ShadowRootMode { + companion object +} + +public inline val ShadowRootMode.Companion.OPEN: ShadowRootMode get() = "open".asDynamic().unsafeCast() + +public inline val ShadowRootMode.Companion.CLOSED: ShadowRootMode get() = "closed".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ScrollBehavior { + companion object +} + +public inline val ScrollBehavior.Companion.AUTO: ScrollBehavior get() = "auto".asDynamic().unsafeCast() + +public inline val ScrollBehavior.Companion.INSTANT: ScrollBehavior get() = "instant".asDynamic().unsafeCast() + +public inline val ScrollBehavior.Companion.SMOOTH: ScrollBehavior get() = "smooth".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ScrollLogicalPosition { + companion object +} + +public inline val ScrollLogicalPosition.Companion.START: ScrollLogicalPosition get() = "start".asDynamic().unsafeCast() + +public inline val ScrollLogicalPosition.Companion.CENTER: ScrollLogicalPosition get() = "center".asDynamic().unsafeCast() + +public inline val ScrollLogicalPosition.Companion.END: ScrollLogicalPosition get() = "end".asDynamic().unsafeCast() + +public inline val ScrollLogicalPosition.Companion.NEAREST: ScrollLogicalPosition get() = "nearest".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface CSSBoxType { + companion object +} + +public inline val CSSBoxType.Companion.MARGIN: CSSBoxType get() = "margin".asDynamic().unsafeCast() + +public inline val CSSBoxType.Companion.BORDER: CSSBoxType get() = "border".asDynamic().unsafeCast() + +public inline val CSSBoxType.Companion.PADDING: CSSBoxType get() = "padding".asDynamic().unsafeCast() + +public inline val CSSBoxType.Companion.CONTENT: CSSBoxType get() = "content".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt new file mode 100644 index 00000000000..8f99ff91ea1 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediacapture.kt @@ -0,0 +1,715 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.mediacapture + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +/** + * Exposes the JavaScript [MediaStream](https://developer.mozilla.org/en/docs/Web/API/MediaStream) to Kotlin + */ +public external open class MediaStream() : EventTarget, MediaProvider { + constructor(stream: MediaStream) + constructor(tracks: Array) + open val id: String + open val active: Boolean + var onaddtrack: ((MediaStreamTrackEvent) -> Dynamic?)? + var onremovetrack: ((MediaStreamTrackEvent) -> Dynamic?)? + fun getAudioTracks(): Array + fun getVideoTracks(): Array + fun getTracks(): Array + fun getTrackById(trackId: String): MediaStreamTrack? + fun addTrack(track: MediaStreamTrack) + fun removeTrack(track: MediaStreamTrack) + fun clone(): MediaStream +} + +/** + * Exposes the JavaScript [MediaStreamTrack](https://developer.mozilla.org/en/docs/Web/API/MediaStreamTrack) to Kotlin + */ +public external abstract class MediaStreamTrack : EventTarget { + open val kind: String + open val id: String + open val label: String + open var enabled: Boolean + open val muted: Boolean + open var onmute: ((Event) -> Dynamic?)? + open var onunmute: ((Event) -> Dynamic?)? + open val readyState: MediaStreamTrackState + open var onended: ((Event) -> Dynamic?)? + open var onoverconstrained: ((Event) -> Dynamic?)? + fun clone(): MediaStreamTrack + fun stop() + fun getCapabilities(): MediaTrackCapabilities + fun getConstraints(): MediaTrackConstraints + fun getSettings(): MediaTrackSettings + fun applyConstraints(constraints: MediaTrackConstraints = definedExternally): Promise +} + +/** + * Exposes the JavaScript [MediaTrackSupportedConstraints](https://developer.mozilla.org/en/docs/Web/API/MediaTrackSupportedConstraints) to Kotlin + */ +public external interface MediaTrackSupportedConstraints { + var width: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var height: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var aspectRatio: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var frameRate: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var facingMode: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var resizeMode: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var volume: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var sampleRate: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var sampleSize: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var echoCancellation: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var autoGainControl: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var noiseSuppression: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var latency: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var channelCount: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var deviceId: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var groupId: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaTrackSupportedConstraints(width: Boolean? = true, height: Boolean? = true, aspectRatio: Boolean? = true, frameRate: Boolean? = true, facingMode: Boolean? = true, resizeMode: Boolean? = true, volume: Boolean? = true, sampleRate: Boolean? = true, sampleSize: Boolean? = true, echoCancellation: Boolean? = true, autoGainControl: Boolean? = true, noiseSuppression: Boolean? = true, latency: Boolean? = true, channelCount: Boolean? = true, deviceId: Boolean? = true, groupId: Boolean? = true): MediaTrackSupportedConstraints { + val o = js("({})") + o["width"] = width + o["height"] = height + o["aspectRatio"] = aspectRatio + o["frameRate"] = frameRate + o["facingMode"] = facingMode + o["resizeMode"] = resizeMode + o["volume"] = volume + o["sampleRate"] = sampleRate + o["sampleSize"] = sampleSize + o["echoCancellation"] = echoCancellation + o["autoGainControl"] = autoGainControl + o["noiseSuppression"] = noiseSuppression + o["latency"] = latency + o["channelCount"] = channelCount + o["deviceId"] = deviceId + o["groupId"] = groupId + return o as MediaTrackSupportedConstraints +} + +public external interface MediaTrackCapabilities { + var width: ULongRange? + get() = definedExternally + set(value) = definedExternally + var height: ULongRange? + get() = definedExternally + set(value) = definedExternally + var aspectRatio: DoubleRange? + get() = definedExternally + set(value) = definedExternally + var frameRate: DoubleRange? + get() = definedExternally + set(value) = definedExternally + var facingMode: Array? + get() = definedExternally + set(value) = definedExternally + var resizeMode: Array? + get() = definedExternally + set(value) = definedExternally + var volume: DoubleRange? + get() = definedExternally + set(value) = definedExternally + var sampleRate: ULongRange? + get() = definedExternally + set(value) = definedExternally + var sampleSize: ULongRange? + get() = definedExternally + set(value) = definedExternally + var echoCancellation: Array? + get() = definedExternally + set(value) = definedExternally + var autoGainControl: Array? + get() = definedExternally + set(value) = definedExternally + var noiseSuppression: Array? + get() = definedExternally + set(value) = definedExternally + var latency: DoubleRange? + get() = definedExternally + set(value) = definedExternally + var channelCount: ULongRange? + get() = definedExternally + set(value) = definedExternally + var deviceId: String? + get() = definedExternally + set(value) = definedExternally + var groupId: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaTrackCapabilities(width: ULongRange? = undefined, height: ULongRange? = undefined, aspectRatio: DoubleRange? = undefined, frameRate: DoubleRange? = undefined, facingMode: Array? = undefined, resizeMode: Array? = undefined, volume: DoubleRange? = undefined, sampleRate: ULongRange? = undefined, sampleSize: ULongRange? = undefined, echoCancellation: Array? = undefined, autoGainControl: Array? = undefined, noiseSuppression: Array? = undefined, latency: DoubleRange? = undefined, channelCount: ULongRange? = undefined, deviceId: String? = undefined, groupId: String? = undefined): MediaTrackCapabilities { + val o = js("({})") + o["width"] = width + o["height"] = height + o["aspectRatio"] = aspectRatio + o["frameRate"] = frameRate + o["facingMode"] = facingMode + o["resizeMode"] = resizeMode + o["volume"] = volume + o["sampleRate"] = sampleRate + o["sampleSize"] = sampleSize + o["echoCancellation"] = echoCancellation + o["autoGainControl"] = autoGainControl + o["noiseSuppression"] = noiseSuppression + o["latency"] = latency + o["channelCount"] = channelCount + o["deviceId"] = deviceId + o["groupId"] = groupId + return o as MediaTrackCapabilities +} + +/** + * Exposes the JavaScript [MediaTrackConstraints](https://developer.mozilla.org/en/docs/Web/API/MediaTrackConstraints) to Kotlin + */ +public external interface MediaTrackConstraints : MediaTrackConstraintSet { + var advanced: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaTrackConstraints(advanced: Array? = undefined, width: Dynamic? = undefined, height: Dynamic? = undefined, aspectRatio: Dynamic? = undefined, frameRate: Dynamic? = undefined, facingMode: Dynamic? = undefined, resizeMode: Dynamic? = undefined, volume: Dynamic? = undefined, sampleRate: Dynamic? = undefined, sampleSize: Dynamic? = undefined, echoCancellation: Dynamic? = undefined, autoGainControl: Dynamic? = undefined, noiseSuppression: Dynamic? = undefined, latency: Dynamic? = undefined, channelCount: Dynamic? = undefined, deviceId: Dynamic? = undefined, groupId: Dynamic? = undefined): MediaTrackConstraints { + val o = js("({})") + o["advanced"] = advanced + o["width"] = width + o["height"] = height + o["aspectRatio"] = aspectRatio + o["frameRate"] = frameRate + o["facingMode"] = facingMode + o["resizeMode"] = resizeMode + o["volume"] = volume + o["sampleRate"] = sampleRate + o["sampleSize"] = sampleSize + o["echoCancellation"] = echoCancellation + o["autoGainControl"] = autoGainControl + o["noiseSuppression"] = noiseSuppression + o["latency"] = latency + o["channelCount"] = channelCount + o["deviceId"] = deviceId + o["groupId"] = groupId + return o as MediaTrackConstraints +} + +public external interface MediaTrackConstraintSet { + var width: Dynamic? + get() = definedExternally + set(value) = definedExternally + var height: Dynamic? + get() = definedExternally + set(value) = definedExternally + var aspectRatio: Dynamic? + get() = definedExternally + set(value) = definedExternally + var frameRate: Dynamic? + get() = definedExternally + set(value) = definedExternally + var facingMode: Dynamic? + get() = definedExternally + set(value) = definedExternally + var resizeMode: Dynamic? + get() = definedExternally + set(value) = definedExternally + var volume: Dynamic? + get() = definedExternally + set(value) = definedExternally + var sampleRate: Dynamic? + get() = definedExternally + set(value) = definedExternally + var sampleSize: Dynamic? + get() = definedExternally + set(value) = definedExternally + var echoCancellation: Dynamic? + get() = definedExternally + set(value) = definedExternally + var autoGainControl: Dynamic? + get() = definedExternally + set(value) = definedExternally + var noiseSuppression: Dynamic? + get() = definedExternally + set(value) = definedExternally + var latency: Dynamic? + get() = definedExternally + set(value) = definedExternally + var channelCount: Dynamic? + get() = definedExternally + set(value) = definedExternally + var deviceId: Dynamic? + get() = definedExternally + set(value) = definedExternally + var groupId: Dynamic? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaTrackConstraintSet(width: Dynamic? = undefined, height: Dynamic? = undefined, aspectRatio: Dynamic? = undefined, frameRate: Dynamic? = undefined, facingMode: Dynamic? = undefined, resizeMode: Dynamic? = undefined, volume: Dynamic? = undefined, sampleRate: Dynamic? = undefined, sampleSize: Dynamic? = undefined, echoCancellation: Dynamic? = undefined, autoGainControl: Dynamic? = undefined, noiseSuppression: Dynamic? = undefined, latency: Dynamic? = undefined, channelCount: Dynamic? = undefined, deviceId: Dynamic? = undefined, groupId: Dynamic? = undefined): MediaTrackConstraintSet { + val o = js("({})") + o["width"] = width + o["height"] = height + o["aspectRatio"] = aspectRatio + o["frameRate"] = frameRate + o["facingMode"] = facingMode + o["resizeMode"] = resizeMode + o["volume"] = volume + o["sampleRate"] = sampleRate + o["sampleSize"] = sampleSize + o["echoCancellation"] = echoCancellation + o["autoGainControl"] = autoGainControl + o["noiseSuppression"] = noiseSuppression + o["latency"] = latency + o["channelCount"] = channelCount + o["deviceId"] = deviceId + o["groupId"] = groupId + return o as MediaTrackConstraintSet +} + +/** + * Exposes the JavaScript [MediaTrackSettings](https://developer.mozilla.org/en/docs/Web/API/MediaTrackSettings) to Kotlin + */ +public external interface MediaTrackSettings { + var width: Int? + get() = definedExternally + set(value) = definedExternally + var height: Int? + get() = definedExternally + set(value) = definedExternally + var aspectRatio: Double? + get() = definedExternally + set(value) = definedExternally + var frameRate: Double? + get() = definedExternally + set(value) = definedExternally + var facingMode: String? + get() = definedExternally + set(value) = definedExternally + var resizeMode: String? + get() = definedExternally + set(value) = definedExternally + var volume: Double? + get() = definedExternally + set(value) = definedExternally + var sampleRate: Int? + get() = definedExternally + set(value) = definedExternally + var sampleSize: Int? + get() = definedExternally + set(value) = definedExternally + var echoCancellation: Boolean? + get() = definedExternally + set(value) = definedExternally + var autoGainControl: Boolean? + get() = definedExternally + set(value) = definedExternally + var noiseSuppression: Boolean? + get() = definedExternally + set(value) = definedExternally + var latency: Double? + get() = definedExternally + set(value) = definedExternally + var channelCount: Int? + get() = definedExternally + set(value) = definedExternally + var deviceId: String? + get() = definedExternally + set(value) = definedExternally + var groupId: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaTrackSettings(width: Int? = undefined, height: Int? = undefined, aspectRatio: Double? = undefined, frameRate: Double? = undefined, facingMode: String? = undefined, resizeMode: String? = undefined, volume: Double? = undefined, sampleRate: Int? = undefined, sampleSize: Int? = undefined, echoCancellation: Boolean? = undefined, autoGainControl: Boolean? = undefined, noiseSuppression: Boolean? = undefined, latency: Double? = undefined, channelCount: Int? = undefined, deviceId: String? = undefined, groupId: String? = undefined): MediaTrackSettings { + val o = js("({})") + o["width"] = width + o["height"] = height + o["aspectRatio"] = aspectRatio + o["frameRate"] = frameRate + o["facingMode"] = facingMode + o["resizeMode"] = resizeMode + o["volume"] = volume + o["sampleRate"] = sampleRate + o["sampleSize"] = sampleSize + o["echoCancellation"] = echoCancellation + o["autoGainControl"] = autoGainControl + o["noiseSuppression"] = noiseSuppression + o["latency"] = latency + o["channelCount"] = channelCount + o["deviceId"] = deviceId + o["groupId"] = groupId + return o as MediaTrackSettings +} + +/** + * Exposes the JavaScript [MediaStreamTrackEvent](https://developer.mozilla.org/en/docs/Web/API/MediaStreamTrackEvent) to Kotlin + */ +public external open class MediaStreamTrackEvent(type: String, eventInitDict: MediaStreamTrackEventInit) : Event { + open val track: MediaStreamTrack + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface MediaStreamTrackEventInit : EventInit { + var track: MediaStreamTrack? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaStreamTrackEventInit(track: MediaStreamTrack?, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): MediaStreamTrackEventInit { + val o = js("({})") + o["track"] = track + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as MediaStreamTrackEventInit +} + +public external open class OverconstrainedErrorEvent(type: String, eventInitDict: OverconstrainedErrorEventInit) : Event { + open val error: Dynamic? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface OverconstrainedErrorEventInit : EventInit { + var error: Dynamic? /* = null */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun OverconstrainedErrorEventInit(error: Dynamic? = null.unsafeCast(), bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): OverconstrainedErrorEventInit { + val o = js("({})") + o["error"] = error + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as OverconstrainedErrorEventInit +} + +/** + * Exposes the JavaScript [MediaDevices](https://developer.mozilla.org/en/docs/Web/API/MediaDevices) to Kotlin + */ +public external abstract class MediaDevices : EventTarget { + open var ondevicechange: ((Event) -> Dynamic?)? + fun enumerateDevices(): Promise> + fun getSupportedConstraints(): MediaTrackSupportedConstraints + fun getUserMedia(constraints: MediaStreamConstraints = definedExternally): Promise +} + +/** + * Exposes the JavaScript [MediaDeviceInfo](https://developer.mozilla.org/en/docs/Web/API/MediaDeviceInfo) to Kotlin + */ +public external abstract class MediaDeviceInfo { + open val deviceId: String + open val kind: MediaDeviceKind + open val label: String + open val groupId: String + fun toJSON(): Dynamic? +} + +public external abstract class InputDeviceInfo : MediaDeviceInfo { + fun getCapabilities(): MediaTrackCapabilities +} + +/** + * Exposes the JavaScript [MediaStreamConstraints](https://developer.mozilla.org/en/docs/Web/API/MediaStreamConstraints) to Kotlin + */ +public external interface MediaStreamConstraints { + var video: Dynamic? /* = false */ + get() = definedExternally + set(value) = definedExternally + var audio: Dynamic? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun MediaStreamConstraints(video: Dynamic? = false.unsafeCast(), audio: Dynamic? = false.unsafeCast()): MediaStreamConstraints { + val o = js("({})") + o["video"] = video + o["audio"] = audio + return o as MediaStreamConstraints +} + +public external interface ConstrainablePattern { + var onoverconstrained: ((Event) -> Dynamic?)? + get() = definedExternally + set(value) = definedExternally + fun getCapabilities(): Capabilities + fun getConstraints(): Constraints + fun getSettings(): Settings + fun applyConstraints(constraints: Constraints = definedExternally): Promise +} + +/** + * Exposes the JavaScript [DoubleRange](https://developer.mozilla.org/en/docs/Web/API/DoubleRange) to Kotlin + */ +public external interface DoubleRange { + var max: Double? + get() = definedExternally + set(value) = definedExternally + var min: Double? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun DoubleRange(max: Double? = undefined, min: Double? = undefined): DoubleRange { + val o = js("({})") + o["max"] = max + o["min"] = min + return o as DoubleRange +} + +public external interface ConstrainDoubleRange : DoubleRange { + var exact: Double? + get() = definedExternally + set(value) = definedExternally + var ideal: Double? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConstrainDoubleRange(exact: Double? = undefined, ideal: Double? = undefined, max: Double? = undefined, min: Double? = undefined): ConstrainDoubleRange { + val o = js("({})") + o["exact"] = exact + o["ideal"] = ideal + o["max"] = max + o["min"] = min + return o as ConstrainDoubleRange +} + +public external interface ULongRange { + var max: Int? + get() = definedExternally + set(value) = definedExternally + var min: Int? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ULongRange(max: Int? = undefined, min: Int? = undefined): ULongRange { + val o = js("({})") + o["max"] = max + o["min"] = min + return o as ULongRange +} + +public external interface ConstrainULongRange : ULongRange { + var exact: Int? + get() = definedExternally + set(value) = definedExternally + var ideal: Int? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConstrainULongRange(exact: Int? = undefined, ideal: Int? = undefined, max: Int? = undefined, min: Int? = undefined): ConstrainULongRange { + val o = js("({})") + o["exact"] = exact + o["ideal"] = ideal + o["max"] = max + o["min"] = min + return o as ConstrainULongRange +} + +/** + * Exposes the JavaScript [ConstrainBooleanParameters](https://developer.mozilla.org/en/docs/Web/API/ConstrainBooleanParameters) to Kotlin + */ +public external interface ConstrainBooleanParameters { + var exact: Boolean? + get() = definedExternally + set(value) = definedExternally + var ideal: Boolean? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConstrainBooleanParameters(exact: Boolean? = undefined, ideal: Boolean? = undefined): ConstrainBooleanParameters { + val o = js("({})") + o["exact"] = exact + o["ideal"] = ideal + return o as ConstrainBooleanParameters +} + +/** + * Exposes the JavaScript [ConstrainDOMStringParameters](https://developer.mozilla.org/en/docs/Web/API/ConstrainDOMStringParameters) to Kotlin + */ +public external interface ConstrainDOMStringParameters { + var exact: Dynamic? + get() = definedExternally + set(value) = definedExternally + var ideal: Dynamic? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConstrainDOMStringParameters(exact: Dynamic? = undefined, ideal: Dynamic? = undefined): ConstrainDOMStringParameters { + val o = js("({})") + o["exact"] = exact + o["ideal"] = ideal + return o as ConstrainDOMStringParameters +} + +public external interface Capabilities + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun Capabilities(): Capabilities { + val o = js("({})") + return o as Capabilities +} + +public external interface Settings + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun Settings(): Settings { + val o = js("({})") + return o as Settings +} + +public external interface ConstraintSet + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ConstraintSet(): ConstraintSet { + val o = js("({})") + return o as ConstraintSet +} + +public external interface Constraints : ConstraintSet { + var advanced: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun Constraints(advanced: Array? = undefined): Constraints { + val o = js("({})") + o["advanced"] = advanced + return o as Constraints +} + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaStreamTrackState { + companion object +} + +public inline val MediaStreamTrackState.Companion.LIVE: MediaStreamTrackState get() = "live".asDynamic().unsafeCast() + +public inline val MediaStreamTrackState.Companion.ENDED: MediaStreamTrackState get() = "ended".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface VideoFacingModeEnum { + companion object +} + +public inline val VideoFacingModeEnum.Companion.USER: VideoFacingModeEnum get() = "user".asDynamic().unsafeCast() + +public inline val VideoFacingModeEnum.Companion.ENVIRONMENT: VideoFacingModeEnum get() = "environment".asDynamic().unsafeCast() + +public inline val VideoFacingModeEnum.Companion.LEFT: VideoFacingModeEnum get() = "left".asDynamic().unsafeCast() + +public inline val VideoFacingModeEnum.Companion.RIGHT: VideoFacingModeEnum get() = "right".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface VideoResizeModeEnum { + companion object +} + +public inline val VideoResizeModeEnum.Companion.NONE: VideoResizeModeEnum get() = "none".asDynamic().unsafeCast() + +public inline val VideoResizeModeEnum.Companion.CROP_AND_SCALE: VideoResizeModeEnum get() = "crop-and-scale".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface MediaDeviceKind { + companion object +} + +public inline val MediaDeviceKind.Companion.AUDIOINPUT: MediaDeviceKind get() = "audioinput".asDynamic().unsafeCast() + +public inline val MediaDeviceKind.Companion.AUDIOOUTPUT: MediaDeviceKind get() = "audiooutput".asDynamic().unsafeCast() + +public inline val MediaDeviceKind.Companion.VIDEOINPUT: MediaDeviceKind get() = "videoinput".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt new file mode 100644 index 00000000000..cb5e70977ed --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.mediasource.kt @@ -0,0 +1,107 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.mediasource + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +/** + * Exposes the JavaScript [MediaSource](https://developer.mozilla.org/en/docs/Web/API/MediaSource) to Kotlin + */ +public external open class MediaSource : EventTarget, MediaProvider { + open val sourceBuffers: SourceBufferList + open val activeSourceBuffers: SourceBufferList + open val readyState: ReadyState + var duration: Double + var onsourceopen: ((Event) -> Dynamic?)? + var onsourceended: ((Event) -> Dynamic?)? + var onsourceclose: ((Event) -> Dynamic?)? + fun addSourceBuffer(type: String): SourceBuffer + fun removeSourceBuffer(sourceBuffer: SourceBuffer) + fun endOfStream(error: EndOfStreamError = definedExternally) + fun setLiveSeekableRange(start: Double, end: Double) + fun clearLiveSeekableRange() + + companion object { + fun isTypeSupported(type: String): Boolean + } +} + +/** + * Exposes the JavaScript [SourceBuffer](https://developer.mozilla.org/en/docs/Web/API/SourceBuffer) to Kotlin + */ +public external abstract class SourceBuffer : EventTarget { + open var mode: AppendMode + open val updating: Boolean + open val buffered: TimeRanges + open var timestampOffset: Double + open val audioTracks: AudioTrackList + open val videoTracks: VideoTrackList + open val textTracks: TextTrackList + open var appendWindowStart: Double + open var appendWindowEnd: Double + open var onupdatestart: ((Event) -> Dynamic?)? + open var onupdate: ((Event) -> Dynamic?)? + open var onupdateend: ((Event) -> Dynamic?)? + open var onerror: ((Event) -> Dynamic?)? + open var onabort: ((Event) -> Dynamic?)? + fun appendBuffer(data: Dynamic?) + fun abort() + fun remove(start: Double, end: Double) +} + +/** + * Exposes the JavaScript [SourceBufferList](https://developer.mozilla.org/en/docs/Web/API/SourceBufferList) to Kotlin + */ +public external abstract class SourceBufferList : EventTarget { + open val length: Int + open var onaddsourcebuffer: ((Event) -> Dynamic?)? + open var onremovesourcebuffer: ((Event) -> Dynamic?)? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SourceBufferList.get(index: Int): SourceBuffer? = asDynamic().getAny(index) + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ReadyState { + companion object +} + +public inline val ReadyState.Companion.CLOSED: ReadyState get() = "closed".asDynamic().unsafeCast() + +public inline val ReadyState.Companion.OPEN: ReadyState get() = "open".asDynamic().unsafeCast() + +public inline val ReadyState.Companion.ENDED: ReadyState get() = "ended".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface EndOfStreamError { + companion object +} + +public inline val EndOfStreamError.Companion.NETWORK: EndOfStreamError get() = "network".asDynamic().unsafeCast() + +public inline val EndOfStreamError.Companion.DECODE: EndOfStreamError get() = "decode".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface AppendMode { + companion object +} + +public inline val AppendMode.Companion.SEGMENTS: AppendMode get() = "segments".asDynamic().unsafeCast() + +public inline val AppendMode.Companion.SEQUENCE: AppendMode get() = "sequence".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.parsing.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.parsing.kt new file mode 100644 index 00000000000..638051b453b --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.parsing.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.parsing + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* + +/** + * Exposes the JavaScript [DOMParser](https://developer.mozilla.org/en/docs/Web/API/DOMParser) to Kotlin + */ +public external open class DOMParser { + fun parseFromString(str: String, type: Dynamic?): Document +} + +/** + * Exposes the JavaScript [XMLSerializer](https://developer.mozilla.org/en/docs/Web/API/XMLSerializer) to Kotlin + */ +public external open class XMLSerializer { + fun serializeToString(root: Node): String +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.pointerevents.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.pointerevents.kt new file mode 100644 index 00000000000..ec86b31c223 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.pointerevents.kt @@ -0,0 +1,114 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.pointerevents + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* + +public external interface PointerEventInit : MouseEventInit { + var pointerId: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var width: Double? /* = 1.0 */ + get() = definedExternally + set(value) = definedExternally + var height: Double? /* = 1.0 */ + get() = definedExternally + set(value) = definedExternally + var pressure: Float? /* = 0f */ + get() = definedExternally + set(value) = definedExternally + var tangentialPressure: Float? /* = 0f */ + get() = definedExternally + set(value) = definedExternally + var tiltX: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var tiltY: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var twist: Int? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var pointerType: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var isPrimary: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun PointerEventInit(pointerId: Int? = 0, width: Double? = 1.0, height: Double? = 1.0, pressure: Float? = 0f, tangentialPressure: Float? = 0f, tiltX: Int? = 0, tiltY: Int? = 0, twist: Int? = 0, pointerType: String? = "", isPrimary: Boolean? = false, screenX: Int? = 0, screenY: Int? = 0, clientX: Int? = 0, clientY: Int? = 0, button: Short? = 0, buttons: Short? = 0, relatedTarget: EventTarget? = null, region: String? = null, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): PointerEventInit { + val o = js("({})") + o["pointerId"] = pointerId + o["width"] = width + o["height"] = height + o["pressure"] = pressure + o["tangentialPressure"] = tangentialPressure + o["tiltX"] = tiltX + o["tiltY"] = tiltY + o["twist"] = twist + o["pointerType"] = pointerType + o["isPrimary"] = isPrimary + o["screenX"] = screenX + o["screenY"] = screenY + o["clientX"] = clientX + o["clientY"] = clientY + o["button"] = button + o["buttons"] = buttons + o["relatedTarget"] = relatedTarget + o["region"] = region + o["ctrlKey"] = ctrlKey + o["shiftKey"] = shiftKey + o["altKey"] = altKey + o["metaKey"] = metaKey + o["modifierAltGraph"] = modifierAltGraph + o["modifierCapsLock"] = modifierCapsLock + o["modifierFn"] = modifierFn + o["modifierFnLock"] = modifierFnLock + o["modifierHyper"] = modifierHyper + o["modifierNumLock"] = modifierNumLock + o["modifierScrollLock"] = modifierScrollLock + o["modifierSuper"] = modifierSuper + o["modifierSymbol"] = modifierSymbol + o["modifierSymbolLock"] = modifierSymbolLock + o["view"] = view + o["detail"] = detail + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as PointerEventInit +} + +/** + * Exposes the JavaScript [PointerEvent](https://developer.mozilla.org/en/docs/Web/API/PointerEvent) to Kotlin + */ +public external open class PointerEvent(type: String, eventInitDict: PointerEventInit = definedExternally) : MouseEvent { + open val pointerId: Int + open val width: Double + open val height: Double + open val pressure: Float + open val tangentialPressure: Float + open val tiltX: Int + open val tiltY: Int + open val twist: Int + open val pointerType: String + open val isPrimary: Boolean + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt new file mode 100644 index 00000000000..f5476c34301 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.svg.kt @@ -0,0 +1,1837 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.svg + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.css.* + +/** + * Exposes the JavaScript [SVGElement](https://developer.mozilla.org/en/docs/Web/API/SVGElement) to Kotlin + */ +public external abstract class SVGElement : Element, ElementCSSInlineStyle, GlobalEventHandlers, SVGElementInstance { + open val dataset: DOMStringMap + open val ownerSVGElement: SVGSVGElement? + open val viewportElement: SVGElement? + open var tabIndex: Int + fun focus() + fun blur() + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface SVGBoundingBoxOptions { + var fill: Boolean? /* = true */ + get() = definedExternally + set(value) = definedExternally + var stroke: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var markers: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var clipped: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun SVGBoundingBoxOptions(fill: Boolean? = true, stroke: Boolean? = false, markers: Boolean? = false, clipped: Boolean? = false): SVGBoundingBoxOptions { + val o = js("({})") + o["fill"] = fill + o["stroke"] = stroke + o["markers"] = markers + o["clipped"] = clipped + return o as SVGBoundingBoxOptions +} + +/** + * Exposes the JavaScript [SVGGraphicsElement](https://developer.mozilla.org/en/docs/Web/API/SVGGraphicsElement) to Kotlin + */ +public external abstract class SVGGraphicsElement : SVGElement, SVGTests { + open val transform: SVGAnimatedTransformList + fun getBBox(options: SVGBoundingBoxOptions = definedExternally): DOMRect + fun getCTM(): DOMMatrix? + fun getScreenCTM(): DOMMatrix? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGGeometryElement](https://developer.mozilla.org/en/docs/Web/API/SVGGeometryElement) to Kotlin + */ +public external abstract class SVGGeometryElement : SVGGraphicsElement { + open val pathLength: SVGAnimatedNumber + fun isPointInFill(point: DOMPoint): Boolean + fun isPointInStroke(point: DOMPoint): Boolean + fun getTotalLength(): Float + fun getPointAtLength(distance: Float): DOMPoint + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGNumber](https://developer.mozilla.org/en/docs/Web/API/SVGNumber) to Kotlin + */ +public external abstract class SVGNumber { + open var value: Float +} + +/** + * Exposes the JavaScript [SVGLength](https://developer.mozilla.org/en/docs/Web/API/SVGLength) to Kotlin + */ +public external abstract class SVGLength { + open val unitType: Short + open var value: Float + open var valueInSpecifiedUnits: Float + open var valueAsString: String + fun newValueSpecifiedUnits(unitType: Short, valueInSpecifiedUnits: Float) + fun convertToSpecifiedUnits(unitType: Short) + + companion object { + val SVG_LENGTHTYPE_UNKNOWN: Short + val SVG_LENGTHTYPE_NUMBER: Short + val SVG_LENGTHTYPE_PERCENTAGE: Short + val SVG_LENGTHTYPE_EMS: Short + val SVG_LENGTHTYPE_EXS: Short + val SVG_LENGTHTYPE_PX: Short + val SVG_LENGTHTYPE_CM: Short + val SVG_LENGTHTYPE_MM: Short + val SVG_LENGTHTYPE_IN: Short + val SVG_LENGTHTYPE_PT: Short + val SVG_LENGTHTYPE_PC: Short + } +} + +/** + * Exposes the JavaScript [SVGAngle](https://developer.mozilla.org/en/docs/Web/API/SVGAngle) to Kotlin + */ +public external abstract class SVGAngle { + open val unitType: Short + open var value: Float + open var valueInSpecifiedUnits: Float + open var valueAsString: String + fun newValueSpecifiedUnits(unitType: Short, valueInSpecifiedUnits: Float) + fun convertToSpecifiedUnits(unitType: Short) + + companion object { + val SVG_ANGLETYPE_UNKNOWN: Short + val SVG_ANGLETYPE_UNSPECIFIED: Short + val SVG_ANGLETYPE_DEG: Short + val SVG_ANGLETYPE_RAD: Short + val SVG_ANGLETYPE_GRAD: Short + } +} + +public external abstract class SVGNameList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: Dynamic?): Dynamic? + fun insertItemBefore(newItem: Dynamic?, index: Int): Dynamic? + fun replaceItem(newItem: Dynamic?, index: Int): Dynamic? + fun removeItem(index: Int): Dynamic? + fun appendItem(newItem: Dynamic?): Dynamic? + fun getItem(index: Int): Dynamic? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGNameList.get(index: Int): Dynamic? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGNameList.set(index: Int, newItem: Dynamic?) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGNumberList](https://developer.mozilla.org/en/docs/Web/API/SVGNumberList) to Kotlin + */ +public external abstract class SVGNumberList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: SVGNumber): SVGNumber + fun insertItemBefore(newItem: SVGNumber, index: Int): SVGNumber + fun replaceItem(newItem: SVGNumber, index: Int): SVGNumber + fun removeItem(index: Int): SVGNumber + fun appendItem(newItem: SVGNumber): SVGNumber + fun getItem(index: Int): SVGNumber +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGNumberList.get(index: Int): SVGNumber? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGNumberList.set(index: Int, newItem: SVGNumber) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGLengthList](https://developer.mozilla.org/en/docs/Web/API/SVGLengthList) to Kotlin + */ +public external abstract class SVGLengthList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: SVGLength): SVGLength + fun insertItemBefore(newItem: SVGLength, index: Int): SVGLength + fun replaceItem(newItem: SVGLength, index: Int): SVGLength + fun removeItem(index: Int): SVGLength + fun appendItem(newItem: SVGLength): SVGLength + fun getItem(index: Int): SVGLength +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGLengthList.get(index: Int): SVGLength? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGLengthList.set(index: Int, newItem: SVGLength) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGAnimatedBoolean](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedBoolean) to Kotlin + */ +public external abstract class SVGAnimatedBoolean { + open var baseVal: Boolean + open val animVal: Boolean +} + +/** + * Exposes the JavaScript [SVGAnimatedEnumeration](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedEnumeration) to Kotlin + */ +public external abstract class SVGAnimatedEnumeration { + open var baseVal: Short + open val animVal: Short +} + +/** + * Exposes the JavaScript [SVGAnimatedInteger](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedInteger) to Kotlin + */ +public external abstract class SVGAnimatedInteger { + open var baseVal: Int + open val animVal: Int +} + +/** + * Exposes the JavaScript [SVGAnimatedNumber](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedNumber) to Kotlin + */ +public external abstract class SVGAnimatedNumber { + open var baseVal: Float + open val animVal: Float +} + +/** + * Exposes the JavaScript [SVGAnimatedLength](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedLength) to Kotlin + */ +public external abstract class SVGAnimatedLength { + open val baseVal: SVGLength + open val animVal: SVGLength +} + +/** + * Exposes the JavaScript [SVGAnimatedAngle](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedAngle) to Kotlin + */ +public external abstract class SVGAnimatedAngle { + open val baseVal: SVGAngle + open val animVal: SVGAngle +} + +/** + * Exposes the JavaScript [SVGAnimatedString](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedString) to Kotlin + */ +public external abstract class SVGAnimatedString { + open var baseVal: String + open val animVal: String +} + +/** + * Exposes the JavaScript [SVGAnimatedRect](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedRect) to Kotlin + */ +public external abstract class SVGAnimatedRect { + open val baseVal: DOMRect + open val animVal: DOMRectReadOnly +} + +/** + * Exposes the JavaScript [SVGAnimatedNumberList](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedNumberList) to Kotlin + */ +public external abstract class SVGAnimatedNumberList { + open val baseVal: SVGNumberList + open val animVal: SVGNumberList +} + +/** + * Exposes the JavaScript [SVGAnimatedLengthList](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedLengthList) to Kotlin + */ +public external abstract class SVGAnimatedLengthList { + open val baseVal: SVGLengthList + open val animVal: SVGLengthList +} + +/** + * Exposes the JavaScript [SVGStringList](https://developer.mozilla.org/en/docs/Web/API/SVGStringList) to Kotlin + */ +public external abstract class SVGStringList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: String): String + fun insertItemBefore(newItem: String, index: Int): String + fun replaceItem(newItem: String, index: Int): String + fun removeItem(index: Int): String + fun appendItem(newItem: String): String + fun getItem(index: Int): String +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGStringList.get(index: Int): String? = asDynamic().getString(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGStringList.set(index: Int, newItem: String) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGUnitTypes](https://developer.mozilla.org/en/docs/Web/API/SVGUnitTypes) to Kotlin + */ +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface SVGUnitTypes { + companion object { + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + } +} + +/** + * Exposes the JavaScript [SVGTests](https://developer.mozilla.org/en/docs/Web/API/SVGTests) to Kotlin + */ +public external interface SVGTests { + val requiredExtensions: SVGStringList + val systemLanguage: SVGStringList +} + +public external interface SVGFitToViewBox { + val viewBox: SVGAnimatedRect + val preserveAspectRatio: SVGAnimatedPreserveAspectRatio +} + +/** + * Exposes the JavaScript [SVGZoomAndPan](https://developer.mozilla.org/en/docs/Web/API/SVGZoomAndPan) to Kotlin + */ +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface SVGZoomAndPan { + var zoomAndPan: Short + + companion object { + val SVG_ZOOMANDPAN_UNKNOWN: Short + val SVG_ZOOMANDPAN_DISABLE: Short + val SVG_ZOOMANDPAN_MAGNIFY: Short + } +} + +/** + * Exposes the JavaScript [SVGURIReference](https://developer.mozilla.org/en/docs/Web/API/SVGURIReference) to Kotlin + */ +public external interface SVGURIReference { + val href: SVGAnimatedString +} + +/** + * Exposes the JavaScript [SVGSVGElement](https://developer.mozilla.org/en/docs/Web/API/SVGSVGElement) to Kotlin + */ +public external abstract class SVGSVGElement : SVGGraphicsElement, SVGFitToViewBox, SVGZoomAndPan, WindowEventHandlers { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + open var currentScale: Float + open val currentTranslate: DOMPointReadOnly + fun getIntersectionList(rect: DOMRectReadOnly, referenceElement: SVGElement?): NodeList + fun getEnclosureList(rect: DOMRectReadOnly, referenceElement: SVGElement?): NodeList + fun checkIntersection(element: SVGElement, rect: DOMRectReadOnly): Boolean + fun checkEnclosure(element: SVGElement, rect: DOMRectReadOnly): Boolean + fun deselectAll() + fun createSVGNumber(): SVGNumber + fun createSVGLength(): SVGLength + fun createSVGAngle(): SVGAngle + fun createSVGPoint(): DOMPoint + fun createSVGMatrix(): DOMMatrix + fun createSVGRect(): DOMRect + fun createSVGTransform(): SVGTransform + fun createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform + fun getElementById(elementId: String): Element + fun suspendRedraw(maxWaitMilliseconds: Int): Int + fun unsuspendRedraw(suspendHandleID: Int) + fun unsuspendRedrawAll() + fun forceRedraw() + + companion object { + val SVG_ZOOMANDPAN_UNKNOWN: Short + val SVG_ZOOMANDPAN_DISABLE: Short + val SVG_ZOOMANDPAN_MAGNIFY: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGGElement](https://developer.mozilla.org/en/docs/Web/API/SVGGElement) to Kotlin + */ +public external abstract class SVGGElement : SVGGraphicsElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGUnknownElement : SVGGraphicsElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGDefsElement](https://developer.mozilla.org/en/docs/Web/API/SVGDefsElement) to Kotlin + */ +public external abstract class SVGDefsElement : SVGGraphicsElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGDescElement](https://developer.mozilla.org/en/docs/Web/API/SVGDescElement) to Kotlin + */ +public external abstract class SVGDescElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGMetadataElement](https://developer.mozilla.org/en/docs/Web/API/SVGMetadataElement) to Kotlin + */ +public external abstract class SVGMetadataElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTitleElement](https://developer.mozilla.org/en/docs/Web/API/SVGTitleElement) to Kotlin + */ +public external abstract class SVGTitleElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGSymbolElement](https://developer.mozilla.org/en/docs/Web/API/SVGSymbolElement) to Kotlin + */ +public external abstract class SVGSymbolElement : SVGGraphicsElement, SVGFitToViewBox { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGUseElement](https://developer.mozilla.org/en/docs/Web/API/SVGUseElement) to Kotlin + */ +public external abstract class SVGUseElement : SVGGraphicsElement, SVGURIReference { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + open val instanceRoot: SVGElement? + open val animatedInstanceRoot: SVGElement? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external open class SVGUseElementShadowRoot : ShadowRoot { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface SVGElementInstance { + val correspondingElement: SVGElement? + get() = definedExternally + val correspondingUseElement: SVGUseElement? + get() = definedExternally +} + +public external open class ShadowAnimation(source: Dynamic?, newTarget: Dynamic?) { + open val sourceAnimation: Dynamic? +} + +/** + * Exposes the JavaScript [SVGSwitchElement](https://developer.mozilla.org/en/docs/Web/API/SVGSwitchElement) to Kotlin + */ +public external abstract class SVGSwitchElement : SVGGraphicsElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external interface GetSVGDocument { + fun getSVGDocument(): Document +} + +/** + * Exposes the JavaScript [SVGStyleElement](https://developer.mozilla.org/en/docs/Web/API/SVGStyleElement) to Kotlin + */ +public external abstract class SVGStyleElement : SVGElement, LinkStyle { + open var type: String + open var media: String + open var title: String + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTransform](https://developer.mozilla.org/en/docs/Web/API/SVGTransform) to Kotlin + */ +public external abstract class SVGTransform { + open val type: Short + open val matrix: DOMMatrix + open val angle: Float + fun setMatrix(matrix: DOMMatrixReadOnly) + fun setTranslate(tx: Float, ty: Float) + fun setScale(sx: Float, sy: Float) + fun setRotate(angle: Float, cx: Float, cy: Float) + fun setSkewX(angle: Float) + fun setSkewY(angle: Float) + + companion object { + val SVG_TRANSFORM_UNKNOWN: Short + val SVG_TRANSFORM_MATRIX: Short + val SVG_TRANSFORM_TRANSLATE: Short + val SVG_TRANSFORM_SCALE: Short + val SVG_TRANSFORM_ROTATE: Short + val SVG_TRANSFORM_SKEWX: Short + val SVG_TRANSFORM_SKEWY: Short + } +} + +/** + * Exposes the JavaScript [SVGTransformList](https://developer.mozilla.org/en/docs/Web/API/SVGTransformList) to Kotlin + */ +public external abstract class SVGTransformList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: SVGTransform): SVGTransform + fun insertItemBefore(newItem: SVGTransform, index: Int): SVGTransform + fun replaceItem(newItem: SVGTransform, index: Int): SVGTransform + fun removeItem(index: Int): SVGTransform + fun appendItem(newItem: SVGTransform): SVGTransform + fun createSVGTransformFromMatrix(matrix: DOMMatrixReadOnly): SVGTransform + fun consolidate(): SVGTransform? + fun getItem(index: Int): SVGTransform +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGTransformList.get(index: Int): SVGTransform? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGTransformList.set(index: Int, newItem: SVGTransform) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGAnimatedTransformList](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedTransformList) to Kotlin + */ +public external abstract class SVGAnimatedTransformList { + open val baseVal: SVGTransformList + open val animVal: SVGTransformList +} + +/** + * Exposes the JavaScript [SVGPreserveAspectRatio](https://developer.mozilla.org/en/docs/Web/API/SVGPreserveAspectRatio) to Kotlin + */ +public external abstract class SVGPreserveAspectRatio { + open var align: Short + open var meetOrSlice: Short + + companion object { + val SVG_PRESERVEASPECTRATIO_UNKNOWN: Short + val SVG_PRESERVEASPECTRATIO_NONE: Short + val SVG_PRESERVEASPECTRATIO_XMINYMIN: Short + val SVG_PRESERVEASPECTRATIO_XMIDYMIN: Short + val SVG_PRESERVEASPECTRATIO_XMAXYMIN: Short + val SVG_PRESERVEASPECTRATIO_XMINYMID: Short + val SVG_PRESERVEASPECTRATIO_XMIDYMID: Short + val SVG_PRESERVEASPECTRATIO_XMAXYMID: Short + val SVG_PRESERVEASPECTRATIO_XMINYMAX: Short + val SVG_PRESERVEASPECTRATIO_XMIDYMAX: Short + val SVG_PRESERVEASPECTRATIO_XMAXYMAX: Short + val SVG_MEETORSLICE_UNKNOWN: Short + val SVG_MEETORSLICE_MEET: Short + val SVG_MEETORSLICE_SLICE: Short + } +} + +/** + * Exposes the JavaScript [SVGAnimatedPreserveAspectRatio](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedPreserveAspectRatio) to Kotlin + */ +public external abstract class SVGAnimatedPreserveAspectRatio { + open val baseVal: SVGPreserveAspectRatio + open val animVal: SVGPreserveAspectRatio +} + +/** + * Exposes the JavaScript [SVGPathElement](https://developer.mozilla.org/en/docs/Web/API/SVGPathElement) to Kotlin + */ +public external abstract class SVGPathElement : SVGGeometryElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGRectElement](https://developer.mozilla.org/en/docs/Web/API/SVGRectElement) to Kotlin + */ +public external abstract class SVGRectElement : SVGGeometryElement { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + open val rx: SVGAnimatedLength + open val ry: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGCircleElement](https://developer.mozilla.org/en/docs/Web/API/SVGCircleElement) to Kotlin + */ +public external abstract class SVGCircleElement : SVGGeometryElement { + open val cx: SVGAnimatedLength + open val cy: SVGAnimatedLength + open val r: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGEllipseElement](https://developer.mozilla.org/en/docs/Web/API/SVGEllipseElement) to Kotlin + */ +public external abstract class SVGEllipseElement : SVGGeometryElement { + open val cx: SVGAnimatedLength + open val cy: SVGAnimatedLength + open val rx: SVGAnimatedLength + open val ry: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGLineElement](https://developer.mozilla.org/en/docs/Web/API/SVGLineElement) to Kotlin + */ +public external abstract class SVGLineElement : SVGGeometryElement { + open val x1: SVGAnimatedLength + open val y1: SVGAnimatedLength + open val x2: SVGAnimatedLength + open val y2: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGMeshElement](https://developer.mozilla.org/en/docs/Web/API/SVGMeshElement) to Kotlin + */ +public external abstract class SVGMeshElement : SVGGeometryElement, SVGURIReference { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGAnimatedPoints](https://developer.mozilla.org/en/docs/Web/API/SVGAnimatedPoints) to Kotlin + */ +public external interface SVGAnimatedPoints { + val points: SVGPointList + val animatedPoints: SVGPointList +} + +public external abstract class SVGPointList { + open val length: Int + open val numberOfItems: Int + fun clear() + fun initialize(newItem: DOMPoint): DOMPoint + fun insertItemBefore(newItem: DOMPoint, index: Int): DOMPoint + fun replaceItem(newItem: DOMPoint, index: Int): DOMPoint + fun removeItem(index: Int): DOMPoint + fun appendItem(newItem: DOMPoint): DOMPoint + fun getItem(index: Int): DOMPoint +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGPointList.get(index: Int): DOMPoint? = asDynamic().getAny(index) + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun SVGPointList.set(index: Int, newItem: DOMPoint) { asDynamic()[index] = newItem } + +/** + * Exposes the JavaScript [SVGPolylineElement](https://developer.mozilla.org/en/docs/Web/API/SVGPolylineElement) to Kotlin + */ +public external abstract class SVGPolylineElement : SVGGeometryElement, SVGAnimatedPoints { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGPolygonElement](https://developer.mozilla.org/en/docs/Web/API/SVGPolygonElement) to Kotlin + */ +public external abstract class SVGPolygonElement : SVGGeometryElement, SVGAnimatedPoints { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTextContentElement](https://developer.mozilla.org/en/docs/Web/API/SVGTextContentElement) to Kotlin + */ +public external abstract class SVGTextContentElement : SVGGraphicsElement { + open val textLength: SVGAnimatedLength + open val lengthAdjust: SVGAnimatedEnumeration + fun getNumberOfChars(): Int + fun getComputedTextLength(): Float + fun getSubStringLength(charnum: Int, nchars: Int): Float + fun getStartPositionOfChar(charnum: Int): DOMPoint + fun getEndPositionOfChar(charnum: Int): DOMPoint + fun getExtentOfChar(charnum: Int): DOMRect + fun getRotationOfChar(charnum: Int): Float + fun getCharNumAtPosition(point: DOMPoint): Int + fun selectSubString(charnum: Int, nchars: Int) + + companion object { + val LENGTHADJUST_UNKNOWN: Short + val LENGTHADJUST_SPACING: Short + val LENGTHADJUST_SPACINGANDGLYPHS: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTextPositioningElement](https://developer.mozilla.org/en/docs/Web/API/SVGTextPositioningElement) to Kotlin + */ +public external abstract class SVGTextPositioningElement : SVGTextContentElement { + open val x: SVGAnimatedLengthList + open val y: SVGAnimatedLengthList + open val dx: SVGAnimatedLengthList + open val dy: SVGAnimatedLengthList + open val rotate: SVGAnimatedNumberList + + companion object { + val LENGTHADJUST_UNKNOWN: Short + val LENGTHADJUST_SPACING: Short + val LENGTHADJUST_SPACINGANDGLYPHS: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTextElement](https://developer.mozilla.org/en/docs/Web/API/SVGTextElement) to Kotlin + */ +public external abstract class SVGTextElement : SVGTextPositioningElement { + companion object { + val LENGTHADJUST_UNKNOWN: Short + val LENGTHADJUST_SPACING: Short + val LENGTHADJUST_SPACINGANDGLYPHS: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTSpanElement](https://developer.mozilla.org/en/docs/Web/API/SVGTSpanElement) to Kotlin + */ +public external abstract class SVGTSpanElement : SVGTextPositioningElement { + companion object { + val LENGTHADJUST_UNKNOWN: Short + val LENGTHADJUST_SPACING: Short + val LENGTHADJUST_SPACINGANDGLYPHS: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGTextPathElement](https://developer.mozilla.org/en/docs/Web/API/SVGTextPathElement) to Kotlin + */ +public external abstract class SVGTextPathElement : SVGTextContentElement, SVGURIReference { + open val startOffset: SVGAnimatedLength + open val method: SVGAnimatedEnumeration + open val spacing: SVGAnimatedEnumeration + + companion object { + val TEXTPATH_METHODTYPE_UNKNOWN: Short + val TEXTPATH_METHODTYPE_ALIGN: Short + val TEXTPATH_METHODTYPE_STRETCH: Short + val TEXTPATH_SPACINGTYPE_UNKNOWN: Short + val TEXTPATH_SPACINGTYPE_AUTO: Short + val TEXTPATH_SPACINGTYPE_EXACT: Short + val LENGTHADJUST_UNKNOWN: Short + val LENGTHADJUST_SPACING: Short + val LENGTHADJUST_SPACINGANDGLYPHS: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGImageElement](https://developer.mozilla.org/en/docs/Web/API/SVGImageElement) to Kotlin + */ +public external abstract class SVGImageElement : SVGGraphicsElement, SVGURIReference, HTMLOrSVGImageElement { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + open val preserveAspectRatio: SVGAnimatedPreserveAspectRatio + open var crossOrigin: String? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGForeignObjectElement](https://developer.mozilla.org/en/docs/Web/API/SVGForeignObjectElement) to Kotlin + */ +public external abstract class SVGForeignObjectElement : SVGGraphicsElement { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGMarkerElement : SVGElement, SVGFitToViewBox { + open val refX: SVGAnimatedLength + open val refY: SVGAnimatedLength + open val markerUnits: SVGAnimatedEnumeration + open val markerWidth: SVGAnimatedLength + open val markerHeight: SVGAnimatedLength + open val orientType: SVGAnimatedEnumeration + open val orientAngle: SVGAnimatedAngle + open var orient: String + fun setOrientToAuto() + fun setOrientToAngle(angle: SVGAngle) + + companion object { + val SVG_MARKERUNITS_UNKNOWN: Short + val SVG_MARKERUNITS_USERSPACEONUSE: Short + val SVG_MARKERUNITS_STROKEWIDTH: Short + val SVG_MARKER_ORIENT_UNKNOWN: Short + val SVG_MARKER_ORIENT_AUTO: Short + val SVG_MARKER_ORIENT_ANGLE: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGSolidcolorElement](https://developer.mozilla.org/en/docs/Web/API/SVGSolidcolorElement) to Kotlin + */ +public external abstract class SVGSolidcolorElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGGradientElement](https://developer.mozilla.org/en/docs/Web/API/SVGGradientElement) to Kotlin + */ +public external abstract class SVGGradientElement : SVGElement, SVGURIReference, SVGUnitTypes { + open val gradientUnits: SVGAnimatedEnumeration + open val gradientTransform: SVGAnimatedTransformList + open val spreadMethod: SVGAnimatedEnumeration + + companion object { + val SVG_SPREADMETHOD_UNKNOWN: Short + val SVG_SPREADMETHOD_PAD: Short + val SVG_SPREADMETHOD_REFLECT: Short + val SVG_SPREADMETHOD_REPEAT: Short + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGLinearGradientElement](https://developer.mozilla.org/en/docs/Web/API/SVGLinearGradientElement) to Kotlin + */ +public external abstract class SVGLinearGradientElement : SVGGradientElement { + open val x1: SVGAnimatedLength + open val y1: SVGAnimatedLength + open val x2: SVGAnimatedLength + open val y2: SVGAnimatedLength + + companion object { + val SVG_SPREADMETHOD_UNKNOWN: Short + val SVG_SPREADMETHOD_PAD: Short + val SVG_SPREADMETHOD_REFLECT: Short + val SVG_SPREADMETHOD_REPEAT: Short + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGRadialGradientElement](https://developer.mozilla.org/en/docs/Web/API/SVGRadialGradientElement) to Kotlin + */ +public external abstract class SVGRadialGradientElement : SVGGradientElement { + open val cx: SVGAnimatedLength + open val cy: SVGAnimatedLength + open val r: SVGAnimatedLength + open val fx: SVGAnimatedLength + open val fy: SVGAnimatedLength + open val fr: SVGAnimatedLength + + companion object { + val SVG_SPREADMETHOD_UNKNOWN: Short + val SVG_SPREADMETHOD_PAD: Short + val SVG_SPREADMETHOD_REFLECT: Short + val SVG_SPREADMETHOD_REPEAT: Short + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGMeshGradientElement : SVGGradientElement { + companion object { + val SVG_SPREADMETHOD_UNKNOWN: Short + val SVG_SPREADMETHOD_PAD: Short + val SVG_SPREADMETHOD_REFLECT: Short + val SVG_SPREADMETHOD_REPEAT: Short + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGMeshrowElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGMeshpatchElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGStopElement](https://developer.mozilla.org/en/docs/Web/API/SVGStopElement) to Kotlin + */ +public external abstract class SVGStopElement : SVGElement { + open val offset: SVGAnimatedNumber + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGPatternElement](https://developer.mozilla.org/en/docs/Web/API/SVGPatternElement) to Kotlin + */ +public external abstract class SVGPatternElement : SVGElement, SVGFitToViewBox, SVGURIReference, SVGUnitTypes { + open val patternUnits: SVGAnimatedEnumeration + open val patternContentUnits: SVGAnimatedEnumeration + open val patternTransform: SVGAnimatedTransformList + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + open val width: SVGAnimatedLength + open val height: SVGAnimatedLength + + companion object { + val SVG_UNIT_TYPE_UNKNOWN: Short + val SVG_UNIT_TYPE_USERSPACEONUSE: Short + val SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGHatchElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +public external abstract class SVGHatchpathElement : SVGElement { + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGCursorElement](https://developer.mozilla.org/en/docs/Web/API/SVGCursorElement) to Kotlin + */ +public external abstract class SVGCursorElement : SVGElement, SVGURIReference { + open val x: SVGAnimatedLength + open val y: SVGAnimatedLength + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGScriptElement](https://developer.mozilla.org/en/docs/Web/API/SVGScriptElement) to Kotlin + */ +public external abstract class SVGScriptElement : SVGElement, SVGURIReference, HTMLOrSVGScriptElement { + open var type: String + open var crossOrigin: String? + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGAElement](https://developer.mozilla.org/en/docs/Web/API/SVGAElement) to Kotlin + */ +public external abstract class SVGAElement : SVGGraphicsElement, SVGURIReference { + open val target: SVGAnimatedString + open val download: SVGAnimatedString + open val rel: SVGAnimatedString + open val relList: SVGAnimatedString + open val hreflang: SVGAnimatedString + open val type: SVGAnimatedString + + companion object { + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} + +/** + * Exposes the JavaScript [SVGViewElement](https://developer.mozilla.org/en/docs/Web/API/SVGViewElement) to Kotlin + */ +public external abstract class SVGViewElement : SVGElement, SVGFitToViewBox, SVGZoomAndPan { + companion object { + val SVG_ZOOMANDPAN_UNKNOWN: Short + val SVG_ZOOMANDPAN_DISABLE: Short + val SVG_ZOOMANDPAN_MAGNIFY: Short + val ELEMENT_NODE: Short + val ATTRIBUTE_NODE: Short + val TEXT_NODE: Short + val CDATA_SECTION_NODE: Short + val ENTITY_REFERENCE_NODE: Short + val ENTITY_NODE: Short + val PROCESSING_INSTRUCTION_NODE: Short + val COMMENT_NODE: Short + val DOCUMENT_NODE: Short + val DOCUMENT_TYPE_NODE: Short + val DOCUMENT_FRAGMENT_NODE: Short + val NOTATION_NODE: Short + val DOCUMENT_POSITION_DISCONNECTED: Short + val DOCUMENT_POSITION_PRECEDING: Short + val DOCUMENT_POSITION_FOLLOWING: Short + val DOCUMENT_POSITION_CONTAINS: Short + val DOCUMENT_POSITION_CONTAINED_BY: Short + val DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: Short + } +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.url.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.url.kt new file mode 100644 index 00000000000..9ecbde5173b --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.dom.url.kt @@ -0,0 +1,53 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.dom.url + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.mediasource.* +import org.w3c.files.* + +/** + * Exposes the JavaScript [URL](https://developer.mozilla.org/en/docs/Web/API/URL) to Kotlin + */ +public external open class URL(url: String, base: String = definedExternally) { + var href: String + open val origin: String + var protocol: String + var username: String + var password: String + var host: String + var hostname: String + var port: String + var pathname: String + var search: String + open val searchParams: URLSearchParams + var hash: String + + companion object { + fun domainToASCII(domain: String): String + fun domainToUnicode(domain: String): String + fun createObjectURL(mediaSource: MediaSource): String + fun createObjectURL(blob: Blob): String + fun createFor(blob: Blob): String + fun revokeObjectURL(url: String) + } +} + +/** + * Exposes the JavaScript [URLSearchParams](https://developer.mozilla.org/en/docs/Web/API/URLSearchParams) to Kotlin + */ +public external open class URLSearchParams(init: Dynamic? = definedExternally) { + fun append(name: String, value: String) + fun delete(name: String) + fun get(name: String): String? + fun getAll(name: String): Array + fun has(name: String): Boolean + fun set(name: String, value: String) +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt new file mode 100644 index 00000000000..c9c8c254665 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.fetch.kt @@ -0,0 +1,309 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.fetch + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.files.* +import org.w3c.xhr.* + +/** + * Exposes the JavaScript [Headers](https://developer.mozilla.org/en/docs/Web/API/Headers) to Kotlin + */ +public external open class Headers(init: Dynamic? = definedExternally) { + fun append(name: String, value: String) + fun delete(name: String) + fun get(name: String): String? + fun has(name: String): Boolean + fun set(name: String, value: String) +} + +/** + * Exposes the JavaScript [Body](https://developer.mozilla.org/en/docs/Web/API/Body) to Kotlin + */ +public external interface Body { + val bodyUsed: Boolean + fun arrayBuffer(): Promise + fun blob(): Promise + fun formData(): Promise + fun json(): Promise + fun text(): Promise +} + +/** + * Exposes the JavaScript [Request](https://developer.mozilla.org/en/docs/Web/API/Request) to Kotlin + */ +public external open class Request(input: Dynamic?, init: RequestInit = definedExternally) : Body { + open val method: String + open val url: String + open val headers: Headers + open val type: RequestType + open val destination: RequestDestination + open val referrer: String + open val referrerPolicy: Dynamic? + open val mode: RequestMode + open val credentials: RequestCredentials + open val cache: RequestCache + open val redirect: RequestRedirect + open val integrity: String + open val keepalive: Boolean + override val bodyUsed: Boolean + fun clone(): Request + override fun arrayBuffer(): Promise + override fun blob(): Promise + override fun formData(): Promise + override fun json(): Promise + override fun text(): Promise +} + +public external interface RequestInit { + var method: String? + get() = definedExternally + set(value) = definedExternally + var headers: Dynamic? + get() = definedExternally + set(value) = definedExternally + var body: Dynamic? + get() = definedExternally + set(value) = definedExternally + var referrer: String? + get() = definedExternally + set(value) = definedExternally + var referrerPolicy: Dynamic? + get() = definedExternally + set(value) = definedExternally + var mode: RequestMode? + get() = definedExternally + set(value) = definedExternally + var credentials: RequestCredentials? + get() = definedExternally + set(value) = definedExternally + var cache: RequestCache? + get() = definedExternally + set(value) = definedExternally + var redirect: RequestRedirect? + get() = definedExternally + set(value) = definedExternally + var integrity: String? + get() = definedExternally + set(value) = definedExternally + var keepalive: Boolean? + get() = definedExternally + set(value) = definedExternally + var window: Any? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun RequestInit(method: String? = undefined, headers: Dynamic? = undefined, body: Dynamic? = undefined, referrer: String? = undefined, referrerPolicy: Dynamic? = undefined, mode: RequestMode? = undefined, credentials: RequestCredentials? = undefined, cache: RequestCache? = undefined, redirect: RequestRedirect? = undefined, integrity: String? = undefined, keepalive: Boolean? = undefined, window: Any? = undefined): RequestInit { + val o = js("({})") + o["method"] = method + o["headers"] = headers + o["body"] = body + o["referrer"] = referrer + o["referrerPolicy"] = referrerPolicy + o["mode"] = mode + o["credentials"] = credentials + o["cache"] = cache + o["redirect"] = redirect + o["integrity"] = integrity + o["keepalive"] = keepalive + o["window"] = window + return o as RequestInit +} + +/** + * Exposes the JavaScript [Response](https://developer.mozilla.org/en/docs/Web/API/Response) to Kotlin + */ +public external open class Response(body: Dynamic? = definedExternally, init: ResponseInit = definedExternally) : Body { + open val type: ResponseType + open val url: String + open val redirected: Boolean + open val status: Short + open val ok: Boolean + open val statusText: String + open val headers: Headers + open val body: Dynamic? + open val trailer: Promise + override val bodyUsed: Boolean + fun clone(): Response + override fun arrayBuffer(): Promise + override fun blob(): Promise + override fun formData(): Promise + override fun json(): Promise + override fun text(): Promise + + companion object { + fun error(): Response + fun redirect(url: String, status: Short = definedExternally): Response + } +} + +public external interface ResponseInit { + var status: Short? /* = 200 */ + get() = definedExternally + set(value) = definedExternally + var statusText: String? /* = "OK" */ + get() = definedExternally + set(value) = definedExternally + var headers: Dynamic? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ResponseInit(status: Short? = 200, statusText: String? = "OK", headers: Dynamic? = undefined): ResponseInit { + val o = js("({})") + o["status"] = status + o["statusText"] = statusText + o["headers"] = headers + return o as ResponseInit +} + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestType { + companion object +} + +public inline val RequestType.Companion.EMPTY: RequestType get() = "".asDynamic().unsafeCast() + +public inline val RequestType.Companion.AUDIO: RequestType get() = "audio".asDynamic().unsafeCast() + +public inline val RequestType.Companion.FONT: RequestType get() = "font".asDynamic().unsafeCast() + +public inline val RequestType.Companion.IMAGE: RequestType get() = "image".asDynamic().unsafeCast() + +public inline val RequestType.Companion.SCRIPT: RequestType get() = "script".asDynamic().unsafeCast() + +public inline val RequestType.Companion.STYLE: RequestType get() = "style".asDynamic().unsafeCast() + +public inline val RequestType.Companion.TRACK: RequestType get() = "track".asDynamic().unsafeCast() + +public inline val RequestType.Companion.VIDEO: RequestType get() = "video".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestDestination { + companion object +} + +public inline val RequestDestination.Companion.EMPTY: RequestDestination get() = "".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.DOCUMENT: RequestDestination get() = "document".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.EMBED: RequestDestination get() = "embed".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.FONT: RequestDestination get() = "font".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.IMAGE: RequestDestination get() = "image".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.MANIFEST: RequestDestination get() = "manifest".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.MEDIA: RequestDestination get() = "media".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.OBJECT: RequestDestination get() = "object".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.REPORT: RequestDestination get() = "report".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.SCRIPT: RequestDestination get() = "script".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.SERVICEWORKER: RequestDestination get() = "serviceworker".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.SHAREDWORKER: RequestDestination get() = "sharedworker".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.STYLE: RequestDestination get() = "style".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.WORKER: RequestDestination get() = "worker".asDynamic().unsafeCast() + +public inline val RequestDestination.Companion.XSLT: RequestDestination get() = "xslt".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestMode { + companion object +} + +public inline val RequestMode.Companion.NAVIGATE: RequestMode get() = "navigate".asDynamic().unsafeCast() + +public inline val RequestMode.Companion.SAME_ORIGIN: RequestMode get() = "same-origin".asDynamic().unsafeCast() + +public inline val RequestMode.Companion.NO_CORS: RequestMode get() = "no-cors".asDynamic().unsafeCast() + +public inline val RequestMode.Companion.CORS: RequestMode get() = "cors".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestCredentials { + companion object +} + +public inline val RequestCredentials.Companion.OMIT: RequestCredentials get() = "omit".asDynamic().unsafeCast() + +public inline val RequestCredentials.Companion.SAME_ORIGIN: RequestCredentials get() = "same-origin".asDynamic().unsafeCast() + +public inline val RequestCredentials.Companion.INCLUDE: RequestCredentials get() = "include".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestCache { + companion object +} + +public inline val RequestCache.Companion.DEFAULT: RequestCache get() = "default".asDynamic().unsafeCast() + +public inline val RequestCache.Companion.NO_STORE: RequestCache get() = "no-store".asDynamic().unsafeCast() + +public inline val RequestCache.Companion.RELOAD: RequestCache get() = "reload".asDynamic().unsafeCast() + +public inline val RequestCache.Companion.NO_CACHE: RequestCache get() = "no-cache".asDynamic().unsafeCast() + +public inline val RequestCache.Companion.FORCE_CACHE: RequestCache get() = "force-cache".asDynamic().unsafeCast() + +public inline val RequestCache.Companion.ONLY_IF_CACHED: RequestCache get() = "only-if-cached".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface RequestRedirect { + companion object +} + +public inline val RequestRedirect.Companion.FOLLOW: RequestRedirect get() = "follow".asDynamic().unsafeCast() + +public inline val RequestRedirect.Companion.ERROR: RequestRedirect get() = "error".asDynamic().unsafeCast() + +public inline val RequestRedirect.Companion.MANUAL: RequestRedirect get() = "manual".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ResponseType { + companion object +} + +public inline val ResponseType.Companion.BASIC: ResponseType get() = "basic".asDynamic().unsafeCast() + +public inline val ResponseType.Companion.CORS: ResponseType get() = "cors".asDynamic().unsafeCast() + +public inline val ResponseType.Companion.DEFAULT: ResponseType get() = "default".asDynamic().unsafeCast() + +public inline val ResponseType.Companion.ERROR: ResponseType get() = "error".asDynamic().unsafeCast() + +public inline val ResponseType.Companion.OPAQUE: ResponseType get() = "opaque".asDynamic().unsafeCast() + +public inline val ResponseType.Companion.OPAQUEREDIRECT: ResponseType get() = "opaqueredirect".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt new file mode 100644 index 00000000000..eff07454b40 --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.files.kt @@ -0,0 +1,110 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.files + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.xhr.* + +/** + * Exposes the JavaScript [Blob](https://developer.mozilla.org/en/docs/Web/API/Blob) to Kotlin + */ +public external open class Blob(blobParts: Array = definedExternally, options: BlobPropertyBag = definedExternally) : MediaProvider, ImageBitmapSource { + open val size: Number + open val type: String + open val isClosed: Boolean + fun slice(start: Int = definedExternally, end: Int = definedExternally, contentType: String = definedExternally): Blob + fun close() +} + +public external interface BlobPropertyBag { + var type: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun BlobPropertyBag(type: String? = ""): BlobPropertyBag { + val o = js("({})") + o["type"] = type + return o as BlobPropertyBag +} + +/** + * Exposes the JavaScript [File](https://developer.mozilla.org/en/docs/Web/API/File) to Kotlin + */ +public external open class File(fileBits: Array, fileName: String, options: FilePropertyBag = definedExternally) : Blob { + open val name: String + open val lastModified: Int +} + +public external interface FilePropertyBag : BlobPropertyBag { + var lastModified: Int? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun FilePropertyBag(lastModified: Int? = undefined, type: String? = ""): FilePropertyBag { + val o = js("({})") + o["lastModified"] = lastModified + o["type"] = type + return o as FilePropertyBag +} + +/** + * Exposes the JavaScript [FileList](https://developer.mozilla.org/en/docs/Web/API/FileList) to Kotlin + */ +public external abstract class FileList : ItemArrayLike { + override fun item(index: Int): File? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline operator fun FileList.get(index: Int): File? = asDynamic().getAny(index) + +/** + * Exposes the JavaScript [FileReader](https://developer.mozilla.org/en/docs/Web/API/FileReader) to Kotlin + */ +public external open class FileReader : EventTarget { + open val readyState: Short + open val result: Dynamic? + open val error: Dynamic? + var onloadstart: ((ProgressEvent) -> Dynamic?)? + var onprogress: ((ProgressEvent) -> Dynamic?)? + var onload: ((Event) -> Dynamic?)? + var onabort: ((Event) -> Dynamic?)? + var onerror: ((Event) -> Dynamic?)? + var onloadend: ((Event) -> Dynamic?)? + fun readAsArrayBuffer(blob: Blob) + fun readAsBinaryString(blob: Blob) + fun readAsText(blob: Blob, label: String = definedExternally) + fun readAsDataURL(blob: Blob) + fun abort() + + companion object { + val EMPTY: Short + val LOADING: Short + val DONE: Short + } +} + +/** + * Exposes the JavaScript [FileReaderSync](https://developer.mozilla.org/en/docs/Web/API/FileReaderSync) to Kotlin + */ +public external open class FileReaderSync { + fun readAsArrayBuffer(blob: Blob): ArrayBuffer + fun readAsBinaryString(blob: Blob): String + fun readAsText(blob: Blob, label: String = definedExternally): String + fun readAsDataURL(blob: Blob): String +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt new file mode 100644 index 00000000000..e07480ce28f --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.notifications.kt @@ -0,0 +1,217 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.notifications + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.events.* +import org.w3c.workers.* + +/** + * Exposes the JavaScript [Notification](https://developer.mozilla.org/en/docs/Web/API/Notification) to Kotlin + */ +public external open class Notification(title: String, options: NotificationOptions = definedExternally) : EventTarget { + var onclick: ((MouseEvent) -> Dynamic?)? + var onerror: ((Event) -> Dynamic?)? + open val title: String + open val dir: NotificationDirection + open val lang: String + open val body: String + open val tag: String + open val image: String + open val icon: String + open val badge: String + open val sound: String + open val vibrate: Array + open val timestamp: Number + open val renotify: Boolean + open val silent: Boolean + open val noscreen: Boolean + open val requireInteraction: Boolean + open val sticky: Boolean + open val data: Any? + open val actions: Array + fun close() + + companion object { + val permission: NotificationPermission + val maxActions: Int + fun requestPermission(deprecatedCallback: (NotificationPermission) -> Unit = definedExternally): Promise + } +} + +public external interface NotificationOptions { + var dir: NotificationDirection? /* = NotificationDirection.AUTO */ + get() = definedExternally + set(value) = definedExternally + var lang: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var body: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var tag: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally + var image: String? + get() = definedExternally + set(value) = definedExternally + var icon: String? + get() = definedExternally + set(value) = definedExternally + var badge: String? + get() = definedExternally + set(value) = definedExternally + var sound: String? + get() = definedExternally + set(value) = definedExternally + var vibrate: Dynamic? + get() = definedExternally + set(value) = definedExternally + var timestamp: Number? + get() = definedExternally + set(value) = definedExternally + var renotify: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var silent: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var noscreen: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var requireInteraction: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var sticky: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var data: Any? /* = null */ + get() = definedExternally + set(value) = definedExternally + var actions: Array? /* = arrayOf() */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun NotificationOptions(dir: NotificationDirection? = NotificationDirection.AUTO, lang: String? = "", body: String? = "", tag: String? = "", image: String? = undefined, icon: String? = undefined, badge: String? = undefined, sound: String? = undefined, vibrate: Dynamic? = undefined, timestamp: Number? = undefined, renotify: Boolean? = false, silent: Boolean? = false, noscreen: Boolean? = false, requireInteraction: Boolean? = false, sticky: Boolean? = false, data: Any? = null, actions: Array? = arrayOf()): NotificationOptions { + val o = js("({})") + o["dir"] = dir + o["lang"] = lang + o["body"] = body + o["tag"] = tag + o["image"] = image + o["icon"] = icon + o["badge"] = badge + o["sound"] = sound + o["vibrate"] = vibrate + o["timestamp"] = timestamp + o["renotify"] = renotify + o["silent"] = silent + o["noscreen"] = noscreen + o["requireInteraction"] = requireInteraction + o["sticky"] = sticky + o["data"] = data + o["actions"] = actions + return o as NotificationOptions +} + +public external interface NotificationAction { + var action: String? + var title: String? + var icon: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun NotificationAction(action: String?, title: String?, icon: String? = undefined): NotificationAction { + val o = js("({})") + o["action"] = action + o["title"] = title + o["icon"] = icon + return o as NotificationAction +} + +public external interface GetNotificationOptions { + var tag: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun GetNotificationOptions(tag: String? = ""): GetNotificationOptions { + val o = js("({})") + o["tag"] = tag + return o as GetNotificationOptions +} + +/** + * Exposes the JavaScript [NotificationEvent](https://developer.mozilla.org/en/docs/Web/API/NotificationEvent) to Kotlin + */ +public external open class NotificationEvent(type: String, eventInitDict: NotificationEventInit) : ExtendableEvent { + open val notification: Notification + open val action: String + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface NotificationEventInit : ExtendableEventInit { + var notification: Notification? + var action: String? /* = "" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun NotificationEventInit(notification: Notification?, action: String? = "", bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): NotificationEventInit { + val o = js("({})") + o["notification"] = notification + o["action"] = action + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as NotificationEventInit +} + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface NotificationPermission { + companion object +} + +public inline val NotificationPermission.Companion.DEFAULT: NotificationPermission get() = "default".asDynamic().unsafeCast() + +public inline val NotificationPermission.Companion.DENIED: NotificationPermission get() = "denied".asDynamic().unsafeCast() + +public inline val NotificationPermission.Companion.GRANTED: NotificationPermission get() = "granted".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface NotificationDirection { + companion object +} + +public inline val NotificationDirection.Companion.AUTO: NotificationDirection get() = "auto".asDynamic().unsafeCast() + +public inline val NotificationDirection.Companion.LTR: NotificationDirection get() = "ltr".asDynamic().unsafeCast() + +public inline val NotificationDirection.Companion.RTL: NotificationDirection get() = "rtl".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.performance.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.performance.kt new file mode 100644 index 00000000000..da6b7790d5c --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.performance.kt @@ -0,0 +1,68 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.performance + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.events.* + +/** + * Exposes the JavaScript [Performance](https://developer.mozilla.org/en/docs/Web/API/Performance) to Kotlin + */ +public external abstract class Performance : EventTarget { + open val timing: PerformanceTiming + open val navigation: PerformanceNavigation + fun now(): Double +} + +public external interface GlobalPerformance { + val performance: Performance +} + +/** + * Exposes the JavaScript [PerformanceTiming](https://developer.mozilla.org/en/docs/Web/API/PerformanceTiming) to Kotlin + */ +public external abstract class PerformanceTiming { + open val navigationStart: Number + open val unloadEventStart: Number + open val unloadEventEnd: Number + open val redirectStart: Number + open val redirectEnd: Number + open val fetchStart: Number + open val domainLookupStart: Number + open val domainLookupEnd: Number + open val connectStart: Number + open val connectEnd: Number + open val secureConnectionStart: Number + open val requestStart: Number + open val responseStart: Number + open val responseEnd: Number + open val domLoading: Number + open val domInteractive: Number + open val domContentLoadedEventStart: Number + open val domContentLoadedEventEnd: Number + open val domComplete: Number + open val loadEventStart: Number + open val loadEventEnd: Number +} + +/** + * Exposes the JavaScript [PerformanceNavigation](https://developer.mozilla.org/en/docs/Web/API/PerformanceNavigation) to Kotlin + */ +public external abstract class PerformanceNavigation { + open val type: Short + open val redirectCount: Short + + companion object { + val TYPE_NAVIGATE: Short + val TYPE_RELOAD: Short + val TYPE_BACK_FORWARD: Short + val TYPE_RESERVED: Short + } +} \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt new file mode 100644 index 00000000000..5cab4cadc5a --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.workers.kt @@ -0,0 +1,524 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.workers + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.fetch.* +import org.w3c.notifications.* + +/** + * Exposes the JavaScript [ServiceWorker](https://developer.mozilla.org/en/docs/Web/API/ServiceWorker) to Kotlin + */ +public external abstract class ServiceWorker : EventTarget, AbstractWorker, UnionMessagePortOrServiceWorker, UnionClientOrMessagePortOrServiceWorker { + open val scriptURL: String + open val state: ServiceWorkerState + open var onstatechange: ((Event) -> Dynamic?)? + fun postMessage(message: Any?, transfer: Array = definedExternally) +} + +/** + * Exposes the JavaScript [ServiceWorkerRegistration](https://developer.mozilla.org/en/docs/Web/API/ServiceWorkerRegistration) to Kotlin + */ +public external abstract class ServiceWorkerRegistration : EventTarget { + open val installing: ServiceWorker? + open val waiting: ServiceWorker? + open val active: ServiceWorker? + open val scope: String + open var onupdatefound: ((Event) -> Dynamic?)? + open val APISpace: Dynamic? + fun update(): Promise + fun unregister(): Promise + fun showNotification(title: String, options: NotificationOptions = definedExternally): Promise + fun getNotifications(filter: GetNotificationOptions = definedExternally): Promise> + fun methodName(): Promise +} + +/** + * Exposes the JavaScript [ServiceWorkerContainer](https://developer.mozilla.org/en/docs/Web/API/ServiceWorkerContainer) to Kotlin + */ +public external abstract class ServiceWorkerContainer : EventTarget { + open val controller: ServiceWorker? + open val ready: Promise + open var oncontrollerchange: ((Event) -> Dynamic?)? + open var onmessage: ((MessageEvent) -> Dynamic?)? + fun register(scriptURL: String, options: RegistrationOptions = definedExternally): Promise + fun getRegistration(clientURL: String = definedExternally): Promise + fun getRegistrations(): Promise> + fun startMessages() +} + +public external interface RegistrationOptions { + var scope: String? + get() = definedExternally + set(value) = definedExternally + var type: WorkerType? /* = WorkerType.CLASSIC */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun RegistrationOptions(scope: String? = undefined, type: WorkerType? = WorkerType.CLASSIC): RegistrationOptions { + val o = js("({})") + o["scope"] = scope + o["type"] = type + return o as RegistrationOptions +} + +/** + * Exposes the JavaScript [ServiceWorkerMessageEvent](https://developer.mozilla.org/en/docs/Web/API/ServiceWorkerMessageEvent) to Kotlin + */ +public external open class ServiceWorkerMessageEvent(type: String, eventInitDict: ServiceWorkerMessageEventInit = definedExternally) : Event { + open val data: Any? + open val origin: String + open val lastEventId: String + open val source: UnionMessagePortOrServiceWorker? + open val ports: Array? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ServiceWorkerMessageEventInit : EventInit { + var data: Any? + get() = definedExternally + set(value) = definedExternally + var origin: String? + get() = definedExternally + set(value) = definedExternally + var lastEventId: String? + get() = definedExternally + set(value) = definedExternally + var source: UnionMessagePortOrServiceWorker? + get() = definedExternally + set(value) = definedExternally + var ports: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ServiceWorkerMessageEventInit(data: Any? = undefined, origin: String? = undefined, lastEventId: String? = undefined, source: UnionMessagePortOrServiceWorker? = undefined, ports: Array? = undefined, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ServiceWorkerMessageEventInit { + val o = js("({})") + o["data"] = data + o["origin"] = origin + o["lastEventId"] = lastEventId + o["source"] = source + o["ports"] = ports + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ServiceWorkerMessageEventInit +} + +/** + * Exposes the JavaScript [ServiceWorkerGlobalScope](https://developer.mozilla.org/en/docs/Web/API/ServiceWorkerGlobalScope) to Kotlin + */ +public external abstract class ServiceWorkerGlobalScope : WorkerGlobalScope { + open val clients: Clients + open val registration: ServiceWorkerRegistration + open var oninstall: ((Event) -> Dynamic?)? + open var onactivate: ((Event) -> Dynamic?)? + open var onfetch: ((FetchEvent) -> Dynamic?)? + open var onforeignfetch: ((Event) -> Dynamic?)? + open var onmessage: ((MessageEvent) -> Dynamic?)? + open var onnotificationclick: ((NotificationEvent) -> Dynamic?)? + open var onnotificationclose: ((NotificationEvent) -> Dynamic?)? + open var onfunctionalevent: ((Event) -> Dynamic?)? + fun skipWaiting(): Promise +} + +/** + * Exposes the JavaScript [Client](https://developer.mozilla.org/en/docs/Web/API/Client) to Kotlin + */ +public external abstract class Client : UnionClientOrMessagePortOrServiceWorker { + open val url: String + open val frameType: FrameType + open val id: String + fun postMessage(message: Any?, transfer: Array = definedExternally) +} + +/** + * Exposes the JavaScript [WindowClient](https://developer.mozilla.org/en/docs/Web/API/WindowClient) to Kotlin + */ +public external abstract class WindowClient : Client { + open val visibilityState: Dynamic? + open val focused: Boolean + fun focus(): Promise + fun navigate(url: String): Promise +} + +/** + * Exposes the JavaScript [Clients](https://developer.mozilla.org/en/docs/Web/API/Clients) to Kotlin + */ +public external abstract class Clients { + fun get(id: String): Promise + fun matchAll(options: ClientQueryOptions = definedExternally): Promise> + fun openWindow(url: String): Promise + fun claim(): Promise +} + +public external interface ClientQueryOptions { + var includeUncontrolled: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var type: ClientType? /* = ClientType.WINDOW */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ClientQueryOptions(includeUncontrolled: Boolean? = false, type: ClientType? = ClientType.WINDOW): ClientQueryOptions { + val o = js("({})") + o["includeUncontrolled"] = includeUncontrolled + o["type"] = type + return o as ClientQueryOptions +} + +/** + * Exposes the JavaScript [ExtendableEvent](https://developer.mozilla.org/en/docs/Web/API/ExtendableEvent) to Kotlin + */ +public external open class ExtendableEvent(type: String, eventInitDict: ExtendableEventInit = definedExternally) : Event { + fun waitUntil(f: Promise) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ExtendableEventInit : EventInit + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ExtendableEventInit(bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ExtendableEventInit { + val o = js("({})") + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ExtendableEventInit +} + +/** + * Exposes the JavaScript [InstallEvent](https://developer.mozilla.org/en/docs/Web/API/InstallEvent) to Kotlin + */ +public external open class InstallEvent(type: String, eventInitDict: ExtendableEventInit = definedExternally) : ExtendableEvent { + fun registerForeignFetch(options: ForeignFetchOptions) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ForeignFetchOptions { + var scopes: Array? + var origins: Array? +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ForeignFetchOptions(scopes: Array?, origins: Array?): ForeignFetchOptions { + val o = js("({})") + o["scopes"] = scopes + o["origins"] = origins + return o as ForeignFetchOptions +} + +/** + * Exposes the JavaScript [FetchEvent](https://developer.mozilla.org/en/docs/Web/API/FetchEvent) to Kotlin + */ +public external open class FetchEvent(type: String, eventInitDict: FetchEventInit) : ExtendableEvent { + open val request: Request + open val clientId: String? + open val isReload: Boolean + fun respondWith(r: Promise) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface FetchEventInit : ExtendableEventInit { + var request: Request? + var clientId: String? /* = null */ + get() = definedExternally + set(value) = definedExternally + var isReload: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun FetchEventInit(request: Request?, clientId: String? = null, isReload: Boolean? = false, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): FetchEventInit { + val o = js("({})") + o["request"] = request + o["clientId"] = clientId + o["isReload"] = isReload + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as FetchEventInit +} + +public external open class ForeignFetchEvent(type: String, eventInitDict: ForeignFetchEventInit) : ExtendableEvent { + open val request: Request + open val origin: String + fun respondWith(r: Promise) + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ForeignFetchEventInit : ExtendableEventInit { + var request: Request? + var origin: String? /* = "null" */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ForeignFetchEventInit(request: Request?, origin: String? = "null", bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ForeignFetchEventInit { + val o = js("({})") + o["request"] = request + o["origin"] = origin + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ForeignFetchEventInit +} + +public external interface ForeignFetchResponse { + var response: Response? + var origin: String? + get() = definedExternally + set(value) = definedExternally + var headers: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ForeignFetchResponse(response: Response?, origin: String? = undefined, headers: Array? = undefined): ForeignFetchResponse { + val o = js("({})") + o["response"] = response + o["origin"] = origin + o["headers"] = headers + return o as ForeignFetchResponse +} + +/** + * Exposes the JavaScript [ExtendableMessageEvent](https://developer.mozilla.org/en/docs/Web/API/ExtendableMessageEvent) to Kotlin + */ +public external open class ExtendableMessageEvent(type: String, eventInitDict: ExtendableMessageEventInit = definedExternally) : ExtendableEvent { + open val data: Any? + open val origin: String + open val lastEventId: String + open val source: UnionClientOrMessagePortOrServiceWorker? + open val ports: Array? + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ExtendableMessageEventInit : ExtendableEventInit { + var data: Any? + get() = definedExternally + set(value) = definedExternally + var origin: String? + get() = definedExternally + set(value) = definedExternally + var lastEventId: String? + get() = definedExternally + set(value) = definedExternally + var source: UnionClientOrMessagePortOrServiceWorker? + get() = definedExternally + set(value) = definedExternally + var ports: Array? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ExtendableMessageEventInit(data: Any? = undefined, origin: String? = undefined, lastEventId: String? = undefined, source: UnionClientOrMessagePortOrServiceWorker? = undefined, ports: Array? = undefined, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ExtendableMessageEventInit { + val o = js("({})") + o["data"] = data + o["origin"] = origin + o["lastEventId"] = lastEventId + o["source"] = source + o["ports"] = ports + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ExtendableMessageEventInit +} + +/** + * Exposes the JavaScript [Cache](https://developer.mozilla.org/en/docs/Web/API/Cache) to Kotlin + */ +public external abstract class Cache { + fun match(request: Dynamic?, options: CacheQueryOptions = definedExternally): Promise + fun matchAll(request: Dynamic? = definedExternally, options: CacheQueryOptions = definedExternally): Promise> + fun add(request: Dynamic?): Promise + fun addAll(requests: Array): Promise + fun put(request: Dynamic?, response: Response): Promise + fun delete(request: Dynamic?, options: CacheQueryOptions = definedExternally): Promise + fun keys(request: Dynamic? = definedExternally, options: CacheQueryOptions = definedExternally): Promise> +} + +public external interface CacheQueryOptions { + var ignoreSearch: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var ignoreMethod: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var ignoreVary: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var cacheName: String? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CacheQueryOptions(ignoreSearch: Boolean? = false, ignoreMethod: Boolean? = false, ignoreVary: Boolean? = false, cacheName: String? = undefined): CacheQueryOptions { + val o = js("({})") + o["ignoreSearch"] = ignoreSearch + o["ignoreMethod"] = ignoreMethod + o["ignoreVary"] = ignoreVary + o["cacheName"] = cacheName + return o as CacheQueryOptions +} + +public external interface CacheBatchOperation { + var type: String? + get() = definedExternally + set(value) = definedExternally + var request: Request? + get() = definedExternally + set(value) = definedExternally + var response: Response? + get() = definedExternally + set(value) = definedExternally + var options: CacheQueryOptions? + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun CacheBatchOperation(type: String? = undefined, request: Request? = undefined, response: Response? = undefined, options: CacheQueryOptions? = undefined): CacheBatchOperation { + val o = js("({})") + o["type"] = type + o["request"] = request + o["response"] = response + o["options"] = options + return o as CacheBatchOperation +} + +/** + * Exposes the JavaScript [CacheStorage](https://developer.mozilla.org/en/docs/Web/API/CacheStorage) to Kotlin + */ +public external abstract class CacheStorage { + fun match(request: Dynamic?, options: CacheQueryOptions = definedExternally): Promise + fun has(cacheName: String): Promise + fun open(cacheName: String): Promise + fun delete(cacheName: String): Promise + fun keys(): Promise> +} + +public external open class FunctionalEvent : ExtendableEvent { + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface UnionMessagePortOrServiceWorker + +public external interface UnionClientOrMessagePortOrServiceWorker + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ServiceWorkerState { + companion object +} + +public inline val ServiceWorkerState.Companion.INSTALLING: ServiceWorkerState get() = "installing".asDynamic().unsafeCast() + +public inline val ServiceWorkerState.Companion.INSTALLED: ServiceWorkerState get() = "installed".asDynamic().unsafeCast() + +public inline val ServiceWorkerState.Companion.ACTIVATING: ServiceWorkerState get() = "activating".asDynamic().unsafeCast() + +public inline val ServiceWorkerState.Companion.ACTIVATED: ServiceWorkerState get() = "activated".asDynamic().unsafeCast() + +public inline val ServiceWorkerState.Companion.REDUNDANT: ServiceWorkerState get() = "redundant".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface FrameType { + companion object +} + +public inline val FrameType.Companion.AUXILIARY: FrameType get() = "auxiliary".asDynamic().unsafeCast() + +public inline val FrameType.Companion.TOP_LEVEL: FrameType get() = "top-level".asDynamic().unsafeCast() + +public inline val FrameType.Companion.NESTED: FrameType get() = "nested".asDynamic().unsafeCast() + +public inline val FrameType.Companion.NONE: FrameType get() = "none".asDynamic().unsafeCast() + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface ClientType { + companion object +} + +public inline val ClientType.Companion.WINDOW: ClientType get() = "window".asDynamic().unsafeCast() + +public inline val ClientType.Companion.WORKER: ClientType get() = "worker".asDynamic().unsafeCast() + +public inline val ClientType.Companion.SHAREDWORKER: ClientType get() = "sharedworker".asDynamic().unsafeCast() + +public inline val ClientType.Companion.ALL: ClientType get() = "all".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt b/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt new file mode 100644 index 00000000000..0cf14ef121a --- /dev/null +++ b/libraries/stdlib/wasm/src/org.w3c/org.w3c.xhr.kt @@ -0,0 +1,138 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT! +// See github.com/kotlin/dukat for details + +package org.w3c.xhr + +import kotlin.js.* +import org.khronos.webgl.* +import org.w3c.dom.* +import org.w3c.dom.events.* +import org.w3c.files.* + +/** + * Exposes the JavaScript [XMLHttpRequestEventTarget](https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequestEventTarget) to Kotlin + */ +public external abstract class XMLHttpRequestEventTarget : EventTarget { + open var onloadstart: ((ProgressEvent) -> Dynamic?)? + open var onprogress: ((ProgressEvent) -> Dynamic?)? + open var onabort: ((Event) -> Dynamic?)? + open var onerror: ((Event) -> Dynamic?)? + open var onload: ((Event) -> Dynamic?)? + open var ontimeout: ((Event) -> Dynamic?)? + open var onloadend: ((Event) -> Dynamic?)? +} + +public external abstract class XMLHttpRequestUpload : XMLHttpRequestEventTarget + +/** + * Exposes the JavaScript [XMLHttpRequest](https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest) to Kotlin + */ +public external open class XMLHttpRequest : XMLHttpRequestEventTarget { + var onreadystatechange: ((Event) -> Dynamic?)? + open val readyState: Short + var timeout: Int + var withCredentials: Boolean + open val upload: XMLHttpRequestUpload + open val responseURL: String + open val status: Short + open val statusText: String + var responseType: XMLHttpRequestResponseType + open val response: Any? + open val responseText: String + open val responseXML: Document? + fun open(method: String, url: String) + fun open(method: String, url: String, async: Boolean, username: String? = definedExternally, password: String? = definedExternally) + fun setRequestHeader(name: String, value: String) + fun send(body: Dynamic? = definedExternally) + fun abort() + fun getResponseHeader(name: String): String? + fun getAllResponseHeaders(): String + fun overrideMimeType(mime: String) + + companion object { + val UNSENT: Short + val OPENED: Short + val HEADERS_RECEIVED: Short + val LOADING: Short + val DONE: Short + } +} + +/** + * Exposes the JavaScript [FormData](https://developer.mozilla.org/en/docs/Web/API/FormData) to Kotlin + */ +public external open class FormData(form: HTMLFormElement = definedExternally) { + fun append(name: String, value: String) + fun append(name: String, value: Blob, filename: String = definedExternally) + fun delete(name: String) + fun get(name: String): Dynamic? + fun getAll(name: String): Array + fun has(name: String): Boolean + fun set(name: String, value: String) + fun set(name: String, value: Blob, filename: String = definedExternally) +} + +/** + * Exposes the JavaScript [ProgressEvent](https://developer.mozilla.org/en/docs/Web/API/ProgressEvent) to Kotlin + */ +public external open class ProgressEvent(type: String, eventInitDict: ProgressEventInit = definedExternally) : Event { + open val lengthComputable: Boolean + open val loaded: Number + open val total: Number + + companion object { + val NONE: Short + val CAPTURING_PHASE: Short + val AT_TARGET: Short + val BUBBLING_PHASE: Short + } +} + +public external interface ProgressEventInit : EventInit { + var lengthComputable: Boolean? /* = false */ + get() = definedExternally + set(value) = definedExternally + var loaded: Number? /* = 0 */ + get() = definedExternally + set(value) = definedExternally + var total: Number? /* = 0 */ + get() = definedExternally + set(value) = definedExternally +} + +@Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") +@kotlin.internal.InlineOnly +public inline fun ProgressEventInit(lengthComputable: Boolean? = false, loaded: Number? = 0, total: Number? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): ProgressEventInit { + val o = js("({})") + o["lengthComputable"] = lengthComputable + o["loaded"] = loaded + o["total"] = total + o["bubbles"] = bubbles + o["cancelable"] = cancelable + o["composed"] = composed + return o as ProgressEventInit +} + +/* please, don't implement this interface! */ +@JsName("null") +@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") +public external interface XMLHttpRequestResponseType { + companion object +} + +public inline val XMLHttpRequestResponseType.Companion.EMPTY: XMLHttpRequestResponseType get() = "".asDynamic().unsafeCast() + +public inline val XMLHttpRequestResponseType.Companion.ARRAYBUFFER: XMLHttpRequestResponseType get() = "arraybuffer".asDynamic().unsafeCast() + +public inline val XMLHttpRequestResponseType.Companion.BLOB: XMLHttpRequestResponseType get() = "blob".asDynamic().unsafeCast() + +public inline val XMLHttpRequestResponseType.Companion.DOCUMENT: XMLHttpRequestResponseType get() = "document".asDynamic().unsafeCast() + +public inline val XMLHttpRequestResponseType.Companion.JSON: XMLHttpRequestResponseType get() = "json".asDynamic().unsafeCast() + +public inline val XMLHttpRequestResponseType.Companion.TEXT: XMLHttpRequestResponseType get() = "text".asDynamic().unsafeCast() \ No newline at end of file diff --git a/libraries/tools/dukat/build.gradle.kts b/libraries/tools/dukat/build.gradle.kts index 40342a26547..a91a7c0e096 100644 --- a/libraries/tools/dukat/build.gradle.kts +++ b/libraries/tools/dukat/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("jvm") version "1.6.10" + kotlin("jvm") version "1.7.20" } repositories { @@ -8,7 +8,7 @@ repositories { } dependencies { - implementation("org.jetbrains.dukat:dukat:0.5.8-rc.4") + implementation("org.jetbrains.dukat:dukat:0.5.8-rc.5") implementation("org.jsoup:jsoup:1.14.2") } @@ -19,7 +19,16 @@ task("downloadIDL", JavaExec::class) { } task("generateStdlibFromIDL", JavaExec::class) { - main = "org.jetbrains.kotlin.tools.dukat.LaunchKt" + main = "org.jetbrains.kotlin.tools.dukat.LaunchJsKt" + classpath = sourceSets["main"].runtimeClasspath + dependsOn(":dukat:build") + systemProperty("line.separator", "\n") +} + +// Configured version of Dukat creates incorrect declarations for kotlin/wasm, pathed version located in yakovlev/dynamicAsType +// After patched version be published we need to update dukat version in dependencies here. +task("generateWasmStdlibFromIDL", JavaExec::class) { + main = "org.jetbrains.kotlin.tools.dukat.LaunchWasmKt" classpath = sourceSets["main"].runtimeClasspath dependsOn(":dukat:build") systemProperty("line.separator", "\n") diff --git a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launch.kt b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launch.kt index 7df072c3920..a77f39e0add 100644 --- a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launch.kt +++ b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launch.kt @@ -37,12 +37,21 @@ private fun getHeader(): String { return copyrightNotice + LINE_SEPARATOR + note + LINE_SEPARATOR } -fun main() { - +internal fun launch(outputDirectory: String, dynamicAsType: Boolean, useStaticGetters: Boolean) { val input = "../../stdlib/js/idl/org.w3c.dom.idl" - val outputDirectory = "../../stdlib/js/src/org.w3c/" - org.jetbrains.dukat.cli.main("-d", outputDirectory, input) + val args = mutableListOf() + args.add("-d") + args.add(outputDirectory) + args.add(input) + if (dynamicAsType) { + args.add("--dynamic-as-type") + } + if (useStaticGetters) { + args.add("--use-static-getters") + } + + org.jetbrains.dukat.cli.main(*args.toTypedArray()) for (file in File(outputDirectory).listFiles { name -> name.extension == "kt" diff --git a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchJs.kt b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchJs.kt new file mode 100644 index 00000000000..c1f08133262 --- /dev/null +++ b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchJs.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.tools.dukat + +fun main() { + launch( + outputDirectory = "../../stdlib/js/src/org.w3c/", + dynamicAsType = false, + useStaticGetters = false + ) +} \ No newline at end of file diff --git a/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchWasm.kt b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchWasm.kt new file mode 100644 index 00000000000..31b73fb9822 --- /dev/null +++ b/libraries/tools/dukat/src/main/kotlin/org/jetbrains/kotlin/tools/dukat/launchWasm.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.tools.dukat + +fun main() { + launch( + outputDirectory = "../../stdlib/wasm/src/org.w3c/", + dynamicAsType = true, + useStaticGetters = true + ) +} \ No newline at end of file