πŸ“± code_nest_ui

code_nest_ui is a Flutter package providing a set of reusable and customizable UI components. It helps developers quickly build modern, clean, and responsive user interfaces in their Flutter applications.


✨ Features

  • Beautiful pre-styled widgets
  • Consistent design system
  • Easy-to-integrate components
  • Fully responsive and theme-friendly

πŸ–ΌοΈ CodeNest Validators

πŸ“§ Email Validator

Validates a well-formed email input field.

Email Validator


πŸ” Password Validator

Checks for minimum length and optionally special characters.

Password Validator


🧍 Username Validator

Ensures username is not empty and meets length requirements.

Username Validator


πŸ”’ Number Validator

Accepts only numeric values as input.

Number Validator


πŸ”‘ PIN Validator

Validates a 4- or 6-digit numeric PIN input.

PIN Validator


🌐 URL Validator

Checks if the input is a valid URL.

URL Validator


🧱 CodeNest Spacers

code_nest_ui provides handy spacer widgets to improve layout readability and maintain consistent spacing across your app UI.

↕️ CodeNestVerticalSpacer

Adds vertical space between widgets.

Vertical Spacer


↔️ CodeNestHorizontalSpacer

Adds horizontal space between widgets.

Horizontal Spacer


πŸ”” SnackBar Utilities – Success & Failure Toasts

The code_nest_ui package includes quick and easy utilities to show consistent feedback to users using Flutter's SnackBar.

βœ… Success SnackBar

Use this to notify users of a successful action (e.g., form submitted, data saved).

Success Snack Bar


❌ Failure SnackBar

Use this to indicate an error or failed operation (e.g., validation failed, network error).

Failure Snack Bar


πŸ“‹ CodeNestLogger

The code_nest_ui package includes lightweight, categorized logging utilities to help you debug, trace responses, and monitor app behavior consistently.

Use these loggers throughout your app to improve visibility during development or debugging.

❌ Error Logger

Logs critical errors such as exceptions, failures, or crashes.

Error Logger


ℹ️ Info Logger

Logs general-purpose messages for debugging or tracking flow.

Info Logger


πŸ” Response Logger

Logs formatted API or service responses (JSON, status codes, etc.).

Response Logger


⚠️ Warning Logger

Logs non-critical issues that may need attention (e.g., deprecated API usage, retry needed).

Warning Logger


πŸ“ Typography – CodeNestText

The CodeNestText widget in code_nest_ui makes it easy to apply consistent, customizable, and styled text across your Flutter application.


πŸ”€ Normal Text

Displays styled plain text with support for font size, color, weight, and alignment.

Normal Text


🧩 Rich Text

Displays multiple text spans with varied styles in a single line or paragraph.

Rich Text


πŸ–‹οΈ Outlined Text

Shows text with a stroke (outline) effect, great for bold headers or banner text.

Text Outlined


πŸ’¬ CodeNestTooltip

The CodeNestTooltip widget enhances accessibility and UX by providing helpful hover or long-press messages on any UI element.

Use it to show contextual information, labels, or descriptions without cluttering your layout.


πŸ› οΈ ToolTip

Displays helpful text when the user hovers (web/desktop) or long-presses (mobile) on a widget.

ToolTip


πŸ”˜ CodeNestSwitch

The CodeNestSwitch widget provides a reusable and consistent toggle switch UI for enabling or disabling settings, toggles, and preferences across your app.

It wraps Flutter's native Switch widget but adds support for cleaner syntax and design-system consistency.


πŸ”³ Switch

Use the switch to represent on/off states like dark mode, notifications, etc.

Switch


🧭 CodeNest UI Navigation

The code_nest_ui package provides a collection of pre-styled, reusable navigation widgets that help structure and navigate your app seamlessly across mobile, tablet, and desktop platforms.


🧱 CodeNestAppBar

A consistent top app bar across screens.

App Bar


🧱 CodeNestBottomNavBar

A tab-like bottom navigation for switching main sections.

Bottom Nav Bar


🧱 CodeNestDrawer

A collapsible side drawer for secondary or grouped items.

