Skip to main content

a2ui_flutter 0.1.0 copy "a2ui_flutter: ^0.1.0" to clipboard
a2ui_flutter: ^0.1.0 copied to clipboard

Flutter framework adapter for A2UI.

a2ui_flutter Changelog #

Unreleased #

0.1.0 #

  • Requires a2ui_core ^0.5.0.

  • Breaking: a component that has not arrived, has an unknown type, or repeats one of its ancestors now renders nothing, as does the surface until its root arrives. Previously these showed a progress indicator or a red diagnostic. "Nothing" takes no layout space: Row, Column and List skip such children, so they get no gap and no flex share. Unknown types and cycles are still reported to the surface's error listeners. Apps that showed users the old indicator should render their own loading state until the fallback API from #2013 lands (#3714).

  • TextField (v0.9) compiles validationRegexp through compileGuarded from package:a2ui_core/a2ui_core.dart; when the portable regex subset guard rejects a pattern, the regex constraint is disabled and an EXPRESSION_ERROR is reported once on the surface error channel (#3854).

  • Dynamic bindings in accessibility attributes (label, description, live, and hidden) now update NodeView semantics reactively (#3583).

  • NodeView subscribes to node.metadata so custom ComponentImplementation widgets rebuild when component extension metadata changes, and ComponentProps.action(key) returns a NodeAction? accepting optional ActionDispatchOptions(metadata: ...) (#3469, #3708, #3757).

  • ComponentImplementation takes allowedParents and allowedChildren, so a custom Flutter component can declare where it may appear. The message processor rejects a payload that breaks them with UNALLOWED_PARENT or UNALLOWED_CHILD. The basic catalog components keep the constraints of their catalog definition (#3533).

  • Image keeps its description when it does not load: the broken-image icon is labelled with it, as an alt text is on the web (#3412).

0.0.1-wip003 #

  • An accessibility.live of polite or assertive makes a component a live region, and an accessibility.hidden that is true excludes it and its subtree from semantics.
  • ComponentProps.asBoolean reads a validation result as its validity.
  • ComponentProps.validationResults holds the failing checks, and the basic inputs other than Button show one of warning or info severity as a hint.
  • A Text that no A2uiMarkdown renders shows its text without common Markdown markers, and a body Text that is one Markdown heading line takes the style of its level.
  • The v1.0 Video shows its posterUrl until playback starts.
  • The v1.0 Slider moves in its steps.
  • The v1.0 TextField shows its placeholder.
  • The v1.0 TextField does not check validationRegexp, which v1.0 removed.
  • Breaking: package:a2ui_flutter/basic_catalog.dart now implements the v1.0 basic catalog under the same names. v0.9 code that still imports it compiles, but registers the v1.0 catalog, which its v0.9 surfaces do not name.
  • Breaking: The v0.9 basic catalog moved to package:a2ui_flutter/v0_9/basic_catalog.dart, under the same names.
  • Error and warning listeners no longer run while an A2uiSurface builds, so they may call setState directly instead of deferring it to the next frame.
  • Ignore deprecated_member_use warnings on package:flutter/material.dart imports on Flutter beta (#3235).
  • Initial version.
5
likes
150
points
1.88k
downloads

Documentation

API reference

Publisher

verified publisherlabs.flutter.dev

Weekly Downloads

Flutter framework adapter for A2UI.

Repository (GitHub)
View/report issues
Contributing

License

Apache-2.0, MIT (license)

Dependencies

a2ui_core, flutter, path_parsing, video_player

More

Packages that depend on a2ui_flutter