diff --git a/libraries/kotlin-dom-api-compat/build.gradle.kts b/libraries/kotlin-dom-api-compat/build.gradle.kts index 08b234204ee..a3058ea79bf 100644 --- a/libraries/kotlin-dom-api-compat/build.gradle.kts +++ b/libraries/kotlin-dom-api-compat/build.gradle.kts @@ -10,6 +10,7 @@ val jsStdlibSources = "${projectDir}/../stdlib/js/src" @Suppress("UNUSED_VARIABLE") kotlin { + explicitApi() js { sourceSets { val main by getting { diff --git a/libraries/stdlib/js/src/kotlin/dom/Classes.kt b/libraries/stdlib/js/src/kotlin/dom/Classes.kt index d4df0b1d60c..bc223a0cec0 100644 --- a/libraries/stdlib/js/src/kotlin/dom/Classes.kt +++ b/libraries/stdlib/js/src/kotlin/dom/Classes.kt @@ -18,7 +18,7 @@ import kotlinx.dom.removeClass as newRemoveClass replaceWith = ReplaceWith("this.hasClass(cssClass)", "kotlinx.dom.hasClass") ) @DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") -inline fun Element.hasClass(cssClass: String): Boolean = this.newHasClass(cssClass) +public inline fun Element.hasClass(cssClass: String): Boolean = this.newHasClass(cssClass) /** * Adds CSS class to element. Has no effect if all specified classes are already in class attribute of the element @@ -31,7 +31,7 @@ inline fun Element.hasClass(cssClass: String): Boolean = this.newHasClass(cssCla replaceWith = ReplaceWith("this.addClass(cssClasses)", "kotlinx.dom.addClass") ) @DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") -inline fun Element.addClass(vararg cssClasses: String): Boolean = this.newAddClass(*cssClasses) +public inline fun Element.addClass(vararg cssClasses: String): Boolean = this.newAddClass(*cssClasses) /** * Removes all [cssClasses] from element. Has no effect if all specified classes are missing in class attribute of the element @@ -44,4 +44,4 @@ inline fun Element.addClass(vararg cssClasses: String): Boolean = this.newAddCla replaceWith = ReplaceWith("this.removeClass(cssClasses)", "kotlinx.dom.removeClass") ) @DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") -inline fun Element.removeClass(vararg cssClasses: String): Boolean = this.newRemoveClass(*cssClasses) \ No newline at end of file +public inline fun Element.removeClass(vararg cssClasses: String): Boolean = this.newRemoveClass(*cssClasses) \ No newline at end of file diff --git a/libraries/stdlib/js/src/kotlin/dom/Mutations.kt b/libraries/stdlib/js/src/kotlin/dom/Mutations.kt index 1c142f07add..4fd3ffb4141 100644 --- a/libraries/stdlib/js/src/kotlin/dom/Mutations.kt +++ b/libraries/stdlib/js/src/kotlin/dom/Mutations.kt @@ -18,7 +18,7 @@ import kotlinx.dom.clear as newClear replaceWith = ReplaceWith("this.clear()", "kotlinx.dom.clear") ) @DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") -public inline fun Node.clear() = this.newClear() +public inline fun Node.clear(): Unit = this.newClear() /** * Creates text node and append it to the element. @@ -31,4 +31,4 @@ public inline fun Node.clear() = this.newClear() replaceWith = ReplaceWith("this.appendText(text)", "kotlinx.dom.appendText") ) @DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.6") -inline fun Element.appendText(text: String): Element = this.newAppendText(text) +public inline fun Element.appendText(text: String): Element = this.newAppendText(text) diff --git a/libraries/stdlib/js/src/kotlinx/dom/Classes.kt b/libraries/stdlib/js/src/kotlinx/dom/Classes.kt index 13eb8e90133..eda5bce74cc 100644 --- a/libraries/stdlib/js/src/kotlinx/dom/Classes.kt +++ b/libraries/stdlib/js/src/kotlinx/dom/Classes.kt @@ -9,7 +9,7 @@ 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()) +public 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 @@ -17,7 +17,7 @@ fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+) * @return true if at least one class has been added */ @SinceKotlin("1.4") -fun Element.addClass(vararg cssClasses: String): Boolean { +public fun Element.addClass(vararg cssClasses: String): Boolean { val missingClasses = cssClasses.filterNot { hasClass(it) } if (missingClasses.isNotEmpty()) { val presentClasses = className.trim() @@ -40,7 +40,7 @@ fun Element.addClass(vararg cssClasses: String): Boolean { * @return true if at least one class has been removed */ @SinceKotlin("1.4") -fun Element.removeClass(vararg cssClasses: String): Boolean { +public 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(" ") diff --git a/libraries/stdlib/js/src/kotlinx/dom/Mutations.kt b/libraries/stdlib/js/src/kotlinx/dom/Mutations.kt index 1f942cf7399..6b85c2013b4 100644 --- a/libraries/stdlib/js/src/kotlinx/dom/Mutations.kt +++ b/libraries/stdlib/js/src/kotlinx/dom/Mutations.kt @@ -21,7 +21,7 @@ public fun Node.clear() { * @return this element */ @SinceKotlin("1.4") -fun Element.appendText(text: String): Element { +public fun Element.appendText(text: String): Element { appendChild(ownerDocument!!.createTextNode(text)) return this } diff --git a/libraries/stdlib/js/src/org.w3c/deprecated.kt b/libraries/stdlib/js/src/org.w3c/deprecated.kt index aba6b12e917..7b01c6f4b87 100644 --- a/libraries/stdlib/js/src/org.w3c/deprecated.kt +++ b/libraries/stdlib/js/src/org.w3c/deprecated.kt @@ -6,17 +6,17 @@ package org.w3c.dom @Deprecated("Use UnionMessagePortOrWindowProxy instead.", ReplaceWith("UnionMessagePortOrWindowProxy")) -typealias UnionMessagePortOrWindow = UnionMessagePortOrWindowProxy +public typealias UnionMessagePortOrWindow = UnionMessagePortOrWindowProxy @Deprecated("Use `as` instead.", ReplaceWith("`as`")) -var HTMLLinkElement.as_ +public var HTMLLinkElement.as_: org.w3c.fetch.RequestDestination get() = `as` set(value) { `as` = value } @Deprecated("Use `is` instead.", ReplaceWith("`is`")) -var ElementCreationOptions.is_ +public var ElementCreationOptions.is_: String? get() = `is` set(value) { `is` = value diff --git a/libraries/stdlib/wasm/js/src/kotlinx/dom/Classes.kt b/libraries/stdlib/wasm/js/src/kotlinx/dom/Classes.kt index 13eb8e90133..eda5bce74cc 100644 --- a/libraries/stdlib/wasm/js/src/kotlinx/dom/Classes.kt +++ b/libraries/stdlib/wasm/js/src/kotlinx/dom/Classes.kt @@ -9,7 +9,7 @@ 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()) +public 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 @@ -17,7 +17,7 @@ fun Element.hasClass(cssClass: String): Boolean = className.matches("""(^|.*\s+) * @return true if at least one class has been added */ @SinceKotlin("1.4") -fun Element.addClass(vararg cssClasses: String): Boolean { +public fun Element.addClass(vararg cssClasses: String): Boolean { val missingClasses = cssClasses.filterNot { hasClass(it) } if (missingClasses.isNotEmpty()) { val presentClasses = className.trim() @@ -40,7 +40,7 @@ fun Element.addClass(vararg cssClasses: String): Boolean { * @return true if at least one class has been removed */ @SinceKotlin("1.4") -fun Element.removeClass(vararg cssClasses: String): Boolean { +public 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(" ") diff --git a/libraries/stdlib/wasm/js/src/kotlinx/dom/ItemArrayLike.kt b/libraries/stdlib/wasm/js/src/kotlinx/dom/ItemArrayLike.kt index 165dca7044b..0fe0da70d76 100644 --- a/libraries/stdlib/wasm/js/src/kotlinx/dom/ItemArrayLike.kt +++ b/libraries/stdlib/wasm/js/src/kotlinx/dom/ItemArrayLike.kt @@ -6,8 +6,8 @@ package org.w3c.dom public external interface ItemArrayLike : JsAny { - val length: Int - fun item(index: Int): T? + public val length: Int + public fun item(index: Int): T? } public fun ItemArrayLike.asList(): List = object : AbstractList() { diff --git a/libraries/stdlib/wasm/js/src/kotlinx/dom/Mutations.kt b/libraries/stdlib/wasm/js/src/kotlinx/dom/Mutations.kt index 1f942cf7399..6b85c2013b4 100644 --- a/libraries/stdlib/wasm/js/src/kotlinx/dom/Mutations.kt +++ b/libraries/stdlib/wasm/js/src/kotlinx/dom/Mutations.kt @@ -21,7 +21,7 @@ public fun Node.clear() { * @return this element */ @SinceKotlin("1.4") -fun Element.appendText(text: String): Element { +public fun Element.appendText(text: String): Element { appendChild(ownerDocument!!.createTextNode(text)) return this }