dxc_types/components/
image.rs1use dioxus::dioxus_core::AttributeValue;
2use dioxus::prelude::IntoAttributeValue;
3use serde::{Deserialize, Serialize};
4use strum::{Display, EnumString};
5
6pub use crate::common::crossorigin::Crossorigin;
7
8#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize, Display, EnumString)]
9#[strum(serialize_all = "kebab-case")]
10pub enum Fit {
11 #[serde(rename = "contain")]
12 #[strum(serialize = "contain")]
13 Contain,
14
15 #[serde(rename = "cover")]
16 #[strum(serialize = "cover")]
17 Cover,
18
19 #[serde(rename = "fill")]
20 #[strum(serialize = "fill")]
21 Fill,
22
23 #[serde(rename = "none")]
24 #[strum(serialize = "none")]
25 None,
26
27 #[serde(rename = "scale-down")]
28 #[strum(serialize = "scale-down")]
29 ScaleDown,
30}
31
32#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize, Display, EnumString)]
33#[strum(serialize_all = "kebab-case")]
34pub enum Loading {
35 #[serde(rename = "eager")]
36 #[strum(serialize = "eager")]
37 Eager,
38 #[serde(rename = "lazy")]
39 #[strum(serialize = "lazy")]
40 Lazy,
41}
42
43impl IntoAttributeValue for Fit {
44 fn into_value(self) -> AttributeValue {
45 AttributeValue::Text(self.to_string())
46 }
47}
48
49impl IntoAttributeValue for Loading {
50 fn into_value(self) -> AttributeValue {
51 AttributeValue::Text(self.to_string())
52 }
53}