summaryrefslogtreecommitdiffstats
path: root/src/tuice/element.rs
blob: fe859e79afddcc5703fe1a18216d6ddacefadf23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use enum_dispatch::enum_dispatch;
use tui::{layout::Rect, Frame};

use super::{
    Block, Bounds, Carousel, Container, DrawContext, Event, Flex, LayoutNode, Shortcut, Size,
    Status, TextTable, TmpComponent,
};

/// An [`Element`] is an instantiated [`Component`].
#[enum_dispatch(TmpComponent<Message>)]
pub enum Element<'a, Message> {
    Block,
    Carousel,
    Container(Container<'a, Message>),
    Flex(Flex<'a, Message>),
    Shortcut,
    TextTable(TextTable<'a, Message>),
}