CoralWidget class
A Flutter widget that binds a Coral of Widgets to the element tree.
CoralWidget acts as the terminal boundary that listens to the reactive pipeline and rebuilds itself whenever the underlying coral emits a new Widget.
Design Philosophy: Bridges Flutter's imperative widget lifecycle with the declarative, reactive topology of Coralline. It wraps the reactive stream into a single ComponentElement (CoralWidgetElement), performing lazy pull computations of the UI tree only when marked dirty.
AI & Developer Note:
- Do not pass dynamic or constantly changing coral references to the same CoralWidget instance, as it may force unnecessary coupler hot-swapping.
- Use the
.toWidget()extension methods on Coral, CoralProvider, or ComplexComputation<Widget> for a more ergonomic conversion.
Example:
final Coral<Widget> myUiCoral = ...;
final widget = CoralWidget(
coral: myUiCoral,
errorBuilder: (context, error, stackTrace) => Text('Error: $error'),
);
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- CoralWidget
Constructors
-
CoralWidget({Key? key, required Coral<
Widget> coral, Widget errorBuilder(BuildContext context, Object error, StackTrace? stackTrace)?}) -
const
Properties
-
coral
→ Coral<
Widget> -
The reactive Coral node that provides the declarative UI Widget.
final
- errorBuilder → Widget Function(BuildContext context, Object error, StackTrace? stackTrace)?
-
An optional builder function rendering a fallback UI if the pipeline enters a damaged state.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createElement(
) → CoralWidgetElement -
Inflates this configuration to a concrete instance.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited