Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 04:54
· 257 commits to main since this release

Changed

  • Breaking. Progress.size is typed ControlSize? instead of dynamic.
    It was the only public field in the kit with no type, so Progress(size: 'large') compiled and failed at run time. Numbers and Size become the
    types the kit already had:

    Before Now
    size: 20 size: ControlSize.fixed(20)
    size: Size(200, 10) size: ControlSize.raw(200, 10)
    size: SoftSize.small unchanged
  • Breaking. ProgressSteps had three ways to say one thing — a fill
    parameter, a stepFill parameter and a stepFill getter. Only fill
    remains.

Removed

  • Breaking. ControlSize.from(dynamic), whose own doc comment called it
    legacy. With Progress.size typed there is nothing left to convert.
  • Breaking. ProgressBorderRadius.from(dynamic) — unused anywhere, and
    untyped.
  • Breaking. Progress.onprogressChange, an alias for onProgressChange
    whose lower-case p read as a typo.
  • Breaking. The deprecated MessageType typedef. Before 1.0 is when a
    deprecation gets deleted rather than carried on.

None of the four were used by the kit, the gallery, the tests or the docs.

Added

  • Upload — a file list with a picker trigger, per-file progress, and
    retry and remove actions. Two layouts: rows, or a grid of tiles for images.

    It picks nothing and sends nothing. Opening a file dialog needs platform
    code and there is no such API in the Flutter SDK, so taking it on would mean
    either a plugin dependency every consumer inherits, or native code for six
    platforms to maintain. Instead Upload draws the state and calls back:
    onPick opens whatever picker the app already uses, and the app owns the
    list, rebuilding items with new progress and status as its upload runs.

    The dashed drop target is drawn here, but the operating system's drag events
    are not Flutter's to give either — pass them in through dragging.

    The gallery demonstrates it against a real file_picker, which is a
    dependency of the example and not of the package. seed_ui still has none
    beyond the Flutter SDK, and its own platform support is unchanged — the
    gallery's iOS deployment target moved to 14.0 to satisfy that plugin, which
    binds the example alone.