codelessly_sdk library

Classes

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
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.
AuthData
Holds data returned from the server after a successful handshake.
AuthManager
An abstraction for providing authentication to the SDK.
BuildSettings
A class that holds information about how to build a node.
ButtonDefaults
CacheManager
Abstraction for caching UI data locally for better performance.
CConfigured
CEmpty
CError
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
Codelessly
The entry point for accessing the Codelessly SDK.
CodelesslyAuthManager
An implementation of that uses Firebase auth.
CodelesslyCacheManager
Handles caching of any data that needs to be cached via Hive.
CodelesslyConfig
Holds initialization configuration options for the SDK.
CodelesslyContext
Holds data passed from the Codelessly instance down the widget tree where all of the WidgetNodeTransformers have access to it.
CodelesslyLogger
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.
ComponentData
Holds component's node data and containing rect size data.
CStatus
CupertinoLoadingIndicatorDefaults
CustomComponent
A model to hold custom component data.
DataManager
Orchestrates the data flow for the SDK.
DividerDefaults
ExpansionTileDefaults
FirebaseDataRepository
Handles the data flow of SDKPublishModel from the server.
FirestoreCloudDatabase
A implementation that uses Firestore as the backend. This is used to store data via actions for the SDK.
FloatingActionButtonDefaults
FontFamilyModel
Holds information about font family.
FontFileData
FontNameBin
FontParser
FontVariantModel
Holds information about a font variant in a font family.
GridViewBuilder
HiveLocalDatabase
A LocalDatabase implementation that uses Hive as the underlying storage. This is used to store data via actions for the SDK.
HttpApiData
HttpKeyValuePair
IconDefaults
IndexedItem
IndexedItemProvider
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.
LoopingList<T>
A helper class that loops or repeats the values of a given list.
M2NavigationBarDefaults
M3NavigationBarDefaults
ManagedListenableBuilder
MaterialLoadingIndicatorDefaults
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.
NodeRegistry
In the SDK we are not using GetIt, so this singleton should help making the nodes available when they are needed.
NodeStateProviderWidget
Makes it so NodeStateProvider's state is kept around and not recreated on every widget rebuild.
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.
Observable<T>
A custom Value notifier that lets you set the value without notifying listeners via set method.
PassiveAccordionTransformer
PassiveAccordionWidget
PassiveAppBarTransformer
PassiveAppBarWidget
PassiveButtonTransformer
PassiveButtonWidget
PassiveCanvasTransformer
PassiveCanvasWidget
PassiveCheckboxTransformer
PassiveCheckboxWidget
PassiveDividerTransformer
PassiveDividerWidget
PassiveDropdownTransformer
PassiveDropdownWidget
PassiveEmbeddedVideoTransformer
PassiveEmbeddedVideoWidget
PassiveExpansionTileTransformer
PassiveExpansionTileWidget
PassiveExternalComponentTransformer
PassiveExternalComponentWidget
PassiveFloatingActionButtonTransformer
PassiveFloatingActionButtonWidget
PassiveGridViewTransformer
PassiveGridViewWidget
PassiveIconTransformer
PassiveIconWidget
PassiveListTileTransformer
PassiveListTileWidget
PassiveListViewTransformer
PassiveListViewWidget
PassiveLoadingIndicatorTransformer
PassiveLoadingIndicatorWidget
PassiveNavigationBarTransformer
PassiveNavigationBarWidget
PassiveNodeTransformerManager
This is the passive implementation of the NodeTransformerManager, registering all the transformers that are available in the SDK.
PassivePageViewTransformer
PassivePageViewWidget
PassivePlaceholderTransformer
PassiveProgressBarTransformer
PassiveProgressBarWidget
PassiveRadioTransformer
PassiveRadioWidget
PassiveRectangleTransformer
PassiveRectangleWidget
PassiveRowColumnTransformer
PassiveRowColumnWidget
PassiveSinglePlaceholderTransformer
PassiveSinglePlaceholderWidget
PassiveSliderTransformer
PassiveSliderWidget
PassiveSpacerTransformer
PassiveStackTransformer
PassiveSwitchTransformer
PassiveSwitchWidget
PassiveTabBarTransformer
PassiveTabBarWidget
PassiveTextFieldTransformer
PassiveTextFieldWidget
PassiveTextTransformer
PassiveTextWidget
PassiveVarianceTransformer
PassiveVarianceWidget
PassiveWebViewTransformer
PassiveWebViewWidget
PortalPreviewWidget
PrivacyBase
Represents the privacy controls of a given model that this mixin is applied to.
PrivacyBaseImpl
A base implementation of the PrivacyBase to extract privacy fields from an inherited model without worrying about the other fields that may be present in the model.
ProgressBarDefaults
PropertyValueDelegate
A delegate class that helps retrieving the value of a node property from multiple sources such as conditions, variables, data, and node values.
RadioDefaults
RawWebViewWidget
RelativeTransform
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.
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
SliderDefaults
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
StrokePainter
This stroke painter is needed because Flutter's built in stroke for containers only does inside strokes and doesn't do dotted borders.
SvgIcon
SvgIconImage
SwitchDefaults
TabBarDefaults
TextFieldDefaults
TextUtils
ThemeDefaults
UltimateImageBuilder
Ultimate widget to build image from url, bytes or paint. Supports Gifs and SVGs too!
VariableMatch
Parsed data from a variable path using variablePathRegex.
VariableSpan
A TextSpan that represents a variable by rendering an "FX" symbol instead of the variable name.
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.
YoutubeVideoPreviewUI

