components library

Wriggle components.

Classes

Alter
Renders its child, then modifies each Axel with modifier.
AspectRatio
In a flexible layout forces the child to have the specified aspect ratio.
BooleanFormItem
Form item that allows checkbox boolean selection.
Border
Renders the child, then adds a configurable border.
ButtonFormItem
Form item that wraps KeyListener for submission or extra pages.
Center
Centres a single sized child in both axes. American spelling for consistency with Flutter.
Column
Lay out children in a vertical column. Places sized children by their intrinsic size, then distributes remaining space among flexible children. Wrap children in Flexible or Inflexible components to change how this component treats them.
ConfirmDialog
Dialog displaying a message and buttons for "Confirm" and "Cancel".
ConnectedBorderComponent
Replaces borderPlaceholder Axels in the child with connected border characters.
ConnectedBorderData
Shape of the data required by the connected border component.
Dialog
Bordered floating popup. Intended to be pushed onto a DialogSurface.
Divider
Fixed-size divider for use in Flex layouts.
FileBrowser
Component to pick a file or folder from the system.
FileBrowserDialog
Dialog to get a file using file browser.
Filled
Unsized component filled with fill.
Fit
Layout component to fit the child independently in width and height.
FlexComponent
Flexible layout component. Base for the Row and Column.
Flexible
Component that expands within Flex layouts.
Flow
Lays out children in multiple rows/columns, flowing them over lines rather than resizing them if they would exceed this component's main axis size.
Grid
Lays out children in a grid.
HorizontalDivider
Divider oriented horizontally. For use in vertical Flex layouts (e.g. Column).
Inflexible
Component which provides an inflexible size for its child; reporting that size to parent FlexComponents.
InflexibleSpace
Space which takes up size space within a flexible layout.
Invert
Applies invert text style to child depending on enable; useful for identifying currently selected items.
KeyListener
Component to add key listener and usage info to a child.
KeyRelease
Component to remove keys from a child's listener. Runs keyRelease for every input, only allowing those that return false to reach the child.
Limited
Layout component to limit its child to a certain size range.
MessageDialog
Dialog to show a message.
Builds child based on public route state. Use Navigator.setRoute
Key for navigator component.
NumberDialog
Dialog to type a number.
NumberFormItem
Form item that allows only numbers
Offset
Renders child at its full size and then clips it by offset lines/columns.
PageView
Shows one of a number of pages, and can switch between them.
PageViewHeader
Header for page view component
PageViewHeaderItem
Template header item for PageViewHeader.
ProgressBar
Renders a horizontal progress bar in the space provided.
RoundedConnectedBorderData
Connected border using rounded corners.
Row
Lay out children in a horizontal row. Places sized children by their intrinsic size, then distributes remaining space among flexible children. Wrap children in Flexible or Inflexible components to change how this component treats them.
ScrollingCells<T>
Sheet of rows of editable cells that scroll with the selection.
ScrollingSelector
SelectorFlex which scrolls if the children would overflow.
ScrollingTextField
Multi-line text field that allows scrolling.
SelectorColumn
Column component which allows children to be selected with up and down arrow keys. Passes keys through to the selected child.
SelectorDialog<T>
Simple dialog wrapping SelectorFormItem to provider easy list picking.
SelectorFlex
Flex component which allows children to be selected using the arrow keys.
SelectorFormItem<T>
Form item that allows selection from a list.
SelectorRow
Row component which allows children to be selected with left and right arrow keys. Passes keys through to the selected child.
Shadow
Surrounds the child on the right and bottom with a dark shadow.
SimpleDialog
Simple no-return dialog for wrapping continuous-update form items.
SingleAxel
Draws a single axel, reporting 1 for its size.
Sized
Layout component to force its child to a certain size.
SkipSelect
Causes child to be skipped from parent SelectorFlex's selection. Also skips child from passthrough calculations in FlexComponent and its derivatives.
Spacer
Flexible space in a flexible layout.
Stack
Draws a list of Renderables on top of each other, each taking up the whole space. Start of the list is the bottom of the stack. Axel.space in higher items is ignored- use Axel.opaqueSpace to overwrite lower Axels.
Surface
Replaces spaces in the child with opaque spaces.
Text
Renderable to display text.
TextCell
Text-containing cell for the ScrollingCells component
TextDialog
Dialog to get a text string.
TextField
Form field for a text string. State of the content of this item should be handled above this component.
TextFormItem
Form item to get a text string.
Theme
Overrides the color, background, or textStyle of children.
ThinConnectedBorderData
Data for a thin, sharp connected border.
TitledBorder
Surrounds the child with a border containing a title in the top left.
UsagePanel
Panel to display UsageInfo in a convenient way.
UsagePanelContainer
Container which shows/hides a usage panel when a specified key is pressed.
VerticalDivider
Divider oriented vertically. For use in horizontal Flex layouts (e.g. Row).
VerticalSelectorFormItem<T>
Form item that allows selection from a vertical list.

Enums

AspectRatioFit
Fit method for AspectRatio if it's forced to render with an incorrect aspect ratio.
CrossAxisAlignment
Alignment method in the cross axis for FlexComponent (Row and Column).
FitMethod
Method of fitting used by Fit component.
FlexAlignment
Alignment method in the main axis for FlexComponent (Row and Column).
MarginType
Type of margin for the scrolling text field.
TextAlignment
Alignment for text.

Mixins

InflexibleSized
Causes the Renderable to report a fixed size to its parent FlexComponent in its main axis. Still passes the child's cross axis size through.

Typedefs

CellBuilder<T> = Renderable Function({required T data, required void dataChanged(WriggleContext context, int index, T data), required bool editing, required bool focused, required int index, String? key, required void nextCell(int), required void nextRow(int), required void setEditing(bool)})
Function to build cells.

Exceptions / Errors

FileNotFound
Exception for file not found.