material_3_expressive 1.1.5
material_3_expressive: ^1.1.5 copied to clipboard
A faithful Flutter implementation of the Material 3 Expressive component set, exposed as direct M3E component widgets.
1.1.5 #
Changed #
- Search: spec 56 pill bar on surface container high, 360–720
wide, with optional
avatarandshowClearButton; spring focus inset and secondary focus ring. The view isM3ESearchViewStyle.contained(default) or.divided, full-screen below 600 and docked above, with a morph from the bar, predictive back, arrow-key results and result announcements. AddedM3ESliverSearchBar. - Text fields: spec filled and outlined fields (56 tall, 4
corner), spring label, notched outline, state colors and focus ring. Added
prefixText,suffixText,placeholder,isRequired,maxLengthcounter,readOnly,minLines,supportingTextOnFocusOnly,density,showClearButton,showPasswordToggle,iconAlignmentandaffixAlignment(M3ETextFieldSlotAlignment).maxLinesis nowint?(nullgrows without limit). - Dialogs: spec basic dialogs with pinned headline and actions, stacked
actions,
leadingAction,subheadandtitleMaxLines; spring open/close, focus trap,onDismissRequest,position(M3EDialogPosition) andM3EDialogControllerwith discard confirmation.M3EFullScreenDialoghas a 56 header,bottomActionsandcontentHeadline.M3EDialog.showAdaptive/M3EAdaptiveDialogswitch at 600. - Bottom sheets: spec container, margins, drag handle and scrim; preset
heights (
M3EBottomSheetValue), spring snapping, keyboard and accessibility handle actions, predictive back and system bar icons. AddedM3EBottomSheet.standard,expandToFullScreen,M3EBottomSheetControllerandM3EBottomSheet.showAdaptive. Defaults:handleVerticalPadding22 (was 16),dismissVelocity700 (was 200, now moves one height). - Side sheets: spec modal, standard and
detachedsheets (256 wide, 16 modal corners, 64 header); spring open/close, predictive back, system bar icons and dialog semantics. AddedM3ESideSheetLayout(adaptive at 600) andM3ESideSheetController. - Buttons: added
M3EButtonDecorationScope. State layers now follow live hover, focus and press states. - Lists: expandable rows fill surface container high with a 32 x
40 trailing pill; sublist last rows take the outer corners
(
roundSublistBottom). The whole list is one Tab stop with arrow-key navigation. Dismissible rows withoutonTapreveal their swipe actions. - Breaking — side sheets:
M3ESideSheetThemewas rebuilt.cornerRadius→modalCornerRadius;headerPadding→horizontalPadding,startPaddingWithIcon,headerVerticalPadding,topElementsGap;actionsPadding→actionsTopPadding,actionsBottomPadding,horizontalPadding;closeButtonPaddingandiconSizeremoved;containerColor(scheme)now takes the variant;titleStyle()→headlineStyle(). - Breaking — text fields:
M3ETextFieldThemewas rebuilt.minHeight→containerHeight;iconGap→iconTextGap/iconEdgePadding;supportingTextPadding→supportingTopPadding/supportingHorizontalPadding;horizontalPaddingis now adouble; colors move tocolors: M3ETextFieldColorTheme(...)/resolveColors(). RemovedcontentHeight,contentVerticalPadding,labelRestingOffset,labelFloatingTopPadding,labelRestingTopPadding,labelBottomPadding,labelSlotHeight(),accentColor(),backgroundDecoration(),borderDecoration()anddecoration().
Fixed #
- Text fields (web): typing works again after a focused field changes password visibility, read-only or keyboard type and is refocused.
- Text fields, search: touch selection (tap, long-press, drag) now shows the selection handles. The search input now supports long-press and drag selection.
- Lists:
M3EList.sliverno longer throws in aCustomScrollView.
1.1.4 #
Changed #
- Sliders: spec sizes XS–XL, colors, stops, value indicator, inset icons, vertical stops, and keyboard steps.
- Toolbars: spec docked and floating sizes, padding, colors and paired FAB; arrow-key navigation; docked action layouts at 600 and wider.
- Navigation drawer: spec standard and modal sheets, destinations, colors
and focus ring; modal open/dismiss with spring and drag;
M3ENavigationDrawerController. - Navigation rail: spec collapsed and expanded sizes, colors, scroll
elevation, modal rail and
destinationTopPadding;M3ENavigationRailController. - Lists: expressive segmented and standard styles with spec heights,
slots and state layers;
M3EListis the only list widget (M3ECardList,M3EDismissibleList,M3EDismissibleColumnandM3EExpandableListare removed); nested sub-lists, swipe, expand and drag-to-reorder. - App bars: spec small, medium and large heights, scrolled-under color and
elevation,
M3EAppBarHideMode(entire/actions), search field, andM3EAppBarController; smoother scroll-driven collapse and hide. - Carousel: multi-browse, uncontained, multi-aspect, hero and full-screen
layouts with
M3ECarouselItem,M3ECarouselController, keyboard navigation and a show-all morph. - Navigation bar: spec flexible and baseline sizes, horizontal items,
colors, pill and focus ring;
M3ENavigationBarControllerwith hide on scroll. - Tabs: spec primary and secondary bars, indicators and colors;
M3ETabsController,M3ETabsViewandM3ETabs.sliver. - Cards: vertical layout, keyboard order, swipe actions, card groups, reorder and container transform.
- Focus and interaction: pointer input hides keyboard focus rings until the next Tab or arrow key; no hover flashes while scrolling; plain tooltips ignore the pointer.
1.1.3 #
Changed #
- Menus: vertical and baseline menus with spec sizes and full keyboard support.
- Toolbars: floating
alignmentandscreenOffset. - Overlays:
M3EOverlayHistorycloses open popups on back before the route pops. - Navigation: selection pills scale in place with springs.
- Dividers, chips, switches, radio buttons, checkboxes, snackbars,
tooltips, progress indicators: aligned to spec sizes, colors, focus rings
and semantics;
M3EChipGroup,M3ERadioGroup,M3ESnackbarController,M3ETooltipControllerandM3ETooltipPlacementadded. - Loading indicator: per-instance sizes, shape and colors.
- Split buttons, segmented buttons, buttons, icon buttons, button groups: aligned to M3E size, color and shape tokens.
- FAB, extended FAB, FAB menu: controllers, container transforms, focus rings and disabled colors added.
- Raise Flutter SDK to
>=3.47.0andmaterial_uito^1.4.0(Dart SDK^3.13.0). - Breaking — badges:
defaultOffsetis replaced bysmallOffset/largeOffset; defaultmaxCountis 999;labelis preferred overcount. - Breaking — loading indicator:
elevationis removed (widget, theme and shadow). - Breaking — FAB menus: require 2–6 items;
itemHorizontalPaddingand the old gaps are replaced by the new theme paddings. - Breaking — extended FABs: new
M3EExtendedFabSize(defaultsmall); a label is required (no icon-only). - Breaking — FABs:
M3EFabSize.mediumis now 80dp; useM3EFabSize.regularfor the old 56dp size. - Breaking — buttons: toggle selection moves into
M3EButton(isSelected,selectedIcon,selectedLabel);M3EToggleButton,M3EToggleButtonDecorationandM3EToggleButtonThemeare removed. - Breaking — button groups: module renamed
toggle_button_group→button_group;toggleButtonGroupTheme→buttonGroupTheme; decoration usesM3EButtonDecoration;M3EButtonGroupItemKindandM3EButtonGroupAction.iconButtonare removed (useminWidth). - Breaking — button group density:
M3EButtonGroupDensityis nowregular/comfortable/compact/denseand changes container height. - Breaking — icon buttons: default
variantis nowfilled.