diff --git a/src/components/spinner.rs b/src/components/spinner.rs index cb4a773..234a779 100644 --- a/src/components/spinner.rs +++ b/src/components/spinner.rs @@ -23,14 +23,21 @@ impl IconShape for _Spinner { } } -#[component] -pub fn Spinner(cx: Scope) -> Element { +#[derive(PartialEq, Props)] +pub struct SpinnerProps { + #[props(default = true)] + animate: bool, +} + +pub fn Spinner(cx: Scope) -> Element { cx.render(rsx! { style { STYLE_SHEET }, div { class: ClassName::ROOT, + Icon { + class: if cx.props.animate { "" } else { ClassName::PAUSED }, icon: _Spinner, } } diff --git a/src/components/spinner.scss b/src/components/spinner.scss index e5e979b..d26b066 100644 --- a/src/components/spinner.scss +++ b/src/components/spinner.scss @@ -35,5 +35,10 @@ $logo-aspect-ratio: calc($logo-width / $logo-height); fill: $color-ternary-100; } } + + &.paused { + animation-play-state: paused; + } + } }