mini_ui_flutter 1.2.0
mini_ui_flutter: ^1.2.0 copied to clipboard
UI component library for Flutter inspired by shadcn/ui. 12+ accessible components with full theme system. Copy/paste philosophy with upcoming CLI to add only what you need.
1.2.0 #
Components #
MinToast— sistema de notificaciones toast con overlay global, auto-close, timer bar, pausa al hover, swipe para descartar, colas por posición, máx. visibles por grupoMinDrawer— componente extraído deMinScaffoldcomo widget independiente conMinDrawerController
Refactor #
- Componentes grandes divididos en subdirectorios con
part/part ofpara mejorar mantenibilidad MinToastVariantsimplificado: solofloating(se eliminófixed)
Fixes #
MinToast— timer bar se reiniciaba al aparecer un segundo toast porque el árbol de widgets cambiaba deAnimatedOpacityaAbsorbPointer. Solución:AbsorbPointer(absorbing: index > 0)incondicionalMinToast— fórmularemainingDurationestaba invertida (devolvía elapsed en lugar de remaining)MinSelect— búsqueda no filtraba porque faltaba listener en_searchControllerMinSelect—RangeErroral seleccionar opciones por captura incorrecta deflatIndexen closures
Tests #
min_toast_test.dart— 11 tests- Total: 128 tests (+6)
1.1.0 #
Components #
MinButton— altura fija cambiada a altura mínima (BoxConstraints(minHeight:)) para soportar contenido multilíneaMinProgress— indicador de progreso con varianteslinearycircular, ambos soportan modo determinable (valor 0.0–1.0) e indeterminable (null), animaciones, colores personalizablesMinTooltip— tooltip flotante que aparece al hacer hover, usa sistema de floating (overlay + posicionamiento automático), delay configurable, hereda el tema
Fixes #
MinTooltip— web hover no funcionaba porAbsorbPointeren el overlay barrier. CambiadocloseOnTapOutside: falsepara evitar que el barrier absorba el hit test y dispareonExitdelMouseRegion- Dartdocs agregados a
MinProgressVariant,MinProgressyMinTooltip
Example app #
theme_palettes.dart: paletas personalizadas conMinColors(SlatePaletteyVioletPalette)AppCubitahora manejaThemeVariantenum consetThemeVariant()SettingsView,ProgressView,TooltipView— nuevas vistas demo- Ancho máximo de la app limitado a 1024px centrado para web
CI/CD #
.github/workflows/deploy.yml— build web del example + deploy a GitHub Pages
README #
- Badge de demo online agregado
Tests #
min_progress_test.dart— 8 testsmin_tooltip_test.dart— 5 tests- Total: 122 tests (+13)
1.0.0 #
Initial release.
Theme system #
MinThemeInheritedWidget withMinThemeData- Color tokens based on shadcn/ui (zinc, zincDark, slate, slateDark palettes)
- Typography, spacing, radius, shadows, and motion scales
context.themeextension for easy access
Components #
MinButton— primary/secondary/outline/ghost variants, sm/md/lg sizes, loading state, borderRadiusMinButtonGroup<T>— generic controlled group with arrow key navigation, Enter/Space activationMinCard— theme-aware card with padding, margin, background, border, shadowMinSelect<T>— typed selection with searchable, sections, leading/trailing, keyboard navigationMinDatePicker— month grid calendar, "Hoy" and "Meses" toggle, full SemanticsMinInput— text/email/password/number/phone/url/multiline types, outline/filled/ghost/underline styles, leading/trailing, showCounter, error stateMinSwitch— toggle with sm/md/lg sizes, semanticLabelMinCheckbox— check with sm/md/lg sizes, custom icon/painter, semanticLabelMinAppBar— app bar with sm/md/lg sizes, leading/title/trailingMinScaffold— page layout with appBar, body, FAB, bottomBar, drawers, resizeToAvoidBottomInsetMinDrawer— start/end drawers with gestures, overlay, persistent mode, Escape to close, drawerLabel/endDrawerLabelMinPopover— floating anchored container with close on tap outside, Escape, scroll
Localization #
MinLocalizationsInheritedWidget withMinLocale- Built-in
MinLocale.es(Spanish) andMinLocale.en(English) context.minLocaleextension for easy access- Partial overrides via
overrides:parameter - All user-facing strings in
MinDatePicker,MinSelect, andMinDraweruse locale
Accessibility #
- Semantics on all interactive components
- Full keyboard navigation (Tab, Enter, Space, Escape, Arrow keys)
- MouseRegion with cursor changes on web/desktop
- Focus management with visible focus rings
semanticLabelparameters onMinButton,MinSwitch,MinCheckbox,MinInputdrawerLabel/endDrawerLabelonMinDrawer