Skip to main content Crate teksilo_widgets Copy item path Source pub use code_editor::BracketPair ;pub use code_editor::COMMON_BRACKETS ;pub use code_editor::CodeConfig ;pub use code_editor::CodeEditor ;pub use code_editor::CodeEditorHandle ;pub use code_editor::CompletionContext ;pub use code_editor::CompletionItem ;pub use code_editor::CompletionKind ;pub use code_editor::IndentStyle ;pub use code_editor::LogView ;pub use code_editor::LogViewHandle ;pub use code_editor::PlainTextEditor ;pub use tooltip::TooltipWidget ;pub use accordion::Accordion ;pub use accordion::AccordionOrientation ;pub use animations::Blur ;pub use animations::Collapse ;pub use animations::Crossfade ;pub use animations::Cycle ;pub use animations::Fade ;pub use animations::Pulse ;pub use animations::Rotate ;pub use animations::Scale ;pub use animations::ScaleOrigin ;pub use animations::Shake ;pub use animations::Slide ;pub use animations::SlideEdge ;pub use animations::SmoothSize ;pub use animations::SmoothSizeAxes ;pub use animations::Unroll ;pub use animations::UnrollFrom ;pub use avatar::Avatar ;pub use badge::Badge ;pub use banner::Banner ;pub use breadcrumb::Breadcrumb ;pub use breadcrumb::BreadcrumbItem ;pub use button::Button ;pub use button::IconLocation ;pub use calendar::Calendar ;pub use calendar::DateRange ;pub use calendar::WeekNumberDisplay ;pub use card::Card ;pub use checkbox::Checkbox ;pub use color_edit::ColorEdit ;pub use color_picker::ColorPicker ;pub use color_picker::ColorSwatch ;pub use color_picker::DEFAULT_SWATCHES ;pub use combo_box::ComboBox ;pub use command_link_button::CommandLinkButton ;pub use command_palette::CommandPalette ;pub use command_palette::PaletteCommand ;pub use date_edit::DateEdit ;pub use date_range_edit::DateRangeEdit ;pub use date_time_edit::DateTimeEdit ;pub use dialog::Dialog ;pub use dialog::DialogContent ;pub use dialog::ModalContainer ;pub use dialog::ModalScrim ;pub use docking::CornerOwners ;pub use docking::DockAction ;pub use docking::DockActionId ;pub use docking::DockActionPlacement ;pub use docking::DockCorner ;pub use docking::DockLayoutState ;pub use docking::DockOpenLocation ;pub use docking::DockOpenMode ;pub use docking::DockPolicy ;pub use docking::DockRail ;pub use docking::DockRailItemSize ;pub use docking::DockRailSlot ;pub use docking::DockSide ;pub use docking::DockTabDisplay ;pub use docking::DockTabId ;pub use docking::DockWidget ;pub use docking::DockWidgetId ;pub use docking::DockingLayout ;pub use docking::DockingModel ;pub use docking::TabPresentation ;pub use drop_target::DropRegionSpec ;pub use drop_target::DropTarget ;pub use drop_zone::DropZone ;pub use file_picker_field::FilePickerField ;pub use file_picker_field::FilePickerKind ;pub use focus_scope::FocusScope ;pub use font_picker::FontMeta ;pub use font_picker::FontPicker ;pub use font_picker::FontPreviewMode ;pub use font_picker::FontSpacingFilter ;pub use grid_view::GridSectionProvider ;pub use grid_view::GridSizing ;pub use grid_view::GridTabTraversal ;pub use grid_view::GridView ;pub use grid_view::GroupingSections ;pub use grid_view::ScrollAnchor ;pub use grid_view::TileContext ;pub use grid_view::grouping_sections ;pub use group_box::GroupBox ;pub use hex_color_input::HexColorInput ;pub use icon_button::BuiltInIcons ;pub use icon_button::IconButton ;pub use input_dialog::InputDialog ;pub use language_switcher::LanguageSwitcher ;pub use link::Link ;pub use list_view::ListView ;pub use menu::StandardMenu ;pub use menu_bar::CollapsePolicy ;pub use message_box::ButtonRole ;pub use message_box::EventContextMessageBoxExt ;pub use message_box::MessageBox ;pub use message_box::MessageBoxButton ;pub use message_box::MessageBoxButtons ;pub use message_box::MessageBoxResult ;pub use message_box::MessageBoxSeverity ;pub use message_box::StandardButton ;pub use notification::ARCHIVE_FILE_NAME ;pub use notification::ArchivedAction ;pub use notification::ArchivedActionStyle ;pub use notification::DEFAULT_ARCHIVE_LIMIT ;pub use notification::NotificationArchive ;pub use notification::NotificationArchiveModel ;pub use notification::NotificationCenterButton ;pub use notification::NotificationEntry ;pub use notification::NotificationLog ;pub use notification::NotificationLogDialog ;pub use notification::NotificationUpdate ;pub use overlay_trigger::OverlayTrigger ;pub use panel::Panel ;pub use password_field::AtRevealPolicy ;pub use password_field::EchoMode ;pub use password_field::PasswordField ;pub use password_field::RevealMode ;pub use popover_surface::PopoverSurface ;pub use popover_widget::PopoverButton ;pub use popover_widget::PopoverCustom ;pub use popover_widget::PopoverIconButton ;pub use popover_widget::PopoverTrigger ;pub use popover_widget::PopoverWidget ;pub use primitives::text_input_field::InputPurpose ;pub use primitives::text_input_field::ValidationFeedback ;pub use primitives::text_input_field::ValidationOutcome ;pub use primitives::AspectRatio ;pub use primitives::Center ;pub use primitives::ColumnFlow ;pub use primitives::DeadZone ;pub use primitives::Divider ;pub use primitives::Expand ;pub use primitives::FixedSize ;pub use primitives::FormLayout ;pub use primitives::Grid ;pub use primitives::HStack ;pub use primitives::IconWidget ;pub use primitives::ImageFit ;pub use primitives::ImageWidget ;pub use primitives::MasonryLayout ;pub use primitives::MaxSize ;pub use primitives::MinSize ;pub use primitives::Padding ;pub use primitives::RectWidget ;pub use primitives::Shrinkable ;pub use primitives::Spacer ;pub use primitives::Switcher ;pub use primitives::TextWidget ;pub use primitives::TrackSize ;pub use primitives::VStack ;pub use primitives::Wrap ;pub use primitives::ZStack ;pub use primitives::TextFieldHandle ;pub use primitives::TextInputField ;pub use progress_bar::ProgressBar ;pub use radio_button::RadioButton ;pub use radio_group::RadioGroup ;pub use radio_tile::RadioTile ;pub use radio_tile::RadioTileIndicatorSide ;pub use radio_tile_group::RadioTileGroup ;pub use radio_tile_group::TileLayout ;pub use repeater::Repeater ;pub use scroll_area::ScrollArea ;pub use scroll_area::ScrollBarMode ;pub use scroll_area::ScrollBarPolicy ;pub use scroll_bar::ScrollBar ;pub use search_field::SearchField ;pub use segmented_control::Segment ;pub use segmented_control::SegmentDisplay ;pub use segmented_control::SegmentId ;pub use segmented_control::SegmentOverflow ;pub use segmented_control::SegmentSizing ;pub use segmented_control::SegmentedControl ;pub use shortcut_settings::ShortcutSettings ;pub use slider::Slider ;pub use snackbar::Snackbar ;pub use spin_box::SpinBox ;pub use spin_box::SpinValue ;pub use spin_box::StepType ;pub use spin_box::WheelMode ;pub use spin_box::WrapMode ;pub use spinner::Spinner ;pub use split_button::SplitButton ;pub use splitter::PaneDescriptor ;pub use splitter::PaneSnapshot ;pub use splitter::PaneState ;pub use splitter::Splitter ;pub use splitter::SplitterModel ;pub use splitter::SplitterState ;pub use standard_item::StandardListItem ;pub use standard_item::StandardTreeItem ;pub use status_bar::StatusBar ;pub use stepper::ChromePosition ;pub use stepper::Step ;pub use stepper::StepStatus ;pub use stepper::Stepper ;pub use stepper::StepperController ;pub use stepper::StepperOrientation ;pub use stepper::Wizard ;pub use tab_widget::IconFactory as TabIconFactory;pub use tab_widget::STATIC_KIND ;pub use tab_widget::StaticContentFactory ;pub use tab_widget::TabBar ;pub use tab_widget::TabBarOrientation ;pub use tab_widget::TabBarVisibility ;pub use tab_widget::TabDelegate ;pub use tab_widget::TabDisplayMode ;pub use tab_widget::TabHandle ;pub use tab_widget::TabId ;pub use tab_widget::TabInfo ;pub use tab_widget::TabOverflowButton ;pub use tab_widget::TabSizing ;pub use tab_widget::TabWidget ;pub use table_view::Alignment as TableAlignment;pub use table_view::CellContext ;pub use table_view::CellSelectionModel ;pub use table_view::Column ;pub use table_view::ColumnContext ;pub use table_view::ColumnResizePolicy ;pub use table_view::ColumnWidth ;pub use table_view::EditTriggers ;pub use table_view::GridLines ;pub use table_view::PinnedSide ;pub use table_view::TabTraversal ;pub use table_view::TableSelectionMode ;pub use table_view::TableView ;pub use table_view::TruncationPolicy ;pub use text_input::TextInput ;pub use text_input::ValidationState ;pub use text_scale_control::TextScaleControl ;pub use theme_switcher::ThemeSwitcher ;pub use time_edit::SecondsMode ;pub use time_edit::TimeEdit ;pub use time_edit::TimeFormat ;pub use title_bar::DragRegion ;pub use title_bar::ResizeStrip ;pub use title_bar::TitleBar ;pub use title_bar::WindowControls ;pub use title_bar::WindowFrame ;pub use toast::EventContextToastExt ;pub use toast::Toast ;pub use toast::ToastAction ;pub use toast::ToastActionStyle ;pub use toast::ToastAudience ;pub use toast::ToastDismissCause ;pub use toast::ToastHandle ;pub use toast::ToastHost ;pub use toast::ToastInstallOptions ;pub use toast::ToastRegistry ;pub use toast::ToastRoute ;pub use toast::ToastSurface ;pub use toggle::Toggle ;pub use tool_box::ToolBox ;pub use tool_box::ToolBoxItem ;pub use tool_box::ToolBoxOrientation ;pub use toolbar::Toolbar ;pub use toolbar::ToolbarAction ;pub use toolbar::ToolbarItem ;pub use toolbar::ToolbarOrientation ;pub use toolbar::ToolbarOverflow ;pub use tree_table_view::TreeTableView ;pub use tree_view::TreeRowContext ;pub use tree_view::TreeView ;accordion Accordion — a collapsible section with a clickable header that shows or hides
its content when activated. animations Animation wrapper widgets — subtree wrappers that drive a
framework Signal<f32> to animate a paint-time property
(opacity, transform, layout slot) on the wrapped child. avatar Avatar — circular (or rounded-square / square) user-identity widget.badge Badge — a pill-shaped label for tags, status indicators, and counts. banner Banner — persistent inline status strip (info / success / warning / error). breadcrumb Breadcrumb — a navigational trail with automatic overflow into a … menu. button Button — a labelled, activatable action trigger. calendar Calendar — month-grid date picker, standalone widget.card Card — a surface container with optional header, content, and footer slots. checkbox Checkbox — a two-state or tristate checkbox with an optional label. code_editor Multi-line plain-text and code editing surfaces. color_edit ColorEdit — compact field-style color picker trigger that opens
a popover containing a ColorPicker .color_picker ColorPicker — embeddable composite color selector.combo_box ComboBox — dropdown selection widget. command_link_button CommandLinkButton — large two-line button with icon, title, and
subtitle. Used for wizard landing screens, onboarding choices, and
any “card-shaped CTA” pattern. command_palette CommandPalette — type-to-run access to every command an app has registered. common Cross-widget shared infrastructure. date_edit DateEdit — text input + calendar popover, bound to Signal<Option<Date>>.date_range_edit DateRangeEdit — single unified control for picking a DateRange.date_time_edit DateTimeEdit — single unified control for picking a DateTime.dialog Modal dialogs — a trigger button that presents a centered modal panel. docking DockingLayout — a VS Code-style dockable layout: a fixed centre slot
(the app’s main content) surrounded by four collapsible, splittable,
draggable side regions (leading / trailing / top / bottom), backed by a
cloneable, serializable DockingModel .drop_target DropTarget — a transparent wrapping drop container.drop_zone DropZone — a “drop files here” target for external (OS) drag-and-drop.file_picker_field FilePickerField — a text-input preset for path entry with a Browse button.focus_scope FocusScope — a layout-transparent wrapper that declares a traversal
boundary for Tab / Shift+Tab focus cycling.font_picker FontPicker — a drop-in font-family selector. grid_view Virtualized 2D tile grid bound to a ListModel<T> / ListDataSource. group_box GroupBox — titled cluster of controls in Int UI / Jewel style. group_header GroupHeader — a horizontal section header: label followed by a trailing
rule line that fills the remaining width. hex_color_input HexColorInput — single-line #RRGGBB[AA] color editor.icon_button IconButton — a square, icon-only, flat-surface button. input_dialog InputDialog — a QInputDialog-style modal that prompts the user for
a single string. Built on the same present_modal infrastructure as
MessageBox , with a TextInput
body between the prompt and the Ok / Cancel buttons. keystroke_format Platform- and locale-aware formatting for [KeyStroke]s. language_switcher LanguageSwitcher — a drop-in UI-language picker for settings screens. link Link — a clickable text label rendered as underlined inline text. list_view ListView — a virtualized, scrollable list backed by a reactive data model. menu Declarative menu model — a single source of truth for both the in-window
MenuBar and the platform’s native menu bar
(NSMenu on macOS). menu_bar MenuBar — a horizontal application menu bar with keyboard-driven dropdowns. menu_item MenuItem — a single command row in a menu or context menu. menu_list MenuList — a themed vertical menu container with keyboard navigation. message_box MessageBox — QMessageBox-style alert dialog. notification Persistent notification archive — the storage and data-model layer
backing NotificationLog , NotificationCenterButton , and
NotificationLogDialog . overlay_trigger panel Panel — a themed single-child container that provides a background, border,
corner radius, and padding. password_field PasswordField — secure single-line text entry with a reveal
toggle, masking, Caps Lock warning, and clipboard protection.popover_surface PopoverSurface — the themed panel a popover’s content sits in.popover_widget PopoverWidget<T> — a generic trigger that opens a popover when
activated, plus the PopoverButton / PopoverIconButton aliases.primitives progress_bar ProgressBar — a bar showing progress from 0.0 to 1.0. radio_button RadioButton — mutually exclusive selection control. radio_group RadioGroup — invisible layout container that groups RadioButtons
and wires their accessibility metadata. radio_tile RadioTile — a “selectable card” radio option. radio_tile_group RadioTileGroup — an N-ary group of RadioTile s with single selection. repeater Repeater — non-virtualized dynamic widget list driven by a ListModel<T>. rich_text Rich text editor and viewer widget. scroll_area ScrollArea — a clipping viewport that scrolls its content on wheel, touch,
and assistive-technology actions. scroll_bar ScrollBar — pointer and keyboard affordance for a ScrollArea . search_field SearchField — a TextInput preset
configured for search workflows: leading magnifier glyph, default-on
clear-X, and an optional anchored suggestions popover with keyboard
navigation and the ARIA combobox-with-listbox accessibility pattern.
The popover is shown via OverlayRequest so it floats above sibling
content and escapes ancestor clipping (same pattern as ComboBox). segmented_control SegmentedControl — mutually exclusive segments in a horizontal row. shadow Layered drop-shadow helper for elevated surfaces. shortcut_settings ShortcutSettings — user-facing widget for browsing and rebinding
application shortcuts. slider Slider — a draggable value selector bound to a Signal<f32>. snackbar Snackbar — a transient, button-triggered floating notification surface. spin_box SpinBox — numeric input with increment/decrement buttons.spinner Spinner — a shader-driven circular-arc loading indicator.split_button SplitButton — a button split into two regions sharing a single frame. splitter N-pane split container with draggable, collapsible dividers. standard_item Canonical row layout for ListView / TreeView delegates. status_bar StatusBar — a horizontal chrome bar at the bottom of a window for status
information. stepper Stepper — a modern, embeddable step-flow widget (Material/Ant/Flutter
“stepper”), and Wizard , a thin modal launcher built on it.styles Default Recipe*Style impls — the IntUI look ships here. Apps that
want a different design language write their own impl FooStyle
blocks (per-call via Foo::style(...) or theme-wide via
theme.style_slots). tab_widget Tabbed-container widgets. table_view TableView<T> — generic, virtualized, accessible tabular widget.text_input TextInput — styled single-line text field composite.text_scale_control TextScaleControl — the settings control that grows all text in the app.theme_switcher ThemeSwitcher — a drop-in app-theme picker for settings screens & toolbars. time_edit TimeEdit — text input for time-of-day, bound to Signal<Option<Time>>.title_bar Custom window title bar widget. toast Toast notification — stackable, action-rich, severity-aware floating
notification (the “upgrade path” from Snackbar ). toggle Toggle — an animated on/off switch bound to a Signal<bool> . tool_box ToolBox — a vertical stack of collapsible sections, exactly one expanded
at a time. toolbar Toolbar — a command bar with automatic overflow .tooltip Tooltip system — hover-triggered overlays with configurable delay. tree_table_view TreeTableView<T> — hierarchical multi-column data table with expand/collapse.tree_view TreeView — a virtualized, expandable/collapsible hierarchical list widget. DropRegionSet Which DropRegion s a DropTarget
currently exposes. The default (Center only) reproduces the classic
whole-bounds single-zone behaviour. DropTargetStyleConfig Inputs handed to a DropTargetStyle to build the wrapping chrome. RadioTileStyleConfig Everything a RadioTileStyle needs to render one tile’s chrome. RowDragData The public, generic drag payload every data-view row (or selected set)
emits. It occupies the single typed slot of a
[teksilo_core::drag_payload::DragPayload] and serves both audiences: TreeRow Per-row context handed to a TreeView::from_source
delegate — the key-erased counterpart of the built-in
TreeRowContext . Carries the row’s flat metadata
plus a one-call chevron toggle that flips the row’s expansion through the
source (by index → key → set_expanded). TreeRowMeta Key-erased per-row flat metadata, derived from the source’s FlatEntry. ViewId Opaque, kind-tagged, process-unique identity of a drag-capable data-view
instance. Used to tell a view’s OWN reorder (SameView) from a foreign drop
on the receive side. Apps only ever compare two ViewIds for equality (e.g.
out of a received RowDragData ); there is no public constructor, and the
value is stable for a view instance’s lifetime, so it is safe to compare
even across windows (each mint is globally unique). ActivateOn How a data-view row/tile is activated (opened/committed) by pointer —
distinct from selection , which also moves on arrow-key navigation. Mirrors
the platform split other toolkits expose (Qt
SH_ItemView_ActivateItemOnSingleClick, GTK activate-on-single-click).
Enter/Space always activates regardless of this mode. AvatarCorner Where the presence dot is rendered relative to the avatar bounds. AvatarPresence Presence indicator dot drawn at one corner of the avatar. AvatarShape Outer outline. AvatarSize Discrete avatar size variants. Custom(px) accepts an arbitrary
logical-pixel side length. The default size resolution table lives
in teksilo_widgets::styles::recipe_avatar_style::avatar_pixel_size. BannerSeverity Banner severity level. Drives the surface tint, glyph color, and
glyph shape. Apps with a “neutral” callout requirement should use
a Card instead. ButtonVariant Closed enum naming the design-language variants of Button. See
teksilo_core::styles::ButtonVariant for the canonical definition. CheckState ColorPickerLayout Layout variant — controls how the recipe arranges the rows.
Re-exported from color_picker_style so the config and any
custom ColorPickerStyle impl can branch on it without an
upward dep on teksilo-widgets. DragTransferMode What the origin view does to its own rows once a drag is accepted by a
foreign target (a different DropTarget / view / the OS). Purely an
origin-side cleanup choice — the receiver is unaffected. A same-view reorder
is never a transfer, so this never applies to it. DropRegion One of the five drop regions a DropTarget
can expose. Each is independently enable-able and carries an optional hint. DropTargetDragState Interaction state of a drop target, driving the overlay’s surface and
border colors and the hint card’s visibility. Defined here (not in
teksilo-widgets) so the core style trait and the default recipe can both
name it — mirroring DropZoneVisualState . DropTargetVariant Visual prominence of the drop target’s hover indicator. IconButtonSize Size variant for IconButton . See teksilo_core::styles::IconButtonSize
for the canonical definition. Variants are calibrated to the
IntelliJ Int UI scale (Compact 22 dp, Default 24 dp, Toolbar 30 dp,
Large 40 dp, Hero 50 dp).
Five sizes calibrated to the IntelliJ Int UI scale. Apps usually
pick one per call; the active style maps each to a (square_size,
icon_size) pair from its recipe. Orientation Orientation for widgets that can be horizontal or vertical. OverscrollBehavior Controls whether a scrollable surface chains scroll events to its ancestor
when it reaches a boundary — the equivalent of CSS overscroll-behavior. RadioTileVariant Design-language variant for a RadioTile (in teksilo-widgets).
The active RadioTileStyle decides what each variant means visually. ScrollBarOrientation SortDirection Sort direction emitted by TableView / TreeTableView headers and consumed by sort projections. SpinButtonLayout Step-button visibility / placement. Moved up from
teksilo_widgets::spin_box::ButtonLayout so the trait config can carry
it without forcing the recipe to depend on the widget crate. StandardMenuRole Standard, platform-defined menus with required placement/behaviour (the
macOS App / Window / Help menus, with their About / Hide / Quit /
window-management items wired to system selectors). The backend supplies the
native structure; the in-window MenuBar ignores these. TabIndicatorPosition Which edge of a tab the active-tab highlight indicator hugs. ToastPriority Queue / assertiveness level — shared with the public Toast builder
API. Lives here in teksilo-core so the style trait can take it in its
config without depending on teksilo-widgets. ToastSeverity Toast severity — re-export of BannerSeverity so apps that mix
Banner and Toast share one severity vocabulary. The same
severity.surface() / severity.glyph_color(theme) helpers apply.
Banner severity level. Drives the surface tint, glyph color, and
glyph shape. Apps with a “neutral” callout requirement should use
a Card instead. TraversalScopePolicy Policy for a focus traversal scope , declared via the FocusScope
wrapper widget. Controls what Tab / Shift+Tab does when it reaches the
scope’s ends. DropTargetStyle Tier-3 style protocol for DropTarget .
Produces the body: the wrapped child plus the reactive overlay and the
optional centered hint. RadioTileStyle Tier-3 style protocol for RadioTile. Implement this to fully replace the
card chrome (per-call RadioTile::style(...) or theme-wide
theme.style_slots.radio_tile = Some(Rc::new(MyTile))). framework_locales The framework bundle: teksilo-widgets’ own translatable strings, grouped
by locale. Registered by applications via
I18nConfig::framework_locales(teksilo_widgets::framework_locales())
at startup. SharedDropTargetStyle Shared, theme-installable handle to a DropTargetStyle . SharedRadioTileStyle