Drawer


🧱 CodeNestNavigationBar (Material 3)

A Material You navigation bar with active indicators.

Navigation Bar


🧱 CodeNestNavigationRail

A side-positioned navigation rail for large screens.

Navigation Rail


🧱 CodeNestTabBar

A top-positioned tab bar for switching between content sections.

Tab Bar


πŸ–ΌοΈ CodeNestImage

The code_nest_ui package provides multiple image handling widgets that make it easy to display images from local assets, network sources, SVGs, and cached content with graceful fallbacks and styling.


πŸ“¦ Asset Image

Display images stored locally in your app's assets folder.

Asset Image


🌐 Network Image

Display a basic image from a URL.

Network Image


⚑ Cached Network Image

Display network images with caching and loading placeholder/fallback support.

Cached Network Image


🧾 SVG Image

Render SVG images from assets or network.

SVG Image


πŸ”„ CodeNestLoaders

The code_nest_ui package includes beautiful and reusable loading widgets to indicate progress, waiting states, or content placeholders across your app.


πŸ”˜ Circular Progress Loader

A customizable circular loading indicator.

Circular Loader


✨ Shimmer Loader

Displays animated placeholders using a shimmer effect.

Shimmer Loader


🎞️ CodeNestLottieAnimations

code_nest_ui includes pre-configured animation widgets using Lottie to add beautiful, lightweight, vector-based animations to your Flutter app.


🎨 Lottie Asset Animation

Plays a .json Lottie file from your local assets/ directory.

Lottie Asset Animation


🎨 Lottie Network Animation

Plays a .json Lottie animation from a network URL.

Lottie Network Animation


πŸ”˜ CodeNestButtons

The code_nest_ui package provides a collection of pre-styled and reusable button components designed for speed, consistency, and customization.


πŸ”Ή Filled Button

A high-emphasis button for primary actions.

Filled Button


πŸ”Ή Filled Icon Button

A filled button with an icon and label.

Filled Icon Button


πŸ”Ή Icon Button (Material)

Simple tappable icon using Material icons.

Icon Button (Material)


πŸ”Ή Icon Button (SVG)

Tappable icon button with an SVG icon.

Icon Button (SVG)


🟦 Outlined Button

A low-emphasis action button with a border.

Outlined Button


🟦 Icon Outlined Button

An outlined button with an icon and label.

Icon Outlined Button


🟦 Icon Outlined Button (SVG)

An outlined button with an SVG icon and label.

Icon Outlined Button (SVG)


🧩 Segmented Button

A set of mutually exclusive or multi-select button segments.

Segmented Button


βž– CodeNestDivider

The code_nest_ui package offers a set of customizable dividers to visually separate content and improve layout clarity.


🟫 Solid Horizontal Divider

A classic horizontal line divider with customizable thickness, color, and margin.

Solid Horizontal Divider


πŸŸͺ Dashed Vertical Divider

A vertical dashed line, often used between two sections in a Row.

Dashed Vertical Divider


πŸŸͺ Dotted Divider

A dotted horizontal line to subtly separate sections.

Dotted Divider


πŸ“¦ CodeNestContainer

CodeNestContainer is a flexible, reusable layout widget that wraps Flutter's Container with enhanced customization options. It helps maintain consistency in spacing, decoration, and theming across your app.


πŸŸͺ Container

Best for: wrapping content, sections, cards, buttons, headers.

Container


πŸ“ CodeNestFormField

The code_nest_ui package provides beautifully styled, reusable form fields to speed up form creation and enforce design consistency.


πŸ”€ Text Form Field

A customizable input field for single-line text input.

Text Form Field


πŸ”½ Dropdown Form Field

A dropdown selector styled like a text field.

Dropdown Text Form Field


πŸ“„ Multi-line Text Form Field

A multi-line input field for longer text.

Multi-line Text Form Field


πŸ” Password Text Form Field

A secure text field with toggle visibility.

Password Text Form Field


πŸ“† Picker Text Form Field

A read-only input that opens a picker (e.g., date, time, custom selection).

Picker Text Form Field


πŸš€ Getting Started

