pub mod chrome {
pub use crate::ui::widgets::composite::chrome::{
render::draw_chrome,
render::measure,
input::{chrome_hit_test, handle_chrome_action},
types::{
ChromeHit, ChromeView, ChromeTabConfig, ChromeRenderKind,
ChromeAction, ChromeColors, ChromeResponse,
},
state::{ChromeState, TabState},
settings::ChromeSettings,
style::ChromeStyle,
theme::{ChromeTheme, DefaultChromeTheme},
};
pub mod layout {
pub use crate::ui::widgets::composite::chrome::layout::{
draw_chrome_layout, chrome_layout_hit_test,
ChromeLayout, Slot,
TabsConfig, SearchConfig, ToolbarSlotConfig,
ChromeHitPath, ChromeZone, ChromeHitKind,
};
}
}
pub mod modal {
pub use crate::ui::widgets::composite::modal::{
render::{draw_modal, draw_body_overflow_chevrons, body_rect, measure_chrome},
input::modal_header_hit,
types::{BackdropKind, FooterBtnStyle, ModalView, ModalRenderKind},
state::ModalState,
settings::ModalSettings,
};
}
pub mod popup {
pub use crate::ui::widgets::composite::popup::{
render::{draw_popup, body_rect},
types::{BackdropKind, PopupView, PopupViewKind, PopupRenderKind},
state::PopupState,
settings::PopupSettings,
};
}
pub mod dropdown {
pub use crate::ui::widgets::composite::dropdown::{
render::{draw_dropdown, measure_flat},
types::{
DropdownItem, SubmenuTrigger, SubmenuWidth, DropdownItemRight,
DropdownViewKind, DropdownView, DropdownRenderKind,
},
state::DropdownState,
settings::DropdownSettings,
};
}
pub mod context_menu {
pub use crate::ui::widgets::composite::context_menu::{
render::{draw_context_menu, measure},
types::{ContextMenuItem, ContextMenuView, ContextMenuRenderKind},
state::ContextMenuState,
settings::ContextMenuSettings,
};
}
pub mod toolbar {
pub use crate::ui::widgets::composite::toolbar::{
render::{draw_toolbar, measure_horizontal, measure_vertical},
types::{
SplitButtonHoverZone, ToolbarItem, ToolbarSection,
ToolbarView, TabConfig, ChromeStripView, ToolbarRenderKind,
},
state::ToolbarState,
settings::ToolbarSettings,
};
}
pub mod sidebar {
pub use crate::ui::widgets::composite::sidebar::{
render::{draw_sidebar, begin_body, end_body, measure, body_viewport, SidebarBodyViewport},
types::{
SidebarHeader, HeaderAction, SidebarTab,
SidebarHeaderMode, SidebarView, SidebarRenderKind,
},
state::SidebarState,
settings::SidebarSettings,
};
}
pub mod blackbox_panel {
pub use crate::ui::widgets::composite::blackbox_panel::{
render::draw_blackbox,
types::{BlackboxEvent, BlackboxEventResult, BlackboxView, BlackboxRenderKind, BlackboxHandler},
settings::BlackboxPanelSettings,
};
}
pub mod style {
pub use crate::layout::styles::{
StyleManager,
TextureKind,
Preset,
MirageDarkPreset,
MirageLightPreset,
};
}
pub mod atomic {
pub mod button {
pub use crate::ui::widgets::atomic::button::{
render::draw_button,
settings::ButtonSettings,
state::{ButtonState, SplitButtonHoverZone},
style::{
ButtonStyle,
DefaultButtonStyle, CompactButtonStyle, FlatButtonStyle,
ToolbarButtonStyle, ToolbarLabelStyle,
PrimaryButtonStyle, PrimaryRoundedButtonStyle,
GhostOutlineButtonStyle, GhostOutlineRoundedButtonStyle,
DangerButtonStyle, SidebarTabStyle, HorizontalTabStyle,
UtilityButtonStyle,
DropdownMenuRowStyle,
RoundedDropdownMenuRowStyle, FlatDropdownMenuRowStyle,
},
theme::{ButtonTheme, DefaultButtonTheme},
types::{
ButtonType, ActionVariant, ButtonStyle as ButtonStyleEnum,
ButtonContent,
},
};
pub use crate::ui::widgets::atomic::button::render::{
ButtonView, ButtonResult,
};
}
pub mod text_input {
pub use crate::ui::widgets::atomic::text_input::{
render::{draw_input, draw_input_cursor, cursor_from_char_positions},
settings::TextInputSettings,
state::{
InputCapability, TextFieldState, TextFieldStore,
TextAction,
},
style::{TextInputStyle, DefaultTextInputStyle},
theme::{TextInputTheme, DefaultTextInputTheme},
types::{InputType, TextInputType},
};
}
}