1pub mod app;
58#[macro_use]
59pub mod component;
60pub mod css;
61pub mod event;
62pub mod geometry;
63pub mod layout;
64#[macro_use]
65pub mod macros;
66pub mod platform;
67pub mod render;
68pub mod theme;
69pub mod widget;
70
71#[cfg(feature = "macros")]
73pub use openkit_macros::{Widget, Component, Styleable, component, prop, state, event};
74
75pub mod prelude {
76 pub use crate::app::App;
80 pub use crate::css::{StyleManager, StyleBuilder, CssLoadError};
81 pub use crate::event::{Event, MouseButton, MouseEvent, KeyEvent, Key, Modifiers};
82 pub use crate::geometry::{Point, Size, Rect, Color, BorderRadius, EdgeInsets};
83 pub use crate::layout::{Layout, Alignment, Padding};
84 pub use crate::theme::Theme;
85
86 pub use crate::widget::{Widget, WidgetId};
88 pub use crate::widget::avatar::{Avatar, AvatarSize, AvatarShape};
89 pub use crate::widget::bar::{Bar, BarPosition, BarVariant};
90 pub use crate::widget::button::{Button, ButtonVariant};
91 pub use crate::widget::card::{Card, CardVariant};
92 pub use crate::widget::checkbox::Checkbox;
93 pub use crate::widget::clock::{Clock, ClockFormat, DateFormat};
94 pub use crate::widget::container::{Column, Row};
95 pub use crate::widget::context_menu::{ContextMenu, MenuItem};
96 pub use crate::widget::desktop::{Desktop, DesktopIcon, Wallpaper, WallpaperMode, GradientDirection};
97 pub use crate::widget::dropdown::{Dropdown, DropdownOption};
98 pub use crate::widget::icon_button::{IconButton, IconButtonSize, IconButtonVariant};
99 pub use crate::widget::label::Label;
100 pub use crate::widget::list_view::{ListView, ListItem, SelectionMode};
101 pub use crate::widget::notification::{Notification, NotificationUrgency};
102 pub use crate::widget::password_field::PasswordField;
103 pub use crate::widget::progress::{Progress, ProgressVariant, ProgressSize};
104 pub use crate::widget::scroll_view::{ScrollView, ScrollBarVisibility};
105 pub use crate::widget::separator::{Separator, SeparatorOrientation};
106 pub use crate::widget::slider::{Slider, SliderOrientation};
107 pub use crate::widget::spacer::Spacer;
108 pub use crate::widget::spinner::{Spinner, SpinnerSize};
109 pub use crate::widget::switch::{ToggleSwitch, ToggleSwitchSize};
110 pub use crate::widget::system_tray::{SystemTray, TrayIcon};
111 pub use crate::widget::tabs::{Tabs, Tab, TabPosition, TabVariant};
112 pub use crate::widget::textfield::TextField;
113 pub use crate::widget::tooltip::{Tooltip, TooltipPosition};
114 pub use crate::widget::window::{Window, WindowVariant, WindowControlsStyle};
115 pub use crate::widget::workspace::{WorkspaceSwitcher, WorkspaceItem};
116
117 pub use crate::component::{
119 State, EventEmitter, Model, Binding,
121 ComponentBuilder, BuiltComponent, ComponentContext,
122 component,
123 Lifecycle, Changes,
125 If, For, Switch,
127 Pipe, UppercasePipe, LowercasePipe, CurrencyPipe,
129 };
130
131 pub use crate::{
133 view, col, row, class, style,
135 button, checkbox, textfield, label,
136 when, match_widget, for_each, spacer, dbg_widget,
137 define_component, ng_if, ng_for, ng_switch,
139 bind, on, model,
140 };
141
142 #[cfg(feature = "macros")]
144 pub use openkit_macros::{Widget, Component, Styleable, component, prop, state, event};
145
146 pub use crate::platform::{init as platform_init, platform_name, is_desktop};
148}
149
150pub use crate::app::AppError;