Enums

AlignmentEnum
Enum representation of alignment.
CLoadingState
HttpMethod
NullSubstitutionMode
Represents what to do when a variable path evaluates to null when substituting variables in a text.
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
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>
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
EdgeInsetsHelper on EdgeInsetsModel
EdgePinsExtensions on EdgePinsModel
EffectIterableExt on Iterable<Effect>
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
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
ReactionIterableExt on Iterable<Reaction>
RectHelper on RectC
RequestBodyTextTypeExt on RequestBodyTextType
RowColumnMixinExtensions on RowColumnMixin
RowColumnTypeHelper on RowColumnType
ScrollPhysicsHelper on ScrollPhysicsC
SizeHelper on SizeC
StringExt on String
StrokeCapEnumExt on StrokeCapEnum
TabBarIndicatorSizeExtensions on TabBarIndicatorSizeEnum
TextAlignHorizontalEnumExtensions on TextAlignHorizontalEnum
TextAlignVerticalEnumExt on TextAlignVerticalEnum
TextDecorationEnumExtensions on TextDecorationEnum
TextInputTypeEnumExtensions on TextInputTypeEnum
TextModelEnumHelper on TextAlignHorizontalEnum
TextOverflowHelper on TextOverflowC
VariableDataExt on VariableData
VariableDataListExtensions on Iterable<T>
VariantIterable on Iterable<Variant>
VecHelper on Vec
VisualDensityModelExt on VisualDensityModel
VisualDensityTypeExt on VisualDensityType

Constants

authCacheKey → const String
cacheBoxName → const String
cacheFilesBoxName → const String
defaultBaseURL → const String
defaultErrorMessage → const String
defaultFirebaseCloudFunctionsBaseURL → const String
defaultFirebaseProjectId → const String
flutterIconNames → const Map<String, String>
flutterIconsDataMap → const Map<String, int>
kCodelesslyFirebaseApp → const String
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
kEpsilon → const double
kIconBaseUrl → const String
kSvgIconBaseUrlTemplate → const String
The template url for the svg icons. {{style}}: The style of the icon. e.g. materialiconsoutlined {{name}}: The name of the icon. e.g. home {{version}}: The version of the icon. e.g. 16 {{size}}: The size of the icon. e.g. 24
logger → const CodelesslyLogger
predefinedListenableVariableNames → const Set<String>
predefinedVariableNames → const Set<String>
previewApisCacheKey → const String
previewConditionsCacheKey → const String
previewFontsCacheKey → const String
previewModelCacheKey → const String
previewPath → const String
previewVariablesCacheKey → const String
privateDocumentFields → const List<String>
prodBaseUrl → const String
prodFirebaseCloudFunctionsBaseURL → const String
prodFirebaseProjectId → const String
publishApisCacheKey → const String
publishConditionsCacheKey → const String
publishFontsCacheKey → const String
publishModelCacheKey → const String
publishPath → const String
publishVariablesCacheKey → const String
templateApisCacheKey → const String
templateConditionsCacheKey → const String
templateFontsCacheKey → const String
templateModelCacheKey → const String
templatesPath → const String
templateVariablesCacheKey → const String

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
defaultProgressBarProperties → ProgressBarProperties
no setter
defaultRadioProperties → RadioProperties
no setter
defaultSliderProperties → SliderProperties
no setter
defaultSwitchProperties → SwitchProperties
no setter
defaultTabBarProperties → TabBarProperties
no setter
defaultTextFieldProperties → TextFieldProperties
no setter
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>
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>
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
colorToRGB(Color color) → ColorRGB
Converts a Flutter Color to a ColorRGB object.
colorToRGBA(Color color) → ColorRGBA
Converts a Flutter Color to a ColorRGBA object.
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.
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.
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
defaultGetClipBehavior(BaseNode node) Clip
defaultGradientTransform() List<num>
deriveFontFamily({required String family, required String style, required FontWeightNumeric? weight}) String
deserializeCosmicValue(Object? value) DateTime?
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.
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.
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.
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.
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.
main(List<String> args) → void
mostCommon<T>(List<T> list) → T?
Returns the most common value in a list. Returns null for ties.
nearestValue(double goal, List<double> array) double
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, bool useIconFonts = false, Color? themeColor]) Widget?
retrieveNavBarItemIconWidget(MultiSourceIconModel icon, [double? size, bool useIconFonts = false, 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}) 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.
serializedCosmicValue(Object? value) String?
Returns a sanitized date string from the given value. Converts different representation of date to a string representation.
transformNodeFromIconButton(ButtonNode node) → void
transformNodeToIconButton(ButtonNode node) → void
wrapWithInkWell(BuildContext context, BaseNode node, List<Widget> children) List<Widget>
wrapWithPaddedScrollable({required ScrollableMixin node, EdgeInsets? padding, Clip? clipBehavior, required Widget child}) Widget
wrapWithPadding(BaseNode node, List<Widget> children, {required AlignmentModel stackAlignment, bool applyPadding = true}) List<Widget>
wrapWithPaddingAndScroll(BaseNode node, List<Widget> children, {required AlignmentModel stackAlignment, bool applyPadding = true}) List<Widget>

Typedefs

BreakpointsListener = void Function(BuildContext context, Breakpoint breakpoint)
BuildWidgetFromID = Widget Function(String id, BuildContext context)
BuildWidgetFromNode = Widget Function(BaseNode node, BuildContext context)
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, dynamic exception)
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.
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.
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.
WidgetInserter = Widget Function(Widget child)