Files
kotlin-fork/libraries/stdlib/js/src/org.w3c/org.w3c.notifications.kt
T
Ilya Gorbunov ce427b96b3 [stdlib] Suppress explicit api errors in DOM declarations generated by dukat
Suppressions should be removed once dukat supports generating
explicit public visibility and return types
2023-11-21 18:14:09 +00:00

219 lines
7.9 KiB
Kotlin

/*
* 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
@file:Suppress("NO_EXPLICIT_VISIBILITY_IN_API_MODE", "NO_EXPLICIT_RETURN_TYPE_IN_API_MODE") // TODO: Fix in dukat: https://github.com/Kotlin/dukat/issues/124
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<out Int>
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<out NotificationAction>
fun close()
companion object {
val permission: NotificationPermission
val maxActions: Int
fun requestPermission(deprecatedCallback: (NotificationPermission) -> Unit = definedExternally): Promise<NotificationPermission>
}
}
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<NotificationAction>? /* = 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<NotificationAction>? = 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
}
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
}
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
}
/**
* 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
}
/* 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<NotificationPermission>()
public inline val NotificationPermission.Companion.DENIED: NotificationPermission get() = "denied".asDynamic().unsafeCast<NotificationPermission>()
public inline val NotificationPermission.Companion.GRANTED: NotificationPermission get() = "granted".asDynamic().unsafeCast<NotificationPermission>()
/* 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<NotificationDirection>()
public inline val NotificationDirection.Companion.LTR: NotificationDirection get() = "ltr".asDynamic().unsafeCast<NotificationDirection>()
public inline val NotificationDirection.Companion.RTL: NotificationDirection get() = "rtl".asDynamic().unsafeCast<NotificationDirection>()