material_3_expressive library
Material 3 Expressive: a faithful Flutter implementation of the Material 3
component set, exposed as direct M3E* component widgets.
Classes
- CornerRounding
- Defines the amount and quality around a given vertex of a shape. radius defines the radius of the circle which forms the basis of the rounding for the vertex. smoothing defines the amount by which the curve is extended from the circular arc around the corner to the edge between vertices.
- M3EAppBar
-
A Material 3 Expressive app bar with
top,bottom, andslivervariants. - M3EAppBarMetrics
- Resolved height/padding/icon metrics for an app bar.
- M3EAppBarTheme
-
Theme values for
M3EAppBar. - M3EBadge
- A Material 3 Expressive badge.
- M3EBadgeTheme
-
Theme values for
M3EBadge. - M3EBottomSheet
- A Material 3 Expressive bottom sheet.
- M3EBottomSheetTheme
-
Theme values for
M3EBottomSheet. - M3EButton
- M3EButton.
- M3EButtonConstants
- Shared numeric constants used throughout the button package.
- M3EButtonDecoration
- Styling overrides for M3EButton.
- M3EButtonFontSize
- Per-size label font sizes for expressive buttons.
- M3EButtonGroup
- A horizontal (or vertical) row of M3EToggleButtons with optional neighbor-squish animation and connected-group shape morphing.
- M3EButtonGroupAction
- Declarative description of a single toggle button inside M3EButtonGroup.
- M3EButtonGroupAlign
- A widget that controls how a child of a M3EButtonGroup aligns itself along the cross axis.
- M3EButtonGroupMetrics
- Resolved layout measurements for a button group.
- M3EButtonGroupOverflowController
- Reactive controller for managing the overflow state of a button group.
- M3EButtonGroupOverflowPagingWindow
- Describes the visible window of items in a paged overflow layout.
- M3EButtonGroupParentData
- ParentData for items inside a M3EButtonGroup.
- M3EButtonGroupScope
- Provides group-level configuration to every descendant button.
- M3EButtonMeasurements
- Resolved layout measurements for a button size variant.
- M3EButtonMotion
- Spring-based motion configuration for M3EButton and M3EToggleButton.
- M3EButtonSize
- Standard size variants that map to Material 3 Expressive tokens.
- M3EButtonTheme
-
Theme values for
M3EButton. - M3ECalendarDatePicker
- Embeddable calendar for selecting a single date.
- M3ECalendarDateRangePicker
- Calendar for selecting a date range.
- M3ECalendarLabels
- Static English labels and helpers for the calendar grid.
- M3ECard
- A Material 3 Expressive card.
- M3ECardList
- A Material 3 interactive card list with dynamically rounded corners.
- M3ECardTheme
-
Theme values for
M3ECard. - M3ECarousel
- Creates a Material Design carousel.
- M3ECarouselChangeDetails
-
Snapshot of carousel scroll layout for the carousel
onChangecallback. - M3ECarouselController
- A controller for M3ECarouselView.
- M3ECarouselScrollHelper
- Scroll-step helpers for carousel frame navigation.
- M3ECarouselScrollPhysics
- Scroll physics used by a M3ECarouselView.
- M3ECarouselTheme
-
Theme values for
M3ECarousel. - M3ECarouselView
- A Material Design carousel widget.
- M3ECarouselWrapper
- Wraps M3ECarouselView with tap handling and a neighbor pulse animation.
- M3ECheckbox
- A Material 3 Expressive checkbox.
- M3ECheckboxTheme
-
Theme values for
M3ECheckbox. - M3EChip
- A Material 3 Expressive chip.
- M3EChipTheme
-
Theme values for
M3EChip. - M3ECircularProgressTheme
- Theme values for circular progress indicators.
- M3EColorScheme
- The full set of Material 3 color roles used across expressive components.
- M3EColorUtils
- Color helpers shared across expressive components.
- M3EComponentTheme
- Registers an adaptive theme dependency for a single M3E component subtree.
- M3EDatePicker
- Entry points for presenting M3E date picker dialogs.
- M3EDatePickerActions
- Cancel and confirm actions for date picker dialogs.
- M3EDatePickerConstants
- Layout constants for M3E date picker dialogs and calendars.
- M3EDatePickerDialog
- Dialog for picking a single date.
- M3EDatePickerEntryModeButton
- Icon button that switches date picker entry mode.
- M3EDatePickerHeader
- Header for single- and range-date picker dialogs.
- M3EDatePickerTheme
- Theme values for M3E date pickers.
- M3EDatePickerUtils
- Date helpers shared by calendar, input, and dialog pickers.
- M3EDateRange
- A selected date range with optional end.
- M3EDateRangePickerDialog
- Dialog for picking a date range.
- M3EDayPeriodControl
- AM/PM toggle matching Material day-period control.
- M3EDayPicker
- Weekday headers and day grid for one month.
- M3EDialog
- A Material 3 Expressive dialog surface plus helpers to present dialogs.
- M3EDialogInset
- Pads a dialog for screen margins and optionally the on-screen keyboard.
- M3EDialogTheme
-
Theme values for
M3EDialog. - M3EDialTimePicker
- Embeddable clock dial for choosing an hour and minute.
- M3EDimensions
- Standardized spacing and corner-radius tokens for Material 3 Expressive.
- M3EDismissibleColumn
- A dismissible Material 3 list backed by a Column.
- M3EDismissibleList
- M3EDismissibleList.
- M3EDismissibleListStyle
- Immutable visual and interaction configuration for dismissible M3E lists.
- M3EDismissibleSlot
- Lightweight per-item bookkeeping for a dismissible card slot.
- M3EDivider
- A Material 3 Expressive divider.
- M3EDividerTheme
-
Theme values for
M3EDivider. - M3EDropdownChipStyle
- M3EDropdownChipStyle.
-
M3EDropdownController<
T> - Controls an M3EDropdownMenu programmatically.
- M3EDropdownFieldStyle
- M3EDropdownFieldStyle.
-
M3EDropdownItem<
T> -
A single item in an
M3EDropdownMenu. - M3EDropdownItemStyle
- M3EDropdownItemStyle.
-
M3EDropdownMenu<
T> - A Material 3 Expressive dropdown menu.
- M3EDropdownMenuTheme
- Theme values for M3EDropdownMenu.
- M3EDropdownPanelStyle
- M3EDropdownPanelStyle.
- M3EDropdownSearchStyle
- M3EDropdownSearchStyle.
- M3EDynamicColorHost
- Fetches device dynamic colors and refreshes them when the app resumes.
- M3EElevation
- Material 3 elevation tokens expressed in logical pixels (dp).
- M3EExpandableData
-
A data container used to configure items for
M3EExpandableList. - M3EExpandableExpanded
- Expanded content for an expandable list item.
- M3EExpandableItem
- M3EExpandableItem.
- M3EExpandableList
- A spring-animated expandable card list.
- M3EExpandableStyle
-
Visual style configuration for
M3EExpandableList. - M3EExpressiveLoadingIndicator
- A Material Design loading indicator.
- M3EExtendedFab
- A Material 3 Expressive extended floating action button.
- M3EExtendedFabTheme
- Theme values for the extended FAB variant.
- M3EFab
- A Material 3 Expressive floating action button.
- M3EFabDecoration
- Styling overrides for M3EFab and M3EExtendedFab.
- M3EFabMenu
- A Material 3 Expressive FAB menu.
- M3EFabMenuItem
-
A single action shown when an
M3EFabMenuis open. - M3EFabMenuTheme
-
Theme values for
M3EFabMenu. - M3EFabMetrics
- Resolved size and color metrics for a floating action button.
- M3EFabTheme
-
Theme values for
M3EFabandM3EExtendedFab. - M3EFocus
- Shared focus helpers for M3E input components.
- M3EFocusInteraction
- Tracks whether keyboard focus rings are allowed after the last interaction.
- M3EFocusRing
- Draws the Material 3 Expressive keyboard focus ring around child.
- M3EFocusRingTheme
- Shared tokens for the Material 3 Expressive keyboard focus ring.
- M3EGradientOutlinePainter
- Stroke painter for a rounded-rect outline (solid or gradient).
- M3EHaptics
- Shared haptic helpers for Material 3 Expressive components.
- M3EHourMinuteTextField
-
Filled hour/minute digit field matching material_ui
_HourMinuteTextField. - M3EIconButton
- Material 3 Expressive Icon Button
- M3EIconButtonDecoration
- Styling overrides for M3EIconButton.
- M3EIconButtonShapes
- Shape resolution helpers: resting/pressed radii and toggle behavior.
- M3EIconButtonTheme
-
Theme values for
M3EIconButton. - M3EIcons
-
A curated set of glyphs from the bundled
MaterialIconsfont. - M3EInheritedTheme
- Inherited theme handle used by M3ETheme.of.
- M3EInkSplashTheme
- Supplies expressive splash color for Material buttons that only expose overlay color to their ink layer.
- M3EInputDatePickerFormField
- Text field for entering a single date in a picker dialog.
- M3EInputDateRangePickerFormField
- Text fields for entering a date range in a picker dialog.
- M3EInputTimePickerFormField
- Text fields for entering a time in a picker dialog.
- M3EInteractionState
- The mutually reinforcing interaction states of a component.
- M3ELinearProgressLayout
- Measured layout values for a flat linear progress indicator.
- M3ELinearProgressTheme
- Theme values for linear progress indicators.
- M3EListCardListTheme
-
Theme values for
M3ECardList. - M3EListDismissibleTheme
- Theme values for dismissible list widgets.
- M3EListExpandableTheme
- Theme values for expandable list widgets.
- M3EListFeatureScope
- Provides list selection/reorder config to descendants (e.g. list items).
- M3EListItem
- A Material 3 Expressive list item.
- M3EListItemIndex
- Row index for the current list item under a feature scope.
- M3EListItemScope
- Marks descendants as content inside a card-backed list surface.
- M3EListItemTheme
-
Theme values for
M3EListItem. - M3EListReorderState
- Visual and motion defaults for list reorder.
- M3EListSelectionState
- Visual and interaction defaults for list selection.
- M3EListSwipeAction
- A swipe action revealed beside a dismissible list row.
- M3EListTheme
- Theme values for list-family widgets.
- M3ELoadingIndicator
- Material 3 Expressive loading indicator.
- M3ELoadingIndicatorTheme
-
Theme values for
M3ELoadingIndicator. - M3EMaterialApp
-
A
MaterialAppwired to adaptive M3ETheme with minimal integration code. - M3EMaterialNewShapes
-
Foundation bridge to
material_new_shapesexpressive morph polygons. - M3EMeasureSize
- Reports the rendered size of child to onChange after each layout.
- M3EMenu
-
A Material 3 Expressive menu (Compose
DropdownMenu+DropdownMenuPopup). - M3EMenuColors
- Resolved colors for one M3EMenuColorStyle.
- M3EMenuContent
- Renders a tree of M3EMenuNodes inside one elevated menu surface.
- M3EMenuDivider
- Horizontal rule between menu sections inside one elevated surface.
- M3EMenuDividerWidget
- Horizontal divider between menu items inside one elevated surface.
- M3EMenuEntry
-
Standard action row (Compose
DropdownMenuItem). - M3EMenuGroup
- Elevated surface / subgroup of items with optional section label.
- M3EMenuItem
- A single interactive row inside an M3EMenu popup.
- M3EMenuNode
- A node in an M3EMenu content tree.
- M3EMenuPlacement
- Computed placement for an anchored menu popup.
- M3EMenuPlacer
- Collision-aware menu placement (Compose popup position provider).
-
M3EMenuPopup<
T> -
Overlay surface for showM3EMenu / M3EMenu (Compose
DropdownMenuPopup). - M3EMenuSelectable
- Single-select row with a trailing check when selected.
- Cascading submenu opened from a parent row.
- M3EMenuTheme
-
Theme values for
M3EMenu(ComposeMenuDefaultsexpressive tokens). - M3EMenuToggleable
- Toggleable row (Compose checked menu item).
- M3EMenuWidget
- Row whose body is an arbitrary child (host-provided content).
- M3EMonthPicker
- Month navigation with a PageView of day grids.
- M3EMotion
- Material 3 Expressive motion tokens.
- Layout constants for the M3E navigation bar.
- A Material 3 Expressive navigation bar.
- A single destination in the M3E navigation bar.
-
Theme values for
M3ENavigationBar. - A destination shown in a navigation drawer.
- A Material 3 Expressive navigation drawer.
-
Theme values for
M3ENavigationDrawer. - Material 3 Expressive Navigation Rail — single widget that animates between states.
- Model for a navigation destination. One class per file.
- Configuration for the rail's built-in FAB.
- Static layout constants for the navigation rail.
- Section groups a header and a list of destinations. One class per file.
-
Theme values for
M3ENavigationRail. - Resolved height/padding/icon metrics for the navigation bar.
- M3ENoOverflowStrategy
- Overflow strategy that renders every action inline without a trigger.
- M3EOverflowBottomSheetDecoration
- Styling configuration for the overflow bottom sheet in M3EButtonGroup.
- M3EOverflowPopupDecoration
- Styling configuration for the overflow popup menu in M3EButtonGroup.
- M3EOverflowStrategy
- Abstract base class for custom overflow implementations.
- M3EProgressIndicator
- Material 3 Expressive progress indicators.
- M3EProgressIndicatorTheme
- Theme values for progress indicator widgets.
- M3EProgressIndicatorUtils
- Shared helpers for M3E progress indicators.
-
M3ERadio<
T> - A Material 3 Expressive radio button.
- M3ERadioTheme
-
Theme values for
M3ERadio. - M3ERangeSlider
-
A Material 3 Expressive range slider (Compose
RangeSlider). - M3ERefreshIndicator
- A Material Design 3 expressive refresh indicator.
- M3ERefreshIndicatorController
-
Manually shows a refresh indicator, like Material
RefreshIndicatorState.showvia aGlobalKey. - M3ERefreshIndicatorState
- class.
- M3ERefreshIndicatorTheme
-
Theme values for
M3ERefreshIndicator. - M3ERenderButtonGroup
- M3ERenderButtonGroup.
- M3EResolvedTheme
- Applies a resolved M3EThemeData to a subtree.
- M3ESafeArea
- Keyboard-aware system safe insets from raw view metrics.
- M3EScrimSystemUi
- System UI overlay for modal surfaces shown over a dark scrim.
- M3EScrollOverflowStrategy
- Overflow strategy that scrolls the actions inline in a single axis.
- M3ESearchAnchor
- Manages a search view route opened from a search bar or custom anchor.
- M3ESearchAnchorHandle
- Handle implemented by M3ESearchAnchor for M3ESearchController.
- M3ESearchBar
- M3ESearchBar.
- M3ESearchBarInput
- Shared editable search field used by M3ESearchBar and the search view header.
- M3ESearchBarTheme
- Theme values for M3ESearchBar.
- M3ESearchConstants
- Shared constants for the M3E search bar and search view.
- M3ESearchController
- Controls a search view opened by M3ESearchAnchor.
- M3ESearchViewTheme
- Theme values for M3ESearchAnchor search views.
-
M3ESegment<
T> -
A single option within an
M3ESegmentedButton. -
M3ESegmentedButton<
T> - A Material 3 Expressive segmented button.
- M3ESegmentedButtonTheme
-
Theme values for
M3ESegmentedButton. - M3ESelection
- Host widget that wires M3ESelectionAppBar and any list body to one M3ESelectionController.
- M3ESelectionAppBar
- Wraps an idle header widget and swaps to a contextual selection bar.
- M3ESelectionController
- Index-based multi-select state for selection surfaces.
- M3ESelectionFlip
- Flips horizontally between child and selectedChild when selected.
- M3ESelectionLeading
- Flips horizontally between child and selectedChild when selected.
- M3ESelectionScope
- Provides the active M3ESelectionController to descendant selection widgets.
- M3ESelectionTheme
- Theme values for selection list and selection app bar.
- M3EShapeClipper
- Clips a child to a catalog M3EShapeKind polygon, fitted to the clip size.
- M3EShapeContainer
- A box clipped to an M3EShapeKind polygon.
- M3EShapes
- Material 3 Expressive shape (corner radius) tokens.
- M3EShapeSet
- A five-step BorderRadius scale for a single shape family.
- M3ESideSheet
- A Material 3 Expressive side sheet.
- M3ESideSheetTheme
-
Theme values for
M3ESideSheet. - M3ESlider
- M3ESlider.
- M3ESliderCenteredTrack
- Centered active-track variant — active fill grows from the midpoint.
- M3ESliderColors
- Resolved colors for an M3ESlider / M3ERangeSlider paint pass.
- M3ESliderDotGeometry
- Shared track geometry used by stop/tick placement.
- M3ESliderDotLayout
-
Shared stop/tick placement for canvas paint and custom
dotBuilderoverlays. - M3ESliderDotPlacement
- One stop/tick marker along the slider track.
- M3ESliderMath
- Shared fraction / snap helpers for M3ESlider and M3ERangeSlider.
- M3ESliderRange
- A continuous range with start ≤ end, used by M3ERangeSlider.
- M3ESliderRangeLabels
- Optional labels for the start and end thumbs of M3ERangeSlider.
- M3ESliderTheme
- Theme values for M3ESlider and M3ERangeSlider.
- M3ESliderThumb
- Expressive bar handle for M3ESlider / M3ERangeSlider.
- M3ESliderTokens
-
Numeric constants matching Compose Material 3
SliderTokens. - M3ESliderTrack
- Default expressive track for a single-value M3ESlider.
- M3ESliderTrackIcons
- Optional icons inset into the active / inactive track segments.
- M3ESliderTrackPaintMetrics
- Intermediate geometry for slider track segment painting.
- M3ESliderValueIndicator
- Floating value label shown while the slider handle is interacting.
- M3ESnackbar
- A Material 3 Expressive snackbar.
- M3ESnackbarHost
- Animates a snackbar in from the bottom, holds it, then removes entry.
- M3ESnackbarHostState
- M3ESnackbarHostState.
- M3ESnackbarTheme
-
Theme values for
M3ESnackbar. - M3ESpacing
- Material 3 Expressive spacing tokens.
-
M3ESplitButton<
T> - Material 3 Expressive Split Button.
- M3ESplitButtonBottomSheetDecoration
- Styling options for split-button bottom-sheet menus.
- M3ESplitButtonCheckboxStyle
- Styling options for the checkbox shown in multi-select bottom sheets.
- M3ESplitButtonDecoration
- M3ESplitButtonDecoration.
-
M3ESplitButtonItem<
T> - A single selectable entry in an M3ESplitButton menu.
- M3ESplitButtonPopupDecoration
- Styling options for split-button popup menus.
- M3ESplitButtonTheme
-
Theme values for
M3ESplitButton. - M3ESpring
- A serialisable description of a Material 3 Expressive spring.
- M3EStateLayer
- Resolves Material state-layer overlay colors using M3EStateOpacity tokens.
- M3EStateLayerOverlay
- Paints a Material ink splash clipped to shape behind child.
- M3EStateOpacity
- Material 3 state layer opacity tokens.
- M3ESwitch
- A Material 3 Expressive switch.
- M3ESwitchTheme
-
Theme values for
M3ESwitch. - M3ETab
-
A single tab within an
M3ETabsbar. - M3ETabs
- A Material 3 Expressive tab bar.
- M3ETabTheme
-
Theme values for
M3ETabs. - M3ETappable
- A reusable interaction primitive powering expressive components.
- M3ETappableInkScope
- Supplies ink interaction callbacks from the tappable primitive to overlays.
- M3ETextField
- A Material 3 Expressive text field.
- M3ETextFieldTheme
-
Theme values for
M3ETextField. - M3ETheme
- Provides an M3EThemeData to the widget subtree.
- M3EThemeController
-
Manual brightness control for an adaptive
M3EThemeroot. - M3EThemeData
- Immutable bundle of expressive design tokens and per-component themes.
-
M3EThemeExtension<
T extends M3EThemeExtension< T> > -
Base type for overridable component themes registered on
M3EThemeData. - M3EThemeScope
- Hosts adaptive theme listeners and resolves M3EThemeData for components.
- M3EThemeScopeState
- State for M3EThemeScope that resolves brightness and dynamic color.
- M3ETime
- An immutable wall-clock time in 24-hour form.
- M3ETimePicker
- Entry points for presenting M3E time picker dialogs.
- M3ETimePickerActions
- Cancel and confirm actions for time picker dialogs.
- M3ETimePickerConstants
- Layout constants for M3E time picker dialogs and dials.
- M3ETimePickerDialog
- Dialog for picking a single time.
- M3ETimePickerDialogContent
- Wraps time picker dialog body content with mode-specific padding.
- M3ETimePickerEntryModeButton
- Icon button that switches time picker entry mode.
- M3ETimePickerHeader
- Header for time picker dialogs.
- M3ETimePickerTheme
- Theme values for M3E time pickers.
- M3ETimePickerUtils
- Time helpers shared by dial, input, and dialog pickers.
- M3EToggleButton
- Material 3 Expressive Toggle Button.
- M3EToggleButtonDecoration
- Styling overrides for M3EToggleButton and M3EButtonGroup.
- M3EToggleButtonGroupTheme
-
Theme values for
M3EButtonGroup. - M3EToggleButtonTheme
-
Theme values for
M3EToggleButton. - M3EToolbar
- A Material 3 Expressive toolbar.
- M3EToolbarAction
- An icon action hosted by M3EToolbar.
- M3EToolbarActionsRow
- Inline and overflow actions for M3EToolbar.
- M3EToolbarBody
- Leading / content / trailing layout for floating or docked toolbars.
- M3EToolbarColors
- Resolved colors for a toolbar (+ optional FAB).
- M3EToolbarExpandingActions
- Floating toolbar actions that expand left/right (or top/bottom) from a filled M3EToolbarAction.isExpandTrigger item.
- M3EToolbarFabSlot
- Hosts an adjacent M3EFab, optionally sized for expand morph.
- M3EToolbarIconButton
- Inline icon action for M3EToolbar — thin adapter over M3EIconButton.
- M3EToolbarItem
- A single slot in M3EToolbar.actions — icon action or custom widget.
- M3EToolbarItemLayout
- Shared helpers for partitioning and laying out M3EToolbarItems.
- M3EToolbarMetrics
- Resolved layout metrics for floating / docked toolbars.
- M3EToolbarOverflowMenu
- Overflow menu for toolbar actions beyond the inline limit.
- M3EToolbarScrollBehavior
- Integrates scroll notifications with a M3EToolbarVisibilityController.
- M3EToolbarScrollWrapper
- Listens to ScrollNotifications on child and updates behavior.
- M3EToolbarTheme
- Theme values for M3EToolbar.
- M3EToolbarTitleBlock
- Title and optional subtitle for M3EToolbar.
- M3EToolbarTokens
- Numeric constants matching Compose Material 3 toolbar tokens.
- M3EToolbarVisibilityController
- Tracks scroll / manual exit translation for a toolbar.
- M3EToolbarWidget
- Custom content hosted inline in M3EToolbar.actions.
- M3ETooltip
- A Material 3 Expressive tooltip.
- M3ETooltipTheme
-
Theme values for
M3ETooltip. - M3ETypefaceConfig
- Brand and plain typeface names for the M3 type scale.
- M3ETypeScale
- The Material 3 type scale (15 roles).
- M3ETypeScaleTokens
- Canonical M3 type scale token tables (material_ui gen_defaults v38.2.31).
- M3ETypeStyleConversion
- Converts arbitrary text styles to M3 type scale variants.
- M3ETypeStyleTokens
- Per-property tokens for one M3 type scale role.
- M3ETypography
- Baseline and emphasized Material 3 type scales (30 styles total).
- M3EVariableFontAxes
- Explicit OpenType axis values for variable fonts (Roboto Flex, Google Sans Flex).
- M3EVariableFontConfig
- Configuration for per-role variable-font axis resolution.
- M3EYearPicker
- Scrollable year grid for calendar date pickers.
- Morph
- This class is used to animate between start and end polygons objects.
- RoundedPolygon
- The RoundedPolygon class allows simple construction of polygonal shapes with optional rounding at the vertices. Polygons can be constructed with either the number of vertices desired or an ordered list of vertices.
Enums
- M3EAppBarDensity
-
The vertical density of an app bar. Mirrors
AppBarM3EDensity. - M3EAppBarShapeFamily
-
The corner shape family for an app bar container. Mirrors
AppBarM3EShapeFamily. - M3EAppBarVariant
-
The top app bar layouts. Mirrors
AppBarM3EVariant. - M3EBadgeAlignment
- Where a badge indicator sits on its child.
- M3EButtonGroupDensity
- Spacing compactness between adjacent buttons.
- M3EButtonGroupOverflow
- Controls how button groups handle overflow when wrap=false.
- M3EButtonGroupOverflowMenuStyle
- Style for the overflow menu.
- M3EButtonGroupType
- How buttons in the group are visually connected.
- M3EButtonShape
- Overall corner-radius strategy for buttons.
- M3EButtonStyle
- Visual styles for M3EButton and M3EToggleButton.
- M3ECardPosition
- The position of a card within a list, used to determine its corner radii.
- M3ECardVariant
- The three card variants defined by Material 3.
- M3ECarouselHeroAlignment
- The alignment of the focal item in a M3ECarouselType.hero carousel.
- M3ECarouselType
-
Defines the visual presentation and layout style of an
M3ECarousel. - M3EChipType
- The four chip types defined by Material 3.
- M3EDatePickerEntryMode
- Entry mode for M3EDatePickerDialog and M3EDateRangePickerDialog.
- M3EDatePickerMode
- Calendar sub-view for M3ECalendarDatePicker.
- M3EDividerAxis
-
The orientation of an
M3EDivider. - M3EDropdownExpandDirection
- Controls the direction in which the dropdown overlay expands.
- M3EExpandableExpandedType
- How expanded content under an expandable row is presented.
- M3EExpandableIconPlacement
- Determines the placement of the expand/collapse icon in the header.
- M3EFabColor
- The floating action button color variants.
- M3EFabMenuPosition
- Horizontal placement of a FAB menu’s FAB and its revealing menu items.
- M3EFabSize
- The floating action button sizes.
- M3EHapticFeedback
- Haptic feedback intensity levels for M3E interactions.
- M3EIconButtonShapeVariant
- The two resting shape variants.
- M3EIconButtonSize
- Visual scale labels (A–E in the spec).
- M3EIconButtonVariant
- Visual variants (kept from previous API).
- M3EIconButtonWidth
- Width variants of the button's container (not the icon glyph).
- M3EListSelectionMode
- Selection cardinality for list selection.
- M3EListSelectionTrigger
- Gesture that toggles list selection.
- M3ELoadingIndicatorVariant
-
The visual variants of an
M3ELoadingIndicator. - M3EMenuAnchorPosition
- Preferred placement of a menu relative to its anchor.
- M3EMenuColorStyle
- Standard vs vibrant container color mapping for M3EMenu.
- M3EMenuItemShape
-
Per-item corner shape within a menu group (Compose
MenuDefaults.itemShape). - Horizontal placement of the destination group in M3ENavBarLayout.wide.
- Density adjustment for the navigation bar metrics.
- Controls when destination icons are shown in the navigation bar.
- The visual style of the selection indicator.
- Controls when destination labels are shown in the navigation bar.
- Destination item arrangement for the navigation bar.
- The container shape family of the navigation bar.
- The overall height variant of the navigation bar.
- Controls how labels are shown for rail destinations when the rail is expanded.
- Modality for the expanded rail.
- M3 Expressive types for the rail.
- M3EProgressIndicatorSize
- Size variants for linear progress indicators.
- M3ERefreshStatus
-
The lifecycle states an
M3ERefreshIndicatormoves through. - M3ERefreshTriggerMode
- Controls where a pull is allowed to start a refresh.
- M3EShapeKind
- Catalog of Material 3 Expressive morph polygons for clipping and fill.
- M3ESliderIconPosition
- Axis-relative resting edge for the relocating track M3ESlider.icon.
- M3ESliderPaintMode
- How the track interprets active fill extents.
- M3ESliderTrackKind
- Which track geometry an M3ESlider paints.
- M3ESplitButtonMenuStyle
- Menu presentation style used by M3ESplitButtonDecoration.menuStyle.
- M3ESplitButtonSelectionMode
- Selection behavior for bottom-sheet split button menus.
- M3ESplitButtonTrailingAlignment
- Controls how the trailing (dropdown) button aligns with the leading button.
- M3ETabsVariant
- The two tab emphasis levels defined by Material 3.
- M3ETextFieldVariant
- The two text field container styles defined by Material 3.
- M3ETimePickerEntryMode
- Entry mode for M3ETimePickerDialog.
- M3ETimePickerMode
- Which unit the dial is currently editing.
- M3EToolbarColorStyle
- Standard vs vibrant container color mapping.
- M3EToolbarDensity
- Legacy density enum.
- M3EToolbarDockEdge
- Edge used for docked placement and single-edge safe-area padding.
- M3EToolbarExitDirection
- Direction a toolbar slides when exiting via scroll / visibility controller.
- M3EToolbarFabPosition
- Position of an adjacent FAB relative to a floating toolbar.
- M3EToolbarPlacement
- Whether the toolbar floats over content or docks to an edge.
- M3EToolbarShapeFamily
- Legacy shape family — floating forces pill; docked forces square.
- M3EToolbarSize
- Legacy size enum — maps to icon-button density, not container height.
- M3EToolbarVariant
- Legacy color emphasis — prefer M3EToolbarColorStyle.
- M3ETypeRole
- A role in the Material 3 type scale.
- M3ETypeScaleMode
- Whether token tables use static or variable-font tracking defaults.
- M3ETypeScaleVariant
- Which M3 token table to use when resolving a type style.
- M3ETypeVariations
- Named Roboto Flex axis presets for Material 3 Expressive type.
Mixins
-
M3EDismissibleCardBuildMixin<
T extends StatefulWidget> - M3EDismissibleCardBuildMixin.
-
M3EDismissibleCardDragMixin<
T extends StatefulWidget> - M3EDismissibleCardDragMixin.
-
M3EDismissibleCardMixin<
T extends StatefulWidget> - M3EDismissibleCardMixin.
Extensions
- ColorHarmonization on Color
- ColorSchemeHarmonization on ColorScheme
- M3EMenuSpringMotion on M3ESpring
-
Converts M3ESpring to a motor
SpringMotionfor menu animations. - Convenience extension for checking the current rail type.
- M3ETypeRoleX on M3ETypeRole
- Whether the role belongs to the brand typeface group (display/headline/title).
- M3ETypeScaleVariantX on M3ETypeScaleVariant
- Whether the variant is an emphasized token set.
- Matrix4PointTransformer on Matrix4
- MorphToPathExtension on Morph
- RoundedPolygonToPathExtension on RoundedPolygon
Constants
- kM3ESelectionFlipMinTapSize → const double
- Minimum layout size for an interactive selection flip.
- m3eGradientForegroundSourceColor → const Color
- Opaque white so BlendMode.srcIn shows the gradient as the content color.
Functions
-
buildM3EThemeDefaults(
{M3EColorScheme? colorScheme, M3ETypography? typography, M3ETypeScale? typeScale, double visualDensity = 0, TargetPlatform? platform, bool useMaterial3 = true}) → M3EThemeData - Assembles a complete M3EThemeData from core tokens and component defaults.
-
calculateCardPosition(
int index, int total) → M3ECardPosition - Internal helper to calculate M3ECardPosition based on index and total.
-
calculateCardRadius(
{required M3ECardPosition position, required double outerRadius, required double innerRadius, bool embedded = false, bool closeBottom = false}) → BorderRadius - Internal helper to calculate BorderRadius based on M3ECardPosition.
-
m3eDefaultSearchContextMenuBuilder(
BuildContext context, EditableTextState editableTextState) → Widget - m3eDefaultSearchContextMenuBuilder.
-
m3eGradientBackgroundBuilder(
{required BorderRadius clipRadius, WidgetStateProperty< Gradient?> ? gradient, ButtonLayerBuilder? explicitBuilder}) → ButtonLayerBuilder? -
Builds a
ButtonLayerBuilderthat paintsgradientbehind the child. -
m3eGradientFillLayer(
{required BorderRadius clipRadius, required Gradient gradient, required Widget? child, bool disabled = false}) → Widget -
Paints
gradientbehindchild, clipped toclipRadius. -
m3eGradientForegroundBuilder(
{required BorderRadius clipRadius, WidgetStateProperty< Gradient?> ? gradient, ButtonLayerBuilder? explicitBuilder}) → ButtonLayerBuilder? -
Builds a
ButtonLayerBuilderthat appliesgradientto foreground content. -
m3eGradientForegroundLayer(
{required BorderRadius clipRadius, required Gradient gradient, required Widget child}) → Widget -
Tints
childwithgradientvia BlendMode.srcIn, clipped toclipRadius. -
m3eGradientOutlineLayer(
{required BorderRadius clipRadius, required double width, required Widget child, Gradient? gradient, Color? color}) → Widget -
Paints a stroke around
childusingclipRadius. -
m3eGradientOverlayLayer(
{required BorderRadius clipRadius, required Gradient gradient, required double opacity, required Widget child}) → Widget -
Paints
gradientas a clipped state layer overchild. -
m3eGradientSpanRect(
{required GlobalKey< State< hostKey, required BuildContext context, required Rect local}) → RectStatefulWidget> > -
Maps
localinto the box ofhostKeyso siblings share one gradient span. -
m3eGradientSurfaceBuilder(
{required BorderRadius clipRadius, WidgetStateProperty< Gradient?> ? backgroundGradient, WidgetStateProperty<Gradient?> ? overlayGradient, WidgetStateProperty<Gradient?> ? outlineGradient, WidgetStateProperty<BorderSide?> ? outlineSide, double outlineFallbackWidth = 1, ButtonLayerBuilder? explicitBuilder}) → ButtonLayerBuilder? - Fill, overlay, and outline for Material backgroundBuilder.
-
m3eMenuPartitionSurfaces(
List< M3EMenuNode> nodes) → List<M3EMenuGroup> - Partitions top-level menu nodes into elevated surface groups.
-
m3eOutlineWidth(
BorderSide? side, {double fallback = 1}) → double -
Width from
side, orfallbackwhensideis null or none. -
m3eOverlayOpacityFor(
Set< WidgetState> states) → double -
Opacity for a gradient state layer from
states. -
m3eOverlayRectFor(
BuildContext context) → Rect? -
Global (overlay) rectangle for
context's render box, including transforms. -
m3eResolveGradientOverlay(
{required BorderRadius clipRadius, required Set< WidgetState> states, required Widget child, WidgetStateProperty<Gradient?> ? overlayGradient}) → Widget -
Resolves
overlayGradientand paints it when the state layer is active. -
m3eStatesForInteraction(
M3EInteractionState state, {bool enabled = true}) → Set< WidgetState> - Maps an M3EInteractionState onto WidgetStates.
-
m3eUsesGradientOverlay(
WidgetStateProperty< Gradient?> ? overlayGradient) → bool -
Whether
overlayGradientshould replace Material ink splash. -
pathFromCubics(
{required Path path, required int startAngle, required bool repeatPath, required bool closePath, required List< Cubic> cubics, required double rotationPivotX, required double rotationPivotY}) → Path -
Returns a Path for a
Cubiclist. -
showM3EMenu<
T> ({required BuildContext context, required Rect anchor, required List< M3EMenuNode> children, M3EMenuAnchorPosition position = M3EMenuAnchorPosition.bottomEnd, M3EMenuColorStyle colorStyle = M3EMenuColorStyle.standard, T? selectedValue, bool closeOnSelect = true, double? preferredWidth, FocusNode? callerFocusNode, M3EMenuTheme? themeOverride}) → Future<T?> -
Shows an expressive menu popup anchored to
anchor.
Typedefs
-
M3EDropdownFutureRequest<
T> = Future< List< Function()M3EDropdownItem< >T> > - Signature for a function that asynchronously returns dropdown items.
-
M3EDropdownItemBuilder<
T> = Widget Function(M3EDropdownItem< T> item, {required VoidCallback onTap, required bool selected}) - Signature for a custom item builder inside the dropdown list.
- M3EDynamicColorBuilder = Widget Function(ColorScheme? lightDynamic, ColorScheme? darkDynamic)
-
Builds a subtree from device light and dark dynamic
ColorSchemes. - M3EExpandableBodyBuilder = Widget Function(BuildContext context, int index, double progress)
- M3EExpandableBodyBuilder.
- M3EExpandableHeaderBuilder = Widget Function(BuildContext context, int index, double progress)
- M3EExpandableHeaderBuilder.
- M3EMenuAnchorBuilder = Widget Function(BuildContext context, VoidCallback open)
- Builds the anchor for an M3EMenu, given a callback to open the menu.
- Callback to open a cascading submenu from an item rect.
- M3EMenuSelectCallback = void Function(Object? value)
- Callback when a menu node produces a selection result.
-
M3ERefreshCallback
= Future<
void> Function() - Signature for the callback invoked when the user triggers a refresh.
- M3ESearchAnchorChildBuilder = Widget Function(BuildContext context, M3ESearchController controller)
- Signature for building the search anchor child.
-
M3ESearchSuggestionsBuilder
= FutureOr<
Iterable< Function(BuildContext context, M3ESearchController controller)Widget> > - Signature for building search suggestions from the current query.
-
M3ESearchViewBuilder
= Widget Function(Iterable<
Widget> suggestions) - Signature for laying out suggestion widgets in the search view.
- M3ESelectableDayForRangePredicate = bool Function(DateTime day)
-
Returns true when
daycan be selected in a range picker. - M3ESelectableDayPredicate = bool Function(DateTime day)
-
Returns true when
daycan be selected in a single-date picker. - M3ESliderDotBuilder = Widget Function({required bool active, required Color color, required BuildContext context, required double size})
- Builds a custom stop/tick marker for M3ESlider / M3ERangeSlider.
- M3EStateWidgetBuilder = Widget Function(BuildContext context, M3EInteractionState state)
-
Builds the visual for a tappable surface given its interaction
state.