1use strum::IntoEnumIterator;
2use ui::prelude::*;
3use ui::{Icon, IconElement};
4
5use crate::story::Story;
6
7#[derive(Element, Default)]
8pub struct IconStory {}
9
10impl IconStory {
11 fn render<V: 'static>(&mut self, _: &mut V, cx: &mut ViewContext<V>) -> impl IntoElement<V> {
12 let icons = Icon::iter();
13
14 Story::container(cx)
15 .child(Story::title_for::<_, IconElement>(cx))
16 .child(Story::label(cx, "All Icons"))
17 .child(div().flex().gap_3().children(icons.map(IconElement::new)))
18 }
19}