Skip to content

Instantly share code, notes, and snippets.

@devoncarew
Last active December 24, 2015 03:50
Show Gist options
  • Save devoncarew/a7bcc7389688c9e6e6ef to your computer and use it in GitHub Desktop.
Save devoncarew/a7bcc7389688c9e6e6ef to your computer and use it in GitHub Desktop.
Flutter widget data encoded as json
{
"BottomSheet": {
"name": "BottomSheet",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "performance",
"type": "Performance",
"docs": "The performance that controls the bottom sheet's position. The BottomSheet widget will manipulate the position of this performance, it is not just a passive observer."
},
{
"name": "onClosing",
"type": "VoidCallback"
},
{
"name": "builder",
"type": "WidgetBuilder"
}
]
},
"Card": {
"name": "Card",
"package": "material",
"parent": "StatelessComponent",
"docs": "A material design card",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "color",
"type": "Color"
}
]
},
"Checkbox": {
"name": "Checkbox",
"package": "material",
"parent": "StatelessComponent",
"docs": "A material design checkbox",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "bool"
},
{
"name": "activeColor",
"type": "Color"
},
{
"name": "onChanged",
"type": "ValueChanged"
}
]
},
"Chip": {
"name": "Chip",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "avatar",
"type": "Widget"
},
{
"name": "label",
"type": "Widget"
},
{
"name": "onDeleted",
"type": "VoidCallback"
}
]
},
"CircleAvatar": {
"name": "CircleAvatar",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "label",
"type": "String"
},
{
"name": "backgroundColor",
"type": "Color"
},
{
"name": "textTheme",
"type": "TextTheme"
}
]
},
"CircularProgressIndicator": {
"name": "CircularProgressIndicator",
"package": "material",
"parent": "ProgressIndicator",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "double"
}
]
},
"DatePicker": {
"name": "DatePicker",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "selectedDate",
"type": "DateTime"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "firstDate",
"type": "DateTime"
},
{
"name": "lastDate",
"type": "DateTime"
}
]
},
"DayPicker": {
"name": "DayPicker",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "selectedDate",
"type": "DateTime"
},
{
"name": "currentDate",
"type": "DateTime"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "displayedMonth",
"type": "DateTime"
}
]
},
"Dialog": {
"name": "Dialog",
"package": "material",
"parent": "StatelessComponent",
"docs": "A material design dialog",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "title",
"type": "Widget",
"docs": "The (optional) title of the dialog is displayed in a large font at the top of the dialog."
},
{
"name": "titlePadding",
"type": "EdgeDims"
},
{
"name": "content",
"type": "Widget",
"docs": "The (optional) content of the dialog is displayed in the center of the dialog in a lighter font."
},
{
"name": "contentPadding",
"type": "EdgeDims"
},
{
"name": "actions",
"type": "List",
"docs": "The (optional) set of actions that are displayed at the bottom of the dialog."
}
]
},
"Drawer": {
"name": "Drawer",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "elevation",
"type": "int"
},
{
"name": "child",
"type": "Widget"
}
]
},
"DrawerController": {
"name": "DrawerController",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "GlobalKey"
},
{
"name": "child",
"type": "Widget"
}
]
},
"DrawerDivider": {
"name": "DrawerDivider",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"DrawerHeader": {
"name": "DrawerHeader",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"DrawerItem": {
"name": "DrawerItem",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "icon",
"type": "String"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onPressed",
"type": "VoidCallback"
},
{
"name": "selected",
"type": "bool"
}
]
},
"DropDownButton": {
"name": "DropDownButton",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "items",
"type": "List"
},
{
"name": "value",
"type": "T"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "elevation",
"type": "int"
}
]
},
"DropDownMenuItem": {
"name": "DropDownMenuItem",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "T"
},
{
"name": "child",
"type": "Widget"
}
]
},
"FlatButton": {
"name": "FlatButton",
"package": "material",
"parent": "MaterialButton",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "textTheme",
"type": "ButtonColor"
},
{
"name": "textColor",
"type": "Color"
},
{
"name": "disabledTextColor",
"type": "Color"
},
{
"name": "color",
"type": "Color"
},
{
"name": "colorBrightness",
"type": "ThemeBrightness",
"docs": "Controls the default text color if the text color isn't explicit set."
},
{
"name": "disabledColor",
"type": "Color"
},
{
"name": "onPressed",
"type": "VoidCallback"
}
]
},
"FloatingActionButton": {
"name": "FloatingActionButton",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "backgroundColor",
"type": "Color"
},
{
"name": "elevation",
"type": "int"
},
{
"name": "highlightElevation",
"type": "int"
},
{
"name": "onPressed",
"type": "VoidCallback"
},
{
"name": "mini",
"type": "bool"
}
]
},
"Icon": {
"name": "Icon",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "size",
"type": "IconSize"
},
{
"name": "icon",
"type": "String"
},
{
"name": "color",
"type": "IconThemeColor"
},
{
"name": "colorFilter",
"type": "ColorFilter"
}
]
},
"IconButton": {
"name": "IconButton",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "icon",
"type": "String"
},
{
"name": "color",
"type": "IconThemeColor"
},
{
"name": "colorFilter",
"type": "ColorFilter"
},
{
"name": "onPressed",
"type": "VoidCallback"
}
]
},
"InkFeatures": {
"name": "InkFeatures",
"package": "material",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "color",
"type": "Color"
},
{
"name": "child",
"type": "Widget"
}
]
},
"InkResponse": {
"name": "InkResponse",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onTap",
"type": "GestureTapCallback"
},
{
"name": "onDoubleTap",
"type": "GestureTapCallback"
},
{
"name": "onLongPress",
"type": "GestureLongPressCallback"
},
{
"name": "onHighlightChanged",
"type": "ValueChanged"
},
{
"name": "containedInWell",
"type": "bool"
},
{
"name": "highlightShape",
"type": "BoxShape"
}
]
},
"InkWell": {
"name": "InkWell",
"package": "material",
"parent": "InkResponse",
"docs": "An area of a Material that responds to touch.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onTap",
"type": "GestureTapCallback"
},
{
"name": "onDoubleTap",
"type": "GestureTapCallback"
},
{
"name": "onLongPress",
"type": "GestureLongPressCallback"
},
{
"name": "onHighlightChanged",
"type": "ValueChanged"
}
]
},
"Input": {
"name": "Input",
"package": "material",
"parent": "Scrollable",
"properties": [
{
"name": "key",
"type": "GlobalKey"
},
{
"name": "initialValue",
"type": "String"
},
{
"name": "placeholder",
"type": "String"
},
{
"name": "hideText",
"type": "bool"
},
{
"name": "isDense",
"type": "bool"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "keyboardType",
"type": "KeyboardType"
},
{
"name": "onSubmitted",
"type": "ValueChanged"
}
]
},
"LinearProgressIndicator": {
"name": "LinearProgressIndicator",
"package": "material",
"parent": "ProgressIndicator",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "double"
}
]
},
"ListItem": {
"name": "ListItem",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "left",
"type": "Widget"
},
{
"name": "center",
"type": "Widget"
},
{
"name": "right",
"type": "Widget"
},
{
"name": "onTap",
"type": "GestureTapCallback"
},
{
"name": "onLongPress",
"type": "GestureLongPressCallback"
}
]
},
"Material": {
"name": "Material",
"package": "material",
"parent": "StatefulComponent",
"docs": "Describes a sheet of Material. If the layout changes (e.g. because there's a list on the paper, and it's been scrolled), a LayoutChangedNotification must be dispatched at the relevant subtree. (This in particular means that Transitions should not be placed inside Material.)",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "type",
"type": "MaterialType"
},
{
"name": "elevation",
"type": "int"
},
{
"name": "color",
"type": "Color"
},
{
"name": "textStyle",
"type": "TextStyle"
}
]
},
"MaterialApp": {
"name": "MaterialApp",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "title",
"type": "String"
},
{
"name": "theme",
"type": "ThemeData"
},
{
"name": "routes",
"type": "Map"
},
{
"name": "onGenerateRoute",
"type": "RouteFactory"
},
{
"name": "onLocaleChanged",
"type": "LocaleChangedCallback"
}
]
},
"MaterialButton": {
"name": "MaterialButton",
"package": "material",
"parent": "StatefulComponent",
"abstract": true,
"docs": "Base class for buttons in the Material theme. Rather than using this class directly, please use FlatButton or RaisedButton.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "textTheme",
"type": "ButtonColor"
},
{
"name": "textColor",
"type": "Color"
},
{
"name": "disabledTextColor",
"type": "Color"
},
{
"name": "onPressed",
"type": "VoidCallback"
}
]
},
"MaterialList": {
"name": "MaterialList",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "items",
"type": "List"
},
{
"name": "itemBuilder",
"type": "ItemBuilder"
},
{
"name": "type",
"type": "MaterialListType"
}
]
},
"MonthPicker": {
"name": "MonthPicker",
"package": "material",
"parent": "ScrollableWidgetList",
"properties": [
{
"name": "selectedDate",
"type": "DateTime"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "firstDate",
"type": "DateTime"
},
{
"name": "lastDate",
"type": "DateTime"
},
{
"name": "itemExtent",
"type": "double"
}
]
},
"PopupMenuItem": {
"name": "PopupMenuItem",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "T"
},
{
"name": "child",
"type": "Widget"
}
]
},
"ProgressIndicator": {
"name": "ProgressIndicator",
"package": "material",
"parent": "StatefulComponent",
"abstract": true,
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "double"
}
]
},
"Radio": {
"name": "Radio",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "T"
},
{
"name": "groupValue",
"type": "T"
},
{
"name": "activeColor",
"type": "Color"
},
{
"name": "onChanged",
"type": "ValueChanged"
}
]
},
"RaisedButton": {
"name": "RaisedButton",
"package": "material",
"parent": "MaterialButton",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "color",
"type": "Color"
},
{
"name": "colorBrightness",
"type": "ThemeBrightness",
"docs": "Controls the default text color if the text color isn't explicit set."
},
{
"name": "disabledColor",
"type": "Color"
},
{
"name": "elevation",
"type": "int"
},
{
"name": "highlightElevation",
"type": "int"
},
{
"name": "disabledElevation",
"type": "int"
},
{
"name": "onPressed",
"type": "VoidCallback"
}
]
},
"Scaffold": {
"name": "Scaffold",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "toolBar",
"type": "ToolBar"
},
{
"name": "body",
"type": "Widget"
},
{
"name": "floatingActionButton",
"type": "Widget"
},
{
"name": "drawer",
"type": "Widget"
}
]
},
"Slider": {
"name": "Slider",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "double"
},
{
"name": "min",
"type": "double"
},
{
"name": "max",
"type": "double"
},
{
"name": "activeColor",
"type": "Color"
},
{
"name": "onChanged",
"type": "ValueChanged"
}
]
},
"SnackBar": {
"name": "SnackBar",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "content",
"type": "Widget"
},
{
"name": "actions",
"type": "List"
},
{
"name": "duration",
"type": "Duration"
},
{
"name": "performance",
"type": "PerformanceView"
}
]
},
"SnackBarAction": {
"name": "SnackBarAction",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "label",
"type": "String"
},
{
"name": "onPressed",
"type": "VoidCallback"
}
]
},
"Switch": {
"name": "Switch",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "bool"
},
{
"name": "activeColor",
"type": "Color"
},
{
"name": "onChanged",
"type": "ValueChanged"
}
]
},
"TabBar": {
"name": "TabBar",
"package": "material",
"parent": "Scrollable",
"docs": "Displays a horizontal row of tabs, one per label. If isScrollable is true then each tab is as wide as needed for its label and the entire [TabBar] is scrollable. Otherwise each tab gets an equal share of the available space. A [TabBarSelection] widget ancestor must have been built to enable saving and monitoring the selected tab.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "labels",
"type": "Iterable"
},
{
"name": "isScrollable",
"type": "bool"
}
]
},
"TabBarSelection": {
"name": "TabBarSelection",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "index",
"type": "int"
},
{
"name": "maxIndex",
"type": "int"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "child",
"type": "Widget"
}
]
},
"TabBarView": {
"name": "TabBarView",
"package": "material",
"parent": "PageableList",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "items",
"type": "List"
},
{
"name": "itemBuilder",
"type": "ItemBuilder"
}
]
},
"TimePicker": {
"name": "TimePicker",
"package": "material",
"parent": "StatefulComponent",
"properties": [
{
"name": "selectedTime",
"type": "TimeOfDay"
},
{
"name": "onChanged",
"type": "ValueChanged"
}
]
},
"ToolBar": {
"name": "ToolBar",
"package": "material",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "left",
"type": "Widget"
},
{
"name": "center",
"type": "Widget"
},
{
"name": "right",
"type": "List"
},
{
"name": "bottom",
"type": "Widget"
},
{
"name": "tabBar",
"type": "Widget"
},
{
"name": "elevation",
"type": "int"
},
{
"name": "backgroundColor",
"type": "Color"
},
{
"name": "textTheme",
"type": "TextTheme"
},
{
"name": "padding",
"type": "EdgeDims"
}
]
},
"YearPicker": {
"name": "YearPicker",
"package": "material",
"parent": "ScrollableWidgetList",
"properties": [
{
"name": "selectedDate",
"type": "DateTime"
},
{
"name": "onChanged",
"type": "ValueChanged"
},
{
"name": "firstDate",
"type": "DateTime"
},
{
"name": "lastDate",
"type": "DateTime"
}
]
},
"Align": {
"name": "Align",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Aligns its child box within itself.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the child."
},
{
"name": "widthFactor",
"type": "double",
"docs": "If non-null, sets its width to the child's width multipled by this factor."
},
{
"name": "heightFactor",
"type": "double",
"docs": "If non-null, sets its height to the child's height multipled by this factor."
},
{
"name": "child",
"type": "Widget"
}
]
},
"AlignTransition": {
"name": "AlignTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "alignment",
"type": "AnimatedValue"
},
{
"name": "widthFactor",
"type": "AnimatedValue"
},
{
"name": "heightFactor",
"type": "AnimatedValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"AnimatedContainer": {
"name": "AnimatedContainer",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "A container that gradually changes its values over a period of time.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "constraints",
"type": "BoxConstraints",
"docs": "Additional constraints to apply to the child."
},
{
"name": "decoration",
"type": "Decoration",
"docs": "The decoration to paint behind the child."
},
{
"name": "foregroundDecoration",
"type": "Decoration",
"docs": "The decoration to paint in front of the child."
},
{
"name": "margin",
"type": "EdgeDims",
"docs": "Empty space to surround the decoration."
},
{
"name": "padding",
"type": "EdgeDims",
"docs": "Empty space to inscribe inside the decoration."
},
{
"name": "transform",
"type": "Matrix4",
"docs": "The transformation matrix to apply before painting the container."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, requires the decoration to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, requires the decoration to have this height."
},
{
"name": "curve",
"type": "Curve",
"docs": "The curve to apply when animating the parameters of this container."
},
{
"name": "duration",
"type": "Duration",
"docs": "The duration over which to animate the parameters of this container."
}
]
},
"AnimatedModalBarrier": {
"name": "AnimatedModalBarrier",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Prevents the user from interacting with widgets behind itself.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "color",
"type": "AnimatedColorValue",
"docs": "If non-null, fill the barrier with this color."
},
{
"name": "performance",
"type": "PerformanceView",
"docs": "The performance to use when animating the given [color]."
},
{
"name": "dismissable",
"type": "bool",
"docs": "Whether touching the barrier will pop the current route off the [Navigator]."
}
]
},
"AspectRatio": {
"name": "AspectRatio",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Forces child to layout at a specific aspect ratio.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "aspectRatio",
"type": "double",
"docs": "The aspect ratio to use when computing the height from the width."
},
{
"name": "child",
"type": "Widget"
}
]
},
"AssetImage": {
"name": "AssetImage",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Displays an image from an [AssetBundle].",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "name",
"type": "String",
"docs": "The name of the image in the assert bundle."
},
{
"name": "bundle",
"type": "AssetBundle",
"docs": "The bundle from which to load the image."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, require the image to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, require the image to have this height."
},
{
"name": "colorFilter",
"type": "ColorFilter",
"docs": "If non-null, apply this color filter to the image before painint."
},
{
"name": "fit",
"type": "ImageFit",
"docs": "How to inscribe the image into the place allocated during layout."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the image within its bounds."
},
{
"name": "repeat",
"type": "ImageRepeat",
"docs": "How to paint any portions of the layout bounds not covered by the image."
},
{
"name": "centerSlice",
"type": "Rect",
"docs": "The center slice for a nine-patch image."
}
]
},
"AsyncImage": {
"name": "AsyncImage",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Displays an image provided by an [ImageProvider].",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "provider",
"type": "ImageProvider",
"docs": "The object that will provide the image."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, require the image to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, require the image to have this height."
},
{
"name": "colorFilter",
"type": "ColorFilter",
"docs": "If non-null, apply this color filter to the image before painint."
},
{
"name": "fit",
"type": "ImageFit",
"docs": "How to inscribe the image into the place allocated during layout."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the image within its bounds."
},
{
"name": "repeat",
"type": "ImageRepeat",
"docs": "How to paint any portions of the layout bounds not covered by the image."
},
{
"name": "centerSlice",
"type": "Rect",
"docs": "The center slice for a nine-patch image."
}
]
},
"Baseline": {
"name": "Baseline",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Positions its child vertically according to the child's baseline.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "baseline",
"type": "double",
"docs": "The number of logical pixels from the top of this box at which to position the child's baseline."
},
{
"name": "baselineType",
"type": "TextBaseline",
"docs": "The type of baseline to use for positioning the child."
},
{
"name": "child",
"type": "Widget"
}
]
},
"Block": {
"name": "Block",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "A mashup of [ScrollableViewport] and [BlockBody]. Useful when you have a small, fixed number of children that you wish to arrange in a block layout and that might exceed the height of its container (and therefore need to scroll)."
},
"BlockBody": {
"name": "BlockBody",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "Uses the block layout algorithm for its children."
},
"Builder": {
"name": "Builder",
"package": "widgets",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "builder",
"type": "WidgetBuilder"
}
]
},
"BuilderTransition": {
"name": "BuilderTransition",
"package": "widgets",
"parent": "TransitionComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "variables",
"type": "List"
},
{
"name": "builder",
"type": "WidgetBuilder"
},
{
"name": "performance",
"type": "PerformanceView"
}
]
},
"Center": {
"name": "Center",
"package": "widgets",
"parent": "Align",
"docs": "Centers its child within itself.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "widthFactor",
"type": "dynamic"
},
{
"name": "heightFactor",
"type": "dynamic"
},
{
"name": "child",
"type": "Widget"
}
]
},
"ClipOval": {
"name": "ClipOval",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Clips its child using an oval.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "clipper",
"type": "CustomClipper",
"docs": "If non-null, determines which clip to use."
},
{
"name": "child",
"type": "Widget"
}
]
},
"ClipRRect": {
"name": "ClipRRect",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Clips its child using a rounded rectangle.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "xRadius",
"type": "double",
"docs": "The radius of the rounded corners in the horizontal direction in logical pixels."
},
{
"name": "yRadius",
"type": "double",
"docs": "The radius of the rounded corners in the vertical direction in logical pixels."
},
{
"name": "child",
"type": "Widget"
}
]
},
"ClipRect": {
"name": "ClipRect",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Clips its child using a rectangle.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "clipper",
"type": "CustomClipper",
"docs": "If non-null, determines which clip to use."
},
{
"name": "child",
"type": "Widget"
}
]
},
"ColorTransition": {
"name": "ColorTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "color",
"type": "AnimatedColorValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"Column": {
"name": "Column",
"package": "widgets",
"parent": "Flex",
"docs": "Lays out child elements in a column."
},
"ConstrainedBox": {
"name": "ConstrainedBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Imposes additional constraints on its child.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "constraints",
"type": "BoxConstraints",
"docs": "The additional constraints to impose on the child."
},
{
"name": "child",
"type": "Widget"
}
]
},
"Container": {
"name": "Container",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "A convenience widget that combines common painting, positioning, and sizing widgets.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget",
"docs": "The child to contain in the container."
},
{
"name": "constraints",
"type": "BoxConstraints",
"docs": "Additional constraints to apply to the child."
},
{
"name": "decoration",
"type": "Decoration",
"docs": "The decoration to paint behind the child."
},
{
"name": "foregroundDecoration",
"type": "Decoration",
"docs": "The decoration to paint in front of the child."
},
{
"name": "margin",
"type": "EdgeDims",
"docs": "Empty space to surround the decoration."
},
{
"name": "padding",
"type": "EdgeDims",
"docs": "Empty space to inscribe inside the decoration."
},
{
"name": "transform",
"type": "Matrix4",
"docs": "The transformation matrix to apply before painting the container."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, requires the decoration to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, requires the decoration to have this height."
}
]
},
"CustomMultiChildLayout": {
"name": "CustomMultiChildLayout",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "Defers the layout of multiple children to a delegate."
},
"CustomOneChildLayout": {
"name": "CustomOneChildLayout",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Defers the layout of its single child to a delegate.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "delegate",
"type": "OneChildLayoutDelegate"
},
{
"name": "child",
"type": "Widget"
}
]
},
"CustomPaint": {
"name": "CustomPaint",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Delegates its painting.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "painter",
"type": "CustomPainter",
"docs": "The painter that paints before the children."
},
{
"name": "foregroundPainter",
"type": "CustomPainter",
"docs": "The painter that paints after the children."
},
{
"name": "child",
"type": "Widget"
}
]
},
"DecoratedBox": {
"name": "DecoratedBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Paints a [Decoration] either before or after its child paints.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "decoration",
"type": "Decoration",
"docs": "What decoration to paint."
},
{
"name": "position",
"type": "DecorationPosition",
"docs": "Where to paint the box decoration."
},
{
"name": "child",
"type": "Widget"
}
]
},
"Dismissable": {
"name": "Dismissable",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "Can be dismissed by dragging in one or more directions.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onResized",
"type": "VoidCallback",
"docs": "Called when the widget changes size (i.e., when contracting after being dismissed)."
},
{
"name": "onDismissed",
"type": "VoidCallback",
"docs": "Called when the widget has been dismissed."
},
{
"name": "direction",
"type": "DismissDirection",
"docs": "The direction in which the widget can be dismissed."
}
]
},
"DragTarget": {
"name": "DragTarget",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "Receives data when a [Draggable] widget is dropped.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "builder",
"type": "DragTargetBuilder",
"docs": "Called to build the contents of this widget."
},
{
"name": "onWillAccept",
"type": "DragTargetWillAccept",
"docs": "Called to determine whether this widget is interested in receiving a given piece of data being dragged over this drag target."
},
{
"name": "onAccept",
"type": "DragTargetAccept",
"docs": "Called when an acceptable piece of data was dropped over this drag target."
}
]
},
"Draggable": {
"name": "Draggable",
"package": "widgets",
"parent": "DraggableBase",
"docs": "Makes its child draggable starting from tap down.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "data",
"type": "T"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "feedback",
"type": "Widget"
},
{
"name": "feedbackOffset",
"type": "Offset"
},
{
"name": "dragAnchor",
"type": "DragAnchor"
}
]
},
"DraggableBase": {
"name": "DraggableBase",
"package": "widgets",
"parent": "StatefulComponent",
"abstract": true,
"docs": "Subclass this component to customize the gesture used to start a drag.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "data",
"type": "T"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "feedback",
"type": "Widget",
"docs": "The widget to show when a drag is under way."
},
{
"name": "feedbackOffset",
"type": "Offset",
"docs": "The feedbackOffset can be used to set the hit test target point for the purposes of finding a drag target. It is especially useful if the feedback is transformed compared to the child."
},
{
"name": "dragAnchor",
"type": "DragAnchor",
"docs": "Where this widget should be anchored during a drag."
}
]
},
"EditableText": {
"name": "EditableText",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "value",
"type": "EditableString"
},
{
"name": "focused",
"type": "bool"
},
{
"name": "hideText",
"type": "bool"
},
{
"name": "style",
"type": "TextStyle"
},
{
"name": "cursorColor",
"type": "Color"
},
{
"name": "onContentSizeChanged",
"type": "SizeChangedCallback"
},
{
"name": "scrollOffset",
"type": "Offset"
}
]
},
"EnterExitTransition": {
"name": "EnterExitTransition",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "duration",
"type": "Duration"
},
{
"name": "curve",
"type": "Curve"
},
{
"name": "onEnter",
"type": "TransitionBuilderCallback"
},
{
"name": "onExit",
"type": "TransitionBuilderCallback"
}
]
},
"ErrorWidget": {
"name": "ErrorWidget",
"package": "widgets",
"parent": "LeafRenderObjectWidget"
},
"FadeTransition": {
"name": "FadeTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "opacity",
"type": "AnimatedValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"Flex": {
"name": "Flex",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "Uses the flex layout algorithm for its children."
},
"Focus": {
"name": "Focus",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "GlobalKey"
},
{
"name": "autofocus",
"type": "bool"
},
{
"name": "child",
"type": "Widget"
}
]
},
"FractionallySizedBox": {
"name": "FractionallySizedBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Sizes itself to a fraction of the total available space.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "width",
"type": "double",
"docs": "If non-null, the factor of the incoming width to use."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, the factor of the incoming height to use."
},
{
"name": "child",
"type": "Widget"
}
]
},
"GestureDetector": {
"name": "GestureDetector",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "A widget that detects gestures.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onTapDown",
"type": "GestureTapDownCallback",
"docs": "A pointer that might cause a tap has contacted the screen at a particular location."
},
{
"name": "onTapUp",
"type": "GestureTapDownCallback",
"docs": "A pointer that will trigger a tap has stopped contacting the screen at a particular location."
},
{
"name": "onTap",
"type": "GestureTapCallback",
"docs": "A tap has occurred."
},
{
"name": "onTapCancel",
"type": "GestureTapCancelCallback",
"docs": "The pointer that previously triggered the [onTapDown] will not end up causing a tap."
},
{
"name": "onDoubleTap",
"type": "GestureTapCallback",
"docs": "The user has tapped the screen at the same location twice in quick succession."
},
{
"name": "onLongPress",
"type": "GestureLongPressCallback",
"docs": "A pointer has remained in contact with the screen at the same location for a long period of time."
},
{
"name": "onVerticalDragStart",
"type": "GestureDragStartCallback",
"docs": "A pointer has contacted the screen and might begin to move vertically."
},
{
"name": "onVerticalDragUpdate",
"type": "GestureDragUpdateCallback",
"docs": "A pointer that is in contact with the screen and moving vertically has moved in the vertical direction."
},
{
"name": "onVerticalDragEnd",
"type": "GestureDragEndCallback",
"docs": "A pointer that was previously in contact with the screen and moving vertically is no longer in contact with the screen and was moving at a specific velocity when it stopped contacting the screen."
},
{
"name": "onHorizontalDragStart",
"type": "GestureDragStartCallback",
"docs": "A pointer has contacted the screen and might begin to move horizontally."
},
{
"name": "onHorizontalDragUpdate",
"type": "GestureDragUpdateCallback",
"docs": "A pointer that is in contact with the screen and moving horizontally has moved in the horizontal direction."
},
{
"name": "onHorizontalDragEnd",
"type": "GestureDragEndCallback",
"docs": "A pointer that was previously in contact with the screen and moving horizontally is no longer in contact with the screen and was moving at a specific velocity when it stopped contacting the screen."
},
{
"name": "onPanStart",
"type": "GesturePanStartCallback"
},
{
"name": "onPanUpdate",
"type": "GesturePanUpdateCallback"
},
{
"name": "onPanEnd",
"type": "GesturePanEndCallback"
},
{
"name": "onScaleStart",
"type": "GestureScaleStartCallback"
},
{
"name": "onScaleUpdate",
"type": "GestureScaleUpdateCallback"
},
{
"name": "onScaleEnd",
"type": "GestureScaleEndCallback"
},
{
"name": "behavior",
"type": "HitTestBehavior",
"docs": "How this gesture detector should behave during hit testing."
}
]
},
"Grid": {
"name": "Grid",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "Uses the grid layout algorithm for its children."
},
"GridPaper": {
"name": "GridPaper",
"package": "widgets",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "color",
"type": "Color"
},
{
"name": "interval",
"type": "double"
}
]
},
"Hero": {
"name": "Hero",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "tag",
"type": "Object"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "turns",
"type": "int"
},
{
"name": "alwaysAnimate",
"type": "bool",
"docs": "If true, the hero will always animate, even if it has no matching hero to animate to or from. (This only applies if the hero is relevant; if there are multiple heroes with the same tag, only the one whose key matches the \"most valuable keys\" will be used.)"
}
]
},
"IgnorePointer": {
"name": "IgnorePointer",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "ignoring",
"type": "bool"
}
]
},
"IndexedStack": {
"name": "IndexedStack",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "A [Stack] that shows a single child at once."
},
"IntrinsicHeight": {
"name": "IntrinsicHeight",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Sizes its child to the child's intrinsic height.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"IntrinsicWidth": {
"name": "IntrinsicWidth",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Sizes its child to the child's intrinsic width.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "stepWidth",
"type": "double",
"docs": "If non-null, force the child's width to be a multiple of this value."
},
{
"name": "stepHeight",
"type": "double",
"docs": "If non-null, force the child's height to be a multiple of this value."
},
{
"name": "child",
"type": "Widget"
}
]
},
"KeyedSubtree": {
"name": "KeyedSubtree",
"package": "widgets",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"LeafRenderObjectWidget": {
"name": "LeafRenderObjectWidget",
"package": "widgets",
"parent": "RenderObjectWidget",
"abstract": true,
"docs": "A superclass for RenderObjectWidgets that configure RenderObject subclasses that have no children.",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"Listener": {
"name": "Listener",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onPointerDown",
"type": "PointerDownEventListener"
},
{
"name": "onPointerMove",
"type": "PointerMoveEventListener"
},
{
"name": "onPointerUp",
"type": "PointerUpEventListener"
},
{
"name": "onPointerCancel",
"type": "PointerCancelEventListener"
},
{
"name": "behavior",
"type": "HitTestBehavior"
}
]
},
"LongPressDraggable": {
"name": "LongPressDraggable",
"package": "widgets",
"parent": "DraggableBase",
"docs": "Makes its child draggable starting from long press.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "data",
"type": "T"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "feedback",
"type": "Widget"
},
{
"name": "feedbackOffset",
"type": "Offset"
},
{
"name": "dragAnchor",
"type": "DragAnchor"
}
]
},
"MetaData": {
"name": "MetaData",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "metaData",
"type": "dynamic"
}
]
},
"Mimic": {
"name": "Mimic",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "A widget that copies the appearance of another widget.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "original",
"type": "MimicableHandle",
"docs": "A handle to the widget that this widget should copy."
}
]
},
"Mimicable": {
"name": "Mimicable",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "A widget that can be copied by a [Mimic].",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"MixedViewport": {
"name": "MixedViewport",
"package": "widgets",
"parent": "RenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "startOffset",
"type": "double"
},
{
"name": "direction",
"type": "ScrollDirection"
},
{
"name": "builder",
"type": "IndexedBuilder"
},
{
"name": "token",
"type": "Object"
},
{
"name": "onExtentsUpdate",
"type": "ExtentsUpdateCallback"
},
{
"name": "onInvalidatorAvailable",
"type": "InvalidatorAvailableCallback"
}
]
},
"ModalBarrier": {
"name": "ModalBarrier",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Prevents the user from interacting with widgets behind itself.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "color",
"type": "Color",
"docs": "If non-null, fill the barrier with this color."
},
{
"name": "dismissable",
"type": "bool",
"docs": "Whether touching the barrier will pop the current route off the [Navigator]."
}
]
},
"MultiChildRenderObjectWidget": {
"name": "MultiChildRenderObjectWidget",
"package": "widgets",
"parent": "RenderObjectWidget",
"abstract": true,
"docs": "A superclass for RenderObjectWidgets that configure RenderObject subclasses that have a single list of children. (This superclass only provides the storage for that child list, it doesn't actually provide the updating logic.)",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "children",
"type": "List"
}
]
},
"Navigator": {
"name": "Navigator",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialRoute",
"type": "String"
},
{
"name": "onGenerateRoute",
"type": "RouteFactory"
},
{
"name": "onUnknownRoute",
"type": "RouteFactory"
},
{
"name": "observer",
"type": "NavigatorObserver"
}
]
},
"NetworkImage": {
"name": "NetworkImage",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Displays an image loaded from the network.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "src",
"type": "String",
"docs": "The URL from which to load the image."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, require the image to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, require the image to have this height."
},
{
"name": "colorFilter",
"type": "ColorFilter",
"docs": "If non-null, apply this color filter to the image before painint."
},
{
"name": "fit",
"type": "ImageFit",
"docs": "How to inscribe the image into the place allocated during layout."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the image within its bounds."
},
{
"name": "repeat",
"type": "ImageRepeat",
"docs": "How to paint any portions of the layout bounds not covered by the image."
},
{
"name": "centerSlice",
"type": "Rect",
"docs": "The center slice for a nine-patch image."
}
]
},
"NotificationListener": {
"name": "NotificationListener",
"package": "widgets",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "onNotification",
"type": "NotificationListenerCallback"
}
]
},
"OffStage": {
"name": "OffStage",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Lays the child out as if it was in the tree, but without painting anything, without making the child available for hit testing, and without taking any room in the parent.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"OneChildRenderObjectWidget": {
"name": "OneChildRenderObjectWidget",
"package": "widgets",
"parent": "RenderObjectWidget",
"abstract": true,
"docs": "A superclass for RenderObjectWidgets that configure RenderObject subclasses that have a single child slot. (This superclass only provides the storage for that child, it doesn't actually provide the updating logic.)",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"Opacity": {
"name": "Opacity",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Makes its child partially transparent.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "opacity",
"type": "double",
"docs": "The fraction to scale the child's alpha value."
},
{
"name": "child",
"type": "Widget"
}
]
},
"OverflowBox": {
"name": "OverflowBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "A render object that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "minWidth",
"type": "double",
"docs": "The minimum width constraint to give the child. Set this to null (the default) to use the constraint from the parent instead."
},
{
"name": "maxWidth",
"type": "double",
"docs": "The maximum width constraint to give the child. Set this to null (the default) to use the constraint from the parent instead."
},
{
"name": "minHeight",
"type": "double",
"docs": "The minimum height constraint to give the child. Set this to null (the default) to use the constraint from the parent instead."
},
{
"name": "maxHeight",
"type": "double",
"docs": "The maximum height constraint to give the child. Set this to null (the default) to use the constraint from the parent instead."
},
{
"name": "child",
"type": "Widget"
}
]
},
"Overlay": {
"name": "Overlay",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "A [Stack] of entries that can be managed independently.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialEntries",
"type": "List",
"docs": "The entries to include in the overlay initially."
}
]
},
"Padding": {
"name": "Padding",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Insets its child by the given padding.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "padding",
"type": "EdgeDims",
"docs": "The amount to pad the child in each dimension."
},
{
"name": "child",
"type": "Widget"
}
]
},
"PageStorage": {
"name": "PageStorage",
"package": "widgets",
"parent": "StatelessComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "bucket",
"type": "PageStorageBucket"
}
]
},
"PageableList": {
"name": "PageableList",
"package": "widgets",
"parent": "Scrollable",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "dynamic"
},
{
"name": "scrollDirection",
"type": "ScrollDirection"
},
{
"name": "onScrollStart",
"type": "ScrollListener"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "onScrollEnd",
"type": "ScrollListener"
},
{
"name": "snapOffsetCallback",
"type": "SnapOffsetCallback"
},
{
"name": "snapAlignmentOffset",
"type": "double"
},
{
"name": "items",
"type": "List"
},
{
"name": "itemBuilder",
"type": "ItemBuilder"
},
{
"name": "itemsWrap",
"type": "bool"
},
{
"name": "itemsSnapAlignment",
"type": "ItemsSnapAlignment"
},
{
"name": "onPageChanged",
"type": "PageChangedCallback"
},
{
"name": "scrollableListPainter",
"type": "ScrollableListPainter"
},
{
"name": "duration",
"type": "Duration"
},
{
"name": "curve",
"type": "Curve"
}
]
},
"Placeholder": {
"name": "Placeholder",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "A widget whose child can be mutated.",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"PositionedTransition": {
"name": "PositionedTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"docs": "Animated version of [Positioned]. Only works if it's the child of a [Stack].",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "rect",
"type": "AnimatedRelativeRectValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"RawImage": {
"name": "RawImage",
"package": "widgets",
"parent": "LeafRenderObjectWidget",
"docs": "Displays a raw image.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "image",
"type": "Image",
"docs": "The image to display."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, require the image to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, require the image to have this height."
},
{
"name": "colorFilter",
"type": "ColorFilter",
"docs": "If non-null, apply this color filter to the image before painint."
},
{
"name": "fit",
"type": "ImageFit",
"docs": "How to inscribe the image into the place allocated during layout."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the image within its bounds."
},
{
"name": "repeat",
"type": "ImageRepeat",
"docs": "How to paint any portions of the layout bounds not covered by the image."
},
{
"name": "centerSlice",
"type": "Rect",
"docs": "The center slice for a nine-patch image."
}
]
},
"RawImageResource": {
"name": "RawImageResource",
"package": "widgets",
"parent": "StatefulComponent",
"docs": "Displays an [ImageResource].",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "image",
"type": "ImageResource",
"docs": "The image to display."
},
{
"name": "width",
"type": "double",
"docs": "If non-null, require the image to have this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, require the image to have this height."
},
{
"name": "colorFilter",
"type": "ColorFilter",
"docs": "If non-null, apply this color filter to the image before painint."
},
{
"name": "fit",
"type": "ImageFit",
"docs": "How to inscribe the image into the place allocated during layout."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "How to align the image within its bounds."
},
{
"name": "repeat",
"type": "ImageRepeat",
"docs": "How to paint any portions of the layout bounds not covered by the image."
},
{
"name": "centerSlice",
"type": "Rect",
"docs": "The center slice for a nine-patch image."
}
]
},
"RawText": {
"name": "RawText",
"package": "widgets",
"parent": "LeafRenderObjectWidget",
"docs": "A raw paragraph of text.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "text",
"type": "TextSpan"
}
]
},
"RenderObjectToWidgetAdapter": {
"name": "RenderObjectToWidgetAdapter",
"package": "widgets",
"parent": "RenderObjectWidget",
"docs": "This class provides a bridge from a RenderObject to an Element tree. The given container is the RenderObject that the Element tree should be inserted into. It must be a RenderObject that implements the RenderObjectWithChildMixin protocol. The type argument T is the kind of RenderObject that the container expects as its child.",
"properties": [
{
"name": "child",
"type": "Widget"
},
{
"name": "container",
"type": "RenderObjectWithChildMixin"
},
{
"name": "debugShortDescription",
"type": "String"
}
]
},
"RenderObjectWidget": {
"name": "RenderObjectWidget",
"package": "widgets",
"parent": "Widget",
"abstract": true,
"docs": "RenderObjectWidgets provide the configuration for [RenderObjectElement]s, which wrap [RenderObject]s, which provide the actual rendering of the application.",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"RepaintBoundary": {
"name": "RepaintBoundary",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
}
]
},
"RotationTransition": {
"name": "RotationTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "turns",
"type": "AnimatedValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"Row": {
"name": "Row",
"package": "widgets",
"parent": "Flex",
"docs": "Lays out child elements in a row."
},
"Scrollable": {
"name": "Scrollable",
"package": "widgets",
"parent": "StatefulComponent",
"abstract": true,
"docs": "A base class for scrollable widgets that reacts to user input and generates a scrollOffset.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "scrollDirection",
"type": "ScrollDirection"
},
{
"name": "onScrollStart",
"type": "ScrollListener"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "onScrollEnd",
"type": "ScrollListener"
},
{
"name": "snapOffsetCallback",
"type": "SnapOffsetCallback"
},
{
"name": "snapAlignmentOffset",
"type": "double"
}
]
},
"ScrollableList": {
"name": "ScrollableList",
"package": "widgets",
"parent": "ScrollableWidgetList",
"docs": "A wrapper around [ScrollableWidgetList] that helps you translate a list of model objects into a scrollable list of widgets. Assumes all the widgets have the same height.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "scrollDirection",
"type": "ScrollDirection"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "snapOffsetCallback",
"type": "SnapOffsetCallback"
},
{
"name": "snapAlignmentOffset",
"type": "double"
},
{
"name": "items",
"type": "List"
},
{
"name": "itemBuilder",
"type": "ItemBuilder"
},
{
"name": "itemsWrap",
"type": "dynamic"
},
{
"name": "itemExtent",
"type": "double"
},
{
"name": "padding",
"type": "EdgeDims"
},
{
"name": "scrollableListPainter",
"type": "ScrollableListPainter"
}
]
},
"ScrollableMixedWidgetList": {
"name": "ScrollableMixedWidgetList",
"package": "widgets",
"parent": "Scrollable",
"docs": "A general scrollable list for a large number of children that might not all have the same height. Prefer [ScrollableWidgetList] when all the children have the same height because it can use that property to be more efficient. Prefer [ScrollableViewport] with a single child.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "snapOffsetCallback",
"type": "SnapOffsetCallback"
},
{
"name": "snapAlignmentOffset",
"type": "double"
},
{
"name": "builder",
"type": "IndexedBuilder"
},
{
"name": "token",
"type": "Object"
},
{
"name": "onInvalidatorAvailable",
"type": "InvalidatorAvailableCallback"
}
]
},
"ScrollableViewport": {
"name": "ScrollableViewport",
"package": "widgets",
"parent": "Scrollable",
"docs": "A simple scrollable widget that has a single child. Use this component if you are not worried about offscreen widgets consuming resources.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "scrollDirection",
"type": "ScrollDirection"
},
{
"name": "onScroll",
"type": "ScrollListener"
}
]
},
"ScrollableWidgetList": {
"name": "ScrollableWidgetList",
"package": "widgets",
"parent": "Scrollable",
"abstract": true,
"docs": "An optimized scrollable widget for a large number of children that are all the same size (extent) in the scrollDirection. For example for ScrollDirection.vertical itemExtent is the height of each item. Use this widget when you have a large number of children or when you are concerned",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "initialScrollOffset",
"type": "double"
},
{
"name": "scrollDirection",
"type": "ScrollDirection"
},
{
"name": "onScroll",
"type": "ScrollListener"
},
{
"name": "snapOffsetCallback",
"type": "SnapOffsetCallback"
},
{
"name": "snapAlignmentOffset",
"type": "double"
},
{
"name": "itemsWrap",
"type": "bool"
},
{
"name": "itemExtent",
"type": "double"
},
{
"name": "padding",
"type": "EdgeDims"
},
{
"name": "scrollableListPainter",
"type": "ScrollableListPainter"
}
]
},
"ShaderMask": {
"name": "ShaderMask",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "shaderCallback",
"type": "ShaderCallback"
},
{
"name": "transferMode",
"type": "TransferMode"
},
{
"name": "child",
"type": "Widget"
}
]
},
"SizeObserver": {
"name": "SizeObserver",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Calls [onSizeChanged] whenever the child's layout size changes",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "onSizeChanged",
"type": "SizeChangedCallback",
"docs": "The callback to call whenever the child's layout size changes"
},
{
"name": "child",
"type": "Widget"
}
]
},
"SizedBox": {
"name": "SizedBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "A box with a specified size.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "width",
"type": "double",
"docs": "If non-null, requires the child to have exactly this width."
},
{
"name": "height",
"type": "double",
"docs": "If non-null, requires the child to have exactly this height."
},
{
"name": "child",
"type": "Widget"
}
]
},
"SizedOverflowBox": {
"name": "SizedOverflowBox",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "size",
"type": "Size"
},
{
"name": "child",
"type": "Widget"
}
]
},
"SlideTransition": {
"name": "SlideTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "position",
"type": "AnimatedValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"SmoothlyResizingOverflowBox": {
"name": "SmoothlyResizingOverflowBox",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "size",
"type": "Size"
},
{
"name": "duration",
"type": "Duration"
},
{
"name": "curve",
"type": "Curve"
}
]
},
"SquashTransition": {
"name": "SquashTransition",
"package": "widgets",
"parent": "TransitionWithChild",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "width",
"type": "AnimatedValue"
},
{
"name": "height",
"type": "AnimatedValue"
},
{
"name": "performance",
"type": "PerformanceView"
},
{
"name": "child",
"type": "Widget"
}
]
},
"Stack": {
"name": "Stack",
"package": "widgets",
"parent": "MultiChildRenderObjectWidget",
"docs": "Uses the stack layout algorithm for its children."
},
"StatefulBuilder": {
"name": "StatefulBuilder",
"package": "widgets",
"parent": "StatefulComponent",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "builder",
"type": "StatefulWidgetBuilder"
}
]
},
"StatefulComponent": {
"name": "StatefulComponent",
"package": "widgets",
"parent": "Widget",
"abstract": true,
"docs": "StatefulComponents provide the configuration for [StatefulComponentElement]s, which wrap [State]s, which hold mutable state and can dynamically and spontaneously ask to be rebuilt.",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"StatelessComponent": {
"name": "StatelessComponent",
"package": "widgets",
"parent": "Widget",
"abstract": true,
"docs": "StatelessComponents describe a way to compose other Widgets to form reusable parts, which doesn't depend on anything other than the configuration information in the object itself. (For compositions that can change dynamically, e.g. due to having an internal clock-driven state, or depending on some system state, use [StatefulComponent].)",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"StatisticsOverlay": {
"name": "StatisticsOverlay",
"package": "widgets",
"parent": "LeafRenderObjectWidget",
"docs": "Displays performance statistics.",
"properties": [
{
"name": "optionsMask",
"type": "int"
},
{
"name": "rasterizerThreshold",
"type": "int",
"docs": "The rasterizer threshold is an integer specifying the number of frame intervals that the rasterizer must miss before it decides that the frame is suitable for capturing an SkPicture trace for further analysis."
},
{
"name": "key",
"type": "Key"
}
]
},
"StatusTransitionComponent": {
"name": "StatusTransitionComponent",
"package": "widgets",
"parent": "StatefulComponent",
"abstract": true,
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "performance",
"type": "PerformanceView"
}
]
},
"StyledText": {
"name": "StyledText",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "A convience widget for paragraphs of text with heterogeneous style.",
"properties": [
{
"name": "elements",
"type": "dynamic",
"docs": "The recursive list of lists that describes the text and style to paint."
},
{
"name": "key",
"type": "Key"
}
]
},
"Text": {
"name": "Text",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "A run of text."
},
"Title": {
"name": "Title",
"package": "widgets",
"parent": "StatelessComponent",
"docs": "Controls the description of this app in the operating system.",
"properties": [
{
"name": "title",
"type": "String",
"docs": "A one-line description of this app for use in the window manager."
},
{
"name": "child",
"type": "Widget"
},
{
"name": "color",
"type": "Color",
"docs": "A color that the window manager should use to identify this app."
}
]
},
"Transform": {
"name": "Transform",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "Applies a transformation before painting its child.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "transform",
"type": "Matrix4",
"docs": "The matrix to transform the child by during painting."
},
{
"name": "origin",
"type": "Offset",
"docs": "The origin of the coordinate system (relative to the upper left corder of this render object) in which to apply the matrix."
},
{
"name": "alignment",
"type": "FractionalOffset",
"docs": "The alignment of the origin, relative to the size of the box."
},
{
"name": "child",
"type": "Widget"
}
]
},
"TransitionComponent": {
"name": "TransitionComponent",
"package": "widgets",
"parent": "StatefulComponent",
"abstract": true,
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "performance",
"type": "PerformanceView"
}
]
},
"TransitionWithChild": {
"name": "TransitionWithChild",
"package": "widgets",
"parent": "TransitionComponent",
"abstract": true,
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "child",
"type": "Widget"
},
{
"name": "performance",
"type": "PerformanceView"
}
]
},
"UniqueComponent": {
"name": "UniqueComponent",
"package": "widgets",
"parent": "StatefulComponent",
"abstract": true,
"docs": "A widget that has exactly one inflated instance in the tree.",
"properties": [
{
"name": "key",
"type": "GlobalKey"
}
]
},
"Viewport": {
"name": "Viewport",
"package": "widgets",
"parent": "OneChildRenderObjectWidget",
"docs": "A widget that's bigger on the inside.",
"properties": [
{
"name": "key",
"type": "Key"
},
{
"name": "scrollDirection",
"type": "ScrollDirection",
"docs": "The direction in which the child is permitted to be larger than the viewport"
},
{
"name": "scrollOffset",
"type": "Offset",
"docs": "The offset at which to paint the child."
},
{
"name": "child",
"type": "Widget"
}
]
},
"Widget": {
"name": "Widget",
"package": "widgets",
"abstract": true,
"docs": "A Widget object describes the configuration for an [Element]. Widget subclasses should be immutable with const constructors. Widgets form a tree that is then inflated into an Element tree.",
"properties": [
{
"name": "key",
"type": "Key"
}
]
},
"WidgetToRenderBoxAdapter": {
"name": "WidgetToRenderBoxAdapter",
"package": "widgets",
"parent": "LeafRenderObjectWidget",
"docs": "An adapter for placing a specific [RenderBox] in the widget tree."
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment