#![allow(unreachable_pub, dead_code)]
use leptos::prelude::*;
use canonrs_core::ToggleState;
use canonrs_core::meta::ActivityState;
use canonrs_core::primitives::{
CarouselPrimitive, CarouselTrackPrimitive, CarouselItemPrimitive,
CarouselPrevPrimitive, CarouselNextPrimitive, CarouselIndicatorsPrimitive, CarouselDotPrimitive,
};
#[component]
pub fn Carousel(children: Children, #[prop(default = 0)] initial_index: usize, #[prop(default = ToggleState::Off)] autoplay: ToggleState, #[prop(default = 5000)] interval: u32, #[prop(default = ToggleState::On)] loop_state: ToggleState, #[prop(into, default = String::new())] class: String) -> impl IntoView {
view! {
<CarouselPrimitive class=class>
<CarouselTrackPrimitive>
{children()}
</CarouselTrackPrimitive>
</CarouselPrimitive>
}
}
#[component]
pub fn CarouselTrack(children: Children, #[prop(into, default = String::new())] class: String) -> impl IntoView {
view! { <CarouselTrackPrimitive class=class>{children()}</CarouselTrackPrimitive> }
}
#[component]
pub fn CarouselItem(children: Children, #[prop(into, default = String::new())] class: String, #[prop(default = false)] active: bool) -> impl IntoView {
use canonrs_core::meta::VisibilityState;
let activity = if active { ActivityState::Active } else { ActivityState::Inactive };
let visibility = if active { VisibilityState::Open } else { VisibilityState::Closed };
view! { <CarouselItemPrimitive class=class activity=activity visibility=visibility>{children()}</CarouselItemPrimitive> }
}
#[component]
pub fn CarouselPrev(children: Children, #[prop(into, default = String::new())] class: String) -> impl IntoView {
view! { <CarouselPrevPrimitive class=class>{children()}</CarouselPrevPrimitive> }
}
#[component]
pub fn CarouselNext(children: Children, #[prop(into, default = String::new())] class: String) -> impl IntoView {
view! { <CarouselNextPrimitive class=class>{children()}</CarouselNextPrimitive> }
}
#[component]
pub fn CarouselIndicators(children: Children, #[prop(into, default = String::new())] class: String) -> impl IntoView {
view! { <CarouselIndicatorsPrimitive class=class>{children()}</CarouselIndicatorsPrimitive> }
}
#[component]
pub fn CarouselDot(#[prop(into, default = String::new())] class: String, #[prop(into, default = String::new())] aria_label: String, #[prop(default = false)] active: bool) -> impl IntoView {
let state = if active { ActivityState::Active } else { ActivityState::Inactive };
view! { <CarouselDotPrimitive class=class aria_label=aria_label state=state /> }
}