widgets/widgets library
Top-level export for the widgets layer.
Classes
- AccessibilityProvider
-
Wraps the app to respect
MediaQuery.accessibleNavigationOfandMediaQuery.disableAnimationsOf. - AccessibleButton
- Wraps a child with a tap target that is accessible and announces its label.
- Accordion
- A list of expandable accordion (collapsible) panels.
- AccordionItem
- A single accordion panel.
- ActionSheetItem
- An action sheet item with icon, label, color and optional trailing.
- AdaptiveActionSheet
- Platform-adaptive action sheet.
- AdaptiveDialog
- Platform-adaptive dialog that shows Cupertino on iOS and Material elsewhere.
- AdaptiveLayout
- Calls builder with the current AppScreenType.
- AdaptiveProgress
- Adaptive CircularProgressIndicator that renders CupertinoActivityIndicator on iOS/macOS.
- AdaptiveScaffold
- Platform-adaptive widget that renders differently on mobile vs desktop.
- AdaptiveSwitch
- Adaptive Switch that renders CupertinoSwitch on iOS/macOS.
- AdminRow
- A single row for the AdminTemplate table.
- AdminTemplate
- A complete admin-dashboard template.
- AnalyticsKpi
- A single KPIs row inside a AnalyticsTemplate.
- AnalyticsTemplate
- A complete analytics dashboard template.
- AnimatedBanner
- An animated banner widget that appears/disappears with a transition.
- AnimatedButton
- A button wrapper that scales down while pressed for tactile feedback.
- AnimatedContainer
-
A widget that animates its child between a target
enabledstate with theme-aware easing. Useful for interactive emphasis. - AnimatedCounter
- A smooth animated numeric counter widget supporting prefix, suffix, decimal places, and curved number transitions.
- AnimatedTabBar
- An animated tab bar with a sliding indicator pill and elastic bounce effect.
- AnimatedTextKit
- A versatile animated text display supporting Typewriter, Fade, Scale, and Wavy character-by-character animations.
- AnimationUtils
- Animation helpers built on top of Flutter's animation primitives.
- AppAccessibility
- Accessibility design tokens for the design system.
- AppBar
- A modern app bar with title, subtitle, actions and optional scroll effects.
- AppBarColors
- Resolved AppBar colors.
- AppBiometrics
- A unified biometric authentication service (Face ID / Touch ID / Fingerprint).
- AppBreakpoint
- Standard responsive breakpoints (logical pixels).
- AppCenter
- A centered layout with optional max-width constraints (readable text rows).
- AppColors
-
Core semantic color tokens for the
nash_design_system. - AppColumn
- A vertical flex layout with design-system spacing defaults.
- AppContainer
- A flexible, theme-aware container.
- AppContextMenu
- A long-press contextual menu that appears near the pressed position.
- AppCurves
- Animation curve tokens.
- AppDateUtils
-
Date/time helpers built on top of
intl. - AppDivider
- A themed horizontal or vertical divider.
- AppDuration
- Animation duration tokens.
- AppElevation
- Z-index / elevation token system for managing overlay stacking.
- AppFontWeight
- Font weight tokens used across the design system.
- AppGradients
- Gradient tokens for the design system.
- AppHelpers
- Generic application helpers and utilities.
- AppIcons
- A curated, single source of truth for commonly used icons.
- AppImage
- A decorated image with optional overlay, border and shadow.
- AppImageCached
- A network image with decoration, mirroring AppImage's API.
- AppImageTokens
- Image placeholder, error, and skeleton configuration tokens.
- AppListView
- A simple vertical list with design-system defaults.
- AppLocalizations
- Localization / i18n framework for the design system.
- AppLocalizationsDelegate
- Delegate for AppLocalizations using AppLocalizationsDelegate.
- AppMasonry
- A true masonry (Pinterest-style) layout that distributes items across columns using a shortest-column greedy algorithm, allowing each child to render at its natural height.
- AppNetwork
- AppNetworkImage
- A network image with loading, error and placeholder states.
- AppNotificationItem
- Notification payload model.
- AppNotifications
- A unified service for scheduling and presenting notifications.
- Appointment
- A medical appointment.
- AppPadding
- A AppPadding with design-system defaults.
- AppPalette
- A curated set of Material palettes exposed as MaterialColor tokens.
- AppPermissions
- A standardized service for requesting and checking device permissions.
- AppRadius
- Corner radius tokens for the design system.
- AppRangeSlider
- A modern dual-thumb RangeSlider with floating value tooltips and custom styling.
- AppRatingDialog
- A modern "Rate Us" app rating prompt dialog with interactive stars and feedback.
- AppResponsive
- Root widget of the responsive system.
- AppResponsiveLayout
- An adaptive layout builder that swaps content by AppScreenType.
- AppResponsiveState
- Mutable state holder for AppResponsive.
- AppRow
- A horizontal flex layout with design-system spacing defaults.
- AppScrollBehavior
- Adaptive ScrollBehavior for web and desktop platforms.
- AppShadow
- Shadow elevation tokens for the design system.
- AppSpacing
- Spacing scale tokens for the design system.
- AppStack
- A AppStack with design-system defaults.
- AppThemeExtension
- Theme extension carrying design-system specific tokens.
- AppToast
- A lightweight toast notification that slides in and auto-dismisses.
- AppTypography
- Complete typographic scale for the design system.
- AppWrap
- A AppWrap with design-system spacing defaults.
- AreaChart
- Same as LineChart but with a prominent area fill — useful for comparing two overlaid datasets.
-
AsyncBuilder<
T> -
Builds loading, error and success UI from a
Future. - AudioWaveform
- An interactive audio waveform visualizer for voice notes and music players.
- Avatar
- A circular avatar with image, initials or icon fallback.
- Badge
- A badge/counter pill attached to a child.
- Banner
- A dismissible banner shown at the top of a page.
- BarChart
- Animated vertical bar chart with colored bars and labels.
- BarcodeWidget
- Barcode 1D Code128-style visualization widget.
- BarData
- A single bar in a bar chart.
- BeforeAfterImage
- An interactive before/after image comparison slider.
- BiometricButton
- An animated biometric authentication button that cycles through idle, scanning, and success/fail states.
- BoardingPassCard
- A realistic flight boarding pass / event ticket card widget with cutout notches, dashed perforation divider, and barcode footer.
- A bottom navigation bar with icons, optional badges and centered FAB.
- A bottom navigation item.
- BottomSheet
- A modal bottom sheet with a handle, optional title and rounded top corners.
- BottomSheetDraggable
- A multi-snap draggable bottom sheet with configurable snap heights.
- Bounce
- Repeating bounce emphasis animation.
- Breadcrumb
- A breadcrumb navigation trail.
- BubbleChart
- A bubble scatter chart for three-dimensional data comparisons.
- BubblePoint
- A data point for BubbleChart.
-
ButtonGroup<
T> - A connected, unified group of action buttons with seamless borders and active state highlights.
- Calendar
- A month calendar widget with selection, range and events support.
- CameraCapture
- A simulated camera capture widget providing a stylised viewfinder UI with capture button, flash toggle, and camera switch controls. Uses the Flutter widget tree only (no camera plugin required).
- Candle
- A candlestick OHLC chart for stocks and financial data.
- CandlestickChart
- Card
- A flexible base card with design-system styling.
- Carousel
- A modern, swipeable carousel widget with auto-play, indicators, and navigation controls.
- ChartPoint
- A single data point for line/area charts.
- ChatBubble
- A rich chat bubble widget supporting text messages, timestamps, read receipts, emoji reactions, and reply-to previews.
- ChatMessage
- A single chat message.
- ChatReaction
- ChatTemplate
- A complete chat screen template.
- Checkbox
- A themed checkbox row.
- Chip
- A themed chip used for tags, filters and selected options.
- CircularProgress
- A circular progress indicator with value, percent and gradient support.
- Clipboard
- Clipboard and copy helpers.
- CodeBlock
- A sleek code block viewer with line numbers, language tag, and one-click copy button.
- CollapsibleHeader
- A scroll-aware header that fades/slides out on scroll.
- ColorPicker
- A curated color picker and palette selector with hex support.
- ColorSwatchEntry
- A single color entry in ColorSwatchViewer.
- ColorSwatchViewer
- An interactive color palette display widget.
- ColorUtils
- Color manipulation and accessibility helpers.
- CommandItem
- An individual action or search item in a CommandPalette.
- CommandPalette
- A Spotlight-style command palette dialog.
- ConfettiWidget
- Celebration confetti burst / shower overlay widget.
- ConfettiWidgetState
- ConnectivityBanner
- Wraps its child and shows an animated top/bottom banner when the device goes offline. Automatically hides when connectivity is restored.
- ContentBox
- A content-width centering wrapper for desktop layouts.
- ContextMenuItem
- A single item in an AppContextMenu.
- CopyButton
- A button that copies text to the clipboard and briefly shows a check icon.
- CornerRibbon
- A diagonal corner ribbon/banner overlay for cards and containers.
- CountDownTimer
- A countdown timer widget.
- CountDownTimerState
- Course
- A single course inside a LearningTemplate.
- CreditCardWidget
- An interactive 3D flippable credit/debit card widget.
- DashboardCard
- A dashboard card with an optional header and body.
- DashboardHeader
- A gradient dashboard header with greeting and optional action.
- DashboardItem
- DataColumn
- Column definition for EnhancedDataTable.
- DataRow
- Row definition for EnhancedDataTable.
- DataTable
- A simple, styled data table with sorting and row selection support.
- DateField
- A date picker field that opens a styled date picker.
- Debouncer
- A utility to delay function execution until a pause in invocation occurs.
- DebugOverlay
- A lightweight in-app diagnostics overlay showing FPS, screen size, and device orientation.
- DeliveryStep
- A single step in order delivery tracking.
- DeliveryTracker
- A multi-step delivery tracker with animated pulse on the active step.
- DeviceUtils
- Device and platform helpers that work on every target (including web).
- Dialog
- A themed dialog with gradient header and rounded corners.
- DirectionalRow
- A Row that automatically reverses child order in RTL locales.
- DirectionText
- DistanceBar
- A visual distance bar connecting two points with travel mode, ETA, and progress.
- Draggable
- DraggableDashboard
- A draggable/reorderable dashboard widget arranged in a configurable grid. Each tile can be dragged to a different position.
-
DraggableList<
T> - A reorderable list with drag-and-drop support.
- DraggableSheet
- A draggable bottom sheet with multiple snap points and fluid drag physics.
-
Dropdown<
T> - A themed dropdown form field.
-
DropdownItem<
T> - A single dropdown option.
- DropZone
- A drop zone that accepts dragged items.
- EcommerceTemplate
- A complete e-commerce template.
- EmailField
- An email input field with built-in validation and autofill.
- EmptyState
- A friendly empty-state placeholder with icon, title, message and action.
-
EnhancedDataTable<
T> - A feature-rich data table with sorting, selection, pagination, and export.
- EqualizerWidget
- An interactive audio equalizer visualizer with animated frequency bands.
- ErrorBoundary
- Catches Flutter widget build errors and shows a styled fallback UI.
- ErrorState
- A full error state with icon, title, message and a retry action.
- ExpandableText
- A text widget that truncates at maxLines and shows an animated "Read more" / "Read less" toggle.
- ExpansionTile
- An expandable list tile with custom header, body and smooth animations.
- FadeAnimation
- Fade entrance animation.
- FileUpload
- A modern file upload / dropzone widget with dashed border, file list, and progress bars.
- FileUtils
- Pure-Dart file/path helpers that work on every Flutter platform.
- FinanceTemplate
- A complete finance dashboard template.
- FlipCard
- A card that flips in 3-D to reveal its back face when tapped.
- FlipCardController
- Controls the flip state of a FlipCard.
- FloatingButton
- A floating action button wrapper with design-system styling.
- FloatingParticles
- An ambient floating particles background widget.
- FocusRing
- A focus ring that wraps its child with a themed border on focus.
- FontConfig
- ForgotPasswordTemplate
- A forgot-password screen template.
- Form
- Formatter
- Number and text formatting helpers.
- FormSection
- A titled group of form fields inside a styled card.
- FormState
- FormTextField
- A TextFormField that participates in Form's value collection.
- FormWizard
- A multi-step form wizard workflow with step progression, animated page transitions, and controls.
- FunnelChart
- A funnel chart widget for visualizing conversion stages, sales pipelines, and sequential drop-off rates.
- FunnelStage
- Represents a single stage in a FunnelChart.
- GanttChart
- A horizontal timeline roadmap / Gantt chart widget.
- GanttTask
- A task or milestone item in a GanttChart.
- Gap
- A gap (empty space) that auto-detects its parent axis.
- GestureHintOverlay
- An animated hint overlay showing users how to interact with gestures (swipe, pinch, double tap).
- GlassButton
- A glassmorphic frosted glass button with specular border highlight and backdrop blur.
- GlassCard
- A modern glassmorphism frosted card with backdrop blur.
- GlassmorphicContainer
- A premium glassmorphic frosted-glass container with blur effect, subtle linear gradient background, and luminous border highlight.
- GlowBorderWidget
- Wraps a child with an animated rotating gradient border.
- GlowCard
- An ambient glowing card with vibrant shadow highlights.
- GradientBorderButton
- A sleek button with an animated or multi-stop gradient border and inner glow.
- GradientCard
- A card with a colored gradient header.
- GradientPicker
- A multi-stop gradient color picker widget. Allows users to add, remove, and reorder gradient stops interactively.
- GradientText
- A text widget rendered with a moving gradient shader.
- Grid
- A responsive grid built on a maximum cross-axis extent.
-
GroupItem<
T> - An individual item in a ButtonGroup.
- HeatMap
- A GitHub-style contribution heat map widget.
- HeroWidget
- A Hero wrapper with sensible defaults for child and tag.
- HoldButton
- A button that requires the user to press and hold for a duration before triggering.
- HorizontalDatePicker
- A horizontal date strip / timeline date picker widget.
- HoverEffect
- Hover interaction that lifts and scales child.
- IconButton
- A themed icon button with optional tooltip.
- ImageUtils
- Image helpers: initials, URL detection and aspect-ratio math.
- ImageViewer
- Fullscreen zoomable and pannable image viewer modal with swipe-to-dismiss.
- InboxCard
- A message inbox card with sender avatar, preview, unread indicator, timestamp, and swipe-to-archive support.
- InfiniteList
- A ListView that calls onLoadMore when the user scrolls near the bottom. Shows shimmer skeletons while loading additional items.
- InfoHint
- An info icon that shows a tooltip with an optional title.
- InlineAlert
- An inline embedded banner/alert for forms, cards, and pages.
- JsonViewer
- An interactive, collapsible JSON viewer with syntax highlighting and copy-to-clipboard.
- LabeledField
- A labelled field with label on top and hint/error below.
- LearningCard
- A learning course card with progress.
- LearningTemplate
- A complete learning-app template.
- LinearProgress
- A linear progress bar with gradient, stripes and label.
- LineChart
- Animated smooth line chart with optional area fill and data point dots.
- LiquidProgressBar
- A liquid wave progress bar using CustomPainter.
- ListGroup
- A group of list tiles with optional header.
- ListTile
- A configurable list tile with leading/trailing widgets and tap feedback.
-
LiveSearch<
T> - A search input with built-in debounce, loading state, and results overlay.
- Loader
- A flexible loading indicator with multiple styles.
- LoadingButton
- A button that shows a loading spinner while loading is true.
- LoadingScreen
- A full-screen loading state with an optional title and retry action.
- LocationPinCard
- A card displaying a geographic location with address, coordinates, and actions.
- Logger
- A lightweight, dependency-free logger with level filtering.
- LoginTemplate
- A complete login screen template.
- MagnifierLens
- An interactive magnifying glass lens widget that magnifies its child following touch and pointer position with customizable scale and lens size.
- MaintenanceState
- A maintenance / under-construction state.
- Margin
- A Container that only adds outside margin.
- MarkdownText
- Lightweight Markdown renderer that handles common Markdown elements without any external dependency.
- MeasureSize
- Helper to measure a widget's rendered size.
- MedicalCard
- A medical record card with specialty, status and actions.
- MedicalTemplate
- A complete medical-app template.
- MemoryBackend
- A thread-safe in-memory backend used by default.
- MentionField
- A text field that shows @mention and #hashtag suggestions.
- MiniMap
- A scrollable minimap widget that shows a small overview of a larger scrollable area with a draggable viewport indicator.
- MorphButton
- A button that morphs from a text label → spinning loader → ✓ / ✗ symbol.
-
MultiSelect<
T> - A multi-select field built from selectable chips and a bottom-sheet picker.
- A styled navigation drawer with header and sections.
- A navigation drawer item with icon, label, badge and selected state.
- A section header inside a navigation drawer.
- A single destination in a NavigationRail.
- NeonButton
- A neon glow button with animated pulse and color bleed effect.
-
NetworkResponse<
T> - Response representation for AppNetwork requests.
- NetworkStatusBar
- An animated status bar indicating internet connectivity changes.
- NotFoundState
- A 404 / page-not-found state.
- Notification
- Notification data model.
- NotificationAction
- Notification action button.
- NotificationCenter
- In-app notification center with push-style UI.
- NotificationCenterState
- NumberField
- A numeric input field with an optional currency/unit prefix.
- NumberPadDialog
- A full-screen style numeric pad dialog.
- NumberUtils
- Numeric helpers: math, normalization and aggregation.
- OfflineState
- A "no internet" state shown when the device is offline.
- OnboardingOverlay
- An interactive onboarding overlay that highlights target widgets with a spotlight effect and step-by-step tooltips.
- OnboardingPage
- Configuration for a single onboarding slide.
- OnboardingScreen
- A ready-to-use animated onboarding screen.
- OnboardingStep
- OtpField
- A one-time-password (OTP) input with auto-advancing boxes.
- OtpPinField
- A modern, customizable OTP / PIN code input field.
- OutlineButton
- An outlined button.
-
PageRoute<
T> - A PageRouteBuilder with configurable transitions.
- Pagination
- A professional pagination widget with page buttons, ellipsis, and navigation controls.
- ParallaxCard
- A card widget with a parallax depth effect responding to pointer movement.
- ParallaxListItem
- A parallax scroll effect applied to a list tile's background.
- PasswordField
- A password field with a show/hide toggle.
- PatternLock
- A 9-dot pattern lock widget for security and PIN setups.
- PermissionHandler
- A pluggable permission handler.
- PermissionRequestCard
- A card prompting the user to grant a specific device permission (Camera, Location, Notifications, etc.).
- PermissionState
- A permission-request state with icon, explanation and actions.
- PermissionUtils
- Permission helpers delegating to an injected PermissionHandler.
- PhoneField
- A phone number input field with phone keyboard and country prefix.
- PieChart
- Animated donut/pie chart with legend.
- PieSegment
- A pie/donut segment.
- PinchableImage
- An interactive image viewer supporting pinch-to-zoom, panning, double-tap zoom, and smooth spring-back animation on release.
- Platform
- Detects the current platform for adaptive rendering.
- PollOption
- A single option in a PollWidget.
- PollWidget
- An animated social-style poll widget.
- Popover
- An interactive anchored popover widget that attaches a floating card to a target widget.
-
PopupMenu<
T> - A themed popup menu with rounded corners and item styling.
-
PopupMenuItem<
T> - A single popup menu item data model used with PopupMenu.
- PriceTag
- A price tag widget with old/new price, discount percentage, and badge.
- PrimaryButton
- A primary call-to-action button with a brand gradient fill.
- Product
- A single product inside a EcommerceTemplate.
- ProductCard
- A product card with image, title, price and actions.
- ProductImageZoom
- An interactive product image zoom widget. Long-press or pinch to magnify the image.
- ProfileHeader
- A gradient profile header with avatar, name, bio and stats.
- ProfileSetupScreen
- A multi-step profile setup screen using FormWizard pattern.
- ProfileStat
- A single profile statistic.
- ProgressRing
- A circular arc progress indicator styled like Apple Watch activity rings.
- PullToReveal
- A widget that reveals hidden top content (e.g. search bar, quick actions, stats) when the user pulls down past the top scroll boundary.
- PushNotificationAction
- PushNotificationCard
- A rich push notification card widget with icon, title, body, timestamp, action buttons, and swipe-to-dismiss support.
- QrCodeWidget
- A pure-Flutter QR code rendering widget.
- RadarChart
- A radar (spider) chart widget for comparing multi-dimensional data.
- RadarDataSet
- Radio
- A themed radio row.
- RangeSlider
- A custom styled dual-thumb range slider with gradient track and tooltip labels.
- Rating
- A rating display with filled/outline stars and optional count.
- ReactionPicker
- An emoji reaction picker popup.
-
ReactiveField<
T> - A reactive, observable form field that exposes its current value, error message and validity through ValueNotifiers.
- ReactiveFormController
- A smart, fully-reactive form controller.
- ReceiptCard
- A paper-style receipt card widget with perforated divider.
- ReceiptItem
- A line item on a ReceiptCard.
- ReducedMotion
- Reduced motion support for the design system.
- ReducedMotionWrapper
- A widget that conditionally applies animation based on reduced motion.
- RefreshList
- Combines pull-to-refresh and infinite scroll in a single widget.
- ResponsiveGrid
- A responsive column grid that automatically adjusts the number of columns based on the current screen width.
- ResponsiveTypography
- Responsive typography that scales text based on screen size.
- RichTextEditor
- A lightweight rich text editor with formatting toolbar.
- Ripple
- Infinite expanding ripple / pulse effect behind child.
- RotateAnimation
- Rotate entrance animation.
- RtlHelper
- Utility class for RTL-aware layouts and text direction detection.
- ScaleAnimation
- Scale entrance animation.
- ScratchCard
- An interactive scratch-to-reveal card for coupons, rewards, and giveaways.
- ScratchReveal
- A gradual content-reveal widget (paint-brush/eraser effect).
- SearchField
- A search field with a clear button and submit callback.
- SecondaryButton
- A secondary (tonal) button using the theme's secondary container.
- Section
- A section header with title, subtitle and optional action.
- SecurityPinKeyboard
- A secure on-screen PIN keypad widget with optional scrambled key order and biometric/delete action keys.
-
Segment<
T> - A single segmented control option.
-
SegmentedButton<
T> - A segmented button control.
- SegmentedProgressBar
- A multi-segment progress bar styled like Instagram / Snapchat stories.
-
SelectionTile<
T> - A clickable row that opens a sheet of options (theme, language, etc.).
- SemanticsAnnouncer
- A semantics wrapper that announces text changes to screen readers.
- SettingsGroup
- A group of SettingsTiles inside a SettingsTemplate.
- SettingsTemplate
- A complete settings screen template.
- SettingsTile
- A settings row: icon, title, subtitle, trailing control.
- Shake
- Repeating horizontal shake emphasis animation.
- A Material "shared axis" transition between two children.
- A ShareItem defines one action in the share sheet.
- Shows a native-feeling share action sheet as a bottom modal.
- Shimmer
- Wraps any widget with a shimmer sweep animation, ideal for loading states.
- ShimmerBanner
- A full-width banner shimmer placeholder.
- ShimmerBox
- A simple rectangle shimmer placeholder.
- ShimmerCard
- A card-shaped shimmer placeholder with avatar, title, and subtitle.
- ShimmerList
- A list of shimmer card placeholders.
- Sidebar
- A persistent desktop sidebar with sections, selection and collapse.
- SidebarItem
- A single item in a Sidebar.
- SidebarSection
- A section header inside a Sidebar.
- SignaturePad
- A free-hand signature drawing widget.
- SignaturePadState
- SignupTemplate
- A complete sign-up / registration screen template.
- Skeleton
- A pulsing placeholder block used while content loads.
- SkeletonGrid
- A skeleton grid of media cards.
- SkeletonList
- A ready-made skeleton for common list items (avatar + lines).
- SlideAnimation
- Slide entrance animation.
- SlideButton
- An interactive slide-to-confirm / slide-to-act button.
- Slider
- A custom styled single-value slider with gradient track and tooltip labels.
- Snackbar
- A themed snackbar with severity colors, icon and action.
- SocialButton
- A ready-to-use social authentication button styled according to brand guidelines.
- SocialPost
- A single social post inside a SocialTemplate.
- SocialTemplate
- A complete social-feed template.
- Space
- Padding sized with the AppSpacing scale.
- Sparkline
- A compact sparkline chart suitable for embedding in dashboard cards.
- SparklineWidget
- A compact inline sparkline chart for embedding in lists and cards.
- SpeedDial
- An animated, expandable FAB (Speed Dial / FabMenu).
- SpeedDialItem
- A single action in a SpeedDial.
- SplashScreen
- Shows an animated splash screen then calls onComplete.
- SplitAction
- An item inside a SplitButton dropdown menu.
- SplitButton
- A split action button with a primary button on the left and a dropdown menu arrow on the right.
- SplitView
- A resizable two-panel split view widget with a draggable divider.
- SpotlightHighlight
- Highlights a specific widget on screen with a spotlight/darkened backdrop.
- StatisticCard
- A statistic card with icon, value, label and an optional trend.
- StatTile
- A compact statistics tile with icon, label and value.
- Stepper
- StepperInput
- A numeric stepper input with increment / decrement buttons.
- StickyHeaderList
- StickySection
- A sticky-header list builder.
- StopWatch
- A stopwatch widget that counts up.
- StopWatchState
- Storage
- A typed key-value store with JSON, number and bool helpers.
- StorageBackend
- A pluggable key-value storage interface.
- SuccessState
- A success state screen (e.g. after form submission).
- SwipeableCards
- A Tinder-style card stack that lets users swipe cards left or right.
- SwipeAction
- A card that reveals hidden actions when swiped left or right.
- SwipeActionCard
- Switch
- A themed switch row.
- SyntaxHighlighter
- Tab
- A single tab definition.
- TabBar
- A modern, animated tab bar with sliding indicator and icons.
- TableCellItem
- A data table row value.
- TablePagination
- Pagination configuration.
- TablePaginationWidget
- Pagination widget for EnhancedDataTable.
- TabView
- A swipeable tab view that animates between pages.
- Tag
- A clickable tag/chip with icon, label and optional removal.
- TagInput
- An interactive tag input field where users can add and remove chips/tags.
- TextButton
- A text-only button.
- TextField
- A themed text field with full form integration (validator + saved value).
- Theme
- Theme factory for the design system.
- ThemeBuilder
- Generates a complete Material 3 ThemeData from a single seed color, with optional overrides for font, border radius, and density.
- ThemeSwitcherFab
- A floating action button that rotates and toggles between Light, Dark, and System theme modes.
- Throttler
- A utility to enforce a maximum execution frequency for a function.
- Timeline
- A vertical timeline of events.
- TimelineItem
- A single timeline entry.
- TimelinePicker
- A horizontal scrollable timeline date picker. Allows users to pick a date by scrolling through a horizontal timeline.
- TimeRange
- A time range picker (start + end time).
- Toast
- Shows an animated toast notification as an overlay — no Scaffold needed.
- TokenExporter
- Token documentation generator for the design system.
- ToolbarAction
- A custom toolbar action for the rich text editor.
- Tooltip
- A modern tooltip with custom styling, positioning and actions.
- TouchTarget
- Enforces minimum touch target size on its child.
- Transaction
- A single financial transaction.
- TransitionSwitcher
- Applies an TransitionType transition to child driven by animation.
- TreeMapChart
- A treemap chart displaying hierarchical data as nested rectangles.
- TreeMapNode
- A node in the treemap hierarchy.
-
TreeNode<
T> - A single node in a TreeView.
-
TreeView<
T> - An expandable tree view widget for displaying hierarchical data structures.
- TypingIndicator
- A "is typing..." indicator with three animated bouncing dots.
- UpdateRequiredScreen
- A full-screen or dialog prompt informing the user that a mandatory app update is available.
- UpdateState
- An "update required" state prompting the user to update the app.
- UploadedFile
- Represents a chosen file in FileUpload.
- UserCard
- A user profile card with avatar, name and actions.
- V
-
Common validator functions returning an error message or
null. - Validators
- A collection of stateless validation functions.
- VideoPlaceholder
- A video placeholder with a play button.
- VoiceNotePlayer
- An interactive voice note player with playback speed toggle, seekable waveform visualization, and play/pause controls.
- Watermark
- Renders a diagonal, tiled watermark text overlay on top of child.
- WheelDatePicker
- An iOS-style spinner / wheel date picker.
- WheelOfFortune
- An interactive spinning wheel of fortune widget with physics deceleration, customizable slices, and win callbacks.
- WheelOfFortuneState
- WizardStep
- A single step in a FormWizard.
- ZIndexed
- A widget that applies a z-index value using Stack.
Enums
- AnimatedTextEffect
- Preset animation effects for AnimatedTextKit.
- AppBarStyle
- Visual styles for the app bar.
- AppFeedbackType
- Severity levels shared across feedback, dialogs and cards.
- AppPermission
- Common application permission types.
- AppPermissionStatus
- Permission status enumeration.
- AppScreenType
- Screen size categories used across the responsive framework.
- AppToastPosition
- Where the toast appears on screen.
- AppToastType
- Toast color / icon semantic.
- AsyncStatus
- An enum describing the state of an AsyncBuilder.
- BiometricButtonType
- BiometricType
- Supported biometric authentication types.
- ButtonVariant
- Visual variants supported by LoadingButton.
- CalendarMode
- Selection mode for Calendar.
- CardBrand
- Card brand network detected from card number.
- CodeLanguage
- A simple syntax-highlighted code block widget.
- ConnectivityBannerPosition
- Position of the connectivity banner.
- CountDownFormat
- DataColumnAlignment
- Column alignment for DataTable.
- DateFieldPickerStyle
- Style of date picker dialog / sheet to present.
- DateMode
- Picker variants for DateField.
- FlashMode
- FlipDirection
- Axis of the flip animation.
- GestureHintType
- Gesture type for GestureHintOverlay.
- ImageState
- Image state for placeholder/error handling.
- InlineAlertType
- Semantic alert level for InlineAlert.
- LoaderStyle
- Loader style selector.
- LogLevel
- Log severity levels.
- MessageStatus
- MiniMapPosition
- MorphButtonState
- The current state of a MorphButton.
- NotificationPosition
- Notification position.
- NotificationType
- Notification type.
- PermissionKind
- Permission kinds the design system is aware of.
- PermissionStatus
- The outcome of a permission request.
- PopoverPlacement
- Alignment placement for Popover.
- PopoverTriggerMode
- Trigger action for Popover.
- RibbonPosition
- Alignment position for the CornerRibbon.
- SegmentSize
- Visual sizes for SegmentedButton.
- Axis for the shared-axis transition.
- SlideAnimationDirection
- Direction of a slide animation.
- SocialProvider
- Supported third-party authentication providers for SocialButton.
- SplitViewOrientation
- Orientation for SplitView.
- StepState
- State of a stepper step.
- SwipeDirection
- Direction of a completed swipe.
- TableExportFormat
- Export format options.
- ToastPosition
- Where on screen the toast appears.
- ToastType
- Visual style of the toast notification.
- TooltipDirection
- TransitionType
- Supported page transition styles.
Extensions
- AppBorderRadiusX on BorderRadius
- Border helpers on BorderRadius.
- AppColorschemeX on ColorScheme
- Extensions for ColorScheme convenience.
- AppColorstringX on String
- Parses hex strings into Color values.
- AppDurationX on Duration
- Formatting helpers for durations.
- ColorX on Color
- Color manipulation and conversion extensions.
- ContextColorX on BuildContext
- Color extension helpers used across components.
- ContextResponsiveX on BuildContext
- Responsive context extensions.
- ContextX on BuildContext
- Convenience extensions on BuildContext.
- DateX on DateTime
- Date utilities as extensions on DateTime.
- DoubleX on double
- Double utility extensions.
- EdgeInsetsX on EdgeInsets
- Padding helpers on EdgeInsets.
- ElevationX on BuildContext
- Convenience extension on BuildContext for elevation lookup.
- IntX on int
- Number (int & double) utility extensions.
-
IterableX
on Iterable<
T> - Iterable & List utility extensions.
- LocalizationsX on BuildContext
- Convenience extension for translating strings directly.
- Named navigation helpers that return the resulting Future.
- NotificationX on BuildContext
- Quick-show extension for BuildContext.
-
NullableIterableX
on Iterable<
T?> - Nullable Iterable utility extensions.
- NumPaddingX on num
- Padding shortcuts on num.
- NumResponsiveX on num
- Responsive number extensions.
- NumX on num
- Num utility extensions (shared between int and double).
- ReducedMotionX on BuildContext
- Extension on BuildContext for reduced motion checks.
- RtlContextX on BuildContext
- Shorthand RTL helpers directly on BuildContext.
- StringNullX on String?
- Null-safe string helpers.
- StringValidationX on String
- Extension on String providing common validation shortcuts.
- StringX on String
- String validation and transformation extensions.
- ThemeDataX on ThemeData
- Access to custom design-system tokens through ThemeData.
- WidgetAnimateX on Widget
- Animated widget helpers.
- WidgetX on Widget
- Widget composition helpers.
Functions
-
reactiveText(
{String initial = '', List< FormFieldValidator< validators = const []}) → ReactiveField<String> >String> - A convenience builder that creates and validates a string field.
-
screenTypeFor(
double width) → AppScreenType -
Classifies a
widthinto an AppScreenType. -
showActionSheet(
{required BuildContext context, required List< ActionSheetItem> items, String? title, String? subtitle, String? cancelLabel = 'Cancel'}) → Future<int?> - Shows an action sheet with a list of actions.
-
showBottomSheet<
T> ({required BuildContext context, required Widget child, bool isScrollControlled = true, bool isDismissible = true, bool enableDrag = true, bool useSafeArea = true}) → Future< T?> - Shows a modal bottom sheet and returns the sheet widget.
-
showCommandPalette<
T> (BuildContext context, {required List< CommandItem> items, String placeholder = 'Type a command or search…', bool barrierDismissible = true}) → Future<T?> - Shows a modern command palette (Spotlight / Ctrl+K search dialog).
-
showDatePicker(
BuildContext context, {DateTime? initialDate, DateTime? firstDate, DateTime? lastDate, String title = 'Select Date', String? locale}) → Future< DateTime?> - Shows a rich, modern modal bottom sheet date picker styled with Nash UI tokens.
-
showDateRangeDialog(
{required BuildContext context, required DateTime firstDate, required DateTime lastDate, DateTimeRange< DateTime> ? initialDateRange, String? helpText, String? cancelText, String? confirmText}) → Future<DateTimeRange< DateTime> ?> - A styled date range picker following the design system.
-
showDateRangePicker(
{required BuildContext context, DateTime? firstDate, DateTime? lastDate, DateTimeRange< DateTime> ? initialDateRange, DateTimeRange<DateTime> ? initialRange, String title = 'Select Date Range'}) → Future<DateTimeRange< DateTime> ?> - Shows a date range picker modal with quick preset chips (Today, This Week, This Month, etc.).
-
showDialog<
T> ({required BuildContext context, Widget? child, WidgetBuilder? builder, bool barrierDismissible = true, }) → Future< T?> - Shows a themed dialog and returns the dialog widget.
-
showDraggableSheet<
T> ({required BuildContext context, required Widget builder(BuildContext context, ScrollController scrollController), double initialChildSize = 0.5, double minChildSize = 0.25, double maxChildSize = 0.95, List< double> snapSizes = const <double>[0.25, 0.5, 0.95], bool isDismissible = true}) → Future<T?> - Shows a draggable bottom sheet with multiple snap points.
-
showDurationPicker(
{required BuildContext context, Duration initialDuration = Duration.zero, String? helpText}) → Future< Duration?> - A styled duration picker.
-
showNAlertDialog<
T> ({required BuildContext context, required String title, String? message, String? confirmLabel = 'OK', String? cancelLabel, T? confirmValue, T? cancelValue, VoidCallback? onConfirm, Color? confirmColor, AppFeedbackType type = AppFeedbackType.info, bool barrierDismissible = true}) → Future< T?> - Shows an alert dialog and returns the pressed action.
-
showNashDateRangePicker(
BuildContext context, {DateTime? firstDate, DateTime? lastDate, DateTimeRange< DateTime> ? initialDateRange, DateTimeRange<DateTime> ? initialRange, String title = 'Select Date Range'}) → Future<DateTimeRange< DateTime> ?> - Alias for showDateRangePicker with positional context.
-
showNConfirmDialog(
{required BuildContext context, required String title, String? message, String confirmLabel = 'Confirm', String cancelLabel = 'Cancel', VoidCallback? onConfirm, Color? confirmColor, AppFeedbackType type = AppFeedbackType.info}) → Future< bool?> - Shows a confirmation dialog.
-
showNInputDialog(
{required BuildContext context, required String title, String? message, String? initialText, String confirmLabel = 'Save', String cancelLabel = 'Cancel', String? hintText, TextInputType? keyboardType, int maxLines = 1, String? validator(String?)?}) → Future< String?> - Shows an input dialog returning the entered text.
-
showStyledTimePicker(
{required BuildContext context, required TimeOfDay initialTime, String? helpText}) → Future< TimeOfDay?> - A styled time picker following the design system.
-
showTimeRangePicker(
{required BuildContext context, TimeOfDay? startTime, TimeOfDay? endTime, String? helpText}) → Future< TimeRange?>
Typedefs
- AppGap = Gap
- Backwards-compatible alias for Gap.
- FormController = ReactiveFormController
- Alias so consumers can use the shorter idiomatic name.
- NashAppBar = AppBar
- A modern app bar with title, subtitle, actions and optional scroll effects.
- NashBadge = Badge
- A backwards-compatible alias for Badge.
- NashBanner = Banner
- A backwards-compatible alias for Banner.
- NashBottomSheet = BottomSheet
- A backwards-compatible alias for BottomSheet.
- NashCard = Card
- A flexible base card with design-system styling.
- NashCheckbox = Checkbox
- A backwards-compatible alias for Checkbox.
- NashChip = Chip
- A backwards-compatible alias for Chip.
- NashDataColumn = DataColumn
- Column definition for EnhancedDataTable.
- NashDataRow = DataRow
- Row definition for EnhancedDataTable.
- NashDataTable = DataTable
- A simple, styled data table with sorting and row selection support.
- NashDialog = Dialog
- A themed dialog with gradient header and rounded corners.
- NashDirectionText = DirectionText
- A Text widget that automatically applies the correct font from a FontConfig based on the current text direction.
- NashDraggable = Draggable
- A draggable widget wrapper.
- NashExpansionTile = ExpansionTile
- An expandable list tile with custom header, body and smooth animations.
- NashFontConfig = FontConfig
- Flexible font configuration that supports separate fonts for LTR and RTL layouts, using Google Fonts, local asset fonts, or the system font.
- NashForm = Form
- A smart form wrapper that manages validation state, loading state, and focus traversal automatically.
- NashFormTextField = FormTextField
- A backwards-compatible alias for FormTextField.
- NashIconButton = IconButton
- A backwards-compatible alias for IconButton.
- NashListTile = ListTile
- A configurable list tile with leading/trailing widgets and tap feedback.
- A themed Material 3 NavigationRail wrapper.
-
NashPopupMenuItem<
T> = PopupMenuItem< T> - Backwards-compatible alias.
- NashRadio = Radio
- A backwards-compatible alias for Radio.
- NashRangeSlider = RangeSlider
- A backwards-compatible alias for RangeSlider.
- NashSlider = Slider
- A backwards-compatible alias for Slider.
- NashStepper = Stepper
- A step indicator supporting horizontal and vertical layouts with clickable steps, validation states, and content below each step.
- NashSwitch = Switch
- A backwards-compatible alias for Switch.
- NashTab = Tab
- A single tab definition.
- NashTabBar = TabBar
- A modern, animated tab bar with sliding indicator and icons.
- NashTabView = TabView
- A swipeable tab view that animates between pages.
- NashTextButton = TextButton
- A backwards-compatible alias for TextButton.
- NashTextField = TextField
- A themed text field with full form integration (validator + saved value).
- NashTooltip = Tooltip
- A backwards-compatible alias for Tooltip.