expressive_m3 0.2.0 copy "expressive_m3: ^0.2.0" to clipboard
expressive_m3: ^0.2.0 copied to clipboard

Material 3 Expressive design tokens, motion and widgets for Flutter — a shape-morphing loading indicator, pull-to-refresh, wavy progress gauge, spring transitions, expressive shapes and the full M3 ty [...]

0.2.0 #

Adds the Material 3 Expressive components that Flutter doesn't ship yet.

  • ExpressiveButtonGroup — connected / spaced group of buttons with a shared shape and spring press.
  • ExpressiveSplitButton — a primary action joined to a menu trigger with a rotating chevron.
  • ExpressiveFabMenu — an expandable FAB that reveals labelled mini-actions over a scrim (staggered, reduced-motion safe).
  • ExpressiveToolbar — floating and docked toolbar treatments, horizontal or vertical.
  • ExpressiveWavyLinearProgress — wavy linear progress (determinate + indeterminate, with a stop indicator).
  • ExpressiveWavyCircularProgress — a determinate wavy ring.

0.1.0 #

Initial release.

Motion

  • ExpressiveMotion — M3 easing curves + duration tokens with a reduced-motion gate.
  • ExpressiveSpringScheme — the M3 spring matrix (spatial/effects × fast/default/slow) as native SpringDescriptions, in expressive and standard presets, plus the SpringDrive.springTo extension.
  • MotionSchemeScope — an InheritedWidget that makes the active spring scheme swappable per subtree.
  • ExpressivePageTransitionsBuilder / expressivePageTransitionsTheme — shared-axis (X) route transitions with a surface fill (no black flash).
  • SpringPagePhysics — spring-settled paged scroll physics.
  • TabSwitchTransition — fade-through for top-level destination switches.

Theme tokens

  • ExpressiveRadius, ExpressiveSpacing (+ directional inset helpers), ExpressiveElevation (tonal), ExpressiveShapeTokens.
  • ExpressiveTextTheme — the M3 2021 type scale, with the ExpressiveTextStyleX extension (tabular, slashedZero, numericId, asLink).
  • EmphasizedTextTheme — the M3 emphasized type scale as a ThemeExtension.

Shapes

  • ExpressiveShape, ShapeClip, ExpressiveShapeBorder, fitExpressivePath — the M3E polygon shapes (via material_new_shapes) as clips and ShapeBorders.

Widgets

  • ExpressiveLoadingIndicator — the M3 shape-morphing loading indicator (with a contained variant).
  • ExpressiveRefreshIndicator — pull-to-refresh that shows the shape-morphing indicator instead of the circular spinner.
  • CircularWavyProgress — a wavy completion gauge that sweeps on first appearance and on value increase (not on scroll re-mount).
  • PressableScale (+ morphingButtonShape) — spring press response.
  • ExpressiveLoader — one loader for section and inline loading states.

Haptics

  • ExpressiveHaptics — a small, consistent haptic vocabulary.
2
likes
150
points
43
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Material 3 Expressive design tokens, motion and widgets for Flutter — a shape-morphing loading indicator, pull-to-refresh, wavy progress gauge, spring transitions, expressive shapes and the full M3 type/shape/spacing scales.

Repository (GitHub)
View/report issues

Topics

#material-design #material-3 #animations #ui #widget

License

MIT (license)

Dependencies

animations, flutter, material_new_shapes

More

Packages that depend on expressive_m3