v0.3.0
Changed
-
Breaking.
Progress.sizeis typedControlSize?instead ofdynamic.
It was the only public field in the kit with no type, soProgress(size: 'large')compiled and failed at run time. Numbers andSizebecome the
types the kit already had:Before Now size: 20size: ControlSize.fixed(20)size: Size(200, 10)size: ControlSize.raw(200, 10)size: SoftSize.smallunchanged -
Breaking.
ProgressStepshad three ways to say one thing — afill
parameter, astepFillparameter and astepFillgetter. Onlyfill
remains.
Removed
- Breaking.
ControlSize.from(dynamic), whose own doc comment called it
legacy. WithProgress.sizetyped there is nothing left to convert. - Breaking.
ProgressBorderRadius.from(dynamic)— unused anywhere, and
untyped. - Breaking.
Progress.onprogressChange, an alias foronProgressChange
whose lower-casepread as a typo. - Breaking. The deprecated
MessageTypetypedef. 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. InsteadUploaddraws the state and calls back:
onPickopens whatever picker the app already uses, and the app owns the
list, rebuilding items with newprogressandstatusas 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 throughdragging.The gallery demonstrates it against a real
file_picker, which is a
dependency of the example and not of the package.seed_uistill 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.