patternfly_dioxus/
tabs.rs1
2use dioxus::{prelude::*};
3
4
5#[allow(non_snake_case,dead_code)]
6#[inline_props]
7pub fn PfTabs<'a>(cx: Scope<'a>, selected_contents: UseState<String>, children: Element<'a>) -> Element<'a> {
8 cx.render(rsx! {
9 div { class: "pf-c-tabs",
10 button { class: "pf-c-tabs__scroll-button", r#type: "button", disabled: "false", aria_hidden: "false", aria_label: "Scroll left",
11 i { class: "fas fa-angle-left", aria_hidden: "true" }
12 }
13 ul { class: "pf-c-tabs__list",
14 children
15 }
16
17 }
18 section {
19 class: "pf-c-tab-content",
20 role: "tabpanel",
21 hidden: "false",
22 span {
23 dangerous_inner_html:"{selected_contents}",
24 }
25
26
27 }
28 })
29}
30
31#[allow(non_snake_case,dead_code)]
32#[inline_props]
33pub fn PfTab<'a>(cx: Scope<'a>, title: &'a str,selected_contents: UseState<String>, children: Element<'a>) -> Element {
34
35 let children_string = dioxus_ssr::render_lazy(rsx!{span{children}});
37
38
39 cx.render(rsx! {
40 li { class: "pf-c-tabs__item",
41 button { r#type: "button", class: "pf-c-tabs__link", onclick: move |_| {selected_contents.set(children_string.clone());} , "{title}"
42 span { class: "pf-c-tabs__item-text"}
43 }
44 }
45 })
46}
47