raui_material/component/interactive/
text_button_paper.rs1use 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}