mod breadcrumb;
mod callout;
mod canvas;
mod command_palette;
pub mod data; mod datetime_picker;
mod debug_overlay;
mod developer;
mod display;
mod dropzone;
mod feedback;
mod filepicker;
mod form;
#[cfg(feature = "image")]
mod image;
#[path = "input/input_widgets/mod.rs"]
pub mod input_widgets;
mod layout;
mod link;
#[cfg(feature = "markdown")]
pub mod markdown;
#[cfg(feature = "markdown")]
mod markdown_presentation;
mod mermaid;
mod multi_select;
mod option_list;
mod pagination;
#[cfg(feature = "qrcode")]
mod qrcode;
mod range_picker;
#[cfg(feature = "markdown")]
pub mod slides;
mod sortable;
mod streamline;
pub mod syntax; pub mod theme;
mod theme_picker;
pub mod traits;
mod transition;
pub mod validation;
mod zen;
#[macro_use]
mod macros;
pub use crate::utils::border::BorderChars;
pub use display::{
avatar, avatar_icon, away_indicator, badge, battery, bigtext, busy_indicator, chip, clock,
digits, divider, dot_badge, empty_error, empty_state, first_use, gauge, gradient_box, h1, h2,
h3, log_entry, markup, no_results, offline, online, percentage, progress, rich_text, richlog,
skeleton, skeleton_avatar, skeleton_paragraph, skeleton_text, span, spinner, status_indicator,
style, tag, text, vdivider, Alignment, Avatar, AvatarShape, AvatarSize, Badge, BadgeShape,
BadgeVariant, BigText, DigitStyle, Digits, Divider, DividerStyle, EmptyState, EmptyStateType,
EmptyStateVariant, Gauge, GaugeStyle, GradientBox, LabelPosition, LogEntry, LogFormat,
LogLevel, Orientation, Progress, ProgressStyle, RichLog, RichText, Skeleton, SkeletonShape,
Span, Spinner, SpinnerStyle, Status, StatusIndicator, StatusSize, StatusStyle, Style, Tag,
TagStyle, Text,
};
pub use layout::{
accordion, border, card, collapsible, draw_border, grid, grid_item, grid_template, hsplit,
hstack, layer, layers, pane, positioned, resizable, screen, screen_stack, scroll, scroll_view,
section, sidebar, sidebar_item, sidebar_section, sidebar_section_titled, splitter, stack, tabs,
vsplit, vstack, Accordion, AccordionSection, Anchor, Border, BorderType, Card, CardVariant,
CollapseMode, Collapsible, Direction, FlattenedItem, Grid, GridAlign, GridItem, GridPlacement,
HSplit, Layers, Pane, Positioned, Resizable, ResizeDirection, ResizeHandle, ResizeStyle,
Screen, ScreenStack, ScreenTransition, ScrollView, Sidebar, SidebarItem, SidebarSection,
SplitOrientation, Splitter, Stack, Tab, Tabs, TrackSize, VSplit,
};
pub use breadcrumb::{breadcrumb, crumb, Breadcrumb, BreadcrumbItem, SeparatorStyle};
pub use callout::{
callout, danger, important, info_callout, note, tip, warning_callout, Callout, CalloutType,
CalloutVariant,
};
pub use canvas::{
braille_canvas, canvas, Arc, BrailleCanvas, BrailleContext, BrailleGrid, Canvas, Circle,
ClipRegion, DrawContext, FilledCircle, FilledPolygon, FilledRectangle, Layer, Line, Points,
Polygon, Rectangle, Shape, Transform,
};
pub use command_palette::{command_palette, Command, CommandPalette};
pub use data::calendar::{
calendar, days_in_month, Calendar, CalendarMode, Date, DateMarker, FirstDayOfWeek,
};
pub use datetime_picker::{
date_picker, datetime_picker, time_picker, DateTime, DateTimeFormat, DateTimeMode,
DateTimePicker, Time, TimeField,
};
pub use debug_overlay::{
disable_debug, enable_debug, is_debug_enabled, toggle_debug, DebugConfig, DebugEvent,
DebugOverlay, DebugPosition, EventLog, PerfMetrics, WidgetInfo,
};
pub use dropzone::{drop_zone, DropZone, DropZoneStyle};
pub use filepicker::{
dir_picker, file_picker, save_picker, FileFilter, FilePicker, PickerEntry, PickerMode,
PickerResult,
};
pub use input_widgets::{
autocomplete, button, checkbox, color_picker, combobox, currency_input, input, integer_input,
number_input, percentage_input, percentage_slider, radio_group, rating, search_bar, select,
selection_item, selection_list, slider, slider_range, step, stepper, switch, textarea, toggle,
volume_slider, Autocomplete, Button, ButtonVariant, Checkbox, CheckboxStyle, ColorPalette,
ColorPicker, ColorPickerMode, ComboOption, Combobox, Input, NumberInput, RadioGroup,
RadioLayout, RadioStyle, Rating, RatingSize, RatingStyle, SearchBar, Select, SelectionItem,
SelectionList, SelectionStyle, Slider, SliderOrientation, SliderStyle, Step, StepStatus,
Stepper, StepperOrientation, StepperStyle, Suggestion, Switch, SwitchStyle, TextArea,
};
#[cfg(feature = "qrcode")]
pub use self::qrcode::{qrcode, qrcode_url, ErrorCorrection, QrCodeWidget, QrStyle};
pub use data::timer::{pomodoro, timer as timer_widget, Timer, TimerFormat, TimerState};
pub use data::timer::{stopwatch, Stopwatch};
pub use form::{
credit_card_input, form as form_widget, form_field, masked_input, password_input, pin_input,
rich_text_editor, Block, BlockType, EditorViewMode, ErrorDisplayStyle, Form, FormField,
FormFieldWidget, FormattedSpan, ImageRef, InputType, MarkdownLink, MaskStyle, MaskedInput,
RichTextEditor, TextFormat, ToolbarAction, ValidationState,
};
#[cfg(feature = "image")]
pub use image::{image_from_file, try_image_from_file, Image, ImageError, ImageResult, ScaleMode};
pub use link::{link, url_link, Link, LinkStyle};
#[cfg(feature = "markdown")]
pub use markdown::{markdown, Markdown};
#[cfg(feature = "markdown")]
pub use markdown_presentation::{markdown_presentation, MarkdownPresentation, ViewMode};
pub use mermaid::{
diagram, edge, flowchart, node, ArrowStyle, Diagram, DiagramEdge, DiagramNode, DiagramType,
NodeShape,
};
pub use multi_select::{multi_select, multi_select_from, MultiSelect, MultiSelectOption};
pub use option_list::{
option_item, option_list, OptionEntry, OptionItem, OptionList,
SeparatorStyle as OptionSeparatorStyle,
};
pub use pagination::{pagination, Pagination, PaginationStyle};
pub use range_picker::{
analytics_range_picker, date_range_picker, range_picker, PresetRange, RangeFocus, RangePicker,
};
#[cfg(feature = "markdown")]
pub use slides::{parse_slides, SlideContent, SlideNav};
pub use sortable::{sortable_list, SortableItem, SortableList};
pub use streamline::{
genre_stream, resource_stream, streamline, streamline_with_data, traffic_stream,
StreamBaseline, StreamLayer, StreamOrder, Streamline,
};
pub use syntax::{HighlightSpan, Language, SyntaxHighlighter, SyntaxTheme};
pub use theme::{
DARK_BG, DARK_GRAY, EDITOR_BG, FOCUS_COLOR, LIGHT_GRAY, MAX_DROPDOWN_VISIBLE, MUTED_TEXT,
PLACEHOLDER_FG, SECONDARY_TEXT, SEPARATOR_COLOR, SUBTLE_GRAY,
};
pub use theme_picker::{theme_picker, ThemePicker};
pub use traits::{
Draggable, Element, EventResult, FocusStyle, Interactive, OverlayEntry, OverlayQueue,
RenderContext, StyledView, Timeout, View, WidgetProps, WidgetState, DISABLED_BG, DISABLED_FG,
};
pub use transition::{
transition, transition_group, Animation, AnimationPreset, Transition as AnimationTransition,
TransitionGroup, TransitionPhase,
};
pub use validation::{validators, Validatable, ValidationError, ValidationResult};
pub use zen::{zen, zen_dark, zen_light, ZenMode};
pub use data::chart::{
area_wave, audio_waveform, barchart, boxplot, bubble_chart, candle_chart, chart,
contribution_map, cpu_chart, donut_chart, heatmap, histogram, line_chart, memory_chart,
network_chart, ohlc_chart, pie_chart, piechart, sawtooth_wave, scatter_chart, scatter_plot,
scatterchart, signal_wave, sine_wave, sparkline, spectrum, square_wave, time_series,
time_series_with_data, waveline, BarChart, BarOrientation, BinConfig, BoxGroup, BoxPlot,
BoxStats, Candle, CandleChart, CandleStyle, CellDisplay, Chart, ChartType, ColorScale, HeatMap,
Histogram, HistogramBin, Interpolation, LineStyle, MarkerStyle, PieChart, PieLabelStyle,
PieSlice, PieStyle, ScatterChart, ScatterSeries, Series, Sparkline, SparklineStyle, TimeFormat,
TimeLineStyle, TimeMarker, TimePoint, TimeRange, TimeSeries, TimeSeriesData, WaveStyle,
Waveline, WhiskerStyle,
};
pub use data::{
adv_log_entry, column, csv_viewer, datagrid, dir_entry, file_entry, file_tree, grid_column,
grid_row, json_viewer, list, log_filter, log_parser, log_viewer, table, timeline,
timeline_event, tree, tree_node, virtual_list, AdvLogEntry, AdvLogLevel, Column, CsvSortOrder,
CsvViewer, DataGrid, Delimiter, EventType, FileEntry, FileTree, FileType, GridColumn, GridRow,
JsonNode, JsonType, JsonViewer, List, LogFilter, LogParser, LogViewer, ScrollAlignment,
ScrollMode, Search, SearchMatch, SortDirection, Table, Timeline, TimelineEvent,
TimelineOrientation, TimelineStyle, TimestampFormat, Tree, TreeNode, VirtualList,
};
pub use feedback::{
alert, context_menu, error_alert, error_boundary, footer, header, info_alert, key_hint, menu,
menu_bar, menu_item, modal, notification_center, popover, status_section, statusbar,
success_alert, toast, toast_queue, tooltip, warning_alert, Alert, AlertLevel, AlertVariant,
ContextMenu, ErrorBoundary, KeyHint, Menu, MenuBar, MenuItem, Modal, ModalButton,
ModalButtonStyle, Notification, NotificationCenter, NotificationLevel, NotificationPosition,
Popover, PopoverArrow, PopoverPosition, PopoverStyle, PopoverTrigger, SectionAlign,
StackDirection, StatusBar, StatusSection, Toast, ToastEntry, ToastLevel, ToastPosition,
ToastPriority, ToastQueue, Tooltip, TooltipArrow, TooltipPosition, TooltipStyle,
};
#[cfg(feature = "syntax-highlighting")]
pub use developer::TreeSitterHighlighter;
pub use developer::{
ai_response, ai_stream, code_editor, http_client, http_delete, http_get, http_patch, http_post,
http_put, presentation, slide, terminal, vim_state, AiStream, BracketMatch, BracketPair,
CodeEditor, ContentType, CursorStyle, EditorConfig, HttpBackend, HttpClient, HttpMethod,
HttpRequest, HttpResponse, IndentStyle, MockHttpBackend, Presentation, RequestBuilder,
RequestState, ResponseView, Slide, SlideAlign, StreamCursor, StreamStatus, TermCell, TermLine,
Terminal, TerminalAction, Transition, TypingStyle, VimAction, VimCommandResult, VimMode,
VimMotion, VimState,
};
#[cfg(feature = "diff")]
pub use developer::{diff, diff_viewer, ChangeType, DiffColors, DiffLine, DiffMode, DiffViewer};
#[cfg(feature = "sysinfo")]
pub use developer::{
htop, process_monitor, ProcColors, ProcessInfo, ProcessMonitor, ProcessSort, ProcessView,
};
pub fn text(content: impl Into<String>) -> Text {
Text::new(content)
}