Custom Button Kit ๐Ÿš€

A powerful, flexible and production-ready Flutter button library that provides multiple button variants built on top of a single core engine.

This package is designed to help you build a consistent, scalable and reusable button system for your Flutter apps.


โœจ Features

  • โœ… Primary, Outline, Gradient, Danger buttons
  • โœ… Icon-only buttons (filled, outline, gradient)
  • โœ… Loading & disabled states
  • โœ… Left & right icons
  • โœ… Full customization (colors, radius, shadows, borders, decoration)
  • โœ… Safe API with assertions
  • โœ… Clean, extensible architecture
  • โœ… Well-documented & tested

๐Ÿ“ฆ Installation

flutter pub add custom_button

or

dependencies:
  your_package_name: ^1.0.0

๐Ÿš€ Basic Usage
import 'package:your_package_name/your_package_name.dart';

    PrimaryButton(
     text: "Save",
     onTap: () {},
    );


    
๐Ÿงฉ Button Variants

    Primary Button

        PrimaryButton(
          text: "Continue",
          onTap: () {},
         );

    Outline Button

        OutlineButton(
         text: "Cancel",
         onTap: () {},
        );
    Gradient Button
        GradientButton(
         text: "Upgrade",
         gradient: LinearGradient(colors: [Colors.purple, Colors.blue]),
         onTap: () {},
        );

    Danger Button
        DangerButton(
         text: "Delete",
         onTap: () {},
        );

๐Ÿงฟ Icon Buttons
        IconOnlyButton(
         icon: Icon(Icons.edit),
         onTap: () {},
        );

        OutlineIconButton(
         icon: Icon(Icons.delete),
         onTap: () {},
        );

        GradientIconButton(
         icon: Icon(Icons.add),
         gradient: LinearGradient(colors: [Colors.green, Colors.blue]),
         onTap: () {},
        );


โณ Loading & Disabled
        PrimaryButton(
         text: "Saving...",
         isLoading: true,
         onTap: () {},
        );

        PrimaryButton(
         text: "Submit",
         enabled: false,
         onTap: () {},
        );



๐Ÿ“ฑ Example App

    A full component gallery is included inside the /example folder.

    Run it using:

    cd example
    flutter run

๐Ÿงช Testing
    flutter test

๐Ÿค Contributing

    Contributions, issues, and feature requests are welcome!