Packages
plinth
0.9.3
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.13
0.1.12
0.1.11
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Bindings to Node.js and browser platform APIs
Current section
Files
Jump to
Current section
Files
src/plinth/browser/shadow.gleam
import gleam/javascript/array.{type Array}
import plinth/browser/element.{type Element}
pub type ShadowRoot
pub type Mode {
Open
Closed
}
@external(javascript, "../../shadow_ffi.mjs", "appendChild")
pub fn append_child(root: ShadowRoot, element: Element) -> Nil
@external(javascript, "../../shadow_ffi.mjs", "attachShadow")
pub fn attach_shadow(element: Element, mode: Mode) -> ShadowRoot
/// Returns the shadow root attached to the given element, if any.
@external(javascript, "../../shadow_ffi.mjs", "shadowRoot")
pub fn shadow_root(element: Element) -> Result(ShadowRoot, Nil)
/// Returns the first element that matches the given selector in the given
/// shadow root, if any.
@external(javascript, "../../shadow_ffi.mjs", "querySelector")
pub fn query_selector(
shadow_root: ShadowRoot,
selector: String,
) -> Result(Element, Nil)
/// Returns all elements that match the given selector in the given shadow root.
@external(javascript, "../../shadow_ffi.mjs", "querySelectorAll")
pub fn query_selector_all(
shadow_root: ShadowRoot,
selector: String,
) -> Array(Element)