Add an attach shadow method

This commit is contained in:
Jeremy Wall 2023-11-22 17:34:16 -05:00
parent a63670b7d3
commit f03d1641d9
3 changed files with 15 additions and 2 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "wasm-web-component-macros"
version = "0.2.0"
version = "0.3.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -224,6 +224,19 @@ fn expand_wasm_shim(struct_name: &Ident) -> syn::ItemImpl {
Self::default()
}
#[::wasm_bindgen::prelude::wasm_bindgen]
#[doc = "Attach an open shadowroot to our element."]
pub fn attach_shadow(&self, element: &web_sys::HtmlElement, root: &str) {
self.attach_shadow_with_mode(element, root, web_sys::ShadowRootMode::Open);
}
#[::wasm_bindgen::prelude::wasm_bindgen]
#[doc = "Attach a shadowroot with the given mode to our element."]
pub fn attach_shadow_with_mode(&self, element: &web_sys::HtmlElement, root: &str, mode: web_sys::ShadowRootMode) {
let shadow_root = element.attach_shadow(&web_sys::ShadowRootInit::new(mode)).unwrap();
shadow_root.set_inner_html(root);
}
#[::wasm_bindgen::prelude::wasm_bindgen]
pub fn init_impl(&mut self, element: &web_sys::HtmlElement) {
use #trait_path;

View File

@ -1,6 +1,6 @@
[package]
name = "wasm-web-component"
version = "0.2.0"
version = "0.3.0"
edition = "2021"
[lib]