To use this package, add the following to your pubspec.yaml:

dependencies:
  code_nest_ui: ^0.0.8

Then run:

flutter pub get

πŸ“š Usage Example

import 'package:flutter/material.dart';
import 'package:code_nest_ui/code_nest_ui.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: CodeNestAppBar(
          title: 'CodeNest UI Demo',
        ),
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              CodeNestText(
                text: 'Welcome to CodeNest UI!',
                style: TextStyle(
                  fontSize: 24,
                  fontWeight: FontWeight.bold,
                ),
              ),
              CodeNestVerticalSpacer(height: 20),
              CodeNestTextFormField(
                labelText: 'Enter your email',
                validator: CodeNestValidators.email,
              ),
              CodeNestVerticalSpacer(height: 16),
              CodeNestFilledButton(
                text: 'Get Started',
                onPressed: () {
                  CodeNestSnackBar.showSuccess(
                    context,
                    'Welcome to CodeNest UI!',
                  );
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

🎨 Customization

All CodeNest UI components are fully customizable and follow Flutter's theming system. You can customize colors, fonts, and styling to match your app's design.

// Example: Custom button styling
CodeNestFilledButton(
  text: 'Custom Button',
  backgroundColor: Colors.purple,
  textColor: Colors.white,
  borderRadius: 12.0,
  onPressed: () {},
)

πŸ“– Documentation

For detailed documentation and API reference, visit our documentation site.

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ› Issues

If you encounter any issues or have suggestions, please open an issue on GitHub.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Imran - GitHub

🌟 Support

If you like this package, please give it a ⭐ on GitHub and πŸ‘ on pub.flutter-io.cn!

πŸ“§ Contact

For questions or support, feel free to reach out:


Happy Coding with CodeNest UI! πŸš€

Libraries

animations/code_nest_animations_exports
animations/code_nest_lottie_asset_animation
animations/code_nest_lottie_network_animation
buttons/code_nest_btn_exports
buttons/code_nest_filled_btn
buttons/code_nest_floating_action_btn
buttons/code_nest_icon_btn
buttons/code_nest_icon_filled_btn
buttons/code_nest_icon_outlined_btn
buttons/code_nest_outlined_btn
buttons/code_nest_segmented_btn
buttons/code_nest_text_btn
chips/code_nest_action_chip
chips/code_nest_chip
chips/code_nest_chip_exports
chips/code_nest_choice_chip
chips/code_nest_filter_chip
chips/code_nest_input_chip
code_nest_ui
container/code_nest_container
container/code_nest_container_exports
divider/code_nest_divider
divider/code_nest_divider_exports
forms/code_nest_drop_down_text_form_field
forms/code_nest_forms_exports
forms/code_nest_multi_line_text_form_field
forms/code_nest_password_text_form_field
forms/code_nest_picker_text_form_field
forms/code_nest_text_form_field
images/code_nest_asset_image
images/code_nest_cached_network_image
images/code_nest_images_exports
images/code_nest_network_image
images/code_nest_svg_image
loaders/code_nest_circular_progress_loader
loaders/code_nest_loaders_exports
loaders/code_nest_shimmer_loader
logger/code_nest_logger
logger/code_nest_logger_exports
nav/code_nest_app_bar
nav/code_nest_bottom_nav
nav/code_nest_drawer
nav/code_nest_nav_exports
nav/code_nest_navigation_bar
nav/code_nest_navigation_rail
nav/code_nest_tab_bar
snack_bar/code_nest_failure_snack_bar
snack_bar/code_nest_snack_bar_exports
snack_bar/code_nest_success_snack_bar
snack_bar/code_nest_warning_snack_bar
spacer/code_nest_spacer
spacer/code_nest_spacer_exports
switch /code_nest_adaptive_switch
switch /code_nest_adaptive_switch_exports
texts/code_nest_rich_text
texts/code_nest_text
texts/code_nest_text_outlined
texts/code_nest_texts_exports
tool_tips/code_nest_tool_tip
tool_tips/code_nest_tool_tip_exports
validators/code_nest_validators
validators/code_nest_validators_exports