ratatui_kit/components/
fragment.rs

1use ratatui_kit_macros::Props;
2
3use crate::{AnyElement, Component, ComponentUpdater, Hooks};
4
5#[derive(Default, Props)]
6pub struct FragmentProps<'a> {
7    pub children: Vec<AnyElement<'a>>,
8}
9
10#[derive(Default)]
11pub struct Fragment;
12
13impl Component for Fragment {
14    type Props<'a> = FragmentProps<'a>;
15
16    fn new(_props: &Self::Props<'_>) -> Self {
17        Self
18    }
19
20    fn update(
21        &mut self,
22        props: &mut Self::Props<'_>,
23        _hooks: Hooks,
24        updater: &mut ComponentUpdater,
25    ) {
26        updater.set_transparent_layout(true);
27        updater.update_children(props.children.iter_mut(), None);
28    }
29}