vyuh_feature_system
The system feature contributes built-in content blocks, route types, layouts, actions, conditions, and responsive/theme services. Include its feature descriptor when your application consumes those types; importing a type alone does not register it.
How the pieces fit together
Choose a declaration
APIContent · APIContentDescriptor · Accordion · AccordionDescriptor · AccordionItem · ActionCase · ApiConfiguration · BlockItemDescriptor · BooleanCondition · Breakpoint · BreakpointConfiguration · BreakpointService · Card · CardConditionalLayout · CardDescriptor · Carousel · CaseItem · CaseRouteItem · Conditional · ConditionalAction · ConditionalDescriptor · ConditionalLayout · ConditionalRoute · ConditionalRouteDescriptor · ContentImage · ContentItemsScrollView · DefaultAccordionLayout · DefaultAccordionView · DefaultCardLayout · DefaultConditionalLayout · DefaultConditionalRouteLayout · DefaultDividerLayout · DefaultDocumentViewLayout · DefaultEmptyLayout · DefaultPageRouteLayout · DefaultPortableTextContentLayout · DefaultRouteLayout · DialogBehavior · DialogPage · DialogRouteType · DisplayFieldMap · Divider · DividerDescriptor · DocumentItemConfiguration · DocumentListView · DocumentListViewBuilder · DocumentListViewDescriptor · DocumentLoadStrategy · DocumentSectionView · DocumentSectionViewDescriptor · DocumentView · DocumentViewBuilder · DocumentViewBuilderState · DocumentViewConditionalLayout · DocumentViewDescriptor · DrawerAction · DrawerActionType · Empty · EmptyDescriptor · FeatureFlagCondition · FlagDataType · GridGroupLayout · Group · GroupConditionalLayout · GroupDescriptor · HideSnackBarAction · InvokeActionMarkDef · JsonPathApiConfiguration · KnownRegionType · LayoutCaseItem · LinkType · LinkedRoute · ListGroupLayout · ListItemCardLayout · MenuAction · MenuIconType · ModalDialogPage · NavigateBack · NavigationAction · NavigationType · OpenInDialogAction · OpenUrlAction · PageBehavior · PageRouteType · PortableTextContent · PortableTextDescriptor · PressEffect · QueryConfiguration · Region · RegionItems · RestartApplicationAction · Route · RouteConditionalLayout · RouteDescriptor · RouteRefreshAction · RouteScaffold · ShowSnackBarAction · SingleItemLayout · TabsRouteLayout · ThemeService · ToggleThemeAction · UnknownConditionalLayout · UrlLaunchMode · WebView · descriptor · empty · feature
APIContent
Public declaration in this package.
final class APIContent extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final bool showPending;final bool showError;final ApiConfiguration? configuration;factory APIContent.fromJson(Map<String, dynamic> json);APIContent({this.showError = kDebugMode, this.showPending = true, this.configuration, super.layout, super.modifiers});APIContentDescriptor
Public declaration in this package.
class APIContentDescriptor extends ContentDescriptorDirectly declared public members:
final List<TypeDescriptor<ApiConfiguration>>? configurations;APIContentDescriptor({this.configurations, super.layouts});Accordion
Public declaration in this package.
final class Accordion extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final String? title;final String? description;final List<AccordionItem> items;Accordion({this.title, this.description, required this.items, super.layout, super.modifiers});factory Accordion.fromJson(Map<String, dynamic> json);AccordionDescriptor
Public declaration in this package.
class AccordionDescriptor extends ContentDescriptorDirectly declared public members:
AccordionDescriptor({super.layouts});AccordionItem
Public declaration in this package.
final class AccordionItemDirectly declared public members:
final String title;final String? iconIdentifier;final ContentItem? content;AccordionItem({required this.title, this.iconIdentifier, required this.content});factory AccordionItem.fromJson(Map<String, dynamic> json);ActionCase
A case item that pairs a condition value with its corresponding action.
final class ActionCaseDirectly declared public members:
final String? value;final Action? action;ActionCase({this.value, this.action});factory ActionCase.fromJson(Map<String, dynamic> json);ApiConfiguration
Public declaration in this package.
abstract class ApiConfiguration<T> implements SchemaItemDirectly declared public members:
final String schemaType;final String? title;ApiConfiguration({required this.schemaType, this.title});Future<T?> invoke(BuildContext context);Widget build(BuildContext context, T? data);BlockItemDescriptor
Descriptor for configuring block types that can be used within portable text.
final class BlockItemDescriptorDirectly declared public members:
final TypeDescriptor<PortableBlockItem> type;final BlockWidgetBuilder builder;BlockItemDescriptor({required this.type, required this.builder});BooleanCondition
A simple boolean condition configuration with optional evaluation delay.
final class BooleanCondition extends ConditionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final bool value;final int evaluationDelayInSeconds;BooleanCondition({this.value = false, this.evaluationDelayInSeconds = 0});factory BooleanCondition.fromJson(Map<String, dynamic> json);Future<String?> execute(BuildContext context);Breakpoint
Represents different screen size breakpoints for responsive design.
enum BreakpointBreakpointConfiguration
Configuration for screen size breakpoints used in responsive design.
class BreakpointConfigurationDirectly declared public members:
final double small;final double medium;final double large;final double xLarge;final double xxLarge;BreakpointConfiguration({required this.small, required this.medium, required this.large, required this.xLarge, required this.xxLarge});BreakpointService
Service for managing screen size breakpoints and responsive design.
final class BreakpointServiceDirectly declared public members:
BreakpointConfiguration get config;BreakpointService();static void configure(BreakpointConfiguration config);Configures custom breakpoint thresholds for the application.
Breakpoint getBreakpoint(BuildContext context);Gets the current Breakpoint based on the screen width.
Card
A card content item that can display various types of content in a card format.
class Card extends ContentItem implements PortableBlockItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;static final dynamic descriptor;String get blockType;final String? title;final String? description;final ImageReference? image;final Uri? imageUrl;final PortableTextContent? content;final Action? action;final Action? secondaryAction;final Action? tertiaryAction;Card({required this.title, required this.description, this.content, this.image, this.imageUrl, this.action, this.secondaryAction, this.tertiaryAction, super.layout, super.modifiers});factory Card.fromJson(Map<String, dynamic> json);CardConditionalLayout
A conditional layout for cards that adapts based on specified conditions.
final class CardConditionalLayout extends ConditionalLayout<Card>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;CardConditionalLayout({required super.cases, required super.defaultCase, required super.condition});factory CardConditionalLayout.fromJson(Map<String, dynamic> json);CardDescriptor
Descriptor for configuring card content type in the system.
class CardDescriptor extends ContentDescriptorDirectly declared public members:
CardDescriptor({super.layouts});Carousel
Public declaration in this package.
class Carousel extends StatefulWidgetDirectly declared public members:
final Group content;final double viewportFraction;const Carousel({super.key, required this.content, this.viewportFraction = 0.75});State<Carousel> createState();CaseItem
A case item that pairs a condition value with its corresponding content.
final class CaseItem<T extends SchemaItem>Directly declared public members:
final String? value;final ContentItem? item;CaseItem({this.value, this.item});factory CaseItem.fromJson(Map<String, dynamic> json);CaseRouteItem
Public declaration in this package.
final class CaseRouteItemDirectly declared public members:
final String? value;final ObjectReference? item;CaseRouteItem({this.value, this.item});factory CaseRouteItem.fromJson(Map<String, dynamic> json);Conditional
A content item that conditionally renders different content based on a condition.
class Conditional extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final List<CaseItem>? cases;final String? defaultCase;final Condition? condition;final bool showPending;Conditional({this.cases, this.condition, this.defaultCase, this.showPending = false, super.layout, super.modifiers});factory Conditional.fromJson(Map<String, dynamic> json);Future<ContentItem?> execute(BuildContext context);ConditionalAction
An action configuration that executes different actions based on a condition.
class ConditionalAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final List<ActionCase>? cases;final String? defaultCase;final Condition? condition;ConditionalAction({this.cases, this.condition, this.defaultCase, super.isAwaited});factory ConditionalAction.fromJson(Map<String, dynamic> json);Future<void> execute(flutter.BuildContext context, {Map<String, dynamic>? arguments});ConditionalDescriptor
Descriptor for configuring conditional content type in the system.
class ConditionalDescriptor extends ContentDescriptorDirectly declared public members:
ConditionalDescriptor({super.layouts});ConditionalLayout
Public declaration in this package.
abstract class ConditionalLayout<T extends ContentItem> extends LayoutConfiguration<T>Directly declared public members:
final List<LayoutCaseItem> cases;final String defaultCase;final Condition condition;ConditionalLayout({required super.schemaType, required this.cases, required this.defaultCase, required this.condition});factory ConditionalLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, T content);ConditionalRoute
Public declaration in this package.
final class ConditionalRoute extends RouteBaseDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final List<CaseRouteItem>? cases;final String? defaultCase;final Condition? condition;ConditionalRoute({this.condition, this.cases, this.defaultCase, required super.title, required super.path, required super.createdAt, required super.updatedAt, required super.id, super.layout, super.category, super.modifiers});factory ConditionalRoute.fromJson(Map<String, dynamic> json);Future<RouteBase?> init(BuildContext context);Future<RouteBase?> evaluate(BuildContext context);Future<void> dispose();ConditionalRouteDescriptor
Public declaration in this package.
class ConditionalRouteDescriptor extends ContentDescriptorDirectly declared public members:
ConditionalRouteDescriptor({super.layouts});ContentImage
A widget for displaying images from various sources with advanced features.
class ContentImage extends StatelessWidgetDirectly declared public members:
final String? url;final ImageReference? ref;final double? width;final double? height;final BoxFit fit;final String? format;static const int nearestSize;The size multiple to round dimensions to for better caching performance. For example, a width of 123 would be rounded to 120.
final Color? color;final BlendMode? colorBlendMode;final AlignmentGeometry alignment;const ContentImage({super.key, this.url, this.width, this.height, this.ref, this.fit = BoxFit.cover, this.format, this.color, this.colorBlendMode, this.alignment = Alignment.center});Widget build(BuildContext context);ContentItemsScrollView
Public declaration in this package.
class ContentItemsScrollView extends StatelessWidgetDirectly declared public members:
const ContentItemsScrollView({super.key, required this.items});final List<ContentItem> items;Widget build(BuildContext context);DefaultAccordionLayout
Public declaration in this package.
final class DefaultAccordionLayout extends LayoutConfiguration<Accordion>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultAccordionLayout();factory DefaultAccordionLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Accordion content);DefaultAccordionView
Public declaration in this package.
class DefaultAccordionView extends StatefulWidgetDirectly declared public members:
final Accordion content;const DefaultAccordionView({super.key, required this.content});State<DefaultAccordionView> createState();DefaultCardLayout
Public declaration in this package.
class DefaultCardLayout extends LayoutConfiguration<e.Card>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final String title;final int maxDescriptionLines;DefaultCardLayout({required this.title, this.maxDescriptionLines = 2});factory DefaultCardLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, e.Card content);DefaultConditionalLayout
Default layout for conditional content.
final class DefaultConditionalLayout extends LayoutConfiguration<Conditional>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultConditionalLayout();factory DefaultConditionalLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Conditional content);DefaultConditionalRouteLayout
Public declaration in this package.
class DefaultConditionalRouteLayout extends LayoutConfiguration<ConditionalRoute>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultConditionalRouteLayout();factory DefaultConditionalRouteLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, ConditionalRoute content);DefaultDividerLayout
Default layout for divider content.
final class DefaultDividerLayout extends LayoutConfiguration<Divider>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultDividerLayout();factory DefaultDividerLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Divider content);DefaultDocumentViewLayout
Public declaration in this package.
final class DefaultDocumentViewLayout extends LayoutConfiguration<DocumentView>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultDocumentViewLayout();factory DefaultDocumentViewLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, DocumentView content);DefaultEmptyLayout
Default layout for empty content that renders nothing.
final class DefaultEmptyLayout extends LayoutConfiguration<Empty>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultEmptyLayout();factory DefaultEmptyLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Empty content);DefaultPageRouteLayout
Public declaration in this package.
final class DefaultPageRouteLayout extends StatelessWidgetDirectly declared public members:
final vf.Route content;final vf.DefaultRouteLayout layout;const DefaultPageRouteLayout({super.key, required this.content, required this.layout});Widget build(BuildContext context);DefaultPortableTextContentLayout
Default layout for portable text content.
class DefaultPortableTextContentLayout extends LayoutConfiguration<PortableTextContent>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DefaultPortableTextContentLayout();factory DefaultPortableTextContentLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, PortableTextContent content);DefaultRouteLayout
Public declaration in this package.
class DefaultRouteLayout extends LayoutConfiguration<Route>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final bool showAppBar;final bool useSafeArea;final List<MenuAction>? actions;DefaultRouteLayout({this.actions, this.showAppBar = true, this.useSafeArea = true});factory DefaultRouteLayout.fromJson(Map<String, dynamic> json);flutter.Widget build(flutter.BuildContext context, Route content);DialogBehavior
Public declaration in this package.
enum DialogBehaviorDialogPage
Public declaration in this package.
class DialogPage<T> extends Page<T>Directly declared public members:
final Offset? anchorPoint;final Color? barrierColor;final bool barrierDismissible;final String? barrierLabel;final bool useSafeArea;final CapturedThemes? themes;final WidgetBuilder builder;const DialogPage({required this.builder, this.anchorPoint, this.barrierColor = Colors.transparent, this.barrierDismissible = true, this.barrierLabel, this.useSafeArea = true, this.themes, super.key, super.name, super.arguments, super.restorationId});Route<T> createRoute(BuildContext context);DialogRouteType
Public declaration in this package.
final class DialogRouteType extends RouteTypeConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final DialogBehavior behavior;DialogRouteType({this.behavior = DialogBehavior.modalBottomSheet});factory DialogRouteType.fromJson(Map<String, dynamic> json);Page<T> create<T>(Widget child, RouteBase route, [LocalKey? pageKey]);DisplayFieldMap
Maps JSON fields to card display fields using JSON Path expressions.
final class DisplayFieldMapDirectly declared public members:
final JSONPath? title;final JSONPath? description;final JSONPath? imageUrl;DisplayFieldMap({this.title, this.description, this.imageUrl});factory DisplayFieldMap.fromJson(Map<String, dynamic> json);Divider
A content item that renders a horizontal dividing line.
class Divider extends ContentItem implements PortableBlockItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final double? thickness;final double? indent;Divider({this.thickness = 1, this.indent = 8, super.layout, super.modifiers});factory Divider.fromJson(Map<String, dynamic> json);String get blockType;DividerDescriptor
Descriptor for configuring divider content type in the system.
class DividerDescriptor extends ContentDescriptorDirectly declared public members:
DividerDescriptor({super.layouts});DocumentItemConfiguration
Public declaration in this package.
abstract class DocumentItemConfiguration<TDocument extends DocumentItem> implements SchemaItemDirectly declared public members:
final String schemaType;final String? title;DocumentItemConfiguration({required this.schemaType, this.title});factory DocumentItemConfiguration.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, TDocument document);DocumentListView
Public declaration in this package.
final class DocumentListView extends ContentItemDirectly declared public members:
static const dynamic schemaName;final QueryConfiguration? query;final DocumentItemConfiguration? listItem;static final dynamic typeDescriptor;static final dynamic contentBuilder;DocumentListView({this.listItem, this.query, super.layout, super.modifiers});factory DocumentListView.fromJson(Map<String, dynamic> json);DocumentListViewBuilder
Public declaration in this package.
class DocumentListViewBuilder extends StatefulWidgetDirectly declared public members:
final DocumentListView list;final Widget Function(BuildContext context, List<DocumentItem> items) builder;const DocumentListViewBuilder({super.key, required this.list, required this.builder});State<DocumentListViewBuilder> createState();DocumentListViewDescriptor
Public declaration in this package.
class DocumentListViewDescriptor extends ContentDescriptorDirectly declared public members:
final List<TypeDescriptor<DocumentItem>>? documentTypes;final List<TypeDescriptor<DocumentItemConfiguration>>? listItemConfigurations;final List<TypeDescriptor<QueryConfiguration>>? queryConfigurations;DocumentListViewDescriptor({this.documentTypes, this.queryConfigurations, this.listItemConfigurations, super.layouts});DocumentLoadStrategy
Public declaration in this package.
enum DocumentLoadStrategyDocumentSectionView
Public declaration in this package.
final class DocumentSectionView extends ContentItemDirectly declared public members:
static const dynamic schemaName;final DocumentItemConfiguration? configuration;static final dynamic typeDescriptor;static final dynamic contentBuilder;DocumentSectionView({this.configuration, super.layout, super.modifiers});factory DocumentSectionView.fromJson(Map<String, dynamic> json);DocumentSectionViewDescriptor
Public declaration in this package.
class DocumentSectionViewDescriptor extends ContentDescriptorDirectly declared public members:
final List<TypeDescriptor<DocumentItemConfiguration>>? configurations;DocumentSectionViewDescriptor({this.configurations, super.layouts});DocumentView
Public declaration in this package.
final class DocumentView extends ContentItemDirectly declared public members:
final String? title;final ObjectReference? reference;final DocumentLoadStrategy loadStrategy;final List<ContentItem> items;final QueryConfiguration? query;static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;DocumentView({this.title, this.reference, this.loadStrategy = DocumentLoadStrategy.reference, this.items = const [], required this.query, super.layout, super.modifiers});factory DocumentView.fromJson(Map<String, dynamic> json);DocumentViewBuilder
Public declaration in this package.
class DocumentViewBuilder extends StatefulWidgetDirectly declared public members:
final DocumentView document;final Widget Function(BuildContext, List<ContentItem>) builder;const DocumentViewBuilder({super.key, required this.document, required this.builder});State<DocumentViewBuilder> createState();DocumentViewBuilderState
Public declaration in this package.
class DocumentViewBuilderState extends State<DocumentViewBuilder>Directly declared public members:
void initState();ObservableFuture<T?> document<T extends DocumentItem>();static DocumentViewBuilderState of(BuildContext context);Widget build(BuildContext context);DocumentViewConditionalLayout
Public declaration in this package.
final class DocumentViewConditionalLayout extends ConditionalLayout<DocumentView>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;DocumentViewConditionalLayout({required super.cases, required super.defaultCase, required super.condition});factory DocumentViewConditionalLayout.fromJson(Map<String, dynamic> json);DocumentViewDescriptor
Public declaration in this package.
class DocumentViewDescriptor extends ContentDescriptorDirectly declared public members:
final List<TypeDescriptor<DocumentItem>>? documentTypes;final List<TypeDescriptor<QueryConfiguration>>? queries;DocumentViewDescriptor({this.queries, this.documentTypes, super.layouts});DrawerAction
Public declaration in this package.
final class DrawerAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final DrawerActionType actionType;final bool isEndDrawer;DrawerAction({super.title, this.actionType = DrawerActionType.open, this.isEndDrawer = false, super.isAwaited});factory DrawerAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});DrawerActionType
Public declaration in this package.
enum DrawerActionTypeEmpty
A content item that renders nothing, taking up no space in the layout.
class Empty extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;Empty({super.layout, super.modifiers});factory Empty.fromJson(Map<String, dynamic> json);EmptyDescriptor
Descriptor for configuring empty content type in the system.
class EmptyDescriptor extends ContentDescriptorDirectly declared public members:
EmptyDescriptor();FeatureFlagCondition
A condition configuration that evaluates feature flags for dynamic behavior.
final class FeatureFlagCondition extends ConditionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final String flagName;final FlagDataType dataType;FeatureFlagCondition({this.flagName = '', this.dataType = FlagDataType.string});factory FeatureFlagCondition.fromJson(Map<String, dynamic> json);Future<String?> execute(BuildContext context);FlagDataType
The data type of a feature flag value.
enum FlagDataTypeGridGroupLayout
Public declaration in this package.
final class GridGroupLayout extends LayoutConfiguration<Group>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final int columns;final double aspectRatio;final bool scrollable;GridGroupLayout({this.columns = 2, this.aspectRatio = 1.0, this.scrollable = false});factory GridGroupLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Group content);Group
A group content item that can contain and organize multiple content items.
class Group extends ContentItem implements PortableBlockItem, ContainerItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;String get blockType;final String? title;final String? description;final List<ContentItem> items;Group({this.title, this.description, required this.items, super.layout, super.modifiers});factory Group.fromJson(Map<String, dynamic> json);GroupConditionalLayout
A conditional layout for groups that adapts based on specified conditions.
final class GroupConditionalLayout extends ConditionalLayout<Group>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;GroupConditionalLayout({required super.cases, required super.defaultCase, required super.condition});factory GroupConditionalLayout.fromJson(Map<String, dynamic> json);GroupDescriptor
Descriptor for configuring group content type in the system.
class GroupDescriptor extends ContentDescriptorDirectly declared public members:
GroupDescriptor({super.layouts});HideSnackBarAction
Public declaration in this package.
final class HideSnackBarAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final bool immediately;HideSnackBarAction({super.title, this.immediately = false, super.isAwaited});factory HideSnackBarAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});InvokeActionMarkDef
Public declaration in this package.
final class InvokeActionMarkDef extends MarkDefDirectly declared public members:
final Action action;InvokeActionMarkDef({required this.action, required super.key, required super.type});factory InvokeActionMarkDef.fromJson(Map<String, dynamic> json);JsonPathApiConfiguration
Configuration for fetching and transforming API data using JSON Path.
final class JsonPathApiConfiguration extends ApiConfiguration<List<vf.Card>>Directly declared public members:
static const dynamic schemaName;final String url;final Map<String, String>? headers;final List<(String name, String value)>? requestBody;final JSONPath rootField;final DisplayFieldMap? fieldMap;static final dynamic typeDescriptor;JsonPathApiConfiguration({super.title, this.url = '', this.headers, this.requestBody, this.rootField = const JSONPath(r'$'), this.fieldMap});factory JsonPathApiConfiguration.fromJson(Map<String, dynamic> json);Future<List<vf.Card>?> invoke(BuildContext context);Widget build(BuildContext context, List<vf.Card>? data);KnownRegionType
Public declaration in this package.
enum KnownRegionTypeLayoutCaseItem
Public declaration in this package.
final class LayoutCaseItemDirectly declared public members:
final String value;final LayoutConfiguration? item;LayoutCaseItem({this.value = '', required this.item});factory LayoutCaseItem.fromJson(Map<String, dynamic> json);LinkType
The type of destination to navigate to.
enum LinkTypeLinkedRoute
Public declaration in this package.
final class LinkedRouteDirectly declared public members:
final String? title;final String? description;final String identifier;final ObjectReference route;LinkedRoute({this.title, String? identifier, required this.route, this.description});factory LinkedRoute.fromJson(Map<String, dynamic> json);ListGroupLayout
Public declaration in this package.
final class ListGroupLayout extends LayoutConfiguration<Group>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final double percentHeight;ListGroupLayout({this.percentHeight = 0.5});factory ListGroupLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, Group content);ListItemCardLayout
Public declaration in this package.
class ListItemCardLayout extends LayoutConfiguration<sys.Card>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final String title;ListItemCardLayout({required this.title});factory ListItemCardLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, sys.Card content);MenuAction
Public declaration in this package.
class MenuActionDirectly declared public members:
final String title;final MenuIconType icon;final Action? action;MenuAction({this.title = '', this.icon = MenuIconType.home, this.action});factory MenuAction.fromJson(Map<String, dynamic> json);MenuIconType
Public declaration in this package.
enum MenuIconTypeDirectly declared public members:
flutter.IconData get iconData;ModalDialogPage
Public declaration in this package.
class ModalDialogPage<T> extends Page<T>Directly declared public members:
final Offset? anchorPoint;final Color? barrierColor;final bool barrierDismissible;final String? barrierLabel;final bool useSafeArea;final CapturedThemes? themes;final WidgetBuilder builder;const ModalDialogPage({required this.builder, this.anchorPoint, this.barrierColor = Colors.transparent, this.barrierDismissible = true, this.barrierLabel, this.useSafeArea = true, this.themes, super.key, super.name, super.arguments, super.restorationId});Route<T> createRoute(BuildContext context);NavigateBack
Public declaration in this package.
final class NavigateBack extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;NavigateBack({super.title, super.isAwaited});FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});factory NavigateBack.fromJson(Map<String, dynamic> json);NavigationAction
An action configuration for handling navigation within the application.
final class NavigationAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final LinkType linkType;final String? url;final ObjectReference? route;final NavigationType navigationType;NavigationAction({this.navigationType = NavigationType.push, this.linkType = LinkType.url, this.route, this.url, super.title, super.isAwaited});factory NavigationAction.fromJson(Map<String, dynamic> json);void execute(BuildContext context, {Map<String, dynamic>? arguments});NavigationType
The type of navigation operation to perform.
enum NavigationTypeOpenInDialogAction
Public declaration in this package.
final class OpenInDialogAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final DialogBehavior behavior;final LinkType linkType;final String? url;final ObjectReference? route;OpenInDialogAction({super.title, this.behavior = DialogBehavior.modalBottomSheet, this.linkType = LinkType.url, this.url, this.route, super.isAwaited});factory OpenInDialogAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});OpenUrlAction
An action configuration for opening URLs in various ways.
final class OpenUrlAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final String? url;final UrlLaunchMode mode;OpenUrlAction({super.title, this.url, this.mode = UrlLaunchMode.platformDefault, super.isAwaited});factory OpenUrlAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});PageBehavior
Public declaration in this package.
enum PageBehaviorPageRouteType
Public declaration in this package.
final class PageRouteType extends RouteTypeConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final PageBehavior behavior;PageRouteType({this.behavior = PageBehavior.material});factory PageRouteType.fromJson(Map<String, dynamic> json);Page<T> create<T>(Widget child, RouteBase route, [LocalKey? pageKey]);PortableTextContent
A content item that renders rich text content using the Portable Text format.
class PortableTextContent extends ContentItemDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final List<PortableBlockItem>? blocks;PortableTextContent({this.blocks, super.layout, super.modifiers});factory PortableTextContent.fromJson(Map<String, dynamic> json);static List<PortableBlockItem>? blockItemsFromJson(dynamic value);PortableTextDescriptor
Descriptor for configuring portable text content type in the system.
class PortableTextDescriptor extends ContentDescriptorDirectly declared public members:
final List<BlockItemDescriptor>? blocks;final List<MarkDefDescriptor>? markDefs;final Map<String, TextStyleBuilder>? textStyleBuilders;PortableTextDescriptor({this.blocks, this.markDefs, this.textStyleBuilders, super.layouts});PressEffect
Public declaration in this package.
class PressEffect extends StatefulWidgetDirectly declared public members:
final Widget child;final Function(BuildContext context)? onTap;final double scale;const PressEffect({super.key, required this.child, this.onTap, this.scale = 0.95});State<PressEffect> createState();QueryConfiguration
Public declaration in this package.
abstract class QueryConfiguration implements SchemaItemDirectly declared public members:
final String schemaType;QueryConfiguration({required this.schemaType});factory QueryConfiguration.fromJson(Map<String, dynamic> json);String? buildQuery(BuildContext context);Region
A section of a route that can contain content items.
final class RegionDirectly declared public members:
final String identifier;final String title;final List<ContentItem> items;Region({required this.identifier, required this.title, required this.items});factory Region.fromJson(Map<String, dynamic> json);RegionItems
Public declaration in this package.
extension RegionItems on vf.RouteDirectly declared public members:
List<ContentItem> regionItems(String regionName);RestartApplicationAction
Public declaration in this package.
final class RestartApplicationAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;RestartApplicationAction({super.isAwaited});factory RestartApplicationAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});Route
A route represents a page or screen in the application with configurable regions and lifecycle handlers.
final class Route extends RouteBaseDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;static final dynamic contentBuilder;final List<Region> regions;Route({required super.title, required super.routeType, required super.path, required this.regions, required super.createdAt, required super.updatedAt, required super.id, super.category, super.layout, super.modifiers, this.lifecycleHandlers});final List<RouteLifecycleConfiguration>? lifecycleHandlers;factory Route.fromJson(Map<String, dynamic> json);static List<RouteLifecycleConfiguration>? lifecycleHandlersFromJson(dynamic json);Future<RouteBase?> init(BuildContext context);Future<void> dispose();RouteConditionalLayout
A conditional layout for routes that adapts based on specified conditions.
final class RouteConditionalLayout extends ConditionalLayout<Route>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;RouteConditionalLayout({required super.cases, required super.defaultCase, required super.condition});factory RouteConditionalLayout.fromJson(Map<String, dynamic> json);RouteDescriptor
Descriptor for configuring route content type in the system.
final class RouteDescriptor extends ContentDescriptorDirectly declared public members:
List<TypeDescriptor<RouteLifecycleConfiguration>>? lifecycleHandlers;List<TypeDescriptor<RouteTypeConfiguration>>? routeTypes;RouteDescriptor({this.lifecycleHandlers, this.routeTypes, super.layouts});RouteRefreshAction
Public declaration in this package.
final class RouteRefreshAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;RouteRefreshAction({super.title, super.isAwaited});factory RouteRefreshAction.fromJson(Map<String, dynamic> json);void execute(BuildContext context, {Map<String, dynamic>? arguments});RouteScaffold
A Scaffold that uses a CustomScrollView to display the content of a vf.Route. Use this when creating custom layouts for the Route content.
final class RouteScaffold extends StatelessWidgetDirectly declared public members:
final vf.Route content;The vf.Route instance to display.
final AppBar? appBar;The AppBar to display at the top of the page.
final Widget? body;The AppBar to display at the top of the page.
final bool useSafeArea;Whether to use SafeArea around the content.
const RouteScaffold({super.key, required this.content, this.appBar, this.body, this.useSafeArea = true});Creates a new RouteScaffold instance.
Widget build(BuildContext context);ShowSnackBarAction
Public declaration in this package.
final class ShowSnackBarAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final bool allowClosing;final int showForSeconds;final SnackBarBehavior behavior;ShowSnackBarAction({super.title, this.allowClosing = false, this.showForSeconds = 3, this.behavior = SnackBarBehavior.fixed, super.isAwaited});factory ShowSnackBarAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});SingleItemLayout
Public declaration in this package.
final class SingleItemLayout extends LayoutConfiguration<vf.Route>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final bool showAppBar;final bool useSafeArea;final List<MenuAction>? actions;SingleItemLayout({this.useSafeArea = false, this.showAppBar = false, this.actions});factory SingleItemLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, vf.Route content);TabsRouteLayout
Public declaration in this package.
final class TabsRouteLayout extends LayoutConfiguration<vt.RouteBase>Directly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;final List<LinkedRoute> routes;TabsRouteLayout({required this.routes});factory TabsRouteLayout.fromJson(Map<String, dynamic> json);Widget build(BuildContext context, vt.RouteBase content);ThemeService
Service for managing application themes and theme switching.
final class ThemeServiceDirectly declared public members:
ThemeService();final Observable<ThemeMode> mode;The user's stated theme intent. Update through changeTheme / toggleTheme. Defaults to ThemeMode.system.
final Computed<ThemeMode> currentMode;The actively-resolved theme mode. Always either ThemeMode.light or ThemeMode.dark — never ThemeMode.system. Reactive to changes in both mode and the OS platform brightness.
void changeTheme(ThemeMode requestedMode);Updates the user's intent. Pass ThemeMode.system to follow the OS theme — currentMode then resolves to light / dark based on the platform brightness and re-resolves automatically when the OS theme is toggled.
void toggleTheme();Flips between light and dark, taking the resolved currentMode as the starting point. Always sets mode to a concrete ThemeMode.light or ThemeMode.dark — toggling out of ThemeMode.system.
void setThemes(Map<ThemeMode, ThemeData> themes);Configures theme data for different theme modes.
ThemeData? theme(ThemeMode mode);Gets the theme data for the specified theme mode. Returns null if no theme data is configured for the specified mode.
ToggleThemeAction
Public declaration in this package.
final class ToggleThemeAction extends ActionConfigurationDirectly declared public members:
static const dynamic schemaName;static final dynamic typeDescriptor;ToggleThemeAction({super.isAwaited});factory ToggleThemeAction.fromJson(Map<String, dynamic> json);FutureOr<void> execute(BuildContext context, {Map<String, dynamic>? arguments});UnknownConditionalLayout
Public declaration in this package.
final class UnknownConditionalLayout<T extends ContentItem> extends ConditionalLayout<T>Directly declared public members:
final String missingSchemaType;UnknownConditionalLayout({required this.missingSchemaType});Widget build(BuildContext context, T content);UrlLaunchMode
The mode to use when launching a URL.
enum UrlLaunchModeDirectly declared public members:
LaunchMode get launchMode;WebView
Public declaration in this package.
final class WebView extends StatefulWidgetDirectly declared public members:
final Uri uri;const WebView({super.key, required this.uri});State<WebView> createState();descriptor
Public declaration in this package.
final descriptor = ContentExtensionDescriptor( contents: [ RouteDescriptor( routeTypes: [ PageRouteType.typeDescriptor, DialogRouteType.typeDescriptor, ], layouts: [ DefaultRouteLayout.typeDescriptor, TabsRouteLayout.typeDescriptor, SingleItemLayout.typeDescriptor, RouteConditionalLayout.typeDescriptor, ], ), Card.descriptor( layouts: [ DefaultCardLayout.typeDescriptor, ListItemCardLayout.typeDescriptor, ButtonCardLayout.typeDescriptor, CardConditionalLayout.typeDescriptor, ], ), GroupDescriptor( layouts: [ CarouselGroupLayout.typeDescriptor, GridGroupLayout.typeDescriptor, ListGroupLayout.typeDescriptor, GroupConditionalLayout.typeDescriptor, ], ), ConditionalDescriptor(), ConditionalRouteDescriptor(), EmptyDescriptor(), PortableTextDescriptor( markDefs: [ MarkDefDescriptor( schemaType: 'invokeAction', fromJson: InvokeActionMarkDef.fromJson, styleBuilder: (context, def, style)empty
A reusable empty widget that takes up no space. Used as a default fallback when no content should be rendered.
const empty = SizedBox.shrink();feature
Public declaration in this package.
final feature = FeatureDescriptor( name: 'system', title: 'System', description: 'The core building blocks of the framework', icon: Icons.hub, init: () async