Skip to content

Introduction

pub packageFlutterLicenseGitHub Repo stars

flutter_miuix is a HyperOS-style component library for Flutter, ported from miuix, the Compose Multiplatform implementation. All design, motion, and interaction logic follows the original.

Features

  • Full component coverage: 45+ widgets with 100% coverage of the original — Button / TextField / Switch / Slider / NavigationBar / NavigationRail / Scaffold / TopAppBar / TabRow / BreadcrumbBar / BottomSheet / Dialog / Snackbar / Tooltip / Dropdown / ListPopup / CascadingMenu / ColorPicker / PullToRefresh and more
  • Squircle superellipse corners: MiuixSquircleBorder reproduces the iconic iOS / HyperOS "rounded-square" corner shape
  • Folme spring motion: MiuixSpringEngine + folmeSpring(damping, response) reproduce the physical, spring-driven transitions of the original
  • Liquid Glass blur: MiuixTextureBlur (gaussian blur) + MiuixHighlight (shader bloom stroke) for frosted surfaces and glowing edges; enable a frosted app bar with a single line — MiuixTopAppBar(blurred: true)
  • Monet dynamic colors: built on material_color_utilities + dynamic_color; generate a full miuix color scheme (27 roles) from the wallpaper or a seed color
  • OkLab / OkLCH / OkHSV color spaces: a complete port of the perceptually-uniform color math behind the multi-space ColorPicker
  • Vector icon system: MiuixVectorIcon + MiuixBasicIcons / MiuixExtendedIcons with path parsing, tinting, and lookup by name
  • Unified popup infrastructure: MiuixPopupHost + MiuixPopupRegistry manage registration, layering, and transitions for Dialog / BottomSheet / ListPopup / Dropdown

Component categories

CategoryMain componentsDocs
ButtonsMiuixButton · MiuixTextButton · MiuixIconButton · MiuixFloatingActionButtonButtons & Display
InputsMiuixTextField · MiuixSwitch · MiuixCheckbox · MiuixRadioButton · MiuixSlider · MiuixVerticalSlider · MiuixRangeSlider · MiuixSearchBar · MiuixNumberPickerInputs
MenusMiuixOverlayDropdownMenu · MiuixOverlayIconDropdownMenu · MiuixOverlayIconCascadingDropdownMenuOverlays & Feedback
DisplayMiuixText · MiuixCard · MiuixBadge · MiuixBadgedBox · MiuixHorizontalDivider · MiuixVerticalDivider · MiuixSmallTitle · MiuixBasicComponentButtons & Display
PreferencesMiuixArrowPreference · MiuixSwitchPreference · MiuixCheckboxPreference · MiuixRadioButtonPreference · MiuixSliderPreference · MiuixOverlayDropdownPreference · MiuixOverlaySpinnerPreferencePreferences
PickersMiuixColorPicker · MiuixHsvColorPicker · MiuixOkHsvColorPicker · MiuixOkLabColorPicker · MiuixOkLchColorPicker · MiuixColorPalettePreferences
FeedbackMiuixSnackbar · MiuixSnackbarHost · MiuixTooltip · MiuixRichTooltip · MiuixOverlayDialog · MiuixLinearProgressIndicator · MiuixCircularProgressIndicator · MiuixInfiniteProgressIndicatorOverlays & Feedback
OverlaysMiuixOverlayBottomSheet · MiuixWindowBottomSheet · MiuixFloatingToolbar · MiuixListPopupColumn · MiuixOverlayListPopupOverlays & Feedback
NavigationMiuixScaffold · MiuixTopAppBar · MiuixSmallTopAppBar · MiuixNavigationBar · MiuixFloatingNavigationBar · MiuixNavigationRail · MiuixTabRow · MiuixTabRowWithContour · MiuixBreadcrumbBarNavigation & Scaffold
UtilityMiuixSearchBar · MiuixVerticalScrollBar · MiuixHorizontalScrollBar · MiuixPullToRefresh · MiuixSurfaceNavigation / Overlays
ThemingMiuixTheme · MiuixSystemTheme · MiuixThemeController · MiuixColors · MiuixTextStyles · MiuixMotionTheme, Colors & Motion
BlurMiuixTextureBlur · MiuixHighlight · MiuixLayerBackdrop · MiuixLayerBackdropCaptureBlur & Liquid Glass
FoundationMiuixSquircleBorder · MiuixPressable · MiuixScrollEndHaptic · MiuixContentColor · MiuixSpringEngine · MiuixPopupHostFoundation

Platform support

PlatformStatusNotes
Android✅ Full supportIncludes wallpaper dynamic color (dynamic_color)
iOS✅ Full supportWallpaper dynamic color falls back to a seed color
macOS✅ Full supportSame as iOS
Windows✅ Full supportWallpaper dynamic color falls back to a seed color
Linux✅ Full supportSame as Windows
Web✅ Full supportDynamic color falls back

Credits

  • compose-miuix-ui/miuix — the original miuix project (Compose Multiplatform); all design, motion, and interaction logic in this library originates there
  • materialkolor — the Kotlin-side Material dynamic color library; this library's miuixColorsFromSeed is equivalent to its core flow

Next steps

Released under the Apache-2.0 License.