canonrs-server 0.1.0

CanonRS server-side rendering support
#![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 /> }
}