m3e_collection
Single import that re-exports all M3E component packages plus m3e_design.
The packages material_new_shapes by ulims and expressive_refresh by alvaronp are reexported to complete the collection.
Packages in this collection
- m3e_design — Material 3 Expressive design language for Flutter (tokens, ThemeExtension, motion).
- app_bar_m3e — Expressive App Bar (Material 3 Expressive) with small/medium/large variants and Sliver integration.
- button_m3e — Material 3 Expressive Buttons for Flutter with 5 styles, 5 sizes, round/square shapes, and toggle selection.
- button_group_m3e — Wrapper-only Button Group for Material 3 Expressive (layout, shape, size propagation).
- fab_m3e — Material 3 Expressive Floating Action Button (FAB), Extended FAB, and FAB Menu for Flutter using M3E tokens.
- icon_button_m3e — Material 3 Expressive IconButton with sizes, variants, shapes, toggle, and accessible hit targets.
- loading_indicator_m3e — Material 3 Expressive Loading Indicator (morphing polygons) for Flutter, with Default and Contained variants.
- progress_indicator_m3e — Material 3 Expressive progress indicators.
- navigation_bar_m3e — Material 3 Expressive Navigation Bar for Flutter with token-driven colors, shapes, and badges.
- navigation_rail_m3e — Material 3 Expressive navigation rail (collapsed & expanded) with modal/standard modes, badges, sections, and m3e_design token integration.
- slider_m3e — Material 3 Expressive Sliders (single & range) for Flutter, powered by M3E tokens.
- split_button_m3e — Material 3 Expressive Split Button with sizes, variants, shapes, a11y, and menu.
- toolbar_m3e — Material 3 Expressive Toolbars for Flutter with token-driven colors, shapes, density, and overflow handling.
External re-exports
- material_new_shapes — Extra Material shapes (e.g., RoundedPolygon) used by M3E components. Author: ulims.
- expressive_refresh — Expressive pull-to-refresh component. Author: alvaronp.
Live demo (Gallery)
Explore the components in the M3E Gallery (GitHub Pages):
https://
To run the Gallery locally:
cd apps/gallery
flutter run -d chrome
Last updated: 2025-10-23
Detailed Guide
What this package provides
A convenience package that re-exports all Material 3 Expressive components and design tokens so you can depend on one package and import everything you need.
Installation
- Monorepo (local path): already configured in this repo.
- Pub (when published):
dependencies:
m3e_collection: ^0.1.0
Minimum SDK: Dart >=3.5.0.
Dependencies (via this collection)
- m3e_design, icon_button_m3e, split_button_m3e, button_group_m3e, app_bar_m3e, button_m3e, fab_m3e, loading_indicator_m3e, progress_indicator_m3e, navigation_bar_m3e, navigation_rail_m3e, slider_m3e, toolbar_m3e.
Quick start
import 'package:m3e_collection/m3e_collection.dart';
// Use any M3E widget, e.g. a filled button
ButtonM3E.filled(label: const Text('Continue'), onPressed: () {})
Notes
- Keep versions of individual packages aligned; this collection pins compatible versions.
Links
- Repository: https://github.com/EmilyMoonstone/material_3_expressive/tree/main/packages/m3e_collection
- Issue tracker: https://github.com/EmilyMonestone/material_3_expressive/issues
- Changelog: ./CHANGELOG.md