Controls catalog
Every widget shipped across the Plumix packages. Names match Flutter where possible — because porting should feel like translation.
Core widgets
Layout
Box with padding, margin, background, and decoration.
Lays out children horizontally using flex constraints.
Lays out children vertically using flex constraints.
Positions children on top of one another.
Places a child at explicit insets within a Stack.
Fixed-size box used for spacing or sizing children.
Insets a child by EdgeInsets.
Aligns a child within itself with optional shrink-wrap factors.
Centers a child along both axes.
Expands a child of a Row/Column to fill available space.
Loosens a child's flex along the main axis.
Flex gap helper that fills remaining space in a Row/Column.
Sizes its child to a specific aspect ratio.
Sizes its child as a fraction of available space.
Scales and positions its child using BoxFit semantics.
Passes unconstrained layout to its child along selected axes.
Applies max-size clamping only on unbounded axes.
Overrides min/max constraints passed to its child.
Lays out its child but hides paint, hit-test, and semantics.
Painting and effects
Paints a BoxDecoration before or after its child.
Displays a raster or vector image.
Applies an opacity to its child.
Applies a transformation matrix before painting.
Clips its child to a rectangle.
Clips its child to a rounded rectangle.
Text, input and focus
Renders a styled text run with full typography and overflow support.
Low-level editable text field with controller, IME, and clipboard.
Detects taps, double-taps, long-press, pan, and hover via gesture arena.
Manages a FocusNode and handles keyboard events.
Groups focus nodes and constrains Tab traversal.
Scrolling
Scrollable wrapper for a single child.
Scrollable, viewport-driven list via sliver pipeline.
Navigation, data and accessibility
Manages a stack of routes with named routing and observers.
Shared-element transition between routes via flight choreography.
Enables or disables Hero transitions in a subtree.
Propagates data down the tree with dependency tracking.
Annotates the render tree with accessibility metadata and actions.
Material controls
App structure and navigation
Propagates ThemeData (M3 tokens, colors, text styles) to descendants.
App shell with body, app bar, drawers, FAB, and bottom nav bar.
Top bar with title, leading, actions, toolbar height, and icon themes.
App bar that scrolls, floats, pins and stretches inside a CustomScrollView.
Side panel with edge-drag open, velocity settle, and DrawerTheme.
Fixed or shifting bottom tabs with animated label/icon/width transitions.
Material 3 bottom navigation with indicator pill and label behaviours.
Side navigation for wide layouts, with extended and compact modes.
Primary and secondary tabs driven by a TabController.
Buttons and menus
Filled button with elevation, ripple, hover/focus state layers.
High-emphasis filled button; FilledButton.Tonal for secondary emphasis.
Bordered, medium-emphasis button with outline token defaults.
Flat, low-emphasis button with state-layer overlays.
Circular/extended FAB with variants, tooltip, hero tag, and cursor.
Single- or multi-select segmented control from Material 3.
Aligns action buttons in a row with automatic column overflow and spacing.
Tap-to-open selection list anchored to a button, with hint, disabled, and dense states.
Anchored popup menu with items, dividers, and checked entries.
Anchored menus and cascading submenus with keyboard navigation.
Inputs and selection
Text input with InputDecoration: labels, helper and error text, borders, prefixes.
Material checkbox with tristate; Checkbox.Adaptive uses CupertinoCheckbox.
Material radio button; Radio.Adaptive uses CupertinoRadio on iOS/macOS.
Material on/off toggle; Switch.Adaptive uses Cupertino path on iOS/macOS.
Continuous or discrete slider with value indicator; RangeSlider for two thumbs.
Input, choice, filter and action chips.
Material 3 search bar; SearchAnchor opens the suggestions view.
Calendar and input date pickers, shown via showDatePicker.
Dial and input time pickers, shown via showTimePicker.
Content and feedback
Material surface with elevated/filled/outlined variants, tint, and clipping.
One/two/three-line tile with leading, title, subtitle, trailing, and M3 heights.
ListTile that expands to reveal children, with animated chevron.
Sortable rows and columns with header/data row styling and selection.
Vertical or horizontal step-by-step flow with per-step state icons and connectors.
Small status indicator or count attached to an icon.
Hover-triggered label overlay used by FAB and navigation bar tiles.
Material 3 carousel with uncontained, hero and multi-browse layouts.
Determinate or indeterminate circular progress.
Determinate or indeterminate linear progress bar.
Pull-to-refresh wrapper with Material arrowhead/spinner animation and adaptive variants.
Dialogs and overlays
Dialog with title, content and actions, shown via showDialog.
Application info dialog with an OSS license browser via LicensePage.
Brief message at the bottom of the screen, managed by ScaffoldMessenger.
Modal and persistent bottom sheets with drag-to-dismiss.
Cupertino controls
App structure and navigation
App root with Cupertino theme, localizations and iOS-style navigation.
Basic iOS page layout with a navigation bar and content.
Tabbed iOS app layout; each tab keeps its own navigation stack.
iOS-style bottom tab bar.
iOS-style top navigation bar.
Large-title navigation bar that collapses as content scrolls.
iOS page transition with the edge swipe-back gesture.
iOS-style sheet that stacks over the previous page.
Controls
iOS-styled tappable button.
iOS-styled on/off toggle via Switch.Adaptive with Cupertino drag thresholds.
iOS-style checkbox with Cupertino geometry, dark-mode gradient fill, and vector check indicator.
iOS-style radio button with Cupertino defaults, brightness-aware colors, and focus/pressed visuals.
iOS-style continuous or discrete slider.
Classic iOS segmented control.
iOS 13+ segmented control with a sliding thumb.
iOS-styled spinner.
Text input and pickers
iOS-style text field with placeholder, prefix and clear button.
iOS search field with search icon and clear button.
Wheel picker with the iOS magnifier and haptic-style selection.
Date, time and date-and-time wheel pickers.
Countdown timer picker in hours, minutes and seconds.
Grouped form rows in the iOS Settings style.
Lists, menus and dialogs
Base and inset grouped list sections.
iOS-style list row with leading, title, subtitle and trailing.
iOS-style expandable list row.
Long-press preview with an action menu, as on iOS.
Anchored iOS-style pull-down menu.
iOS action sheet with grouped actions and a cancel button.
iOS-styled modal alert.
iOS pull-to-refresh inside a CustomScrollView.
iOS-style scrollbar that thickens while dragged.
