nash_ui 2.2.1
nash_ui: ^2.2.1 copied to clipboard
A modern, scalable Flutter Design System built with Material 3, providing design tokens, themes, responsive framework, animations, widgets, and templates.
Changelog #
All notable changes to the nash_ui package will be documented
in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.2.1 - 2026-08-19 #
Added & Refined #
- Complete Zero-Prefix Coverage: Added no-prefix aliases for
DataTable,DataColumn,DataRow,PopupMenuItem,DraggableList, andDraggable. - Full Example App Refactor: Refactored all 21 showcase pages in the
example/app to use the clean zero-prefix API across the board. - DataCell Compatibility: Un-hid and preserved standard Flutter
DataCellcompatibility across tables.
2.2.0 - 2026-08-19 #
Added — Zero-Prefix API 🎉 #
- No more
Nashprefix required! All components now available with clean Flutter-compatible names via a single import:import 'package:nash_ui/nash_ui.dart';Card(...)instead ofNashCard(...)TextField(...)instead ofNashTextField(...)— supportsdecoration: InputDecoration(...)overrideAppBar(...)instead ofNashAppBar(...)Dialog(...)instead ofNashDialog(...)ListTile(...)instead ofNashListTile(...)ExpansionTile(...)instead ofNashExpansionTile(...)TabBar(...),Tab(...),TabView(...)without prefixNavigationRail(...)without prefixForm(...),FormTextField(...)without prefixChip(...),Checkbox(...),Radio(...),Switch(...)without prefixSlider(...),RangeSlider(...)without prefixBadge(...),Stepper(...),Tooltip(...),Banner(...),BottomSheet(...)without prefixTextButton(...),IconButton(...)without prefixFontConfig(...),DirectionText(...)without prefix
- 100% backwards compatible: All
NashXxxnames still work — zero breaking changes. Theme.of(context): NashThemeclass now supportsTheme.of(context)just like Flutter'sTheme, so existing code continues to work unmodified.TextFielddecorationparameter:NashTextField/TextFieldnow accepts an explicitInputDecoration? decorationoverride for full Flutter-style compatibility.
2.1.1 - 2026-08-19 #
Maintenance & Quality #
- Code Health & Strict Lint Cleanup: Cleaned up all analyzer hints and test suite parameters across the typography and font configuration tests.
- 100% Test Coverage: Full suite of 165+ automated tests passing with 0 analyzer issues.
2.1.0 - 2026-08-19 #
Added #
NashFontConfigSystem: Added a flexible, production-grade font configuration system supporting separate fonts for LTR and RTL text directions.NashFontConfig.google(ltr: 'Inter', rtl: 'Cairo')— Dual Google Fonts for English and Arabic.NashFontConfig.asset(ltr: 'MyFont', rtl: 'MyArabicFont')— Local asset fonts with zero external dependencies.NashFontConfig.mixed(ltrGoogle: 'Inter', rtlAsset: 'Cairo')— Mixed Google Fonts + local assets.NashFontConfig.system()— Pure platform default font fallback.
NashDirectionText: Added a direction-awareTextwidget that automatically selects and applies the appropriate font based on the activeDirectionality(LTR vs RTL).- Theme Integration:
Theme.light(),Theme.dark(),Theme.amoled(),Theme.custom(), andThemeBuilder.fromSeed()now acceptfontConfiganddirectionparameters.
2.0.6 - 2026-08-19 #
Removed #
uuiddependency: Removed entirely — it was never used in the codebase.cached_network_imagedependency: Replaced with Flutter's built-inImage.networkusingloadingBuilderanderrorBuilder. Flutter's ownImageCache(PaintingBinding.instance.imageCache) provides caching out of the box — no external library needed.
Changed #
NashNetworkImage: Now usesImage.networkwithloadingBuilder(placeholder icon) anderrorBuilder(broken image icon). API is 100% backwards-compatible.NashImageCached: Now usesImage.networkwithAnimatedOpacityfade-in on load. Same API as before.
2.0.5 - 2026-08-19 #
Fixed #
- Horizontal Stepper Overflow: Rebuilt the horizontal
NashStepperlayout using_HorizontalStepItemwithExpandedslots. Step circles are now centered with connector lines on each side, and step labels sit below the circle withTextOverflow.ellipsis, eliminating the 45px overflow on constrained screens. _StepCircleonTap refactor: Converted theonTapgetter into a proper constructor parameter so tappable steps work correctly in both horizontal and vertical layouts.
2.0.4 - 2026-08-19 #
Enhanced #
- 100% Example App Migration: Migrated every single file and showcase in the
example/app to purely useimport 'package:nash_ui/nash_ui.dart';with zero direct Flutter imports needed. - Enhanced AnimatedContainer & Dialog Compatibility:
AnimatedContainernow supportsdecorationdirectly, andshowDialogsupportsbuilder: (context) => ...alongsidechildfor drop-in Flutter replacement compatibility.
2.0.3 - 2026-08-19 #
Cleaned & Optimized #
- Clean Imports & Strict Analyzer Compliance: Removed all redundant
flutter/material.dartanddart:typed_dataimports across example pages and test suites now thatnash_ui.dartprovides full zero-config re-exports. - Zero Analyzer Warnings: Achieved clean 100% pass across all lint, analyzer, and dry-run validation checks.
2.0.2 - 2026-08-19 #
Improved #
- Zero-Config Single Import:
nash_ui.dartnow re-exportspackage:flutter/material.dartandpackage:flutter/services.dartwith conflicting symbols resolved automatically. Consumers only needimport 'package:nash_ui/nash_ui.dart';to access all Flutter widgets, icons (Icons.*andAppIcons.*), and Nash design system components seamlessly.
2.0.1 - 2026-08-19 #
Bug Fixes #
- NashStepper: Fixed layout crash caused by
Expandedinside a nestedRowin horizontal mode. RemovedFlexible/Expandedfrom_StepItemlabel widget. - NashStepper: Removed redundant
Expandedwrapper on_StepConnectorin horizontal layout. - ZIndexed: Fixed
Stacksize assertion failure by replacingStack+Positioned.fill+IndexedStackwith a directIndexedStack.
2.0.0 - 2026-08-19 #
BREAKING CHANGES — Class Renames #
Removed the Nash prefix from all classes that do not conflict with Flutter built-in widgets.
Classes that do conflict with Flutter (e.g., Card, TextField, Row) retain the Nash prefix.
Renamed (Nash prefix removed):
NashTheme→ThemeNashToast→ToastNashRating→RatingNashTag→TagNashCarousel→CarouselNashNotificationCenter→NotificationCenterNashNotification→NotificationNashNotificationType→NotificationTypeNashErrorBoundary→ErrorBoundaryNashReducedMotion→ReducedMotionNashReducedMotionWrapper→ReducedMotionWrapperNashZIndexed→ZIndexedNashResponsiveTypography→ResponsiveTypographyNashTokenExporter→TokenExporterNashCommandPalette→CommandPaletteNashCommandItem→CommandItemNashPopover→PopoverNashPopoverTriggerMode→PopoverTriggerModeNashDraggableSheet/showNashDraggableSheet→DraggableSheet/showDraggableSheetNashPopupMenu→PopupMenuNashCodeBlock→CodeBlockNashTreeView→TreeViewNashTreeNode→TreeNodeNashPagination→PaginationNashSplitView→SplitViewNashCalendar→CalendarNashTimeline→TimelineNashTimelineItem→TimelineItemNashInfiniteList→InfiniteListNashResponsiveGrid→ResponsiveGridNashLiveSearch→LiveSearchNashCopyButton→CopyButtonNashShareSheet→ShareSheetNashFormWizard→FormWizardNashWizardStep→WizardStepNashDropdown→DropdownNashDropdownItem→DropdownItemNashColorPicker→ColorPickerNashFileUpload→FileUploadNashUploadedFile→UploadedFileNashHorizontalDatePicker→HorizontalDatePickerNashWheelDatePicker→WheelDatePickershowNashStyledTimePicker→showStyledTimePickershowNashDateRangeDialog→showDateRangeDialogshowNashDurationPicker→showDurationPickershowNashTimeRangePicker→showTimeRangePickershowNashDateRangePicker→showDateRangePickerNashStepState→StepStateNashEnhancedDataTable→EnhancedDataTableNashAdaptiveScaffold→AdaptiveScaffoldNashAdaptiveDialog→AdaptiveDialogNashAdaptiveActionSheet→AdaptiveActionSheetNashAdaptiveSwitch→AdaptiveSwitchNashAdaptiveProgress→AdaptiveProgressNashPlatform→PlatformNashOnboardingScreen→OnboardingScreenNashOnboardingPage→OnboardingPageNashSplashScreen→SplashScreenNashProfileSetupScreen→ProfileSetupScreenNashTestUtils→TestUtilsNashWidgetTesterX→WidgetTesterXNashRtlHelper→RtlHelperNashDirectionalRow→DirectionalRowNashThemeBuilder→ThemeBuilderNashConnectivityBanner→ConnectivityBannerNashRefreshList→RefreshListNashGlassButton→GlassButtonNashGradientBorderButton→GradientBorderButtonNashSlideButton→SlideButtonNashSplitButton→SplitButtonNashSplitAction→SplitActionNashHoldButton→HoldButtonNashSocialButton→SocialButtonNashButtonGroup→ButtonGroupNashGroupItem→GroupItemNashFocusRing→FocusRingNashTouchTarget→TouchTargetNashAccessibilityProvider→AccessibilityProviderNashSemanticsAnnouncer→SemanticsAnnouncerNashAccessibleButton→AccessibleButtonNashRichTextEditor→RichTextEditorNashLoader→LoaderNashShimmer/NashShimmerBox/NashShimmerCard/NashShimmerList/NashShimmerBanner→Shimmer/ShimmerBox/ShimmerCard/ShimmerList/ShimmerBannerNashTablePagination→TablePaginationNashAvatar→AvatarshowNashCommandPalette→showCommandPaletteNashForm→NashForm(kept — conflicts with Flutter'sForm)
Kept with Nash prefix (Flutter conflicts):
NashCard, NashRow, NashColumn, NashContainer, NashPadding, NashCenter, NashStack, NashWrap, NashDivider, NashListView, NashTextField, NashTextButton, NashIconButton, NashAppBar, NashDialog, NashBottomSheet, NashPopupMenuItem, NashTooltip, NashBadge, NashBanner, NashForm, NashFormTextField, NashListTile, NashDataTable, NashDataCell, NashDataColumn, NashDataRow, NashExpansionTile, NashTabBar, NashTab, NashTabView, NashNavigationRail, NashImage, NashNetworkImage, NashDraggable, NashDraggableList, NashStepper, NashScrollBehavior, NashThemeExtension, NashLocalizations, NashLocalizationsDelegate, NashSlider, NashRangeSlider, NashCheckbox, NashRadio, NashSwitch, NashChip, NashSegmentedButton, NashMargin
1.4.0 - 2026-08-19 #
Added #
- Accessibility System:
AppAccessibility— WCAG AA/AAA compliance tokens: touch targets, focus ring, contrast ratios, text scaling, reduced motion duration.NashFocusRing— Themed focus ring wrapper with animated border on focus.NashTouchTarget— Enforces minimum 48dp touch target on any child.NashAccessibilityProvider— Respects systemaccessibleNavigationanddisableAnimations.NashSemanticsAnnouncer— Live-region semantics wrapper for screen reader announcements.NashAccessibleButton— Icon-only button with semantic label and touch target.
- Drag & Drop:
NashDraggableList<T>— Reorderable list with drag handle, animations, callbacks.NashDropZone— Drop target with visual feedback andonAccept/onWillAccept.NashDraggable— Wraps any widget to make it draggable withLongPressDraggable.
- Rich Text Editor:
NashRichTextEditor— Lightweight rich text editor with formatting toolbar (bold, italic, underline, strikethrough, lists, alignment, links).
- In-App Notifications:
NashNotificationCenter— Overlay notification center with queue management.NashNotification— Notification data model with semantic types (info, success, warning, error).NashNotificationX— BuildContext extension for quick notification display.
- Date/Time/Duration Pickers:
showNashStyledTimePicker— Themed time picker following the design system.showNashDateRangeDialog— Styled date range picker dialog.showNashDurationPicker— Duration picker with hours, minutes, seconds.showNashTimeRangePicker— Time range picker with start/end time selection.
- Enhanced Stepper:
NashStepper— Horizontal and vertical stepper with step validation, subtitles, icons, custom controls, and per-step content.NashStepState— Step state enum (inactive, active, complete, error).
- Enhanced DataTable:
NashEnhancedDataTable— Feature-rich data table with sorting, row selection, pagination, CSV export, loading state, and empty state.NashDataColumn,NashDataRow— Column and row definition models.NashTablePagination— Pagination model and widget.
- Platform-Adaptive Widgets:
NashAdaptiveScaffold— Responsive scaffold with mobile/tablet/desktop builders.NashAdaptiveDialog— Cupertino-style confirm dialog on iOS/macOS, Material elsewhere.NashAdaptiveActionSheet— iOS-style action sheet on Apple platforms, bottom sheet elsewhere.NashAdaptiveSwitch,NashAdaptiveProgress— Platform-adaptive switch and progress indicator.NashPlatform— Platform detection helpers.
- Responsive Typography:
NashResponsiveTypography— Scales text styles based on screen width with min/max clamping.
- Localization:
NashLocalizations— Number, currency, date, time, and compact formatting.NashLocalizationsX— BuildContext extension for easy access.
- Testing Utilities:
NashTestUtils— Widget finding helpers, pump utilities, mock data generators.NashWidgetTesterX— Extension onWidgetTesterfor common test operations.
- Token Documentation Generator:
NashTokenExporter— Exports all design tokens to Markdown or JSON format.
- Reduced Motion:
NashReducedMotion— Checks system reduced motion preference.NashReducedMotionWrapper— Wraps child to skip animations when reduced motion is active.
- Image Placeholder/Error Tokens:
AppImageTokens— Placeholder color, icon, border radius, error widget, and loading widget tokens.
- Z-Index/Elevation Tokens:
AppElevation— Material 3 elevation values (none through extraHigh) + custom levels.NashZIndexed— Widget wrapper for custom z-index stacking.
Improved & Fixed #
- Accessibility: All existing widgets now respect
AppAccessibilitytouch targets and focus ring styles. - Stepper: Replaced simple
_StepCircle/_StepConnectorwith fullNashSteppersupporting horizontal/vertical layouts, step validation, subtitles, and custom controls. - Responsive Typography: Added export in
typography/typography.dartbarrel file. - Code Quality: Fixed all linter warnings — expression function bodies, deprecated
activeColoron Switch, unnecessary imports, redundant arguments, cascade invocations, andBuildContext.mountedchecks. - Example App: Added 5 new showcase pages (Accessibility, Drag & Drop, Pickers, Stepper, New Features) with interactive demos of all new components.
1.3.0 - 2026-08-18 #
Added #
- Date Picker Suite:
NashHorizontalDatePicker— Modern horizontal date timeline/strip with day pills, today jump button, marked dates, and custom ranges.NashWheelDatePicker— iOS Cupertino-style scroll wheel picker with smooth physics and light/dark theme support.showNashDatePicker— Rich modal bottom sheet calendar picker with quick apply/cancel actions and drag handle.showNashDateRangePicker— Date range picker modal with quick preset chips (Today,Yesterday,Last 7 Days,Last 30 Days,This Month).DateFieldenhancement withDateFieldPickerStyle(nash,wheel,platform).
- Modern Button Styles:
NashGlassButton— Frosted glassmorphism button with customizableBackdropFilterblur, specular border highlight, and dark/light tint.NashGradientBorderButton— Glowing button with a multi-stop gradient border, interior background, and shader-masked icons.NashSlideButton— Interactive drag-to-confirm / slide-to-act button with progress fill, loading indicator, spring animation, and auto-reset.NashSplitButton— Combined primary action button with a dropdown action menu for multi-action workflows.NashHoldButton— Safety button requiring press-and-hold with dynamic percentage fill to prevent accidental destructive actions.NashSocialButton— Pre-branded authentication buttons for Google, Apple, GitHub, Microsoft, X, Facebook, and Discord.NashButtonGroup— Connected segmented action button group with unified outer border and active selection transitions.
Improved & Fixed #
- Button Sizing Consistency: Fixed
PrimaryButtonandOutlineButtonpadding and minimum width constraints (minWidth: 96,horizontal: 24) so buttons with short labels maintain proper visual weight and match surrounding controls. - NashFormWizard: Updated footer buttons with uniform width for symmetrical
Cancel/BackandNext/Submitlayout. - Example App: Replaced
NavigationRailwith a custom scrollable sidebar to eliminate overflow on compact viewports, and added showcases for all new features.
1.2.0 - 2026-08-18 #
Added #
- NashForm & NashValidators — Smart form management with auto-validation, submit state handling, and a comprehensive validation suite (
email,phone,password,required,minLength,maxLength,url,numeric,match,compose). - NashToast — Standalone overlay toast notification system independent of
Scaffold, with queue management, automatic dismissal, and semantic types (success,error,warning,info,neutral). - NashShimmer — Animated shimmer loading effect with pre-built skeleton presets (
NashShimmerBox,NashShimmerCard,NashShimmerList,NashShimmerBanner). - NashConnectivityBanner — Zero-dependency auto-detecting offline/online banner that shows and hides based on network connectivity.
- Pure-Flutter Chart Suite — Dependency-free charting components including
NashLineChart,NashBarChart,NashPieChart,NashSparkline, andNashAreaChart. - NashInfiniteList & NashRefreshList — Paginated scrolling lists with built-in threshold triggers, loading shimmer placeholders, and pull-to-refresh integration.
- NashResponsiveGrid — Adaptive multi-column grid with breakpoint-driven column counts for mobile, tablet, desktop, and wide desktop screens.
- NashErrorBoundary — Widget-level crash protection that captures rendering exceptions and displays styled debug or production fallback UI.
- NashLiveSearch — Search input with configurable debounce delay, async search execution, and floating dropdown results overlay.
- NashCopyButton & NashShareSheet — Interactive copy-to-clipboard button with checkmark animation and bottom modal share action sheet.
- Onboarding & Auth Templates —
NashOnboardingScreen(multi-page swipeable walkthrough),NashSplashScreen(animated logo reveal), andNashProfileSetupScreen(step-by-step setup wizard). - RTL & Internationalization —
NashRtlHelperandNashDirectionalRowfor automated right-to-left layout adaptation and logical directional utilities. - NashThemeBuilder — Dynamic Material 3
ThemeDatagenerator from a single seed color with font, radius, and density customization.
1.1.0 - 2026-08-15 #
Added #
- NashCommandPalette — Spotlight-style
Ctrl+Kcommand palette with fuzzy search, keyboard navigation, categories, shortcuts, and badges. - NashCarousel — Swipeable banner carousel with auto-play, customizable indicator dots, navigation arrows, and viewport scaling.
- NashFileUpload — Drag-and-drop file dropzone with upload progress bars, file size display, and multi-file management.
- NashPopover — Anchor-aware floating popover with directional placement, click and hover trigger modes.
- NashPagination — Page navigation widget with numbered pages, ellipsis for large ranges, and prev/next controls.
- NashTreeView — Hierarchical tree explorer with expandable nodes, custom icons, trailing widgets, and indentation guides.
- NashCodeBlock — Syntax-styled code viewer with language label, line numbers, and one-click copy-to-clipboard.
- NashSlider / NashRangeSlider — Branded single-thumb and dual-thumb range sliders with tooltips, min/max labels, and prefix/suffix support.
- NashFormWizard — Multi-step form wizard with animated step transitions, step-level validation, and completion callback.
- NashColorPicker — Color palette selector with 20-swatch grid, hex input field, and opacity control.
- NashSplitView — Resizable horizontal/vertical split-panel layout with a draggable divider and configurable min sizes.
- NashDraggableSheet / showNashDraggableSheet — Snap-enabled draggable bottom sheet with custom snap stop ratios.
- Enhanced NashDataTable — Added column sorting (
onSort,sortColumnIndex,sortAscending) and row selection (showCheckboxes,selectedIndices,onRowSelected).
1.0.4 - 2026-08-15 #
Fixed #
- GlassCard & GlowCard: Fixed light-mode gradient and border contrast so glassmorphism cards remain visible on light surfaces without disappearing.
- Snackbars: Fixed global theme override that caused all snackbars to display in the same color; each severity type (
success,error,warning,info) now displays its correct distinct semantic color. - FloatingButton: Fixed icon visibility by removing the faulty shader mask that was painting the icon in the same color as the background; added support for extended FABs.
- OtpField: Fixed digit clipping and vertical alignment caused by theme content-padding; improved single-digit input, backspace navigation, and paste handling.
- EmptyState & OfflineState: Fixed bottom overflow issues in constrained containers and unbounded scrolling layouts.
1.0.3 - 2026-08-15 #
Changed #
- Standardized and cleaned all remaining internal and public API identifiers by removing all legacy
Nprefixes (NashCheckbox,NashRadio,NashSwitch,EmptyState,ErrorState,OfflineState,SuccessState,LoginTemplate,SettingsGroup,UserCard,NashDataCell, etc.).
1.0.2 - 2026-08-15 #
Changed #
- Updated licensing model to Nash UI Free Use License (NU-FUL) v1.0: free to use as a Flutter dependency in any application (personal, commercial, enterprise); proprietary source code — modifying, forking, or redistribution of the library itself is prohibited.
- Updated
README.mdbadge and License section to reflect the new NU-FUL license.
1.0.1 - 2026-08-14 #
Added #
- Added
GlassCardandGlowCardwidgets with backdrop blur and ambient aura shadows. - Added vibrant gradient presets (
cyberpunk,ocean,emerald,glass). - Added vibrant accent color tokens (
violet,emerald,rose,amber,cyan,pink) toAppColors. - Added styled snackbar helpers (
showSuccessSnack,showErrorSnack, etc.) toBuildContext. - Added dedicated
AnimationsPageshowcase in the example application.
Changed #
- Standardized class naming across the design system to clean, collision-free identifiers (
NashTheme,AppColors,PrimaryButton,NashCard,Skeleton,Shimmer). - Updated licensing model to Nash UI Free Use License (NU-FUL) v1.0 (free for personal, commercial, and enterprise application development; proprietary source code).
Fixed #
- Resolved all static analysis issues and enabled full 6-platform support.
1.0.0 - 2026-08-13 #
Published #
- Official publication on pub.dev.
Added #
- Design tokens: colors, typography, spacing, radius, shadows, gradients, borders, opacity, dimensions, icons, durations, curves.
- Theme engine with
NashTheme.light(),NashTheme.dark(),NashTheme.amoled()and full custom theme support via aThemeExtension. - Responsive framework (
AppResponsive, screen types, breakpoints) and responsive number extensions (10.w,20.h,16.r,5.v). - Animation library: fade, slide, scale, rotate, bounce, shake, ripple, hover, hero, page transitions and shared-axis transitions.
- Widget catalog: buttons, inputs, cards, selection, media, feedback, lists, indicators and misc widgets.
- Navigation widgets: bottom navigation, navigation rail, sidebar, drawer, top navigation and breadcrumb.
- Dialogs: alert, confirm, success, error, warning and bottom sheet.
- Charts: line, bar, pie and donut charts.
- Loading, skeleton, shimmer and form helpers.
- UX screens: loading, empty state, no internet, 404, error, success, maintenance, permission and update required.
- Full UI templates: login, register, forgot password, dashboard, settings, profile, chat, learning, finance, medical, e-commerce, social, admin and analytics.
- Utilities: validators, formatters, date/color/number utilities, animation/file/image/permission/device utilities.
- Complete example application showcasing every component.
- Unit, widget and golden tests plus a CI/CD GitHub Actions workflow.