popper_rs_sys/
types.rs

1use wasm_bindgen::prelude::*;
2
3#[wasm_bindgen]
4#[derive(Copy, Clone, Debug, Eq, PartialEq)]
5pub enum Orientation {
6    Bottom = "bottom",
7    Top = "top",
8    Left = "left",
9    Right = "right",
10}
11
12impl Default for Orientation {
13    fn default() -> Self {
14        Self::Right
15    }
16}
17
18#[wasm_bindgen]
19#[derive(Copy, Clone, Eq, PartialEq, Debug)]
20pub enum Placement {
21    Auto = "auto",
22    AutoStart = "auto-start",
23    AutoEnd = "auto-end",
24
25    Left = "left",
26    LeftStart = "left-start",
27    LeftEnd = "left-end",
28
29    Top = "top",
30    TopStart = "top-start",
31    TopEnd = "top-end",
32
33    Right = "right",
34    RightStart = "right-start",
35    RightEnd = "right-end",
36
37    Bottom = "bottom",
38    BottomStart = "bottom-start",
39    BottomEnd = "bottom-end",
40}
41
42impl Default for Placement {
43    fn default() -> Self {
44        Self::Auto
45    }
46}
47
48/// Positioning strategy for the popper content.
49///
50/// This relates to the positioning of the HTML element, using the CSS `position` style.
51///
52/// When using "portals", you most likely want [`Strategy::Fixed`].
53#[wasm_bindgen]
54#[derive(Copy, Clone, Eq, PartialEq, Debug)]
55pub enum Strategy {
56    Absolute = "absolute",
57    Fixed = "fixed",
58}
59
60impl Default for Strategy {
61    fn default() -> Self {
62        Self::Absolute
63    }
64}