codelessly_sdk library

Classes

ActionColorBindings
Reads the color bindings of an action (its variables, e.g. ShowToastAction.variables and ConfirmAction.variables): a color field's name mapped to a variable path or formula that gives a color, such as ${pal.surface} or ${= alpha(pal.gold, 0.5)}.
AdaptiveNodeBox
A Widget that will fit its child to the size of the BaseNode, taking into account the node's BaseNode.horizontalFit and BaseNode.verticalFit.
AdaptiveSizeFitBox
A Widget that will fit its child to the size of the SizeC, taking into account the SizeFit values.
ApiResponseVariableUtils
Helper utility class to easily convert ApiResponseVariable to a map and update different statuses.
AppBarDefaults
AppConfirmDialog
Shows a ConfirmAction's dialog.
AppToast
Shows ShowToastAction messages: a toast near the bottom or top of the screen that fades in, stays for the action's duration and fades out. A new toast replaces the one on screen.
ArcIndicatorPainter
Paints a circular indicator as an arc: a track across sweepAngle degrees from startAngle (clockwise from 3 o'clock) and, over it, the value fraction of that arc. Without a value the whole arc is color. The stroke sits on the bounds like CircularProgressIndicator's: strokeAlign -1 inside, 0 centered on the edge, 1 outside.
ArcProgressPainter
Paints an arc progress bar: a track, colored zone bands just outside it, the progress arc, tick marks and an optional needle. progress is the value as a fraction of the max; over 1 fills the arc and pushes the needle a little past its end.
AssetModel
Defines an asset that is utilized throughout node data as an id and looked up for information about the asset based on that id.
AudioBindings
Playback values an audio node takes from state through its variables (see AudioPlayerProperties.bindableKeys); null when not bound.
AudioPlayback
The API validates HTTPS URL syntax, not DNS or redirects: these are handled by the platform player and OS. A typed host policy for untrusted content is owned by GenUI, not by this SDK transformer. Adapter permits tests to exercise playback without a platform or network.
AuthData
Holds data returned from the server after a successful handshake.
AuthManager
An implementation that uses Firebase auth to authenticate users and manage authentication state. Handles anonymous authentication, token verification, and cloud storage access checks.
BackfaceHidden
Paints child only while its front faces the viewer, judged by its whole transform to the screen, so a face turned away by its own motion or by any rotating parent disappears (CSS backface-visibility: hidden). A hidden face takes no taps either.
BarcodePainter
Paints data as a barcode of the given symbology, filling the canvas.
BlendMask
A widget that applies a BlendMode to its child.
BreakpointWidthScope
The screen width that picks responsive variants below it, set where a canvas is not the screen: a dialog, sheet or popover is narrower than the screen it is shown on, but its layouts follow the screen's breakpoint (a 560-wide form on a desktop shows its desktop layout).
BuildSettings
A class that holds information about how to build a node.
ButtonDefaults
CacheManager
Abstraction for caching UI data locally for better performance.
CanvasContentHeight
Makes a canvas as tall as its content, up to the incoming maximum height.
CanvasLocation
Maps locations (URL paths relative to a published app's root) to canvases by their CanvasProperties.path, and back.
CanvasLocationMatch
The canvas a location opens and the route params it passes to it.
CanvasSizingScope
Sets the CanvasSizing of the canvases below it. Without one, canvases CanvasSizing.fill.
CanvasViewport
Gives a canvas the box it is laid out in, so its size never depends on whether the host's constraints are tight or loose.
CanvasWidthScope
The width the canvas above is laid out at, which picks the variant a responsive VarianceNode shows (see VarianceNode.variantForWidth), the same width the editor's design canvas has.
CConfigured
CEmpty
CError
ChartDomain
The x and y bounds of a line chart's plot, in data units. Date x values are epoch milliseconds of their wall-clock time (see LineChartGeometry.parseX).
ChartPainter
Paints a line/area chart as described by properties.
ChartScale
Maps data values of a domain to pixels of a plot rectangle.
ChartSeriesPainter
Paints a ChartProperties chart for data.
CheckBoxDefaults
CLoaded
CLoading
CloudDatabase
Allows access to cloud storage. Implementations of this class should be able to store and retrieve data from the cloud storage in secure manner. This is mainly used to store data on cloud via actions for the SDK.
CloudDatabaseVariableUtils
Helper utility class to easily update different statuses for cloud storage variable
CloudDataRunner
Reads and writes documents for CloudDataActions and CloudBatchActions on a FirestoreCloudDatabase, applying its DataRules: owner stamps on writes, owner filters on reads and the collection schemas.
CloudFieldValues
Turns field values written in the editor into what Firestore stores, following a collection's CollectionSchema. Pure, so the same rules hold for every write and are testable without Firestore.
CloudIndex
A composite index on a collection's documents, which lets Firestore run (and page) a query that filters and sorts on several fields.
CloudIndexField
A field of a CloudIndex.
CloudListItems
The items a cloud list or grid shows for a query snapshot, one rule for both:
CloudOrderBy
One sort of a CloudQuery.
CloudQuery
A collection query with its variables resolved: what the app asked for, before deciding which part Firestore runs.
CloudQueryPlan
How a CloudQuery runs: the part Firestore runs (server) and the filters, sort and limit the app applies to what comes back (finish).
CloudWhereFilter
One where filter of a CloudQuery, with its field and value already resolved from variables.
CodeHighlighter
A small regex-based syntax highlighter for the languages of SyntaxLanguage: keywords, strings (template, backtick and triple-quoted ones included), comments, numbers, function calls, types and built-ins, properties and keys, punctuation, and for shells their $ prompts, commands, flags and variables.
Codelessly
The entry point for accessing the Codelessly SDK.
CodelesslyCacheManager
Handles caching of any data that needs to be cached via Hive.
CodelesslyConfig
Holds initialization configuration options for the SDK.
CodelesslyConstants
CodelesslyContext
Holds data passed from the Codelessly instance down the widget tree where all of the WidgetNodeTransformers have access to it.
CodelesslyDragPayload
What a Draggable carries between a DragSourceBox and a DropTargetBox. A draggable's data is fixed when it builds but the payload is made when the drag starts, so this holder is filled in then.
CodelesslyFlex
A Flex (Row or Column) for node trees, which follows the editor where Flutter's RenderFlex would fail:
CodelesslyFlexParentData
Parent data of a CodelesslyFlex child.
CodelesslyHistoryBack
Going back delta entries, to one that holds the stack shown.
CodelesslyHistoryChange
How the browser's history records a change of the screen stack.
CodelesslyHistoryEntry
The browser history entry of a stack of screens: what a reload, or the browser's back and forward buttons, restore.
CodelesslyHistoryPush
A new history entry: a screen opened, or the stack reset.
CodelesslyHistoryReplace
The current history entry changes in place, e.g. as the browser reports an entry it moved to.
CodelesslyLinkRoute
A route read from the browser's address, with the history entry it was stored with, if any.
CodelesslyOverlayHost
Shows a project's overlay screen above the screens of the navigator a CodelesslyWidget is in.
CodelesslyPaywall
Displays an already-published layout, forwarding native paywall actions to the scoped controller. A product change rebuilds CodelesslyWidget with fresh scoped data (including localized store prices).
CodelesslyPaywallPlacement
Placement-only widget: resolves and presents the published placement via the SDK, calls onResult once, and never exposes a raw unverified CTA. The widget owns its nested route and closes it when removed.
CodelesslyRoute
A screen of a Codelessly app and the parameters it was opened with, as a link: {canvasId}?key=value, or the screen's own URL path when it has one (guide/bat-star for a screen at guide/:id, see Codelessly.pathOf). Codelessly.route holds the one shown; a CodelesslyRouter keeps the browser's address on it.
CodelesslyRouteInformationParser
Maps the browser's address to the screen stack and back, under a base path such as a site's /<slug>.
CodelesslyRouteInformationProvider
Reports the screen stack to the browser: a screen the app opens adds a history entry, and going back in the app goes back in the browser, so the browser's back and forward buttons and the app's own agree.
CodelesslyRouter
The screens of a Codelessly app as pages of a Router, built on NavigationUtils, so the app navigates the way a website does: every screen has a URL, the browser's back and forward buttons move through the screens the app opened, and a reload or a shared link opens the same screen with the same back stack.
CodelesslyRouterDelegate
The stack of screens of a Codelessly app, as a NavigationUtils router delegate. Each screen (layout) of the published app is a route: at its URL path when it has one (/guide/:id), at its canvas id otherwise (/<canvasId>), and the entry screen at /. The route's query and path parameters are the screen's parameters (${route.name}).
CodelesslyRouteScope
The screen a CodelesslyRouterDelegate shows at a location, and the parameters it was opened with.
CodelesslyScreen
A screen of a CodelesslyRouterDelegate: the layout, loaded through a copy of the router's controller, with its route parameters.
CodelesslyTransitionPage<T>
A screen's page opened with a PageTransition other than the platform's (see FunctionsRepository.buildPageTransition), played in reverse when it closes.
CodelesslyWidget
SDK widget that requires the SDK to be initialized beforehand.
CodelesslyWidgetController
The provides advanced explicit control over the state of the instantiated CodelesslyWidget that it is attached to.
CodelesslyWrap
A Wrap for wrapping row/column nodes (RowColumnMixin.wrap).
CodelessNodeTreeView
Renders Codelessly nodes directly, without a published layout or Firebase.
CodeToken
A highlighted run of code: the characters from start to end are a kind of token.
ComponentData
Holds component's node data and containing rect size data.
ComputedVariables
Helpers for computed variables: variables whose value is a ${= ...} formula over other variables (see VariableData.isComputed), e.g. visible = ${= sortBy(filter(records, r => r.crate == crateId), sortBy)}.
ConditionEvaluator<R extends Object>
ConditionNodesVisitor
A visitor that returns the list of node IDs used in a condition's actions.
ConditionPrinter
ConditionVariablesVisitor
A visitor that returns the list of variable names used in a condition.
CountUpText
Shows text, counting its numbers from their old values to their new ones whenever the text changes (see TextNode.countUp).
CStatus
CupertinoLoadingIndicatorDefaults
CurrencyAmountInputFormatter
Groups an amount as it is typed in currencyCode's format (see the formatAmount formula), keeping the caret the same number of characters from the end.
CustomComponent
A model to hold custom component data.
DataManager
Orchestrates the data flow for the SDK.
DataRules
The DataRule of each collection of a project.
DebugCategory
Defines common categories used in DebugLogger.
DebugLogger
A robust logging utility for managing extensive logs in Dart applications.
DebugLoggerConfig
Configuration for DebugLogger, including enabled and disabled categories, and highlighting specific logs.
DividerDefaults
DragAndDropController
The drag-and-drop state of a layout: the drag in progress, what ${drag} reads, and what bindings to drag listen to.
DraggedScope
Marks the nodes inside child as dragged: the copy of a list row that a reorder handle drags. Their dragged interaction state applies.
DragScope
Shares the drag of the nearest NodeDrag with the nodes inside it, which read it as the drag variable.
DragSession
A drag in progress.
DragSourceBox
Makes child (a node's widget) draggable as model says.
DragTrackGeometry
Geometry of a DragTrackModel, in the node's own coordinates with the origin at the node's rest centre.
DragValues
The live state of a drag, as the drag variable shows it.
DropTargetBox
Makes child a drop target as model says.
DropTargetBoxState
DropTargetScope
Gives the nodes inside a DropTargetBox access to it: lists register their items and read where the slot goes.
EditableTextField
A text field on screen that an EditTextAction can edit.
EndlessList
Bounds how many items an endless list (no item count, no data) builds, without giving it an end.
ErrorLog
Represents a logged error with context
ErrorLogger
Manages error logging and tracking related errors
ExpansionTileDefaults
FeedbackTheme
The look of the UI the runtime draws itself, such as the confirm dialog and toasts: the app's fonts, primary color, surface and corner radius.
FeedbackThemeScope
Provides the FeedbackTheme of the layout below it.
FirebaseDataRepository
Handles the data flow of SDKPublishModel from the server.
FirebasePaywallBackend
Authenticated Firebase callable gateway for the server-owned paywall data. A published release points to an existing SDK layout, never editor drafts.
FirestoreCloudDatabase
A implementation that uses Firestore as the backend. This is used to store data via actions for the SDK.
FitBox
Sizes a node on both axes from its SizeFits. This is the one place the runtime decides what a fit means.
FlexChildVisibility
Tells a CodelesslyFlex whether its child is collapsed: hidden at runtime and taking no space, so the flex leaves no gap next to it.
FlightBox
Flies its child in from where another node with the same flightKey was (BaseNode.flightKey), with a spring.
FlightProbe
Records where its child is drawn under flightKey for FlightRegistry, and reports its first placement to onFirstPaint.
FlightRegistry
Where each flight key was last seen, by every box that has it, plus where dragged copies were let go.
FlightSuppress
Stops FlightBoxes below it from recording where they are drawn: the ghost a draggable leaves in its place shouldn't be where a drop flies from.
FloatingActionButtonDefaults
FloatingNode
Draws child in the app's overlay, exactly where it is laid out: above every other node, not clipped by its ancestors and tappable outside them. The layout keeps an empty box of the child's size, so nothing around it moves. Used for nodes marked floating (a type-ahead's menu under its field). Without an Overlay above it, the child is drawn in place.
FontFamilyModel
Holds information about font family.
FontFileData
FontNameBin
FontParser
FontVariantModel
Holds information about a font variant in a font family.
FormulaClock
Ticks once a second while anything listens, so widgets whose formulas call now() or today() rebuild and their clocks and countdowns stay live.
FormulaEvaluator
Evaluates small expressions used in ${= ...} formulas.
FormulaFunction
A function defined by a variable with parameters: its parameters and the formula body that computes its result from them.
FormulaFunctionDoc
How to call a formula function, for editors to list.
FrameClock
Ticks on every frame while anything listens, so widgets whose formulas call nowMs() rebuild each frame: a meter decaying from its last hit (${= hit * exp(-7 * (nowMs() - at) / 1000)}), a progress bar, a timer to the millisecond. Nothing runs while nothing listens, and a pinned FormulaClock (an editor or test) doesn't tick.
FreeformAxisPlacement
The design-size data and rule that place a child on one axis.
FreeformChild
Gives a child of a FreeformLayout its placement.
FreeformLayout
Lays out the children of a freeform container (frame, stack, freeform placeholder) the way the editor's solver does, at whatever size the container gets at runtime.
FreeformMove
The layout properties that put a freeform child where it was moved to.
FreeformParentData
Parent data for children of RenderFreeformLayout.
FreeformPlacement
The placement of one child of a FreeformLayout on both axes.
FunctionsRepository
GaugePainter
Paints a GaugeMeterProperties gauge filled to fraction (0 to 1), with an optional limit marker at limit (0 to 1).
GeometryProbe
Registers the render box of one node instance with the nearest NodeGeometryScope. Lays out and paints exactly like its child. Without a scope above it, it builds child alone.
GeometryProbeDecorator
A NodeBuildDecorator that adds a GeometryProbe at both layers.
GlowSliderThumbShape
Paints a soft, blurred glow of color behind another thumb shape, like a lit knob. The glow is the thumb's outline grown by spread and blurred by blur (a sigma); it does not change the thumb's size.
GradientHandlesTransform
Places a default linear gradient (left edge to right edge) between the handles begin and end, alignments in the box, the way design tools do: the gradient is laid out in the box's normalized space and stretched with it, so its bands stay perpendicular to the handles there. Begin (-1, -1) and end (1, 1) then run corner to corner on any box, with the other diagonal on the middle band. On a square box this is Flutter's LinearGradient(begin: begin, end: end).
GridViewBuilder
HiveLocalDatabase
A LocalDatabase implementation that uses Hive as the underlying storage. This is used to store data via actions for the SDK.
HoldProgressProvider
Shares how far a HoldToConfirm has been held, 0 to 1, with the nodes inside it, which read it as the hold variable.
HoldToConfirm
Calls onConfirmed once child has been pressed for duration.
HttpApiData
HttpKeyValuePair
HugCross
A Flex that hugs its cross axis and stretches its children across it: as thick as its thickest child, every stretching child that thick.
IconDefaults
ImageFillPlaceholder
Stands in on a design canvas for an image bound to a variable that has no value yet.
InAppPurchaseService
StoreKit / Play Billing adapter; subscribes before purchase calls and replays durable unverified transactions when started or explicitly retried.
IndexedItem
IndexedItemProvider
IndustrialSliderTrackShape
A slider track that can fill from the thumb to the end, fade its active part in from activeStartOpacity and draw a thin marker at markerFraction of its length.
InitialValues
The value of ${initial}: variable name -> its published value. Values are read when asked for, so ${initial.txns} parses only that list.
InlineCode
Draws the inline code of a text: the segments of its resolved text wrapped in backticks take an InlineCodeStyle and lose their backticks (see TextNode.inlineCode).
InteractionStatesBox
Tracks the pointer and focus over a node and shows its interaction states: puts the overrides of every active state (in InteractionState order, the later winning) in a PropertyOverrideScope over builder. A disabled node ignores the pointer, so its actions do not run, and the cursor over it is the basic one.
IntrinsicSafeLayoutBuilder
A LayoutBuilder that answers intrinsic size queries instead of throwing.
ItemExtentReporter
Reports the main-axis extent its child is laid out at to extents.
ItemExtents
The main-axis extents of the items of an EndlessList that are laid out now.
LineChartGeometry
Pure functions behind the line chart: reading data, the domain, interpolation, the Catmull-Rom curve and readout text.
LineChartPainter
Paints a LineChartSpec, with the scrub cursor at cursorX when set.
LineChartSpec
Everything a LineChartPainter draws, resolved from a LineChartNode and its bindings.
ListItemArrangement
How a list keys its items and, for a list that layers them, the order it paints them in: from its itemKey and itemZIndex bindings (see ListViewNode.itemKeyVariable and ListViewNode.itemZIndexVariable), evaluated for each item, and ListViewProperties.reversePaintOrder.
ListItemBox
Places the item child of a list view the way the editor lays it out.
ListTileDefaults
ListViewBuilder
ListViewItemSeparator
LocalDatabase
Allows access to local storage on the device. Implementations of this class should be able to store and retrieve data from the device's local storage. This is mainly used to store data via actions for the SDK.
LocalDataRepository
The local data repository is responsible for storing and retrieving the published model and associated layouts and font files from CacheManager.
LookupMap<T>
An extension type that allows for automatic correction of custom ids to the original id.
LoopAnimationBox
Runs a node's LoopAnimation on child over and over: it scales and fades child for LoopAnimationType.pulse, fades it for LoopAnimationType.fade, scales it for LoopAnimationType.scale, rotates it for LoopAnimationType.spin, about its center, hops it for LoopAnimationType.bob and rocks it for LoopAnimationType.sway.
LoopingList<T>
A helper class that loops or repeats the values of a given list.
M2NavigationBarDefaults
M3NavigationBarDefaults
ManagedListenableBuilder
MarkdownTextEditingController
A TextEditingController that shows its text as live Markdown while markdown is set: **bold** bold, _italic_ italic, `code` in the code font, list markers and @mentions colored. Every character stays (the markers are dimmed, see MarkdownStyle.showMarkers), so the cursor and selection work as in plain text.
MaterialLoadingIndicatorDefaults
MaterialLocalizationsScope
Gives child Flutter's default Material and Cupertino localizations when the host app has none.
MeasurableLayoutBuilder
A LayoutBuilder that can be measured: it reports intrinsic sizes and a dry layout instead of throwing "LayoutBuilder does not support returning intrinsic dimensions".
NetworkDataRepository
An abstract class that represents the operations that a DataManager will need to utilize to offer a complete usage experience of a Codelessly layout.
NodeBuildDecorator
Lets a host wrap every node instance that a transformer manager builds.
NodeContextRegistry
Where each node is shown: its id mapped to the build contexts of the widgets that show it, in the order they appeared, so an action can find a node on screen (see ScrollToAction).
NodeDrag
Makes child draggable as drag describes: it follows the pointer as a transform over its layout, tilts by DragModel.rotateFactor, and on release springs back, stays, or flies off and calls onDismissed.
NodeDragState
The state of a NodeDrag; see NodeDrag.control.
NodeDragTrack
Makes child a value control that moves along track: it is drawn at value's place on the track, and dragging it (or, with DragTrackModel.jumpOnTap, tapping along the track) reports new values through onChanged. Double tap resets to DragTrackModel.defaultValue; the mouse wheel steps the value.
NodeGeometry
Where one node instance was laid out and painted, in the coordinate space of the NodeGeometryScope that holds it.
NodeGeometryRegistry
Holds the render boxes of every node instance built under a NodeGeometryScope, and answers where each one is.
NodeGeometryScope
Makes registry collect the geometry of every GeometryProbe below, in this widget's coordinate space.
NodeHero
Shared elements: a node with a BaseNode.heroTag is wrapped in a Flutter Hero, so it flies between two screens that both show a node with that tag while the navigation's page transition plays.
NodeHeroChild
The child of a node's Hero: the node's drawing, with the node it draws, which the flight reads (its corners and BaseNode.heroFlight).
NodeHeroScope
Carries what a node reads from above it to a copy of it built elsewhere, such as the flying copy of a shared element in the navigator's overlay: the Codelessly instance, context and controller, the list items around it, its parent's size, its state and interaction-state overrides, the canvas's sizing, skeleton and feedback scopes, and the themes.
NodeHit
One node instance hit by NodeGeometryRegistry.hitTest.
NodeMotion
Draws child with a node's motion: a transform over its layout that animates whenever its values change, plus an optional continuous spin.
NodeMotionScope
Turns animation of node motion off for the nodes below it: a design canvas or an editor capture, which show every node at rest.
NodePlayBox
Plays a node's EffectAnimations and fires its ParticleEmitter.
NodePlayBoxState
State of a NodePlayBox; play plays one of its animations.
NodePlayRegistry
The NodePlayBoxes on screen, by node id, so a playAnimation action can reach them.
NodePulse
Loops child's opacity and scale as pulse describes.
NodeRegistry
In the SDK we are not using GetIt, so this singleton should help making the nodes available when they are needed.
NodeSizeTransition
Animates a node's size when it changes: see BaseNode.sizeTransition.
NodeStateProviderWidget
Provides a NodeStateProvider for node whose state lives as long as this widget.
NodeTransformerManager<O, BC, BS extends BuildSettings, NT extends NodeTypeTransformer<BaseNode, dynamic, dynamic, BuildSettings>>
The base class for all node transformers. It holds a registry that maps node types to their relevant transformers.
NodeTypeTransformer<N extends BaseNode, O, BX, BS extends BuildSettings>
This is the base class for all transformers.
NodeWidgetTransformer<N extends BaseNode>
This is the base class for all widget transformers, transforming BaseNodes into Flutter Widgets.
NotchedClipper
Clips its child to a notched box.
NotchedShadowPainter
Paints drop shadows that follow a notched box, notches included.
NotchedStrokePainter
Strokes the outline of a notched box, solid or dashed, inside, centred on or outside the outline as strokeAlign says.
NotchSliderTickMarkShape
Division marks as short lines under the track; every fifth is longer.
Observable<T>
A custom Value notifier that lets you set the value without notifying listeners via set method.
OverlapBox
Lays child out at its size but takes overlap less room along axis, so the next item of a list is drawn over its end.
OverlayScreenScope
Marks the widgets of an overlay screen: a canvas with CanvasProperties.overlay, drawn above every other screen of the app.
ParentSizeScope
Gives the nodes below it the size their parent gives them, which the parent variable reads: ${parent.width} and ${parent.height}.
PassiveAccordionTransformer
PassiveAccordionWidget
PassiveAppBarTransformer
PassiveAppBarWidget
PassiveAudioPlayerTransformer
PassiveAudioPlayerWidget
PassiveBadgeTransformer
PassiveBadgeWidget
PassiveBarChartTransformer
PassiveBarChartWidget
Renders a BarChartNode, reading its bindable values, labels, highlight and color from conditions and variables.
PassiveBarcodeTransformer
Renders a BarcodeNode: its resolved data encoded with the node's symbology, painted to fill the node's box.
PassiveBarcodeWidget
Paints a BarcodeNode in its box.
PassiveButtonTransformer
PassiveButtonWidget
PassiveCanvasTransformer
PassiveCanvasWidget
PassiveChartSeriesTransformer
PassiveChartSeriesWidget
Renders a ChartNode: resolves its data and selection, paints the chart and turns taps into a selected category and changed reactions.
PassiveChartTransformer
PassiveChartWidget
Paints a PlotChartNode and lets the user select an x value on it.
PassiveCheckboxTransformer
PassiveCheckboxWidget
PassiveChipTransformer
PassiveChipWidget
PassiveDatePickerTransformer
PassiveDatePickerWidget
PassiveDateTimeInputTransformer
PassiveDateTimeInputWidget
PassiveDividerTransformer
PassiveDividerWidget
PassiveDropdownTransformer
PassiveDropdownWidget
PassiveEmbeddedVideoTransformer
PassiveEmbeddedVideoWidget
PassiveExpansionTileTransformer
PassiveExpansionTileWidget
PassiveExternalComponentTransformer
PassiveExternalComponentWidget
PassiveFloatingActionButtonTransformer
PassiveFloatingActionButtonWidget
PassiveGaugeTransformer
Existing arc/bar meter renderer (not the radial dial).
PassiveGaugeWidget
Renders a GaugeMeterNode, reading its bindable value, limit, color and limitColor from conditions and variables.
PassiveGridViewTransformer
PassiveGridViewWidget
PassiveIconTransformer
PassiveIconWidget
PassiveLineChartTransformer
Builds LineChartNodes as a PassiveLineChartWidget.
PassiveLineChartWidget
Renders a LineChartNode, with a scrub cursor when LineChartProperties.scrubEnabled is set.
PassiveListTileTransformer
PassiveListTileWidget
PassiveListViewTransformer
PassiveListViewWidget
PassiveLoadingIndicatorTransformer
PassiveLoadingIndicatorWidget
PassiveModalTransformer
Presents the content only while the trigger's dialog route is open.
PassiveNavigationBarTransformer
PassiveNavigationBarWidget
PassiveNodeTransformerManager
This is the passive implementation of the NodeTransformerManager, registering all the transformers that are available in the SDK.
PassivePageViewTransformer
PassivePageViewWidget
PassivePathTransformer
Draws a PathNode: its SVG path scaled from its view box to the node's size, filled with its solid fills and outlined with its strokes (weight, cap, dashes), trimmed to PathNode.trimStart..PathNode.trimEnd of its length. pathData, trimStart and trimEnd can be bound; a bound trim eases to new values over the node's BaseNode.transitionMs.
PassivePlaceholderTransformer
PassiveProgressBarTransformer
PassiveProgressBarWidget
PassiveRadialGaugeTransformer
Renderer for the radial gauge. Registration in the manager is owned elsewhere.
PassiveRadialGaugeWidget
PassiveRadioTransformer
PassiveRadioWidget
PassiveRectangleTransformer
PassiveRectangleWidget
PassiveRowColumnTransformer
PassiveRowColumnWidget
PassiveSegmentedButtonTransformer
PassiveSegmentedButtonWidget
PassiveSignatureNormalizedTransformer
The normalized signature is deliberately separate from the pixel-space pad.
PassiveSignatureNormalizedWidget
A signature whose stored coordinates are fractions of the rendered box.
PassiveSignatureTransformer
PassiveSignatureWidget
A signature pad whose strokes live in the node's bound value variable, or its node value when nothing is bound.
PassiveSinglePlaceholderTransformer
PassiveSinglePlaceholderWidget
PassiveSliderTransformer
PassiveSliderWidget
PassiveSpacerTransformer
PassiveStackTransformer
PassiveSwitchTransformer
PassiveSwitchWidget
PassiveTabBarTransformer
PassiveTabBarWidget
PassiveTabsTransformer
Scene-backed tabs, separate from the label-only TabBar control.
PassiveTabsWidget
PassiveTextFieldTransformer
PassiveTextFieldWidget
PassiveTextTransformer
PassiveTextWidget
PassiveTimePickerTransformer
PassiveTimePickerWidget
PassiveVarianceTransformer
PassiveVarianceWidget
PassiveVideoTransformer
Native MP4 playback. Embedded YouTube/Vimeo video is a different node.
PassiveVideoWidget
PassiveWebViewTransformer
PassiveWebViewWidget
PathNodePainter
Paints SVG path data (see PassivePathTransformer).
PaywallAnalyticsEvent
Only these fields are persisted; payment receipts and user attributes are never accepted by this analytics envelope.
PaywallAnalyticsQueue
A journal is keyed by project and authenticated UID. Consent is opt-in; revoking it clears queued events immediately and blocks further writes.
PaywallController
Session state shared by bindings and action handlers, independent of a route.
PaywallProduct
Store metadata, not editor-authored prices. Price strings always come from the store.
PaywallResult
PaywallRuntime
One SDK instance's server-backed paywall configuration and verified grants. Cached placement is never authoritative for entitlement grants.
PaywallUnavailableFallback
Non-purchasing fallback: price and purchase controls stay absent until the published layout and store metadata are available. Restore still requires server verification through the supplied PurchaseService.
PendingPurchase
Replayable transaction fields; never log or attach verificationData to events.
PortalPreviewWidget
PreviewCheckboxWidget
PreviewChipWidget
A chip whose selection is local state, for previews without a CodelesslyContext.
PreviewSegmentedButtonWidget
A segmented button whose selection is local state, for previews without a CodelesslyContext.
PreviewSliderWidget
PreviewSwitchWidget
PrivacyBase
Represents the privacy controls of a given model that this mixin is applied to.
PrivateDocumentFields
ProgressBarDefaults
PropertyOverrideScope
Gives the nodes below it the PropertyOverrides of the states shown around them: a property-override variant, or the interaction states of an ancestor (or of the node itself). Nested scopes layer: the inner one wins for the same node and property.
PropertyValueDelegate
A delegate class that helps retrieving the value of a node property from multiple sources such as conditions, variables, data, and node values.
PublishedPaywall
PulseOpacity
Fades a relative pulse from PulseModel.minOpacity times opacity to opacity, leaving motion pulses to NodePulse.
PurchaseRetryQueue
Persist the transaction before verification; saves must complete before the store stream handler acknowledges or emits any result.
PurchaseService
The verification callback must validate store purchase tokens on a trusted server. Only a verified purchase can grant an entitlement or complete a paywall.
RadialGaugePainter
Radial dial, distinct from the arc/bar meter and its limit marker.
RadioDefaults
RawWebViewWidget
ReactionDragDetector
Runs a node's drag, pointer, wheel and pinch reactions. Each action of a TriggerType.drag reaction runs on every move with ${result} set to:
RectSliderThumbShape
A rounded-rectangle thumb, like a fader knob, with an optional border and a short grip line across it.
RelatedDocumentsLoader
Loads the documents the fields (reference fields of the list's collection, collectionPath) of docs point to, once each, and builds builder with what has loaded so far; it rebuilds as more arrive.
RelativeTransform
RemeasureOnFontsChange
Rebuilds child's render objects when the system fonts change (a web font such as a Google Font finished loading).
RenderBackface
The render object of BackfaceHidden.
RenderBlendMask
A render object that applies a BlendMode to its child during painting.
RenderCanvasContentHeight
The render object of CanvasContentHeight.
RenderCodelesslyFlex
The render object of CodelesslyFlex.
RenderCodelesslyWrap
The render object of CodelesslyWrap.
RenderFitBox
The render object of FitBox.
RenderFlightProbe
The render object of FlightProbe.
RenderFreeformLayout
The render object of FreeformLayout.
RenderGeometryProbe
The render box of one GeometryProbe.
RenderGeometryRoot
The coordinate origin of a NodeGeometryScope.
RenderHugCross
The render object of HugCross.
RenderItemExtentReporter
The render object of ItemExtentReporter.
RenderMeasurableLayoutBuilder
The render object of MeasurableLayoutBuilder.
RenderNodeSizeTransition
The render object of NodeSizeTransition.
RenderOverlapBox
The render object of OverlapBox.
RenderRunStretchWrap
The render object of RunStretchWrap.
RenderScrollContentExtent
The render object of ScrollContentExtent.
RenderScrollContentStack
The render object of ScrollContentStack.
RenderTextIntrinsicSlack
RenderTextMinHeight
The render object of TextMinHeight.
RepeatingGradientTransform
Rotates a linear gradient by radians about the box center, like GradientRotation, after squeezing one run of its stops into period logical pixels along its axis. With TileMode.repeated the stops then repeat every period pixels whatever the box size, e.g. even stripes.
ResolvedFeedbackTheme
A FeedbackTheme with every value set, see FeedbackTheme.of.
RevealBox
Scrolls the scroll views around child so it shows (see RevealModel): after it first appears when when is true, and each time when turns true.
RoundedRectSliderThumbShape
A rounded rectangle slider thumb, like a fader cap, with an optional stroke drawn inside its edge. size is in the slider's own (horizontal) layout: its width runs along the track.
RouteParamsScope
Gives the screens below it route params, as ${route.<name>} reads them, where no router opened the screen: a design canvas showing a screen at changelog/:version with sample params. A screen a Codelessly router shows reads its own location's params instead.
RunStretchWrap
A Wrap whose children are each as thick across direction as the thickest child of their run: equal-height tiles in every row of a feature grid, like CSS flex-wrap with align-items: stretch.
RunStretchWrapParentData
Parent data of a child of RenderRunStretchWrap.
ScaledContent
Lays child out at designSize and scales it by fit into the space it gets, like a FittedBox that fills that space: a frame's content with FrameNode.contentFit. On an axis it hugs (or that is unbounded) it takes the design size.
ScopedValues
A class that holds the scoped values for a widget/context. This is helpful access context bound data in a widget tree. This makes it so that you don't have to pass context around to access data and end up using context across async gaps. This collects all the data you need in one place before-hand so that you can access it later.
ScrollContentExtent
The content of a scroll view whose main axis must be at least viewportExtent long. The child is laid out once with the scroll view's unbounded main axis to find its natural length. When that is shorter than the viewport it is laid out again with exactly the viewport's length, so:
ScrollContentStack
The content of a scroll view that positions its children: a Stack that, unlike a plain one, sizes itself from its Positioned children along axis.
ScrollEndDetector
Runs reactions (TriggerType.scrollEnd) when the node's own scrollable comes within threshold of its end, or its content doesn't fill it, as infinite scroll needs: the actions load the next page.
ScrollTarget
Records where node nodeId is built for Scroll To actions (see ScrollTargets).
ScrollTargets
The nodes Scroll To actions scroll to, and where each is built.
SDKLayoutConditions
A model that defines variables for a layout.
SDKLayoutVariables
A model that defines variables for a layout.
SDKPublishFont
Represents a single variation of a common font.
SDKPublishLayout
SDKPublishModel
A model that represents the collection of published layouts.
SDKPublishUpdates
SharedPreferencesLocalDatabase
SharedPreferencesPurchaseRetryQueue
Device-local retry journal. Host apps handling sensitive receipt data should replace with an encrypted PurchaseRetryQueue appropriate to their threat model.
ShowMoreButton
The "Show more" button at the end of a list that pages with a button.
ShowMorePager
Keeps how many items a "Show more" list has revealed, across rebuilds of its query results, and builds builder with it. Starts at pageSize and grows by it each time the button is pressed.
SignatureNormalizedPainter
Paints fractional points at the current size, without a border or backdrop.
SignaturePainter
Paints the sign line, the placeholder while there are no strokes, and the strokes, smoothed with quadratic curves through their midpoints.
SilentSoundEngine
A silent engine on a stopwatch clock.
Skeleton
Paints child as a loading skeleton while enabled: every painted pixel turns a neutral grey with a light band sweeping across it. When not enabled, child paints as it is; the widget tree stays the same either way, so switching keeps the state below (a loading list keeps its query).
SkeletonScope
Tells the nodes below it that they are shown as a loading skeleton, so a cloud list that is still loading builds a few sample items to shimmer instead of nothing.
SliderDefaults
Sound
The app's sound.
SoundEngine
Plays PlaySoundActions and keeps the clock clock triggers tick on.
SpanningGradientRotation
Rotates a linear gradient by radians about the box center and stretches it to span the whole box along its new direction: the box's extent along the axis, w·|cos| + h·|sin|, as a CSS angled gradient does.
Speech
Text-to-speech for SpeakActions, and the live state the speech variable reads: speaking, text (what is being said, '' when quiet) and available (whether this device has a voice).
SpeechEngine
A platform's text-to-speech voice.
SpreadShadowPainter
Paints shadows around a box of borderRadius, growing (or, for a negative spread, shrinking) the corner radii with each shadow's spread.
SpringCurve
An under-damped spring settling on 1: it passes the target once by about 12%, swings back a little and settles, the way a released card snaps home.
StackedItems
The items of a stacked list: drawn on top of each other in the list's box, each at its top center, the first item on top, or in paintOrder.
StackedListItems
The items of a ListLayout.stack list: layered in the list's padded box, each placed at its item node's bound x/y, evaluated for that item, or at the item node's design offset when not bound.
StoreProductMetadata
Conversion of store metadata to display bindings; does not confer eligibility.
StorePurchaseGateway
Testable interface to the in_app_purchase plugin.
StrictNodeBox
A Widget that will fit its child to the size of the BaseNode, it will not take into account the node's BaseNode.horizontalFit and BaseNode.verticalFit. It will strictly use the BaseNode.middleBoxLocal as the size of the node.
StripePainter
StrokedSliderThumbShape
A RoundSliderThumbShape with an optional stroke drawn inside its edge.
StrokePainter
This stroke painter is needed because Flutter's built in stroke for containers only does inside strokes and doesn't do dotted borders.
StrokePathBox
Draws path in child's box, behind it or (with StrokePath.inFront) over it. points override the path's own.
StrokePathPainter
Paints a StrokePath through points in the box it's given.
StyleBindings
The style properties, beyond fill, stroke, opacity, width and height, that conditions, bound variables or formulas can set at runtime.
SvgIcon
Renders Material icons and symbols as on-demand vectors from Google's prebuilt SVG CDN. Cupertino vectors use the configured static icon CDN.
SvgIconImage
SvgPathClipper
Clips its child to an SVG path.
SvgPathStrokePainter
Strokes path with color, strokeWidth, strokeCap and strokeJoin, dashed by dashPattern when it has one.
SwipeDetector
Reports swipes on child as TriggerType.swipeLeft, swipeRight, swipeUp or swipeDown. A drag counts as a swipe when it travels minDistance or is flung faster than minVelocity. A mouse wheel scroll counts too: scrolling down swipes up, the way content moves.
SwitchDefaults
TabBarDefaults
TapThroughScope
Makes the empty parts of the layout below let taps through to what is behind it: the parts where neither a node's fills, strokes or content paint nor a reactive node is (a transparent canvas, an empty frame). Set by CodelesslyDialogWidget, so a tap beside a full-screen dialog's layout reaches the barrier and closes a dismissible dialog.
TextEdits
The edits a rich text composer makes at a text field's cursor: the operations of an EditTextAction, list continuation on Enter, and what the field's triggers read about the cursor.
TextFieldDefaults
TextFieldRegistry
The text fields on screen by node id, so an EditTextAction finds the field it names. Fields register while they are mounted and running (not on a design canvas).
TextIntrinsicSlack
Rounds a text's maximum intrinsic width up to a whole pixel.
TextMinHeight
Gives text a minimum height, its design height, that it may grow past.
TextNodeBox
Sizes a text node's box and places its text inside it.
TextNumber
A number in a text: where it is and how it is written.
TextUtils
ThemedConfirmDialog
The built-in confirm dialog, in the app's look. Pops true when confirmed and false when cancelled.
ThemeDefaults
TrackScope
Shares the nearest NodeDragTrack's state with the nodes inside it, which read it as the track variable.
TrackValues
The live state of a drag track, as the track variable shows it.
TransformerCheckbox
TransformerChip
Builds the Flutter chip that matches ChipNode.properties' chip type.
TransformerSegmentedButton
TransformerSignature
Draws a signature pad and records the strokes drawn on it.
TransformerSlider
TransformerSwitch
UltimateImageBuilder
Ultimate widget to build image from url, bytes or paint. Supports Gifs and SVGs too!
UpperCaseTextInputFormatter
Turns everything typed or pasted into a text field into capitals, for a field with TextCapitalizationC.characters: a booking reference typed mx4821 reads MX4821. The selection stays where it was (upper-casing can change a text's length, e.g. ß to SS; the caret then goes to the end).
VariableMatch
Parsed data from a variable path using variablePathRegex.
VariablePreview
Resolves the values a design canvas shows for variables in place of their live runtime values.
VariableSpan
A TextSpan that stands in for a variable on a design canvas, showing the variable's default value or a readable placeholder (see VariablePreview).
ViewportLayout
The box a scroll viewport (list, grid or page view) gets on each axis, and whether it shrink-wraps its items.
ViewportNodeBox
Sizes a list, grid or page view node by ViewportLayout and builds its content with the resolved shrink-wrap flag.
ViewportReactionsBox
Runs a node's TriggerType.enterViewport and TriggerType.exitViewport reactions as child scrolls into and out of view.
ViewportVisibility
Reports how much of child is visible: inside the screen and inside every Scrollable around it (a scrolling page, a scrollable frame, a list or a page view).
VimeoVideoPreviewUI
WebDataRepository
A NetworkDataRepository implementation that utilizes the Firebase Cloud Functions to retrieve the relevant data.
WebViewPreviewWidget
WidgetBuildSettings
A class that holds information about how to build a node that is to be output as a Flutter widget.
WidgetNodeTransformerManager
A wrapper class for both PassiveNodeTransformerManager and ActiveNodeTransformerManager.
WrapItemBox
Sizes the item child of a wrapping list: the item keeps its own size on both axes. An expanded or flexible item, which has nothing to fill in a run, takes its design size; with itemExtent the item takes that extent along the wrap direction.
WrapNodeBox
Sizes a wrapping list node (see ListViewProperties.wrap) and builds its content. The flag given to builder says whether the runs must scroll along the cross axis: true when the box has a set extent there.
WrappedItems
The items of a wrapping list: laid out by a Wrap along direction, flowing onto further lines (runs) when a line is full, each item at its own size.
YoutubeVideoPreviewUI
ZoomableBox
Lets the user pinch or scroll to zoom child and drag to pan it; a double tap zooms in, and another zooms back out. Keeps child's size in the layout.

Enums

AlignmentEnum
Enum representation of alignment.
ApiRequestType
Enum representing the types of API requests.
CanvasSizing
How a canvas sizes itself in the space its host gives it.
CLoadingState
CodeTokenKind
The kinds of tokens CodeHighlighter tells apart. Each but plain has a color in CodeThemeModel, named the same.
DataRule
Who can read and write a cloud database collection. Set per collection in the editor's Data panel, stored in data_rules/{projectId}, and enforced by Firestore security rules; the SDK stamps and filters by DataRules.ownerField so its writes and queries pass them.
FreeformAxisMode
How a child of a freeform container is placed along one axis.
HttpMethod
NodeBuildLayer
Where a NodeBuildDecorator wraps a node's widget.
NullSubstitutionMode
Represents what to do when a variable path evaluates to null when substituting variables in a text.
PaywallOutcome
PublishSource
Defines the server-sided source a publish model should be retrieved from.
RequestBodyTextType
RequestBodyType
ResourceType
Represents the type of a resource. It can represent file, url or bytes that correspond to one of the supported types.
Role
UpdateType
Defines an interpretation of what kind of update has been made to a given layout or font.

Extensions

ActionModelExt on ActionModel
AlignmentDataHelper on AlignmentData
AlignmentGeometryHelper on AlignmentGeometry
AlignmentModelExtensions on AlignmentModel
AlignmentModelHelper on AlignmentModel
AssetModelExt on AssetModel
AutovalidateModeCExt on AutovalidateModeC
AxisHelperExt on AxisC
BaseConditionExt on BaseCondition
BaseNodeExt on BaseNode
BaseNodeHelper on BaseNode
BlendModeCExt on BlendModeC
BorderSideModelExtensions on BorderSideModel
BoxConstraintsModelHelper on BoxConstraintsModel
BoxFitExt on BoxFit
BoxHeightStyleEnumExtensions on BoxHeightStyleEnum
BoxWidthStyleEnumExtensions on BoxWidthStyleEnum
BreakpointExt on Iterable<Breakpoint>
BrightnessModelHelper on BrightnessModel
BuildContextExt on BuildContext
CanvasConditionsExt on CanvasConditions
CanvasConditionsMapExt on Map<String, CanvasConditions>
CCrossAxisAlignmentHelper on CrossAxisAlignmentC
CMainAxisAlignmentHelper on MainAxisAlignmentC
ColorHelper on Color
ColorRGBAHelper on ColorRGBA
ColorRGBHelper on ColorRGB
ConditionsMapExt on Map<String, BaseCondition>
CornerRadiusHelper on CornerRadius
CWrapCrossAxisAlignmentHelper on CrossAxisAlignmentC
EdgeInsetsHelper on EdgeInsetsModel
EdgePinsExtensions on EdgePinsModel
EffectIterableExt on Iterable<Effect>
EffectiveButtonColor on ButtonProperties
Resolves ButtonProperties.buttonColor for rendering.
EmbeddedVideoPropertiesExt on EmbeddedVideoProperties
ExpressionExt on BaseExpression
ExpressionPartExt on ExpressionPart
FABLocationHelper on FABLocation
FitExtension on Fit
FitsExtension on BaseNode
FloatHelper on double
FloatingLabelBehaviorEnumExtensions on FloatingLabelBehaviorEnum
FlutterAlignmentHelper on Alignment
FlutterAxisHelper on Axis
FlutterRectHelper on Rect
FlutterSizeHelper on Size
FontNameExtensions on FontName
FontWeightExtension on FontWeightNumeric
GenericExt on T?
GenericExtensions on T?
HttpMethodExt on HttpMethod
IconModelExt on IconModel
ImageRepeatEnumExt on ImageRepeatEnum
IterableExt on Iterable<V>
KeyboardDismissBehaviorHelper on ScrollViewKeyboardDismissBehaviorC
LayoutGroupsExt on Map<String, List<Breakpoint>>
ListTileControlAffinityHelper on ListTileControlAffinityC
ListTileTitleAlignmentCExtensions on ListTileTitleAlignmentC
M2NavigationBarLandscapeLayoutHelper on M2NavigationBarLandscapeLayout
M2NavigationBarTypeHelper on M2NavigationBarType
M3NavigationDestinationLabelBehaviorHelper on MaterialNavigationBarLabelBehavior
MaterialIconExt on MaterialIcon
MaterialIconStyleExt on MaterialIconStyle
MaterialSymbolStyleExt on MaterialSymbolStyle
MultiIconModelExtensions on MultiSourceIconModel
OffsetHelper on Offset
PaintIterableExt on Iterable<PaintModel>
PaintModelExt on PaintModel
QueryFilterExt on QueryFilter
ReactionIterableExt on Iterable<Reaction>
RectHelper on RectC
RequestBodyTextTypeExt on RequestBodyTextType
RowColumnMixinExtensions on RowColumnMixin
RowColumnTypeHelper on RowColumnType
ScrollPhysicsHelper on ScrollPhysicsC
SDKPublishModelLayouts on SDKPublishModel
Finding layouts in a published model.
SizeHelper on SizeC
StringExt on String
StrokeCapEnumExt on StrokeCapEnum
StrokeJoinEnumExt on StrokeJoinEnum
TabAlignmentCExtensions on TabAlignmentC
TabBarIndicatorSizeExtensions on TabBarIndicatorSizeEnum
TextAlignHorizontalEnumExtensions on TextAlignHorizontalEnum
TextAlignVerticalEnumExt on TextAlignVerticalEnum
TextDecorationEnumExtensions on TextDecorationEnum
TextFieldFormatterExt on TextInputFormatterModel
TextInputActionCExt on TextInputActionC
TextInputTypeEnumExtensions on TextInputTypeEnum
TextModelEnumHelper on TextAlignHorizontalEnum
TextOverflowHelper on TextOverflowC
TextStyleModelApply on TextStyleModel?
Applies a TextStyleModel to a Flutter TextStyle.
TransitionCurveExt on TransitionCurve
VariableDataExt on VariableData
VariableDataListExtensions on Iterable<T>
VariantIterable on Iterable<Variant>
VecHelper on Vec
VisualDensityModelExt on VisualDensityModel
VisualDensityTypeExt on VisualDensityType

Constants

cloudDocumentIdField → const String
The field name that stands for a document's id in a CloudQuery. Firestore reserves it, so no user field can collide with it.
cupertinoIconsByCodepoint → const Map<int, IconData>
Flutter's CupertinoIcons keyed by codepoint.
cupertinoSvgBaseUrl → const String
First-party static icon CDN root; override for a self-hosted mirror with --dart-define=CODELESSLY_CUPERTINO_SVG_BASE_URL=https://icons.example.com.
cupertinoSvgVersion → const String
Version of the pinned cupertino_icons font used by the SVG exporter.
directionalMaterialIcons → const Set<String>
Names of the Material icons that point a reading direction (arrows, chevrons, undo, send, ...): Flutter mirrors them in a right-to-left layout, and so does an icon drawn from its SVG.
flutterIconNames → const Map<String, String>
flutterIconsDataMap → const Map<String, int>
heightFactorVariable → const String
See widthFactorVariable.
kAppVariablesScope → const String
The key under which a layout's published variables hold the project's app variables, shared by every screen of the app. Not __app__: Firestore rejects ids that start and end with __.
kDefaultButtonElevation → const double
kDefaultFocusColor → const Color
kDefaultHoverColor → const Color
kDefaultIconColor → const Color
kDefaultIconSize → const double
kDefaultOverlayColor → const Color
kDefaultPrimaryColor → const Color
kDefaultPrimaryTextColor → const Color
kDefaultSplashColor → const Color
kDefaultTextColor → const Color
kDesktopMinWidth → const double
kEpsilon → const double
kHeroTagProperty → const String
The variable key a node's hero tag is bound through, e.g. variables['heroTag'] = 'pass-${item.id}'.
kIconBaseUrl → const String
kPageVariablesScope → const String
The key under which a layout's published variables hold the variables of its editor page, shared by every screen on that page. Not __page__: Firestore rejects field names that start and end with __.
kPageVariablesStoragePrefix → const String
The editor stores a page's variables under '$kPageVariablesStoragePrefix<pageId>'.
kSkeletonItemCount → const int
How many sample items a loading cloud list shows in a skeleton.
kTabletMinWidth → const double
Widths at which the screen variable's breakpoint changes: below 600 is mobile, below 1024 tablet, and anything wider desktop. The rule itself is ScreenBreakpoint.forWidth, which responsive variances use too.
materialIconVersions → const Map<String, int>
The latest version of each Material Icon by name, as its SVG URL on fonts.gstatic.com needs it. Used to show an icon chosen by name at runtime (an icon bound to a variable or formula).
predefinedListenableVariableNames → const Set<String>
predefinedVariableNames → const Set<String>
widthFactorVariable → const String
The keys in BaseNode.variables that bind BaseNode.widthFactor and BaseNode.heightFactor.

Properties

defaultButtonProperties → ButtonProperties
no setter
defaultCheckboxProperties → CheckboxProperties
no setter
defaultCupertinoLoadingIndicatorProperties → CupertinoLoadingIndicatorProperties
no setter
defaultDividerProperties → DividerProperties
no setter
defaultExpansionTileProperties → ExpansionTileProperties
no setter
defaultFloatingActionButtonProperties → FloatingActionButtonProperties
no setter
defaultListTileProperties → ListTileProperties
no setter
defaultM2FixedNavigationBarProperties → M2NavigationBarProperties
no setter
defaultM2ShiftingNavigationBarProperties → M2NavigationBarProperties
no setter
defaultM3NavigationBarProperties → M3NavigationBarProperties
no setter
defaultMaterialLoadingIndicatorProperties → MaterialLoadingIndicatorProperties
no setter
defaultPlotChartProperties → PlotChartProperties
A new chart's properties: a sample curve, so it looks like a chart.
no setter
defaultProgressBarProperties → ProgressBarProperties
no setter
defaultRadioProperties → RadioProperties
no setter
defaultSliderProperties → SliderProperties
no setter
defaultSwitchProperties → SwitchProperties
no setter
defaultTabBarProperties → TabBarProperties
no setter
defaultTextFieldProperties → TextFieldProperties
no setter
exactFormulaRegex → RegExp
Matches a text that is exactly one formula, e.g. ${= qty * price}.
final
formulaRegex → RegExp
Matches a formula written as ${= expression} in a text.
final
isPlatformSupportedForWebView → bool
no setter
predefinedVariables → Set<PredefinedVariableData>
final
staticImageTypesRegex → RegExp
final
supportedAssetTypesRegex → RegExp
Supported image file types that can be dropped on the canvas.
final
vimeoUrlRegex ↔ RegExp
getter/setter pair
youtubeShareUrlRegex ↔ RegExp
Can match:
getter/setter pair
youtubeWatchUrlRegex ↔ RegExp
Can match: https://www.youtube.com/watch?v=<video_id>
getter/setter pair

Functions

apiNameToVariableName(String name) → String
applyGradientRotation(List<num>? t1, double angle) → List<num>
autoScaleHeight(CanvasNode canvas, double width) → double
The height an autoScale canvas takes when scaled to width: its design height times the scale BoxFit.fitWidth applies, after the canvas's max width cap.
borderSideOf(BorderSideModel model) → BorderSide
model as a Flutter BorderSide; BorderSide.none for a border of style none.
boundArcProperties(ProgressBarNode node, ScopedValues scopedValues) → ProgressBarProperties
node's arc properties with the values its variables bind (see ProgressBarProperties.bindableKeys): angles, thickness, max and colors, so one arc per item of a data list can make up a segmented ring.
boundChartProperties(ChartNode node, ScopedValues scopedValues) → ChartProperties
node's properties with its bound yLabelPrefix, yLabelSuffix, minY, maxY and series<i>Color applied.
boundRadialGaugeProperties(GaugeNode node, ScopedValues scopedValues) → GaugeProperties
node's properties with the bound ones (valueColor, trackColor, target, showTarget) resolved, so the dial follows state.
boxShadowsOf(Iterable<Effect>? effects) → List<BoxShadow>
The visible drop shadows of effects as BoxShadows.
buildFill(GeometryMixin node, {required int index, Map<int, TypedBytes> imageBytes = const {}, double? imageOpacity, double? imageRotation, ImageFillBuilder? imageFillBuilder, bool useInk = true, bool obscureImages = false, required WidgetBuildSettings settings, required ScopedValues scopedValues}) → Widget
buildFills(BaseNode node, {Map<int, TypedBytes> imageBytes = const {}, double? imageOpacity, double? imageRotation, ImageFillBuilder? imageFillBuilder, bool useInk = true, bool obscureImages = false, required WidgetBuildSettings settings, required ScopedValues scopedValues}) → List<Widget>
buildForegroundFills(BaseNode node, ScopedValues scopedValues) → List<Widget>
fills clipped to node's notched outline when it has notches (fills are clipped even when the node doesn't clip its children), else fills.
buildScrollView({required ScrollableMixin node, EdgeInsetsGeometry? padding, Clip? clipBehavior, bool fillViewport = false, bool flexContent = false, required Widget child}) → Widget
The SingleChildScrollView of node, with no size of its own.
buildStrokes(BaseNode node, ScopedValues scopedValues) → List<Widget>
buildVimeoEmbedUrl({required EmbeddedVimeoVideoProperties properties, required double? width, required double? height, required String baseUrl}) → String
buildYoutubeEmbedUrl({required EmbeddedYoutubeVideoProperties properties, required double? width, required double? height, required String baseUrl}) → String
buttonLabelTemplateOf(ButtonNode node) → String
The text a design canvas shows as node's label: the variable or formula its label is bound to, or its own label text. Both can hold ${...} paths and formulas, which the canvas shows with their default values (see VariablePreview), as the runtime shows the bound value.
chartColor(Object? value) → Color?
Parses a hex color like #FF4A3D; null when it isn't one.
chartMarkers(PlotChartNode node, ScopedValues scopedValues) → List<PlotChartMarker>
The markers of node's chart: the list bound to markers, or the node's. Bound markers are maps shaped like PlotChartMarker's JSON.
chartNumber(Map<String, Object?> item, String field) → double?
Reads a number from field; null when missing or not a number.
chartPoints(PlotChartNode node, ScopedValues scopedValues) → List<double>
The points of node's chart: the list bound to points, or the node's.
chartTextStyle(PlotChartTextStyle style, {Color? color}) → TextStyle
The Flutter text style of a chart's style.
clipFillsToNotches(BaseNode node, List<Widget> fills) → List<Widget>
cloudTypeOrder(Object? value) → int
Firestore's order of value types: null, booleans, numbers, dates, strings, bytes, references, geo points, arrays, maps.
cloudValuesEqual(Object? a, Object? b) → bool
Whether Firestore treats a and b as equal: numbers by value (so 1 equals 1.0, and NaN equals NaN), lists and maps by their contents.
colorToRGB(Color color) → ColorRGB
Converts a Flutter Color to a ColorRGB object.
colorToRGBA(Color color) → ColorRGBA
Converts a Flutter Color to a ColorRGBA object.
compactNumber(num v) → String
"1.0k", "750", "12k".
compareCloudStrings(String a, String b) → int
Compares strings by code point, which is the UTF-8 byte order Firestore uses (Dart's own String.compareTo goes by UTF-16 code unit).
compareCloudValues(Object? a, Object? b) → int
Compares a and b the way Firestore orders them: by cloudTypeOrder first, then by value within a type.
constructQueryFromRef(Query<Map<String, dynamic>> ref, {required List<WhereQueryFilter> whereFilters, required List<OrderByQueryFilter> orderByOperations, int? limit, required ScopedValues scopedValues, required NullSubstitutionMode nullSubstitutionMode}) → Query<Map<String, dynamic>>
Constructs a Query on top of given Query reference using given whereFilters and orderByOperations, all of it run by Firestore. Use resolveCloudQuery and CloudQuery.plan for queries that may need a composite index.
convertAlignmentToPosition({required double parentWidth, required double parentHeight, required double childWidth, required double childHeight, required double alignmentX, required double alignmentY}) → Vec
convertNodeToButtonType(ButtonTypeEnum type, ButtonNode node) → void
createMasterButtonStyle(ButtonNode node, {double? elevation, required ScopedValues scopedValues}) → ButtonStyle
Flutter's ButtonStyle parameters do different things depending on the button type. So we have to manually change them.
cupertinoSvgUrl(CupertinoIcon icon, {String baseUrl = cupertinoSvgBaseUrl}) → String?
Stable path based on the serialized Cupertino codepoint, not an icon name.
dashPath(Path path, double length, [double? gap, double? distance = 0]) → Path
Converts a path to a dashed Path with a given length and gap. The distance parameter can be used to offset the dash pattern.
decomposeRelativeTransform(List<num>? t1) → RelativeTransform
decorateWithShadows({required List<BoxShadow> boxShadow, required BorderRadius? borderRadius, required Clip clipBehavior, required Widget child, bool tapThrough = false, List<NotchModel> notches = const []}) → Widget
A box with borderRadius and boxShadow around child. A shadow with a spread on a rounded box is painted by SpreadShadowPainter, so its corners grow with it as in CSS and design tools; BoxDecoration keeps the box's radius, which turns a spread glow around a dot into a square.
defaultButtonColorFor(ButtonTypeEnum type) → ColorRGBA
The colour a button of type has when its buttonColor is unset (null): no fill for a text button, as Flutter's TextButton; black for every other type, which is what designs saved before buttonColor was nullable meant by leaving it out. An outlined button is never filled; black is its outline and label colour.
defaultGetClipBehavior(BaseNode node) → Clip
defaultGradientTransform() → List<num>
deriveFontFamily({required String family, required String style, required FontWeightNumeric? weight}) → String
describeCloudError(Object? error) → String
A readable message for a cloud error, with Firestore's own text and code, so it can be shown in variables and logs.
deserializeCosmicValue(Object? value) → DateTime?
dragItemId(Object? value) → String
The id of a list item or payload value: a map's id, else the value itself as text.
dragPayloadIds(Object? data) → List<String>
The ids a payload carries: each element of a list, or the value.
effectTransformAt(EffectAnimationType type, double t, double amount) → ({double dx, double dy, double opacity, double rotation, double sx, double sy})
The transform of a one-shot EffectAnimationType at progress t (0 to 1) and strength amount, as offsets in logical pixels, scales, a rotation in radians and an opacity.
evaluateDragValue(String text, BuildContext context) → Object?
Evaluates text (${...} path, ${= ...} formula or text with paths) to a value in context.
extractVimeoVideoId(String? url) → String
Returns empty string if the url is not a valid vimeo video url.
extractYoutubeVideoId(String? url) → String
Returns empty string if the url is not a valid youtube video url.
fittedYDomain(double min, double max, int lines) → (double, double, double)
A y domain (low, high, step) from just under min to just over max, on round steps, for line charts that don't start at 0.
flutterCurveOf(MotionCurve curve) → Curve
The Flutter curve for a MotionCurve.
flutterIconCodepoint(MaterialIcon icon) → int?
The codepoint of icon in the MaterialIcons font that ships with Flutter, found by its name and style, or null when Flutter doesn't have it.
flutterTextCapitalization(TextCapitalizationC capitalization) → TextCapitalization
The Flutter TextCapitalization of capitalization.
focusTextField(String nodeId, {bool selectAll = false, BuildContext? near}) → bool
Moves the keyboard focus to the text field of a node (Focus action). Returns whether that field is on screen.
formatAmountInput(String text, String code) → String
text grouped as an amount being typed in code's format; used by the text field's currency formatter and the formatAmount formula.
formatChartNumber(double value) → String
Formats an axis value without a trailing .0.
formatDate(DateTime date) → String
Formats date like Oct 14, 2026, in local time.
formatTimeAgo(DateTime date, {DateTime? now}) → String
Formats date relative to now: Just now, 5 min ago, 2 hours ago, 3 days ago, then formatDate after a week.
fractionalBoxOf(BaseNode node, {required ScopedValues scopedValues, required double? parentWidth, required double? parentHeight}) → ({double? height, double? width})
The size node takes on each axis it is sized on by a fraction of its parent (see fractionalSizeOf), given the parentWidth and parentHeight the parent gives it; null on an axis without a fraction or whose parent size is unbounded. The node's margins are taken off the parent's size first, as the node's box sits inside them.
fractionalSizeOf(BaseNode node, {required ScopedValues scopedValues}) → ({double? height, double? width})
The fractions of its parent's width and height node takes, with its widthFactor and heightFactor bindings read with scopedValues (a binding wins over the node's own factor). Null on an axis that isn't sized by a fraction. Negative fractions count as 0.
getAccessorsForType(VariableType type) → List<Accessor>
Defines accessors for a variable based on its type.
getApiResponseAccessorsForType(VariableType dataType) → List<Accessor>
Defines accessors for an api variable based on the type of date it holds.
getApisToLoadForCanvas(CanvasNode canvasNode) → Set<String>
Returns a list of api ids that should be loaded for a given canvasNode.
getBorderRadius(BaseNode node) → BorderRadius?
getBoxShape(dynamic node) → BoxShape
getButtonShape(ButtonNode node, ScopedValues scopedValues) → OutlinedBorder?
getCloudDataVariableAccessorsForType(VariableType dataType) → List<Accessor>
Defines accessors for a cloud data variable based on the type of date it holds.
getEffectiveChildSizeForImage(BaseNode node, PaintModel paint, {double? scaleX, double? scaleY}) → SizeC
Get effective child size for image position calculation for rendering alignment overlay for images.
getFontFamilyNameAndVariant(FontName fontName, {FontFamilyModel? familyModel}) → String
Returns the Flutter-usable font family name for the given fontName.
getLargestNodeForWrappingStack(BaseNode parent, List<BaseNode> sibling) → BaseNode?
If the parent is wrapping on an axis, one of its siblings is going to be laid out without Positioned or Align, marking the child as the best candidate for the Stack to figure out its own size.
getLinearGradientAlignment(double rotationDeg) → void
getShape({required CShapeBorder shape, required CornerRadius radius, ColorRGBA? borderColor, double? borderWidth}) → OutlinedBorder
getShapeFromMixin(ShapeBorderMixin mixin, {bool onlyShape = false}) → OutlinedBorder?
getSliderLabel(SliderNode node, double value) → String?
getTallestNode(Iterable<BaseNode> siblings) → BaseNode?
Retrieves the tallest child from given siblings.
getVideoUrl(EmbeddedVideoSource source, String baseUrl) → String
baseUrl param allows to override the base url of the video.
getWidestNode(Iterable<BaseNode> siblings) → BaseNode?
Retrieves the widest child from given siblings.
gradientCenterOf(PaintModel paint) → Alignment
The centre of a radial or angular paint: its PaintModel.gradientCenterX and PaintModel.gradientCenterY as an alignment in the box, the centre when unset.
greatestCommonDivisor(int a, int b) → int
Returns the greatest common divisor (gcd) of two integers using Euclid's algorithm.
greatestCommonDivisorOfMany(List<int> integers) → int
Returns the greatest common divisor (gcd) of the input integers using Euclid's algorithm.
hasFractionalSize(BaseNode node) → bool
Whether node is sized as a fraction of its parent on an axis: it has a BaseNode.widthFactor or BaseNode.heightFactor, or binds one through variables['widthFactor'] / variables['heightFactor'].
iconWithName(MultiSourceIconModel base, String? name) → MultiSourceIconModel
base showing the Material icon named name instead, for an icon bound to data. name is a Flutter Icons name such as kitchen or kitchen_outlined: an _outlined, _rounded or _sharp suffix picks the style. The icon is drawn from its SVG by name, so no codepoint is needed. Returns base for an empty or malformed name.
implicitTransitionDuration(BuildContext context, int ms) → Duration
How long an implicit transition of ms milliseconds (a transitionMs fill or opacity, a drawScale change) runs where it builds: zero under a disabled TickerMode (the editor's design canvas and its captures), where the transition could never tick and would hold the old value, so it jumps to the new one instead. Unchanged where tickers run.
inlineTextTemplatesOf(BaseNode node) → List<String>
The strings of node that can hold inline ${...} variable paths and formulas: a text's characters, every string in a widget's properties (a button's label, a field's hint, a tab's label, ...) and a queryable node's collection path, where filters and order-by filters, so a list re-queries when a value its query reads changes. Reactions are left out: their actions read values when they run, not when the node builds. The widget of node listens to every path these read, so it rebuilds when one of them changes.
isCustomPositionRequiredForImage(PaintModel paint, SizeC nodeSize) → bool
This fixes an issue with Flutter's image aligning. Flutter can't align image with given alignment when the widget and image both have same size. This is a workaround for that. It uses a stack in that case.
isMissingIndexError(Object? error) → bool
Whether error is Firestore saying a query needs an index that doesn't exist.
isModifierKey(LogicalKeyboardKey key) → bool
Whether key is a modifier (Shift, Control, Alt, Meta, Caps Lock, Fn): pressed alone it is part of the next key's combination.
isSharedVariablesScope(String scopeId) → bool
Whether scopeId, a canvas id in variable storage or a published scope key, holds app or page variables instead of a canvas's.
keyTriggerLabel(LogicalKeyboardKey key) → String
The label a "Key Down" trigger's ${result.key} reads for key: the character of a character key (a, 1, /), else the key's name without spaces (ArrowLeft, Delete, Escape, Enter, Space).
keyTriggerMatches(TriggerModel trigger, LogicalKeyboardKey key, [HardwareKeyboard? keyboard]) → bool
Whether a Key Down trigger is for key pressed with the modifiers keyboard holds: its TriggerModel.key combination matches (see KeyCombo.matches), or it has no key and listens for every key. A key that doesn't read as a combination matches nothing.
keyTriggerResult(LogicalKeyboardKey key, [HardwareKeyboard? keyboard]) → Map<String, Object>
What a Key Down trigger's ${result} holds about the key: key (see keyTriggerLabel), shift, alt and meta (Command or Control).
leastCommonMultiple(int a, int b) → int
Returns the least common multiple (lcm) of two integers using Euclid's algorithm.
leastCommonMultipleOfMany(List<int> integers) → int
Returns the least common multiple (lcm) of many BigInt using Euclid's algorithm.
listBuildsAllItems(ListViewNode node) → bool
Whether list node builds all its items up front, as a plain Flex or a Wrap rather than a viewport: it wraps (see listWraps), or it doesn't scroll, has a known item count (bound data or a set count) and either hugs its items along its axis or stretches them across a cross axis it hugs (see listStretchesHuggedCross). Such a list builds every item either way, so it needs no viewport.
listHasKnownItemCount(ListViewNode node) → bool
Whether list node has a known item count: bound data or a set count, and no cloud query (whose length is only known once it loads, page by page).
listItemKey(Object key, [String role = 'item']) → Key
A widget key for the item of a list keyed key (see ListItemArrangement.keyOf), unique for role within the list.
listItemOverlap(ListViewNode node) → double
How far a list's items overlap: its negative space separator's spacing.
listStretchesHuggedCross(ListViewNode node) → bool
Whether list node stretches its items (ListViewProperties.stretchItems) across a cross axis it shrink-wraps. Its cross extent is then that of its thickest item, which only laying out every item tells: a viewport could only take the design size, which the editor solves from the item template alone (the first item's data), so a thicker item further on overflowed.
listWraps(ListViewNode node) → bool
Whether list node lays its items out in a Wrap: it wraps (ListViewProperties.wrap) and has a known item count. Such a list builds all its items and never scrolls, whatever its scroll settings. A list with an unknown count ignores ListViewProperties.wrap and scrolls.
listWrapSpacing(ListViewNode node) → double
The gap between consecutive items of a wrapping list: the separator's spacing when it has one. A wrapping list draws no dividers.
markdownSpans(List<InlineSpan> spans, MarkdownStyle style) → List<InlineSpan>
Renders spans (a text node's resolved text) as Markdown in style: paragraphs, - and 1. list items, bold, italic, code, links and @mentions. The text takes the style of its first run.
markdownSpansFor(String text, TextStyle base, MarkdownStyle style) → List<InlineSpan>
Markdown spans for text in base (see markdownSpans).
materialIconFlutterCodepoint(IconModel icon) → int?
The codepoint of icon in Flutter's bundled MaterialIcons font, or null when it isn't a Material Icon Flutter ships (Google Fonts' codepoints, which the model stores, draw other glyphs in that font).
materialSymbolFlutterCodepoint(IconModel icon, {double? fill}) → int?
The codepoint in Flutter's bundled MaterialIcons font of the Material Icon that looks like the Material Symbol icon (fill is its fill axis), or null when icon isn't a Material Symbol or Flutter ships no icon of its name.
materialSymbolVariant({double? fill, double? weight, double? grade}) → String
The path segment naming a Material Symbols SVG variant, e.g. wght700grad200fill1, or default when every axis is at its default.
meetsVisibleFraction(double fraction, double threshold) → bool
Whether fraction of a node being visible counts as in view for a threshold (a TriggerModel.visibleFraction or MotionModel.revealFraction): 0 asks for any visible pixel, anything else at least that share.
mirrorsInRtl(IconModel icon) → bool
Whether icon is directional: Flutter's Material icon of the same name matches the text direction (an arrow or chevron), so it is mirrored in a right-to-left layout wherever it is drawn from.
mostCommon<T>(List<T> list) → T?
Returns the most common value in a list. Returns null for ties.
motionMatrix(MotionModel motion, {double spinTurns = 0}) → Matrix4
The transform motion draws, without spin, around origin in a box of size. spinTurns adds a spin angle.
motionSpring(MotionModel motion) → SpringDescription
The spring a MotionCurve.spring motion runs with.
motionTransitionMs(MotionModel motion) → int
How long a transition of motion runs, for deciding whether it animates at all: a spring runs at its own pace, whatever its duration.
nearestValue(double goal, List<double> array) → double
niceAxis(double max, int steps) → (double, double)
A rounded axis maximum and step for max split into steps.
normalizeKeyLabel(String label) → String
A key label in the form key press triggers compare: lower case, without spaces, so Arrow Right, ArrowRight and arrowright all match.
notchedPath(Size size, BorderRadius borderRadius, List<NotchModel> notches) → Path
The outline of a box of size with rounded corners of borderRadius and semicircles of each notch's radius cut out of its edges: the shape of a paper ticket.
notchesOf(BaseNode node) → List<NotchModel>
The notches cut into node's edges, or none.
paintStrokeBand(Canvas canvas, Rect rect, {required Paint paint, required double width, required StrokeSide side, required StrokeAlignC align, BorderRadius? borderRadius, BoxShape shape = BoxShape.rectangle}) → void
Paints the band a solid stroke covers around rect: the area between the box's shape grown by the stroke's outset and shrunk by its inset (see strokeBandInsets).
parentVariableValue(double? width, double? height) → Map<String, dynamic>
The value of the parent variable for a parent that gives width and height: width and height, each null when unbounded.
parseSvgPath(String? data) → Path?
Parses SVG path data (RectangleNode.path) into a Path: the M, L, H, V, C, S, Q, T, A and Z commands, absolute (upper case) and relative (lower case), with numbers separated by spaces, commas or signs. Returns null when data is empty or not valid path data.
paywallRoute({required String placement, Future<PaywallResult> presenter(BuildContext context, String placement)?}) → Route<PaywallResult>
A route factory which returns a typed result and handles a back gesture as cancellation. The nested presentation is removed before this route pops.
pointOnMotionPath(String data, double progress) → (Offset, double)?
Where a node moving along SVG path data is at progress (0 to 1, by arc length), relative to the path's start, and the path's direction there in radians. Null when the path can't be read or is empty.
queryStatusOf({required bool isFetching, required bool hasError, required int count}) → String
The status a query snapshot reports through reportQueryStatus.
readCloudField(Map<String, dynamic> data, String id, String field) → (bool, Object?)
Reads field (a dotted path, or cloudDocumentIdField) of the document data with id id: whether it exists, and its value.
readPathPoints(Object? value) → List<List<double>>
Reads a strokePath.points binding: a list of [x, y] lists or of maps with x and y. Unreadable entries are skipped.
readsParentSize(BaseNode node) → bool
Whether node reads the parent variable in a binding, a formula or an inline ${...} text, so it is built inside a ParentSizeScope.
reportQueryStatus(BuildContext context, VariableData? statusVariable, String status) → void
Writes a cloud list's query status into its statusVariable after the frame, so a layout can show its own loading, empty and error states.
reprovideCodelessly(BuildContext from, Widget child) → Widget
child with the Codelessly providers of from (the app, its context and controller, a paywall): for nodes built in an overlay, such as the copy of a list row being dragged, which sits above the providers of the screen.
resolveCloudQuery({List<CloudWhereFilter> baseFilters = const [], required List<WhereQueryFilter> whereFilters, required List<OrderByQueryFilter> orderByOperations, int? limit, required ScopedValues scopedValues, required NullSubstitutionMode nullSubstitutionMode}) → CloudQuery
The CloudQuery that whereFilters, orderByOperations and limit describe, with variables in fields and values substituted. baseFilters, such as the owner filter of DataRules.readFilters, come first.
resolveFieldOperations(Map<String, dynamic> data) → Map<String, dynamic>
Turns field operation markers in data into Firestore field values, so actions can write them from JSON:
resolveTextFieldLines({required int? maxLines, required int? minLines, bool expands = false}) → (int?, int?)
Resolves a text field's line limits into values TextField accepts.
retrieveBoxShadow(BaseNode node, ScopedValues scopedValues) → List<BoxShadow>
retrieveColorFromPaint(PaintModel paint) → Color
Converts a PaintModel to a Color object.
retrieveCommonStackAlignment(BaseNode parent, List<BaseNode> nodes) → AlignmentModel
retrieveFillColor(GeometryMixin node) → Color
Converts the fills of a given node to a single Color object.
retrieveGradient(PaintModel paint) → Gradient?
retrieveIconWidget(MultiSourceIconModel icon, [double? size, Color? themeColor]) → Widget?
retrieveNavBarItemIconWidget(MultiSourceIconModel icon, [double? size, Color? themeColor]) → Widget
retrieveStrokeColor(GeometryMixin node, [int index = 0, bool all = false]) → Color
Converts the strokes of a given node to a single Color object.
sanitizeCloudDataForUse(Map<String, dynamic> data, {required String docId}) → Map<String, dynamic>
Returns a sanitized version of the given data to be used in the SDK and variables. Updates the SDKConstants.createdAt and SDKConstants.updatedAt fields with the current time.
sanitizeCloudDataToSend(Map<String, dynamic> data, {required String? docId, bool hidePrivateFields = false, bool allowEmptyData = false, bool autoChangeUpdatedAt = true, bool keepCreatedAt = false}) → Map<String, dynamic>
Returns a sanitized version of the given data to be sent to the cloud storage. Updates the SDKConstants.createdAt and SDKConstants.updatedAt fields with the current time.
saturationMatrix(double saturation) → List<double>
A color matrix that scales color saturation by saturation: 1 keeps the colors, 0 leaves grey at each pixel's luminance (Rec. 709 weights).
screenVariableValue(Size size, {Brightness? brightness}) → Map<String, dynamic>
The value of the screen variable for a screen of size: its width, height, breakpoint (mobile, tablet or desktop), isMobile, isTablet, isDesktop, orientation (portrait or landscape), isPortrait and isLandscape, and the device's light or dark mode as brightness (light or dark) and isDark, for a theme that follows the system.
serializedCosmicValue(Object? value) → String?
Returns a sanitized date string from the given value. Converts different representation of date to a string representation.
seriesPath(List<Offset> pts, {bool curved = false}) → Path
The path through pts: straight segments, or with curved a smooth curve that passes through every point without overshooting it (control points share the neighbouring points' heights).
setAtPath(Object? root, List<Object> keys, Object? value) → Object?
A copy of root with value at keys (map keys and list indexes), making missing maps on the way; null when a key doesn't fit (an index past the end of a list, a key into a list).
showMoreLabel(int? remaining) → String
The label of the "Show more" button.
showMorePage({required int loaded, required int revealed, required bool hasMoreToFetch, int? total}) → ShowMorePage
The page a "Show more" list shows: revealed items of the loaded ones, and what is left of the total (all documents the query matches, when counted) or of what hasMoreToFetch says Firestore still has.
starPath(double r, {double inner = 0.48}) → Path
A five-pointed star centred on the origin with outer radius r.
strokeBandInsets({required StrokeSide side, required double width, required StrokeAlignC align}) → ({EdgeInsets inset, EdgeInsets outset})
How far a stroke of width reaches into the box (inset) and out of it (outset) on each side. Only the sides side names get a stroke; align splits its width between the inside and the outside of the edge, as Figma and the editor do.
subtreeBlocksIntrinsics(BaseNode node, GetNode getNode) → bool
Whether node or any node below it builds a widget that cannot report intrinsic sizes: a list, grid or page view that scrolls (a viewport), a scrolling row, column or frame, or a web view.
textFieldHasFocus(String nodeId) → bool
Whether a text field of nodeId has the keyboard focus.
tintImage(PaintModel paint, Widget image) → Widget
image drawn with paint's image tint: every pixel in that one color, keeping its transparency. Unchanged without a tint.
transformNodeFromIconButton(ButtonNode node) → void
transformNodeToIconButton(ButtonNode node) → void
triggerWhenHolds(TriggerModel trigger, ScopedValues scopedValues) → bool
Whether trigger's TriggerModel.when holds in scopedValues: true when it has none, else when it gives true (or the text true).
unfocusTextField([String? nodeId]) → void
Takes the focus from the text field of nodeId, or from any field.
usesInteractionStates(BaseNode node) → bool
Whether node uses its interaction states or its selected and disabled properties, so its widget needs an InteractionStatesBox.
variablePathKeys(String path) → List<Object>
The keys of a variable path after its name: .title → ['title'], [2].name → [2, 'name'].
visibleFractionOf(RenderBox box, List<ScrollableState> scrollables, BuildContext context) → double
The share of box that is visible on the screen context is shown on and inside every one of scrollables; see ViewportVisibility.
withIconName(MultiSourceIconModel icon, String name) → MultiSourceIconModel
icon showing the Material Symbol name instead, for an iconName bound to data. Material Symbols load by name alone (Material Icons need each icon's version), so a Material Icon becomes the Material Symbol of the same style, filled when it was filled.
withRelated(Map<String, dynamic> doc, RelatedDocumentMap related) → Map<String, dynamic>
doc with each of its reference fields that related has loaded replaced by the referenced document (with its id). A reference not loaded yet stays its id.
wrapFillWithPositioned({required GeometryMixin node, required Widget fill, required PaintModel paint}) → Widget
wrapWithAspectRatio(BaseNode node, Widget child) → Widget
Wraps child, a node's widget, in a box that keeps the node's BaseNode.layoutAspectRatio (see FitBox.aspectRatio); child as is when the node has none.
wrapWithInkWell(BuildContext context, BaseNode node, List<Widget> children, {AlignmentGeometry alignment = AlignmentDirectional.topStart}) → List<Widget>
wrapWithPaddedScrollable({required ScrollableMixin node, EdgeInsetsGeometry? padding, Clip? clipBehavior, bool fillViewport = false, bool flexContent = false, bool contentSizedOnScrollAxis = false, required Widget child}) → Widget
Wraps child in node's scroll view, sized by node's fits (see FitBox). See buildScrollView for fillViewport and flexContent.
wrapWithPadding(BaseNode node, List<Widget> children, {required AlignmentModel stackAlignment, bool applyPadding = true, bool isPlaceholder = false}) → List<Widget>
wrapWithPaddingAndScroll(BaseNode node, List<Widget> children, {required AlignmentModel stackAlignment, bool applyPadding = true, GetNode? getNode, bool isPlaceholder = false}) → List<Widget>
yAxisLabel(num v, String prefix, String suffix) → String
A y-axis label: prefix and suffix around the compact number, with the minus sign in front (−$5k).

Typedefs

AppBarBuilder = PreferredSizeWidget Function(BuildContext context)
BreakpointsListener = void Function(BuildContext context, Breakpoint breakpoint)
BuildWidgetFromID = Widget Function(String id, BuildContext context)
BuildWidgetFromNode = Widget Function(BaseNode node, BuildContext context)
ChartAreaBand = ({Color? barColor, double below, Color color, double from, double to})
The part of the area under the curve inside from, to and below below, with an optional bar on the x axis.
ChartBand = ({Color color, double from, double to})
A full-height band of a line chart, e.g. night shading.
ChartMarker = ({bool above, Color? color, bool filled, Color? haloColor, double? haloRadius, String? label, Color? outlineColor, double? outlineWidth, double? radius, double x, double y})
A circle on a point with an optional label above or below it. A marker may style itself (a result-coloured dot on a halo, say); unset styles fall back to the chart's: radius 5, filled with the line colour or the hollow colour, a 2px outline in the line colour.
ChartReferenceLine = ({Color color, (double, double) dash, double width, double y})
A dashed horizontal line.
ChartVerticalLine = ({Color? color, (double, double) dash, Color? dotColor, bool dotOnCurve, String? label, double x})
A dashed vertical line with an optional tag and dot on the curve.
ChartXTick = ({String label, double x})
A tick and label on the x axis.
ChartYTick = ({bool atStart, Color? color, String? label, double y})
A horizontal grid line with an optional label. A horizontal grid line with its label. The label sits left of the plot, against it (align: "end", the default) or at the chart's left edge (align: "start").
CodelesslyFunction<T> = FutureOr<T> Function(BuildContext context, CodelesslyContext reference, Map<String, dynamic> params)
A function signature passing functions into CodelesslyWidget.
CodelesslyWidgetErrorBuilder = Widget Function(BuildContext context, ErrorLog error)
Allows creation of a custom error screen for when a Codelessly layout fails to load.
CodelesslyWidgetLayoutBuilder = Widget Function(BuildContext context, Widget layout)
Allows wrapping a loaded Codelessly layout with any widget for additional control over the rendering.
CodelessNodeAction = FutureOr<void> Function(String name, Map<String, dynamic> params)
Handles a CallFunctionAction from a node in a standalone tree.
ConfirmOutcome = ({bool confirmed, Map<String, dynamic>? values})
How a ConfirmAction's dialog closed.
CubicSegment = ({Offset c1, Offset c2, Offset end})
One cubic Bézier segment of a curve, from the previous segment's end.
EndlessListBuilder = Widget Function(BuildContext context, bool endsAt(int index), ItemExtents extents)
Builds an endless list whose item builder returns null where the list ends. Every item must be wrapped in an ItemExtentReporter fed by extents.
FormulaPathResolver = Object? Function(String path)
Resolves a variable path such as storage.cart or item.price to its value.
ImageFillBuilder = Widget Function(String url, double width, double height, PaintModel paint, TypedBytes? bytes, bool useInk, bool obscureImages)
LayoutRetrieverBuilder = Widget Function(BuildContext context, SizeC bounds, String pageID, String layoutID, String canvasID)
LookupMapRecord<T> = ({Map<String, T> dataMap, Map<String, String> lookupMap})
A record typedef that holds a lookup map and a data map. This is used to create a LookupMap extension type.
RelatedDocumentMap = Map<String, Map<String, Map<String, dynamic>>>
Referenced documents by field, then by id.
ResolvedSpeech = ({String language, double pitch, double rate, String text})
What a SpeakAction speaks, its bindings resolved.
ShowMorePage = ({bool hasMore, int? remaining, int shown})
What a list that pages with a "Show more" button shows.
SignatureStroke = List<Offset>
A stroke of a signature: its points, in the pad's coordinates.
TriggerAction = void Function(BuildContext context, List<Reaction> reactions)
TypedBytes = ({Uint8List bytes, ResourceType type})
Allows to carry information about the type of bytes. This is useful when decoding is required and the type of bytes is necessary to know how to decode them.
VerifyPurchase = Future<String?> Function(PurchaseDetails purchase)
A server-verified entitlement grant. Null means verification failed and must be retried; a store receipt alone is never an entitlement.
ViewportContentBuilder = Widget Function(BuildContext context, bool shrinkWrap)
Builds a scroll view. shrinkWrap says whether the view must size itself to its items on its scroll axis.
WidgetInserter = Widget Function(Widget child)