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 · UnknownPortableBlock · 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 Breakpoint { small, medium, large, xLarge, xxLarge }BreakpointConfiguration
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 DialogBehavior { modalBottomSheet, fullscreen }DialogPage
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 DocumentLoadStrategy { reference, query }DocumentSectionView
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 DrawerActionType { open, close }Empty
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 FlagDataType { string, number, boolean, json }GridGroupLayout
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 KnownRegionType { body, drawer, endDrawer, header, footer }LayoutCaseItem
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 LinkType { url, route }LinkedRoute
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 MenuIconType { home, settings, category, account, menu }Directly 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);Future<void> execute(BuildContext context, {Map<String, dynamic>? arguments});NavigationType
The type of navigation operation to perform.
enum NavigationType { go, push, replace }OpenInDialogAction
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 PageBehavior { material, cupertino }PageRouteType
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);Future<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();factory ThemeService.fromTheme(VyuhTheme theme);Creates a service seeded from the app's VyuhTheme, so the themes and starting mode match PlatformWidgetBuilder.theme.
void dispose();Stops listening to platform brightness. Called when the system feature is disposed.
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. ThemeMode.system resolves through currentMode. Returns null if no theme data is configured. Reactive: reads inside an Observer rebuild on change.
ThemeData? get currentTheme;The theme for currentMode.
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);UnknownPortableBlock
Optional Portable Text adapter for an unregistered embedded block. Core unknown-content types do not depend on the Portable Text interface.
class UnknownPortableBlock extends vc.ContentItem implements PortableBlockItemDirectly declared public members:
final String missingSchemaType;String get blockType;final Map<String, dynamic> jsonPayload;UnknownPortableBlock({required this.missingSchemaType, required this.jsonPayload});UrlLaunchMode
The mode to use when launching a URL.
enum UrlLaunchMode { inApp, externalApp, platformDefault }Directly 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