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