use std::borrow::Cow;
use super::Value;
#[derive(Debug, PartialEq, PartialOrd, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Id<'a> {
Offset(usize),
Display(Cow<'a, str>),
}
#[derive(Debug, PartialEq, PartialOrd, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Event<'a> {
Click,
Hover,
Custom(Cow<'a, str>),
}
#[derive(Debug, PartialEq, PartialOrd, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Handle<'a> {
Navigation(Cow<'a, str>),
Hyperlink(Cow<'a, str>),
Solidity(Cow<'a, str>),
Callback(Cow<'a, str>),
}
#[derive(Debug, PartialEq, PartialOrd, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct OnEvent<'a> {
pub event: Event<'a>,
pub handle: Handle<'a>,
}
#[derive(Debug, PartialEq, PartialOrd, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Class<'a> {
Theme(Value<'a, Cow<'a, str>>),
App(Value<'a, Cow<'a, str>>),
}
#[derive(Debug, PartialEq, PartialOrd, Clone, Copy)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum AxisDirection {
Up,
Right,
Down,
Left,
}