diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Dialog.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Dialog.kt index 996e98c..0fa23ac 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Dialog.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Dialog.kt @@ -17,7 +17,7 @@ private class DialogDisposableEffectResult( ) : DisposableEffectResult { override fun dispose() { onDispose?.invoke() - js("UIkit").modal("#${element.id}") ?.hide() + UIKit.modal("#${element.id}") ?.hide() onDisposed?.invoke() } } @@ -99,7 +99,7 @@ fun Dialog( } htmlElement.addEventListener("hidden", wrapper) - UIKit.modal("#${htmlElement.id}").show() + UIKit.modal("#${htmlElement.id}") ?.show() } } } diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKit.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKit.kt index 8dc1d93..3bf29fa 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKit.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKit.kt @@ -1,6 +1,16 @@ package dev.inmo.jsuikit.types +import org.w3c.dom.Element +import kotlin.js.Json + external interface UIKit { val notification: UIKitNotifications val modal: UIKitDialogs + + + fun notification(message: String, parameters: Json) + fun notification(element: Element): UIKitNotification? + + fun modal(element: Element): UIKitDialog + fun modal(selector: String): UIKitDialog? } diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitDialog.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitDialog.kt index c45b373..93aa44e 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitDialog.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitDialog.kt @@ -4,8 +4,6 @@ import org.w3c.dom.Element import kotlin.js.Promise external interface UIKitDialogs { - operator fun invoke(element: Element): UIKitDialog - operator fun invoke(selector: String): UIKitDialog fun alert(text: String): UIKitDialogPromiseAlert fun confirm(text: String): UIKitDialogPromiseConfirm fun prompt(title: String): UIKitDialogPromisePrompt diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitNotifications.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitNotifications.kt index 9aef644..adff565 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitNotifications.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/types/UIKitNotifications.kt @@ -1,5 +1,6 @@ package dev.inmo.jsuikit.types +import dev.inmo.jsuikit.modifiers.UIKit import dev.inmo.jsuikit.utils.Milliseconds import org.w3c.dom.Element import kotlin.js.Json @@ -10,10 +11,6 @@ typealias NotificationsGroup = String external interface UIKitNotifications { fun closeAll(group: NotificationsGroup) - - operator fun invoke(message: String, parameters: Json) - - operator fun invoke(element: Element): UIKitNotification? } external interface UIKitNotification { @@ -39,7 +36,7 @@ data class UIKitNotificationsParameters( operator fun UIKitNotifications.invoke( message: String, parameters: UIKitNotificationsParameters -) = invoke(message, parameters.parametersJson()) +) = UIKit.notification(message, parameters.parametersJson()) operator fun UIKitNotifications.invoke( message: String,