uidl_flutter 0.3.0
uidl_flutter: ^0.3.0 copied to clipboard
Flutter runtime for UIDL documents: parse, bind, evaluate expressions, dispatch actions, and render native widgets.
0.3.0 #
- Real-Time Streaming Subscriptions: Added declarative
subscribeandunsubscribeactions supporting continuous SSE and WebSocket event streams. - Flexible State Mutation Modes: Stream payload updates support
replace(default scalar/object replace),merge(dictionary patch merge for metrics/status), andappend(event history/live chat list) with optionalmaxItemstruncation. - Declarative Lifecycle & Event Handlers: Stream event-driven sub-actions (
onData,onError) with fullevent.*scope resolution, plus dedicatederrorPathreporting. - Leak-Free Subscription Management: Centralized
StreamSubscriptionlifecycle tracking with automated disposal acrossActionDispatcher,UidlRenderContext,UidlDocumentState, andUidlRenderer. - Host Seam Hooks: Exposed
onSubscribeandonUnsubscribehandlers across document state and renderer widgets. - Quality Assurance: 177/177 passing tests across action dispatcher, subscription manager, document state, and live widget rendering suites.
0.2.0 #
- Layout Primitives: Added
Wrap,Positioned,Expanded,Flexible,AspectRatio,SafeArea, andRefreshIndicatorwith defensive parent-context fallbacks. - Input Stability: Persistent
TextEditingControllercache with stable cursor and focus retention during rapid state emissions. - Interactive Canvas: Introduced
UidlTransform(affine translation, scale, rotation) andUidlDraggableLayer/UidlInteractiveCanvaswith 2D pan tracking. - Multimedia & Streaming: Implemented
UidlVideoPlayerwith live stream badge indicator, overlay controls, and playback toggle. - Device & Media Pickers: Implemented
UidlImagePickerfor camera and photo gallery asset selection with real-time preview and file state binding. - Extended Actions: Added
upload(multipart API upload),confirm(customizable modal dialogs), andcopyToClipboardactions. - Quality Assurance: 165/165 passing tests across component registry, parser, evaluation, and interactive integration suites.
0.1.5 #
- API Action: Full HTTP client integration with method, body, headers, and result/error state paths.
- Query Action: Database query execution with target, params, and result/error state paths.
- Theme Integration:
UidlThemeAdapterto convert between UIDL themes and FlutterThemeData. - State Management:
UidlDocumentState(ChangeNotifier) for reactive state withgetState,setState,executeAction. - Accessibility:
semanticLabelandtooltipprops for screen readers and tooltips. - Animation:
animationprop forAnimatedSwitchertransitions. - Icon Widget: 150+ icon names mapped to Flutter
IconDatawithname,size,colorprops. - Image Widget: Support for network, asset (
asset://), file (file://), and base64 (data:image/) images withwidth,height,fitprops and error placeholder. - Slider Widget: Configurable
minandmaxprops (default 0.0-1.0). - TextField Widget:
obscureText,readOnly,enabledprops with improved state sync. - ListView Widget:
shrinkWrapandscrollableprops for performance control. - @immutable annotations: Models annotated for better static analysis.
- Stricter lint rules: 30+ additional lint rules in
analysis_options.yaml. - Bug fixes: Fixed
ThemeResolver.parseColorcrash withColor(int)in Dart 3.x. - Tests: 134 tests passing including new API, Query, Theme, and State tests.
0.1.4 #
- First pub.dev release, version-aligned with npm
uidl-runtime0.1.4. - Parse UIDL documents, evaluate expressions, resolve
$bind, dispatch actions. - Render the 37-type catalog to Flutter widgets (DataTable, Chart, Dialog, Kanban, TreeView, and code marks included).
- Reject document
setStateinto the reserved$dataenvelope (INVALID_STATE).