1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
8
9mod console;
10
11pub mod modifier;
12pub mod options;
13pub mod state;
14
15#[cfg(feature = "yew")]
16pub mod yew;
17
18pub use popper_rs_sys as sys;
19
20use crate::options::Options;
21use std::convert::TryInto;
22use wasm_bindgen::JsValue;
23
24pub mod prelude {
26 pub use popper_rs_sys::types::*;
27 pub use popper_rs_sys::Instance;
28
29 pub use crate::modifier::*;
30 pub use crate::options::Options;
31 pub use crate::state::*;
32
33 #[cfg(feature = "yew")]
34 pub use super::yew::component::*;
35 #[cfg(feature = "yew")]
36 pub use super::yew::*;
37}
38
39pub fn create(
41 reference: &web_sys::Node,
42 popper: &web_sys::Node,
43 opts: &Options,
44) -> Result<prelude::Instance, JsValue> {
45 Ok(sys::create_popper(reference, popper, &opts.try_into()?))
46}