Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Widget Catalog

Every public widget in teksilo-widgets, grouped by category. Each page links to its full rustdoc API reference.

Layout primitives: crates/teksilo-widgets/src/primitives/

  • AspectRatio — AspectRatio — a single-child wrapper that constrains layout to a fixed width-to-height ratio
  • Center — Center — a single-child wrapper that centers its child within the available space
  • ColumnFlow — ColumnFlow — flows children into as many columns as the width affords, re-partitioning every child when a column is gained or lost
  • DeadZone — DeadZone — a gesture dead zone wrapper
  • Divider — Divider — a themed separator line that visually partitions content
  • Expand — Expand — a layout modifier that claims slack space in a stack and stretches its child to fill the allocated bounds
  • FixedSize — FixedSize — a layout modifier that pins a child to its natural size, optionally overriding one or both dimensions with a reactive value
  • FocusScope — FocusScope — a layout-transparent wrapper that declares a traversal boundary for Tab / Shift+Tab focus cycling
  • FormLayout — FormLayout — a two-column settings or preferences form layout
  • Grid — Grid — a 2D layout container with explicit row and column tracks
  • HStack — HStack — a horizontal layout container that distributes children left-to-right
  • MasonryLayout — MasonryLayout — a variable-height grid that packs children into the shortest column (Pinterest-style)
  • MaxSize — MaxSize — a layout modifier that caps a child to a maximum width and/or height
  • MinSize — MinSize — a layout modifier that ensures a child reaches a minimum width and/or height
  • Padding — Padding — a single-child layout container that adds insets around its child
  • Shrinkable — Shrinkable — a layout modifier that allows its child to compress under an over-constraint
  • Spacer — Spacer — an invisible, flexible gap that claims all available space on the container's main axis
  • Switcher — Switcher — a container that shows exactly one child page at a time
  • TouchTarget — TouchTarget — the last resort of the three hit-targeting mechanisms: the one that actually moves things
  • VStack — VStack — a vertical layout container that distributes children top-to-bottom
  • Wrap — Wrap — a horizontal flow layout that wraps children to the next line when they exceed the available width
  • ZStack — ZStack — a layout container that layers children on top of each other

Visual primitives

  • IconWidget — IconWidget — a vector or raster icon rendered at a configurable size
  • ImageMaskShape — Anti-aliased alpha masking for raster images — circle / rounded-square / square coverage applied in-place to RGBA8 pixel buffers
  • ImageWidget — ImageWidget — displays a raster image (PNG, WebP) with a configurable sizing policy, content-fit mode, and intra-box alignment
  • LiveImage — LiveImage — shows a picture another thread rewrites many times a second
  • RectWidget — RectWidget — a leaf widget that paints a filled and/or stroked rounded rectangle
  • TextInputField — TextInputField — editable single-line text surface primitive
  • TextWidget — TextWidget — a leaf widget that renders a localized text string
  • TwistArrow — TwistArrow — a small chevron that indicates and toggles a tree node's expansion
  • ValidationStrip — ValidationStrip — a small inline message shown below a text field to surface a validation outcome

