Skip to main content

bloc_signals_genui_flutter 1.0.0 copy "bloc_signals_genui_flutter: ^1.0.0" to clipboard
bloc_signals_genui_flutter: ^1.0.0 copied to clipboard

Flutter UI bindings, declarative surface views, and catalog widgets for Generative UI (A2UI) with BlocSignal.

Changelog #

All notable changes to bloc_signals_genui_flutter will be documented in this file.

1.0.0 #

  • Milestone: Stable 1.0.0 release of bloc_signals_genui_flutter.
  • Dependencies: Bump bloc_signals_genui dependency constraint to ^1.0.0.
  • Feat (genui_flutter): Integrate a2ui_core 0.3.0 NodeResolver<ComponentApi> into A2uiSurfaceView for reactive component tree rendering, data-driven template ChildList expansion ({componentId, path}), NodeState handling (resolved, pending, cyclic, unknownType), scoped ComponentNode and dataPath bindings on A2uiComponentContext, and ComponentNode.instanceId extraction in safe_prop_parser.dart (#370).
  • Feat (genui_flutter): Expand A2uiFlutterCatalog.standard() (registerStandardComponents) to 16 BasicCatalog v0.9/v1.0 widgets (List, Tabs, Modal, Icon, Image, CheckBox, ChoicePicker, Slider, and DateTimeInput alongside enhanced Row, Column, Text, Divider, Card, TextField, and Button), add dual spec/ergonomic layout and typography properties (justify, align, axis, variant), add asBool in safe_prop_parser.dart, and surface CheckRule validation state (isValid, validationErrors, validationResults, resolveBoundPath, updateBoundValue) on A2uiComponentContext (#369).
  • Feat (genui_flutter): Upgrade to a2ui_core: ^0.3.0, resolve per-component catalogs via surface.resolveCatalog and catalog.resolvedComponentSchema in A2uiSurfaceView, unwrap ResolvedBinding and WritableBinding values in A2uiSurfaceView, safe_prop_parser.dart, A2uiText, and A2uiTextField, and support v1.0 @path two-way bindings in A2uiTextField (#368).

0.1.1 #

  • Feat (genui_flutter): Upgrade to a2ui_core: ^0.3.0, resolve per-component catalogs via surface.resolveCatalog and catalog.resolvedComponentSchema in A2uiSurfaceView, unwrap ResolvedBinding and WritableBinding values in A2uiSurfaceView, safe_prop_parser.dart, A2uiText, and A2uiTextField, and support v1.0 @path two-way bindings in A2uiTextField (#368).
  • Dependencies: Bump a2ui_core dependency constraint to ^0.3.0 (#368).
  • Dependencies: Align intra-workspace bloc_signals dependency constraint to ^1.5.0 (#334).
  • Docs (genui_flutter): Document intentional on Object catch component isolation boundary in A2uiSurfaceView (#340).
  • Fix (genui_flutter): Wrapped per-component rendering in _SurfaceTreeRenderer inside reactive _BoundComponentWidget instances subscribed to binder.resolvedProps with ancestor-path circular reference protection, enabling granular leaf component rebuilds when DataModel bindings update directly (#321).
  • Decoupled active surface viewport observation and added surface closure helpers (#292):
    • Updated A2uiSurfaceView (when surfaceId == null) to reactively subscribe to bloc.activeSurfaceId and rebind cleanly in didUpdateWidget, enabling instant tab switching and split-pane isolation without synthetic version bumps or redundant _SurfaceTreeRenderer binder reconciliation.
    • Added closeSurface([String? targetSurfaceId]) on A2uiComponentContext to dispatch CloseSurface for the current or targeted surface.
    • Added selectSurface(String surfaceId) and closeSurface(String surfaceId) on GenUiControllerAdapter.
  • Added multi-surface navigation and concurrent targeted rendering support (#283):
    • Added optional surfaceId parameter to A2uiSurfaceView enabling targeted rendering of specific surfaces independently of the globally active surface (supporting split views, tabs, and PageViews).
    • Added selectSurface(String targetSurfaceId) helper on A2uiComponentContext allowing catalog components (for example tab buttons or links) to switch active surfaces.
  • Added action submission recovery and error presentation (#284):
    • Added cancelSubmission({String? error}) and completeAction({String? error}) convenience methods on A2uiComponentContext.
    • Dismissed ModalBarrier overlay automatically upon submission cancellation or completion.
    • Added validationErrorsBuilder property to A2uiSurfaceView with a default Material error banner when validation errors are present.
  • Added declarative composition methods to A2uiFlutterCatalog (#285):
    • copyWith(Map<String, A2uiComponentWidgetBuilder> builders) for extending or overriding component builders with isolated copies.
    • copyWithout(Iterable<String> typesToRemove) for pruning unwanted or restricted component types.
    • registerAll(Map<String, A2uiComponentWidgetBuilder> builders) for bulk builder registration.
    • registeredTypes getter exposing all currently registered component type names.
  • Remediated defensive parsing and error boundaries (#269):
    • Added safe_prop_parser.dart (asDouble, asInt, asString, extractChildId, extractChildIds) for robust handling of dynamic LLM JSON properties.
    • Wrapped A2uiSurfaceView component rendering in safe error boundary fallback widgets.
    • Upgraded widget models (A2uiButton, A2uiCard, A2uiColumn, A2uiRow, A2uiTextField, A2uiDivider) to tolerate stringified numeric inputs and object-shaped child IDs.

0.1.0 #

  • Initial release of bloc_signals_genui_flutter.
  • Flutter catalog widgets for standard A2UI primitives (A2uiButton, A2uiCard, A2uiColumn, A2uiDivider, A2uiRow, A2uiText, A2uiTextField).
  • Declarative A2uiSurfaceView widget with animated component transitions.
  • Synchronous two-way data binding and form state propagation.
0
likes
160
points
0
downloads

Documentation

API reference

Publisher

verified publisherblocsignal.dev

Weekly Downloads

Flutter UI bindings, declarative surface views, and catalog widgets for Generative UI (A2UI) with BlocSignal.

Repository (GitHub)
View/report issues
Contributing

Topics

#bloc #signals #genui #a2ui #flutter

License

MIT (license)

Dependencies

a2ui_core, bloc_signals, bloc_signals_flutter, bloc_signals_genui, flutter, json_schema_builder, meta

More

Packages that depend on bloc_signals_genui_flutter