// Do not edit. This file is generated.
// MoonBit type: CheckVisibilityOptions
// Specifications: cssom-view.idl
///|
/// [CheckVisibilityOptions](https://developer.mozilla.org/en-US/docs/Web/API/CheckVisibilityOptions)
#external
pub type CheckVisibilityOptions
///|
pub impl TJsValue for CheckVisibilityOptions with to_js(
self : CheckVisibilityOptions,
) -> JsValue = "%identity"
///|
pub impl FromJsAny for CheckVisibilityOptions with from_js_any(value : JsAny) -> CheckVisibilityOptions = "%identity"
///|
pub fn CheckVisibilityOptions::new(
check_opacity? : Bool,
check_visibility_css? : Bool,
content_visibility_auto? : Bool,
opacity_property? : Bool,
visibility_property? : Bool,
) -> CheckVisibilityOptions {
check_visibility_options_ffi(
opt_to_js(check_opacity),
opt_to_js(check_visibility_css),
opt_to_js(content_visibility_auto),
opt_to_js(opacity_property),
opt_to_js(visibility_property),
)
}
///|
pub fn CheckVisibilityOptions::empty() -> CheckVisibilityOptions {
check_visibility_options_empty_ffi()
}
///|
pub fn CheckVisibilityOptions::check_opacity(
self : CheckVisibilityOptions,
) -> Bool? {
check_visibility_options_get_check_opacity_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn CheckVisibilityOptions::check_visibility_css(
self : CheckVisibilityOptions,
) -> Bool? {
check_visibility_options_get_check_visibility_css_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn CheckVisibilityOptions::content_visibility_auto(
self : CheckVisibilityOptions,
) -> Bool? {
check_visibility_options_get_content_visibility_auto_ffi(
TJsValue::to_js(self),
).to_option_prim()
}
///|
pub fn CheckVisibilityOptions::opacity_property(
self : CheckVisibilityOptions,
) -> Bool? {
check_visibility_options_get_opacity_property_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
pub fn CheckVisibilityOptions::visibility_property(
self : CheckVisibilityOptions,
) -> Bool? {
check_visibility_options_get_visibility_property_ffi(TJsValue::to_js(self)).to_option_prim()
}
///|
#cfg(target="js")
extern "js" fn check_visibility_options_ffi(
check_opacity : JsValue,
check_visibility_css : JsValue,
content_visibility_auto : JsValue,
opacity_property : JsValue,
visibility_property : JsValue,
) -> CheckVisibilityOptions =
#|(checkOpacity, checkVisibilityCSS, contentVisibilityAuto, opacityProperty, visibilityProperty) => {
#| const obj = {};
#| if (checkOpacity !== undefined) obj.checkOpacity = checkOpacity;
#| if (checkVisibilityCSS !== undefined) obj.checkVisibilityCSS = checkVisibilityCSS;
#| if (contentVisibilityAuto !== undefined) obj.contentVisibilityAuto = contentVisibilityAuto;
#| if (opacityProperty !== undefined) obj.opacityProperty = opacityProperty;
#| if (visibilityProperty !== undefined) obj.visibilityProperty = visibilityProperty;
#| return obj;
#|}
///|
#cfg(target="js")
extern "js" fn check_visibility_options_empty_ffi() -> CheckVisibilityOptions = "() => {}"
///|
#cfg(target="js")
extern "js" fn check_visibility_options_get_check_opacity_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.checkOpacity"
///|
#cfg(target="js")
extern "js" fn check_visibility_options_get_check_visibility_css_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.checkVisibilityCSS"
///|
#cfg(target="js")
extern "js" fn check_visibility_options_get_content_visibility_auto_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.contentVisibilityAuto"
///|
#cfg(target="js")
extern "js" fn check_visibility_options_get_opacity_property_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.opacityProperty"
///|
#cfg(target="js")
extern "js" fn check_visibility_options_get_visibility_property_ffi(
obj : JsValue,
) -> JsValue = "(obj) => obj.visibilityProperty"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_ffi(
check_opacity : JsValue,
check_visibility_css : JsValue,
content_visibility_auto : JsValue,
opacity_property : JsValue,
visibility_property : JsValue,
) -> CheckVisibilityOptions = "webapi_CheckVisibilityOptions" "new"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_empty_ffi() -> CheckVisibilityOptions = "webapi_Dictionary" "empty"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_get_check_opacity_ffi(obj : JsValue) -> JsValue = "webapi_CheckVisibilityOptions" "get_checkOpacity"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_get_check_visibility_css_ffi(
obj : JsValue,
) -> JsValue = "webapi_CheckVisibilityOptions" "get_checkVisibilityCSS"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_get_content_visibility_auto_ffi(
obj : JsValue,
) -> JsValue = "webapi_CheckVisibilityOptions" "get_contentVisibilityAuto"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_get_opacity_property_ffi(obj : JsValue) -> JsValue = "webapi_CheckVisibilityOptions" "get_opacityProperty"
///|
#cfg(target="wasm-gc")
fn check_visibility_options_get_visibility_property_ffi(
obj : JsValue,
) -> JsValue = "webapi_CheckVisibilityOptions" "get_visibilityProperty"