Containers and chrome

  • Accordion — Accordion — a collapsible section with a clickable header that shows or hides its content when activated
  • Banner — Banner — persistent inline status strip (info / success / warning / error)
  • Breadcrumb — Breadcrumb — a navigational trail with automatic overflow into a … menu
  • Card — Card — a surface container with optional header, content, and footer slots
  • DockingLayout — DockingLayout — a VS Code-style dockable layout: a fixed centre slot (the app's main content) surrounded by four collapsible, splittable, draggable side…
  • DropTarget — DropTarget — a transparent wrapping drop container
  • DropZone — DropZone — a "drop files here" target for external (OS) drag-and-drop
  • GroupBox — GroupBox — titled cluster of controls in Int UI / Jewel style
  • GroupHeader — GroupHeader — a horizontal section header: label followed by a trailing rule line that fills the remaining width
  • Panel — Panel — a themed single-child container that provides a background, border, corner radius, and padding
  • ScrollArea — ScrollArea — a clipping viewport that scrolls its content on wheel, on a finger's pan, and on assistive-technology actions
  • ScrollBar — ScrollBar — pointer and keyboard affordance for a ScrollArea
  • Splitter — N-pane split container with draggable, collapsible dividers
  • StatusBar — 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
  • TabWidget — Tabbed-container widgets
  • TitleBar — Custom window title bar widget
  • Toolbar — Toolbar — a command bar with automatic overflow
  • ToolBox — ToolBox — a vertical stack of collapsible sections, exactly one expanded at a time
  • Wizard — Wizard — a thin modal launcher around Stepper

Buttons

  • Button — Button — a labelled, activatable action trigger
  • CommandLinkButton — CommandLinkButton — large two-line button with icon, title, and subtitle
  • IconButton — IconButton — a square, icon-only, flat-surface button
  • OverlayTrigger — OverlayTrigger — the shared "this widget opens that overlay" wrapper
  • SplitButton — SplitButton — a button split into two regions sharing a single frame

Inputs and indicators

  • Avatar — Avatar — circular (or rounded-square / square) user-identity widget
  • Badge — Badge — a pill-shaped label for tags, status indicators, and counts
  • Checkbox — Checkbox — a two-state or tristate checkbox with an optional label
  • ComboBox — ComboBox — dropdown selection widget
  • FontPicker — FontPicker — a drop-in font-family selector
  • Link — Link — a clickable text label rendered as underlined inline text
  • ProgressBar — ProgressBar — a bar showing progress from 0.0 to 1.0
  • RadioButton — RadioButton — mutually exclusive selection control
  • RadioGroup — RadioGroup — invisible layout container that groups RadioButtons and wires their accessibility metadata
  • RadioTile — RadioTile — a "selectable card" radio option
  • RadioTileGroup — RadioTileGroup — an N-ary group of RadioTiles with single selection
  • SegmentedControl — SegmentedControl — mutually exclusive segments in a horizontal row
  • Slider — Slider — a draggable value selector bound to a Signal<f32>
  • Spinner — Spinner — a shader-driven circular-arc loading indicator
  • Toggle — Toggle — an animated on/off switch bound to a Signal<bool>

Text input family

  • CodeEditor — The public editing surfaces: CodeEditor and PlainTextEditor
  • FilePickerField — FilePickerField — a text-input preset for path entry with a Browse button
  • InputDialog — InputDialog — a QInputDialog-style modal that prompts the user for a single string
  • LogView — LogView — a read-only, append-only, tail-following streaming view
  • PasswordField — PasswordField — secure single-line text entry with a reveal toggle, masking, Caps Lock warning, and clipboard protection
  • RichTextEditor — Rich text editor and viewer widget
  • SearchField — SearchField — a TextInput preset configured for search workflows: leading magnifier glyph, default-on clear-X, and an optional anchored suggestions…
  • SpinBox — SpinBox — numeric input with increment/decrement buttons
  • TextInput — TextInput — styled single-line text field composite

Date and time

  • Calendar — Calendar — month-grid date picker, standalone widget
  • DateEdit — DateEdit — text input + calendar popover, bound to Signal<Option<Date>>
  • DateRangeEdit — DateRangeEdit — single unified control for picking a DateRange
  • DateTimeEdit — DateTimeEdit — single unified control for picking a DateTime
  • TimeEdit — TimeEdit — text input for time-of-day, bound to Signal<Option<Time>>

Color

  • ColorEdit — ColorEdit — compact field-style color picker trigger that opens a popover containing a ColorPicker
  • ColorPicker — ColorPicker — embeddable composite color selector
  • ColorSwatch — ColorSwatch — single clickable color cell with Role::ColorWell
  • HexColorInput — HexColorInput — single-line #RRGGBB[AA] color editor
  • MenuBar — MenuBar — a horizontal application menu bar with keyboard-driven dropdowns
  • MenuItem — MenuItem — a single command row in a menu or context menu
  • MenuList — MenuList — a themed vertical menu container with keyboard navigation

Overlays and dialogs

  • AttachedSide — Layered drop-shadow helper for elevated surfaces
  • CommandPalette — CommandPalette — type-to-run access to every command an app has registered
  • Dialog — Modal dialogs — a trigger button that presents a centered modal panel
  • MessageBox — MessageBox — QMessageBox-style alert dialog
  • NotificationCenterButton — NotificationCenterButton — bell icon with an unread-count badge that opens a NotificationLog popover when clicked
  • NotificationLog — NotificationLog — a scrollable, day-bucketed list of archived notifications
  • PopoverWidget — PopoverWidget<T> — a generic trigger that opens a popover when activated, plus the PopoverButton / PopoverIconButton aliases
  • Snackbar — Snackbar — a transient, button-triggered floating notification surface
  • Toast — Toast notification — stackable, action-rich, severity-aware floating notification (the "upgrade path" from Snackbar)
  • ToastHost — ToastHost — invisible sibling widget that owns the toast queue
  • TooltipWidget — Tooltip system — hover-triggered overlays with configurable delay

Data-driven widgets

  • GridView — Virtualized 2D tile grid bound to a ListModel<T> / ListDataSource
  • ListView — ListView — a virtualized, scrollable list backed by a reactive data model
  • Repeater — Repeater — non-virtualized dynamic widget list driven by a ListModel<T>
  • StandardListItem — Canonical row layout for ListView / TreeView delegates
  • TableView — TableView<T> — generic, virtualized, accessible tabular widget
  • TreeTableView — TreeTableView<T> — hierarchical multi-column data table with expand/collapse
  • TreeView — TreeView — a virtualized, expandable/collapsible hierarchical list widget

Animation wrappers: crates/teksilo-widgets/src/animations/

  • Blur — Blur — a wrapper widget that applies a Gaussian-equivalent blur to its child subtree, driven by a Prop<f32> radius (in logical pixels)
  • Collapse — Collapse — a wrapper widget that animates its child between hidden and natural size when an external Signal<bool> toggles
  • Crossfade — Crossfade — when an external Signal<K> changes, the previous content fades out while the new content fades in over the same window
  • Cycle — Cycle — show one of N children at a time, advancing on a fixed period
  • Fade — Fade — a wrapper widget that animates its child between hidden (opacity 0) and visible (opacity 1) when an external Signal<bool> toggles
  • Pulse — Pulse — a wrapper widget that pulses its child's opacity between a min and max value on a fixed period, sine-shaped
  • Rotate — Rotate — wraps a child and applies a 2D rotation to its entire subtree, driven by an external Prop<f32> of radians
  • Scale — Scale — wraps a child and animates a uniform 2D scale on its entire subtree when an external Prop<bool> toggles
  • Shake — Shake — wraps a child and plays a damped horizontal oscillation whenever an external trigger Signal<u32> is bumped
  • Slide — Slide — wraps a child and slides it in or out from a chosen edge when an external Signal<bool> toggles
  • SmoothSize — SmoothSize — auto-sizes the slot to fit the child's intrinsic size, but tweens the change instead of jumping
  • Unroll — Unroll — the horizontal sibling of Collapse

Settings widgets

  • LanguageSwitcher — LanguageSwitcher — a drop-in UI-language picker for settings screens
  • PrivacySettings — PrivacySettings — a user-facing panel for telemetry consent management
  • ShortcutSettings — ShortcutSettings: the user-facing panel for browsing and rebinding an application's shortcuts
  • TextScaleControl — TextScaleControl — the settings control that grows all text in the app
  • ThemeSwitcher — ThemeSwitcher — a drop-in app-theme picker for settings screens & toolbars

Other

  • ActivateOn — Shared substrate for the data views' source-owned drag-and-drop + lazy loading
  • CodeEditorHandle — Multi-line plain-text and code editing surfaces
  • FormatShortcut — The editors' own rebindable commands: bold and the rest of RichTextEditor's formatting (FormatShortcut), comment and…
  • NotificationEntry — Persistent notification archive — the storage and data-model layer backing NotificationLog, NotificationCenterButton, and NotificationLogDialog
  • PopoverSurface — PopoverSurface — the themed panel a popover's content sits in
  • TreeRowMeta — Type-erased data source adapter for TreeView

TabWidget (submodule)

  • TabBar — TabBar<T> — header strip driven by a data source

TableView (submodule)

  • TableHeader — TableHeader — the column header strip of TableView and TreeTableView, and a widget of its own for an…

TitleBar (submodule)

  • DragRegion — DragRegion — flexible drag region inside a TitleBar
  • ResizeStrip — A thin invisible widget that forwards a window resize gesture to the platform host when the user presses the primary button inside it
  • WindowControls — The minimize / maximize / close button cluster on the trailing edge of a TitleBar
  • WindowFrame — A borderless-window frame: an invisible overlay of resize strips and corner cells along the four edges of a single content widget

Toast (submodule)

  • ToastSurface — ToastSurface — the rendered chrome of one toast