M3E Core

A comprehensive Flutter package providing Expressive Material 3 components: Card Lists, Dismissible Cards, Expandable Cards, Dropdown Menus, Buttons, and Extended M3 Shapes.
📦 Individual Packages
This package (m3e_core) bundles multiple M3E components. For detailed documentation and standalone usage, please refer to the individual packages:
- m3e_card_list - Expressive card list with dynamic radii.
- m3e_dismissible - Swipe-to-dismiss with "neighbour pull" physics.
- m3e_expandable - Spring-animated expandable card lists.
- m3e_dropdown_menu - Fluid dropdown with search and chip tags.
- m3e_buttons - Expressive button system with neighbor squish and shape morphing.
- flutter_m3shapes_extended - Full suite of M3 expressive shapes.
📦 Installation
dependencies:
m3e_core: ^0.0.4
import 'package:m3e_core/m3e_core.dart';
🧩 Components
Detailed documentation for each component is available in their respective packages linked above.
1. M3E Card List
Static or scrollable interactive card lists with expressive styling, custom radii, and various list/column/sliver variants. Detailed Documentation →
2. M3E Dismissible Cards
Swipe-to-dismiss items with a beautiful spring-driven "neighbour pull" effect. Supports Gmail-style dismissal and high-damping physics. Detailed Documentation →
3. M3E Expandable Cards
Smoothly expand and collapse individual cards using motor spring animations. Supports auto-collapse and multiple expanded items.
Detailed Documentation →
4. M3E Dropdown Menu
A powerful, stylized dropdown with support for single/multi-selection, fuzzy search, async loading, and animated chip tags. Detailed Documentation →
5. M3E Buttons
A robust button system featuring:
- Neighbor Squish: Adjacent buttons compress when one is pressed.
- Shape Morphing: Smooth transitions between different shapes (e.g., pill to square).
- Overflow Management: Supports scroll, menu, and paging for constrained spaces. Detailed Documentation →
6. M3 Shapes Extended
A wide variety of predefined Material 3 expressive shapes (Gem, Slanted, Flower, etc.) for visual elements or clipping. Detailed Documentation →
Live Demo
Try the hosted example app here:
https://mudit200408.github.io/m3e_core/
Browse the example source here:
🐞 Found a bug? or ✨ Feature Request?
Feel free to open an Issue or Contribute.
Credits
- Motor for Expressive Animations
- Multi_dropdown for Dropdown Menu base
- flutter_m3shapes for M3 Shapes base
- M3E Collection for helping with buttons implementation