// Do not edit. This file is generated.
// MoonBit type: ShadowRoot
// Specifications: dom.idl, html.idl
///|
/// [ShadowRoot](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot)
#external
pub type ShadowRoot
///|
pub impl TJsValue for ShadowRoot with to_js(self : ShadowRoot) -> JsValue = "%identity"
///|
pub impl FromJsAny for ShadowRoot with from_js_any(value : JsAny) -> ShadowRoot = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// Prefer `try_into()` for checked downcasts.
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TShadowRoot] ShadowRoot::into(self : ShadowRoot) -> T = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// WARNING: If the underlying JS value is not of type T, this will silently
/// produce a value with incorrect type, leading to undefined behavior.
pub fn[T : TShadowRoot] ShadowRoot::unsafe_into(self : ShadowRoot) -> T = "%identity"
///|
pub impl HasConstructor for ShadowRoot with constructor_name() {
"ShadowRoot"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TShadowRoot + HasConstructor] ShadowRoot::try_into(
self : ShadowRoot,
) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TShadowRoot for ShadowRoot
///|
pub impl TDocumentFragment for ShadowRoot
///|
pub impl TNode for ShadowRoot
///|
pub impl TEventTarget for ShadowRoot
///|
pub(open) trait TShadowRootSetHTMLUnsafeHtml: TJsValue {}
///|
pub impl TShadowRootSetHTMLUnsafeHtml for TrustedHTML
///|
pub impl TShadowRootSetHTMLUnsafeHtml for String
///|
pub(open) trait TShadowRootInnerHTML: TJsValue {}
///|
pub impl TShadowRootInnerHTML for TrustedHTML
///|
pub impl TShadowRootInnerHTML for String
///|
#external
pub type ShadowRootInnerHTML
///|
pub impl TJsValue for ShadowRootInnerHTML with to_js(self : ShadowRootInnerHTML) -> JsValue = "%identity"
///|
pub impl FromJsAny for ShadowRootInnerHTML with from_js_any(value : JsAny) -> ShadowRootInnerHTML = "%identity"
///|
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TShadowRootInnerHTML + FromJsAny] ShadowRootInnerHTML::into(
self : ShadowRootInnerHTML,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TShadowRootInnerHTML + FromJsAny] ShadowRootInnerHTML::unsafe_into(
self : ShadowRootInnerHTML,
) -> T {
FromJsAny::from_js_any(jsvalue_to_jsany(TJsValue::to_js(self)))
}
///|
pub fn[T : TShadowRootInnerHTML] ShadowRootInnerHTML::from(
value : T,
) -> ShadowRootInnerHTML = "%identity"
///|
pub impl TShadowRootInnerHTML for ShadowRootInnerHTML
///|
/// [ShadowRoot](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot) interface.
pub trait TShadowRoot: TDocumentFragment {
mode(self : Self) -> ShadowRootMode = _
delegates_focus(self : Self) -> Bool = _
slot_assignment(self : Self) -> SlotAssignmentMode = _
clonable(self : Self) -> Bool = _
serializable(self : Self) -> Bool = _
host(self : Self) -> Element = _
onslotchange(self : Self) -> EventHandler = _
set_onslotchange(self : Self, onslotchange : (Event) -> JsValue) -> Unit = _
set_html_unsafe(self : Self, html : &TShadowRootSetHTMLUnsafeHtml) -> Unit = _
get_html(self : Self, options? : GetHTMLOptions) -> String = _
inner_html(self : Self) -> ShadowRootInnerHTML = _
set_inner_html(self : Self, inner_html : &TShadowRootInnerHTML) -> Unit = _
custom_element_registry(self : Self) -> CustomElementRegistry = _
active_element(self : Self) -> Element = _
style_sheets(self : Self) -> StyleSheetList = _
adopted_style_sheets(self : Self) -> Array[CSSStyleSheet] = _
set_adopted_style_sheets(
self : Self,
adopted_style_sheets : Array[CSSStyleSheet],
) -> Unit = _
fullscreen_element(self : Self) -> Element = _
get_animations(self : Self) -> Array[Animation] = _
}
///|
/// [ShadowRoot.mode](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/mode)
impl TShadowRoot with mode(self : Self) -> ShadowRootMode {
shadow_root_mode_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.delegatesFocus](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus)
impl TShadowRoot with delegates_focus(self : Self) -> Bool {
shadow_root_delegates_focus_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.slotAssignment](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/slotAssignment)
impl TShadowRoot with slot_assignment(self : Self) -> SlotAssignmentMode {
shadow_root_slot_assignment_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.clonable](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/clonable)
impl TShadowRoot with clonable(self : Self) -> Bool {
shadow_root_clonable_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.serializable](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/serializable)
impl TShadowRoot with serializable(self : Self) -> Bool {
shadow_root_serializable_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.host](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/host)
impl TShadowRoot with host(self : Self) -> Element {
shadow_root_host_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.onslotchange](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/onslotchange)
impl TShadowRoot with onslotchange(self : Self) -> EventHandler {
shadow_root_onslotchange_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.onslotchange](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/onslotchange)
impl TShadowRoot with set_onslotchange(
self : Self,
onslotchange : (Event) -> JsValue,
) -> Unit {
shadow_root_set_onslotchange_ffi(
TJsValue::to_js(self),
TJsValue::to_js(event_handler_non_null_ffi(onslotchange)),
)
}
///|
/// [ShadowRoot.setHTMLUnsafe](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/setHTMLUnsafe)
impl TShadowRoot with set_html_unsafe(
self : Self,
html : &TShadowRootSetHTMLUnsafeHtml,
) -> Unit {
shadow_root_set_html_unsafe_ffi(TJsValue::to_js(self), html.to_js())
}
///|
/// [ShadowRoot.getHTML](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/getHTML)
impl TShadowRoot with get_html(self : Self, options? : GetHTMLOptions) -> String {
shadow_root_get_html_ffi(TJsValue::to_js(self), opt_to_js(options))
}
///|
/// [ShadowRoot.innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/innerHTML)
impl TShadowRoot with inner_html(self : Self) -> ShadowRootInnerHTML {
shadow_root_inner_html_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/innerHTML)
impl TShadowRoot with set_inner_html(
self : Self,
inner_html : &TShadowRootInnerHTML,
) -> Unit {
shadow_root_set_inner_html_ffi(TJsValue::to_js(self), inner_html.to_js())
}
///|
/// [ShadowRoot.customElementRegistry](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/customElementRegistry)
impl TShadowRoot with custom_element_registry(self : Self) -> CustomElementRegistry {
shadow_root_custom_element_registry_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.activeElement](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/activeElement)
impl TShadowRoot with active_element(self : Self) -> Element {
shadow_root_active_element_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.styleSheets](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/styleSheets)
impl TShadowRoot with style_sheets(self : Self) -> StyleSheetList {
shadow_root_style_sheets_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.adoptedStyleSheets](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets)
impl TShadowRoot with adopted_style_sheets(self : Self) -> Array[CSSStyleSheet] {
shadow_root_adopted_style_sheets_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.adoptedStyleSheets](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets)
impl TShadowRoot with set_adopted_style_sheets(
self : Self,
adopted_style_sheets : Array[CSSStyleSheet],
) -> Unit {
shadow_root_set_adopted_style_sheets_ffi(
TJsValue::to_js(self),
TJsValue::to_js(adopted_style_sheets),
)
}
///|
/// [ShadowRoot.fullscreenElement](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/fullscreenElement)
impl TShadowRoot with fullscreen_element(self : Self) -> Element {
shadow_root_fullscreen_element_ffi(TJsValue::to_js(self))
}
///|
/// [ShadowRoot.getAnimations](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/getAnimations)
impl TShadowRoot with get_animations(self : Self) -> Array[Animation] {
shadow_root_get_animations_ffi(TJsValue::to_js(self))
}
///|
#cfg(target="js")
extern "js" fn shadow_root_mode_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.mode"
///|
#cfg(target="js")
fn shadow_root_mode_ffi(obj : JsValue) -> ShadowRootMode {
ShadowRootMode::from_unchecked(shadow_root_mode_ffi_js(obj).unsafe_cast())
}
///|
#cfg(target="js")
extern "js" fn shadow_root_delegates_focus_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.delegatesFocus"
///|
#cfg(target="js")
fn shadow_root_delegates_focus_ffi(obj : JsValue) -> Bool {
shadow_root_delegates_focus_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_slot_assignment_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.slotAssignment"
///|
#cfg(target="js")
fn shadow_root_slot_assignment_ffi(obj : JsValue) -> SlotAssignmentMode {
SlotAssignmentMode::from_unchecked(
shadow_root_slot_assignment_ffi_js(obj).unsafe_cast(),
)
}
///|
#cfg(target="js")
extern "js" fn shadow_root_clonable_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.clonable"
///|
#cfg(target="js")
fn shadow_root_clonable_ffi(obj : JsValue) -> Bool {
shadow_root_clonable_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_serializable_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.serializable"
///|
#cfg(target="js")
fn shadow_root_serializable_ffi(obj : JsValue) -> Bool {
shadow_root_serializable_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_host_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.host"
///|
#cfg(target="js")
fn shadow_root_host_ffi(obj : JsValue) -> Element {
shadow_root_host_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_onslotchange_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.onslotchange"
///|
#cfg(target="js")
fn shadow_root_onslotchange_ffi(obj : JsValue) -> EventHandler {
shadow_root_onslotchange_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_set_onslotchange_ffi(
obj : JsValue,
onslotchange : JsValue,
) -> Unit = "(obj, onslotchange) => { obj.onslotchange = onslotchange; }"
///|
#cfg(target="js")
extern "js" fn shadow_root_set_html_unsafe_ffi(
obj : JsValue,
html : JsValue,
) -> Unit = "(obj, html) => obj.setHTMLUnsafe(html)"
///|
#cfg(target="js")
extern "js" fn shadow_root_get_html_ffi_js(
obj : JsValue,
options : JsValue,
) -> JsValue = "(obj, options) => obj.getHTML(options)"
///|
#cfg(target="js")
fn shadow_root_get_html_ffi(obj : JsValue, options : JsValue) -> String {
shadow_root_get_html_ffi_js(obj, options).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_inner_html_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.innerHTML"
///|
#cfg(target="js")
fn shadow_root_inner_html_ffi(obj : JsValue) -> ShadowRootInnerHTML {
shadow_root_inner_html_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_set_inner_html_ffi(
obj : JsValue,
inner_html : JsValue,
) -> Unit = "(obj, innerHTML) => { obj.innerHTML = innerHTML; }"
///|
#cfg(target="js")
extern "js" fn shadow_root_custom_element_registry_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.customElementRegistry"
///|
#cfg(target="js")
fn shadow_root_custom_element_registry_ffi(
obj : JsValue,
) -> CustomElementRegistry {
shadow_root_custom_element_registry_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_active_element_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.activeElement"
///|
#cfg(target="js")
fn shadow_root_active_element_ffi(obj : JsValue) -> Element {
shadow_root_active_element_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_style_sheets_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.styleSheets"
///|
#cfg(target="js")
fn shadow_root_style_sheets_ffi(obj : JsValue) -> StyleSheetList {
shadow_root_style_sheets_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_adopted_style_sheets_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.adoptedStyleSheets"
///|
#cfg(target="js")
fn shadow_root_adopted_style_sheets_ffi(obj : JsValue) -> Array[CSSStyleSheet] {
shadow_root_adopted_style_sheets_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_set_adopted_style_sheets_ffi(
obj : JsValue,
adopted_style_sheets : JsValue,
) -> Unit = "(obj, adoptedStyleSheets) => { obj.adoptedStyleSheets = adoptedStyleSheets; }"
///|
#cfg(target="js")
extern "js" fn shadow_root_fullscreen_element_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.fullscreenElement"
///|
#cfg(target="js")
fn shadow_root_fullscreen_element_ffi(obj : JsValue) -> Element {
shadow_root_fullscreen_element_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn shadow_root_get_animations_ffi_js(obj : JsValue) -> JsValue = "(obj) => obj.getAnimations()"
///|
#cfg(target="js")
fn shadow_root_get_animations_ffi(obj : JsValue) -> Array[Animation] {
shadow_root_get_animations_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn shadow_root_mode_ffi_wasm(obj : JsValue) -> JsValue = "webapi_ShadowRoot" "get_mode"
///|
#cfg(target="wasm-gc")
fn shadow_root_mode_ffi(obj : JsValue) -> ShadowRootMode {
ShadowRootMode::from_unchecked(
jsvalue_to_string(shadow_root_mode_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn shadow_root_delegates_focus_ffi(obj : JsValue) -> Bool = "webapi_ShadowRoot" "get_delegatesFocus"
///|
#cfg(target="wasm-gc")
fn shadow_root_slot_assignment_ffi_wasm(obj : JsValue) -> JsValue = "webapi_ShadowRoot" "get_slotAssignment"
///|
#cfg(target="wasm-gc")
fn shadow_root_slot_assignment_ffi(obj : JsValue) -> SlotAssignmentMode {
SlotAssignmentMode::from_unchecked(
jsvalue_to_string(shadow_root_slot_assignment_ffi_wasm(obj)),
)
}
///|
#cfg(target="wasm-gc")
fn shadow_root_clonable_ffi(obj : JsValue) -> Bool = "webapi_ShadowRoot" "get_clonable"
///|
#cfg(target="wasm-gc")
fn shadow_root_serializable_ffi(obj : JsValue) -> Bool = "webapi_ShadowRoot" "get_serializable"
///|
#cfg(target="wasm-gc")
fn shadow_root_host_ffi(obj : JsValue) -> Element = "webapi_ShadowRoot" "get_host"
///|
#cfg(target="wasm-gc")
fn shadow_root_onslotchange_ffi_wasm(obj : JsValue) -> JsValue = "webapi_ShadowRoot" "get_onslotchange"
///|
#cfg(target="wasm-gc")
fn shadow_root_onslotchange_ffi(obj : JsValue) -> EventHandler {
shadow_root_onslotchange_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn shadow_root_set_onslotchange_ffi(
obj : JsValue,
onslotchange : JsValue,
) -> Unit = "webapi_ShadowRoot" "set_onslotchange"
///|
#cfg(target="wasm-gc")
fn shadow_root_set_html_unsafe_ffi(obj : JsValue, html : JsValue) -> Unit = "webapi_ShadowRoot" "setHTMLUnsafe"
///|
#cfg(target="wasm-gc")
fn shadow_root_get_html_ffi_wasm(obj : JsValue, options : JsValue) -> JsValue = "webapi_ShadowRoot" "getHTML"
///|
#cfg(target="wasm-gc")
fn shadow_root_get_html_ffi(obj : JsValue, options : JsValue) -> String {
jsvalue_to_string(shadow_root_get_html_ffi_wasm(obj, options))
}
///|
#cfg(target="wasm-gc")
fn shadow_root_inner_html_ffi_wasm(obj : JsValue) -> JsValue = "webapi_ShadowRoot" "get_innerHTML"
///|
#cfg(target="wasm-gc")
fn shadow_root_inner_html_ffi(obj : JsValue) -> ShadowRootInnerHTML {
shadow_root_inner_html_ffi_wasm(obj).unsafe_cast()
}
///|
#cfg(target="wasm-gc")
fn shadow_root_set_inner_html_ffi(obj : JsValue, inner_html : JsValue) -> Unit = "webapi_ShadowRoot" "set_innerHTML"
///|
#cfg(target="wasm-gc")
fn shadow_root_custom_element_registry_ffi(
obj : JsValue,
) -> CustomElementRegistry = "webapi_ShadowRoot" "get_customElementRegistry"
///|
#cfg(target="wasm-gc")
fn shadow_root_active_element_ffi(obj : JsValue) -> Element = "webapi_ShadowRoot" "get_activeElement"
///|
#cfg(target="wasm-gc")
fn shadow_root_style_sheets_ffi(obj : JsValue) -> StyleSheetList = "webapi_ShadowRoot" "get_styleSheets"
///|
#cfg(target="wasm-gc")
fn shadow_root_adopted_style_sheets_ffi_wasm(obj : JsValue) -> JsArray = "webapi_ShadowRoot" "get_adoptedStyleSheets"
///|
#cfg(target="wasm-gc")
fn shadow_root_adopted_style_sheets_ffi(obj : JsValue) -> Array[CSSStyleSheet] {
shadow_root_adopted_style_sheets_ffi_wasm(obj).to_array()
}
///|
#cfg(target="wasm-gc")
fn shadow_root_set_adopted_style_sheets_ffi(
obj : JsValue,
adopted_style_sheets : JsValue,
) -> Unit = "webapi_ShadowRoot" "set_adoptedStyleSheets"
///|
#cfg(target="wasm-gc")
fn shadow_root_fullscreen_element_ffi(obj : JsValue) -> Element = "webapi_ShadowRoot" "get_fullscreenElement"
///|
#cfg(target="wasm-gc")
fn shadow_root_get_animations_ffi_wasm(obj : JsValue) -> JsArray = "webapi_ShadowRoot" "getAnimations"
///|
#cfg(target="wasm-gc")
fn shadow_root_get_animations_ffi(obj : JsValue) -> Array[Animation] {
shadow_root_get_animations_ffi_wasm(obj).to_array()
}