use leptos::prelude::*;

use super::animated_icon_component::AnimatedIcon;
use crate::common::icon_type::IconTypeAnimated;

/// AArrowDownAnimate icon component
#[component]
pub fn AArrowDownAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AArrowDownAnimate class=class /> }
}

/// AirVentAnimate icon component
#[component]
pub fn AirVentAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AirVentAnimate class=class /> }
}

/// AlarmClockAnimate icon component
#[component]
pub fn AlarmClockAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AlarmClockAnimate class=class /> }
}

/// AlignCenterAnimate icon component
#[component]
pub fn AlignCenterAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AlignCenterAnimate class=class /> }
}

/// AngryAnimate icon component
#[component]
pub fn AngryAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AngryAnimate class=class /> }
}

/// AnnoyedAnimate icon component
#[component]
pub fn AnnoyedAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::AnnoyedAnimate class=class /> }
}

/// ArchiveAnimate icon component
#[component]
pub fn ArchiveAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::ArchiveAnimate class=class /> }
}

/// ArrowBigDownAnimate icon component
#[component]
pub fn ArrowBigDownAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::ArrowBigDownAnimate class=class /> }
}

/// ArrowBigDownDashAnimate icon component
#[component]
pub fn ArrowBigDownDashAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::ArrowBigDownDashAnimate class=class /> }
}

/// BlocksAnimate icon component
#[component]
pub fn BlocksAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::BlocksAnimate class=class /> }
}

/// CalendarDaysAnimate icon component
#[component]
pub fn CalendarDaysAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::CalendarDaysAnimate class=class /> }
}

/// CompassAnimate icon component
#[component]
pub fn CompassAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::CompassAnimate class=class /> }
}

/// ExpandAnimate icon component
#[component]
pub fn ExpandAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::ExpandAnimate class=class /> }
}

/// FrameAnimate icon component
#[component]
pub fn FrameAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::FrameAnimate class=class /> }
}

/// HeartAnimate icon component
#[component]
pub fn HeartAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::HeartAnimate class=class /> }
}

/// PanelLeftOpenAnimate icon component
#[component]
pub fn PanelLeftOpenAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::PanelLeftOpenAnimate class=class /> }
}

/// PlusAnimate icon component
#[component]
pub fn PlusAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::PlusAnimate class=class /> }
}

/// SearchAnimate icon component
#[component]
pub fn SearchAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::SearchAnimate class=class /> }
}

/// SquareChevronRightAnimate icon component
#[component]
pub fn SquareChevronRightAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::SquareChevronRightAnimate class=class /> }
}

/// TornadoAnimate icon component
#[component]
pub fn TornadoAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::TornadoAnimate class=class /> }
}

/// WindAnimate icon component
#[component]
pub fn WindAnimate(#[prop(into, optional)] class: String) -> impl IntoView {
    view! { <AnimatedIcon icon=IconTypeAnimated::WindAnimate class=class /> }
}
