raui_material/component/interactive/
text_button_paper.rs

1use crate::component::{interactive::button_paper::button_paper, text_paper::text_paper};
2use raui_core::{
3    make_widget,
4    widget::{
5        component::{
6            WidgetComponent,
7            containers::wrap_box::{WrapBoxProps, wrap_box},
8        },
9        context::WidgetContext,
10        node::WidgetNode,
11    },
12};
13
14pub fn text_button_paper(context: WidgetContext) -> WidgetNode {
15    text_button_paper_impl(make_widget!(button_paper), context)
16}
17
18pub fn text_button_paper_impl(component: WidgetComponent, context: WidgetContext) -> WidgetNode {
19    let WidgetContext {
20        idref, key, props, ..
21    } = context;
22
23    let wrap_props = props.read_cloned_or_default::<WrapBoxProps>();
24
25    component
26        .key(key)
27        .maybe_idref(idref.cloned())
28        .merge_props(props.clone())
29        .named_slot(
30            "content",
31            make_widget!(wrap_box)
32                .key("wrap")
33                .with_props(wrap_props)
34                .named_slot(
35                    "content",
36                    make_widget!(text_paper)
37                        .key("switch")
38                        .merge_props(props.clone()),
39                ),
40        )
41        .into()
42}