gnums utility widgets

Package for custom GN widgets for development.


Features

  • Easy to use GN custom widgets.
  • Fully Customizable.
  • Focus on making code robust through all projects.

Installation

Add the following line to your pubspec.yaml file:

dependencies:
  gnums_utility_widgets: ^latest_version

Then run:

flutter pub get

Widget Demos

GNTextFormField

GNTextFormField is a customizable text field widget with options for prefix icons and more.

GNTextFormField(
  controller: controller,
  isPrefixIcon: true,
);

GNTabbar

GNTabbar is a customizable Tabbar for easy to use implementation in flutter.

GNTabbar Has three required fields: tabController, tabs, tabView.

tabController: Give TabController to Tabbar with length defined.

tab: List of TabItem Widget, TabItem contains tabTitle, isDisplayCount which when true displays the count next to title and give listItemCount count which needs to be displayed.

tabView: List of Widgets in Corresponding to tabs, no. of tabs and widgets in tabView must be same.

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

class TabbarDemo extends StatefulWidget {
  const TabbarDemo();

  @override
  State<TabbarDemo> createState() => _TabbarDemoState();
}

class _TabbarDemoState extends State<TabbarDemo> with SingleTickerProviderStateMixin {
  late TabController tabController = TabController(length: 2, vsync: this);

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      appBarTitle: "Tabbar Demo",
      body: GNTabBar(
        tabController: tabController,
        tab: [
          TabItem(tabTitle: "Tab 1"),
          TabItem(
            tabTitle: "Tab 2",
            isDisplayCount: true,
            listItemCount: "20",
          ),
        ],
        tabView: [
          Center(
            child: GNMediumTextWidget(
              title: "Tab 1",
            ),
          ),

          Center(
            child: GNMediumTextWidget(
              title: "Tab 2",
            ),
          ),
        ],
      ),
    );
  }
}

GNTextWidgets

GNBoldWidget, GNSemiBoldWidget, GNMediumTextWidget, GNRegularTextWidget, GNLightTextWidget

GNBoldTextWidget(
  title: "Bold Text Widget",
),
GNSemiBoldWidget(
title: "Semi Bold Text Widget",
),
GNMediumTextWidget(
title: "Medium Text Widget",
),
GNRegularTextWidget(
title: "Regular Text Widget",
),
GNLightTextWidget(
  title: "Light Text Widget",
),
GNTextFormField(
  controller: controller,
  isPrefixIcon: true,
);

GNDownloadButton

GNDownloadButton is a simple and customizable download button.

GNDownloadButton(
  url: 'https://example.com/file.pdf',
);

GNActionIconButton

GNActionIconButton is a compact and customizable button widget with an icon and label.

GNActionIconButton(
  label: 'Edit',
  icon: Icons.edit,
  color: Colors.blue,
  onPressed: () {
    // Handle action
  },
);

GNIconButton

GNIconButton is a simple, circular icon button with customizable properties.

GNIconButton(
  icon: Icons.add,
  onPressed: () {
    // Handle button tap
  },
);

GNElevatedButton

GNElevatedButton is an elevated button with customizable properties.

GNElevatedButton(
title: "Save",
onPressed: () {},
);

GNTextButton

GNTextButton is an TextButton with customizable properties.

GNTextButton(
title: "Save",
onPressed: () {},
);

GNOutlinedButton

GNOutlinedButton is an Outlined Button with customizable properties.

GNOutlinedButton(
title: "Save",
onPressed: () {},
);

GNRadioButton

GNRadioButton is a flexible and customizable radio button widget for Flutter.

Give String title for each radio button and it must have corresponding value in value list.

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/gnums_utility_widgets.dart';
import 'package:sizer/sizer.dart';

class RadioButtonDemo extends StatefulWidget {
  @override
  _RadioButtonDemoState createState() => _RadioButtonDemoState();
}

class _RadioButtonDemoState extends State<RadioButtonDemo> {
  String selectedValue = 'Option 1';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('GNRadioButton Demo')),
      body: Center(
        child: GNRadioButton(
          title: ['Option 1', 'Option 2', 'Option 3'],
          value: ['Option 1', 'Option 2', 'Option 3'],
          groupValue: selectedValue,
          onChange: (value) {
            setState(() {
              selectedValue = value!;
            });
          },
          radioButtonColor: Colors.blue,
        ),
      ),
    );
  }
}

GNCheckbox

GNCheckbox is a flexible and customizable check box widget for Flutter.

Give different value for each checkbox . Wrap with Obx or write setState((){}) in onChange to see UI changes.

  GNCheckbox(
    value: value,
    onChanged: (value) {
    this.value = value!;
    },
  )

GNBottomSheet

GNBottomSheet is easy to use bottom sheet.

Use showBottomSheet method to show bottomsheet.

    GNBottomSheet.showBottomSheet(
      title: "Filter", 
      content: [],
    );

GNPopupDialog

GNPopupDialog is easy to use pop up dialog. Use showPopupDialog method to show pop up dialog.

   GNPopupDialog.showPopupDialog(
      title: "PopUp Dialog", 
      content: [],
    );

GNSnackBar

GNSnackBar is easy to use customizable SnackBar. Use show method to show SnackBar.

   GNSnackBar.show(
      icon: Icons.check,
    message: "This is SnackBar"
    );

GNExpansionTile

GNExpansionTile is easy to use customizable ExpansionTile.

Give expansion widgets in expandedWidget list.

   GNExpansionTile(
      expandedWidget: [
          GNRegularTextWidget(
          title: "Subtitle",
        ),
          GNRegularTextWidget(
          title: "Subtitle",
        ),
           GNRegularTextWidget(
           title: "Subtitle",
        ),
            GNRegularTextWidget(
            title: "Subtitle",
         )
        ],
         tileTitle: GNBoldTextWidget(
            title: "Expansion Tile 1",
        ),
    )

GNFileUploadWidget

GNFileUploadWidget is a easy to use widget for file upload.

First Define Three variables :

isFileUpload : To Check if file is uploaded when clicked on save button.

isValid : To Check if selected file is valid or invalid,

file : To access file in your page.

isPhotoUpload when true it opens camera to click single photo.

isPhotoUpload when false it opens auto-capture document camera.

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/buttons/gn_elevated_button.dart';
import 'package:gnums_utility_widgets/common_widgets/gn_custom_scaffold.dart';
import 'package:gnums_utility_widgets/file_upload/gn_file_upload.dart';
import 'package:sizer/sizer.dart';

class FileUploadDemo extends StatefulWidget {
  const FileUploadDemo();

  @override
  State<FileUploadDemo> createState() => _FileUploadDemoState();
}

class _FileUploadDemoState extends State<FileUploadDemo> {
  bool isFileUpload = true;
  bool isValid = true;
  File? file;
  GlobalKey<FormState> formKey = GlobalKey();

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      appBarTitle: "File Upload",
      body: Form(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            GNFileUploadWidget(
              isFileUploaded: isFileUpload,
              maxSizeInMB: 1,
               isPhotoUpload: true,
              isRequired:true,
              onFileSelected: (File? file, bool? isValidFile) {
                this.file = file;
                isValid = isValidFile!;
              },
            ),
            SizedBox(
              height:  1.h,
            ),
            GNElevatedButton(
              title: "Save",
              onPressed: () {
                if ((file != null) && isValid) {
                  isFileUpload = true;
                } else {
                  isFileUpload = false;
                }
                setState(() {});
              },
            )
          ],
        ),
      ),
    );
  }
}

GNCustomBottomSheetDropdownAutoSearch

GNCustomBottomSheetDropdownAutoSearch is a easy to use dropdown which opens bottomsheet.

Give your list in initialList.

Write filter logic in filter , which is used in search field in bottomsheet.

Give option widgets in itemBuilder , using DropDownMenuItem highly recommended for accessing some functionality.

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/common_widgets/gn_custom_scaffold.dart';
import 'package:gnums_utility_widgets/dropdown/custom_autoSearch_bottomSheet_dropDown.dart';

class DropdownDemo extends StatefulWidget {
  DropdownDemo();

  @override
  State<DropdownDemo> createState() => _DropdownDemoState();
}

class _DropdownDemoState extends State<DropdownDemo> {
  List<String> list = [
    'Option 1',
    'Option 2',
    'Option 3',
    'Option 4',
  ];

  String selectedName = '';

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      appBarTitle: "Dropdown Demo",
      body: Column(
        children: [
          GNCustomBottomSheetDropdownAutoSearch<String>(
              initialList: list,
              filter: (query) {
                return list
                    .where(
                      (element) => element == query,
                )
                    .toList();
              },
              onItemSelected: (value) {
                selectedName = value.toString();
                setState(() {});
              },
              isRequired: true,
              label: "Options",
              itemBuilder: (String item) {
                return DropDownMenuItem(
                  value: item,
                  isSelected: item == selectedName,
                  displayName: item,
                );
              },
              hintText: "Select Option",
              displayName: selectedName,
              bottomSheetHeaderTitle: "Dropdown")
        ],
      ),
    );
  }
}

GNDateSelect

GNDateSelect is a widget for selecting single date.

    GNDateSelect(
      controller: controller,
      onDateSelected: (date) {},
    )

GNTimeSelect

GNTimeSelect is a widget for selecting single time.

    GNTimeSelect(
      controller: timeController,
      onTimeSelected: (time) {},
    )

GNDateRangeSelect

GNDateRangeSelect is a widget for selecting only date range.

Define a variable dateList to access date range in your screen.

dateList will contain startDate and endDate at index 0 and 1 respectively.

    GNDateRangeSelect(
      dateTimeRangeList: dateList,
      onDateSelected: (List<DateTime>? dateTimeList) {
          this.dateList = dateTimeList;
        },
    )

GNDateTimeRangeSelect

GNDateTimeRangeSelect is a widget for selecting date & time range.

Define two variable startDateTime, endDateTime to access DateTime range in your screen.

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/gnums_utility_widgets.dart';
import 'package:sizer/sizer.dart';

class DateTimeDemo extends StatelessWidget {
  DateTimeDemo();
  DateTime? startDateTime;
  DateTime? endDateTime;

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      appBarTitle: "Date Time Demo",
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          GNBoldTextWidget(
            title: "Select Date Time Range",
          ),
          SizedBox(height: 1.h),
          GNDateTimeRangeSelect(
            onDateSelected: (startDateTime, endDateTime) {
              this.startDateTime = startDateTime;
              this.endDateTime = endDateTime;
            },
          ),
        ],
      ),
    );
  }
}

GNNoDataFound

GNNoDataFound is a widget for displaying short messages when there is no data.

    GNNoDataFound(
    message: "No Data, Check after sometime",
)

GNStatusView

GNStatusView is a widget for displaying status like pending, approved, reject etc., color will be assigned automatically based on status.

    GNStatusView(
      title: "Completed",
    )

GNDotSeparator

GNDotSeparator is a widget for Separating two widgets using dot.

    GNDotSeparator(
      color: Colors.black38,
    )

GNCustomCard

GNCustomCard is Custom Card widget which is customizable.

It contains fields like: elevation, child, bgColor, etc.

    GNCustomCard(
      title: "This is Card",
    )

GNToolTip

GNToolTip is a Tool Tip for displaying short messages when tapped on a widget.

    GNToolTip(
      content: GNSemiBoldTextWidget(
      title: "This is tool tip...",
      fontsize: 9.sp,
     ),
      child: Icon(Icons.info),
    )

GNLinearProgressIndicator

GNLinearProgressIndicator is Used to display progress with linear progress bar.

GNLinearProgressIndicator(
  value: 80,
  minAttendancePercentage: 75,
  isAnimate: true,
),

GNBusPass

GNBusPass is Used to display bus pass, by giving certain information it will display the card.

 GNBusPass(
    imageUrl: "url",
    registrationStatusName: "Active",
    busPassNo: "001/002",
    fullName: "Mehul Bhundiya",
    registrationNo: "25020224",
    boardingPointName: "KKV chowk Rajkot",
    routeName: "Home to  University Campus",
    transportDate: "02-01-2025",
    cityName: "Mumbai",
    showDateTime: true,
    feesAmount: "25000",
    feesOutstandingAmount: "100",
    feesPaidAmount: "24000",
    isFeeDetail: true,
)

GNNotificationCard

GNNotificationCard is Used to display notifications, by giving certain information it will display the notification with link and button to download the document.

 GNNotificationCard(
    notificationType: "Admission",
    fromDate: DateTime.now().toString(),
    notificationDownloadLink: "https://www.google.com",
    notificationRedirectURL: "https://www.google.com",
    notificationMessageLong:
    "This is a very long description of this notification which is sended for testing the widget. This widget will be live on pub.dev under name gnums_utility_widgets.",
)

GNCircularCard

GNCircularCard is Used to display Circular, by giving certain information it will display the Circular with button to download the document.

 GNCircularCard(
    number: "01",
    title: "Holiday List",
    message:
    "Holiday List is given below download it.Holiday List is given below download it.Holiday List is given below download it.Holiday List is given below download it.  ",
    date: DateTime.now().toString(),
    downloadLink: " ",
)

GNDialogs

GNDialogs provides default dialogs for all purpose. These dialogs are:

showDialog, showExitDialog, showDataLostDialog, showDialogWithTextFormField, showDialogOneButton, showAddDialog, showUpdateDialog, showDeleteDialog,

GNDialogs.showDialog(title: "Custom", message: "This is Custom Dialog", yes: "Yes", no: "No", callback: () {});

 GNDialogs.showExitDialog(callback: () {});
GNDialogs.showDataLostDialog(callback: () {});
   GNDialogs.showDialogWithTextFormField(
      title: "Dialog With Text Field",
      hintText: "Search",
      controller: TextEditingController(),
      formKey: GlobalKey(),
      isRequired: true,
      onSubmit: (p0) {},
  );
GNDialogs.showDialogOneButton(title: "One Button", message: "This only has one button", yes: "OK", callback: () {});

 GNDialogs.showAddDialog(callback: () {});
 GNDialogs.showUpdateDialog(callback: () {});
  GNDialogs.showDeleteDialog(callback: () {});

GNCustomChip

GNCustomChip is Used to display Chip, it must have same no of chipLabels and screen.

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

class ChipDemo extends StatelessWidget {
  const ChipDemo();

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      appBarTitle: "Chip Demo",
      body: Column(
        children: [
          Expanded(
            child: GNCustomChip(
              isChipCenter: false,
              chipLabels: [
                "Chip 1  (1)",
                "Chip 2  (1)",
                "Chip 3  (1)",
                "Chip 4  (1)",
                "Chip 5  (1)",
              ],
              screens: [
                Center(
                  child: Container(
                    child: GNSemiBoldTextWidget(
                      title: "1",
                    ),
                  ),
                ),
                Center(
                  child: Container(
                    child: GNSemiBoldTextWidget(
                      title: "2",
                    ),
                  ),
                ),
                Center(
                  child: Container(
                    child: GNSemiBoldTextWidget(
                      title: "3",
                    ),
                  ),
                ),
                Center(
                  child: Container(
                    child: GNSemiBoldTextWidget(
                      title: "4",
                    ),
                  ),
                ),
                Center(
                  child: Container(
                    child: GNSemiBoldTextWidget(
                      title: "5",
                    ),
                  ),
                ),
              ],
            ),
          )
        ],
      ),
    );
  }
}

GNFocusedMenu

GNFocusedMenu(
    titles: [
      GNMediumTextWidget(
      title: "Hint",
    ),
       GNSemiBoldTextWidget(
       title: 'Delete',
    ),
       GNMediumTextWidget(
        title: 'Share',
    )
    ],
    icons: [Icon(Icons.edit), Icon(Icons.delete), Icon(Icons.share)],
    functions: [
    () => print('Edit action tapped'),
    () => print('Delete action tapped'),
    () => print('Share action tapped'),
    ],
    child: SizedBox(
       height: 100,
        width: 100,
           child: GNCustomCard(
              child: Center(
                child: GNBoldTextWidget(
                  title: "TAP",
                ),
               ),
            ),
        ),
    ),

GNAppPermission

Make sure to add user permission in AndroidManifest.xml

requestPermission, requestMultiplePermissions,

 GNAppPermission.requestPermission(permission: Permission.camera);
 GNAppPermission.requestMultiplePermissions(permissionList: [Permission.contacts, Permission.location]);

GNShare

shareServerDocumentToWhatsApp, shareLocalDocumentToWhatsApp,shareLocalDocumentToExternalApp, shareServerDocumentToExternalApp,

GNShare.shareServerDocumentToWhatsApp(documentList: [
        DocumentModel(
        documentPath: "abc.pdf")
], phoneNumber: "1234567890");
  GNShare.shareLocalDocumentToWhatsApp(phoneNumber: "1234567890");

 GNShare.shareLocalDocumentToExternalApp();
  GNShare.shareServerDocumentToExternalApp(
      documentList: [
      DocumentModel(
      documentPath: "abc.pdf")
      ],
);

GNCharts

GNCartesianChartWidget, GNCircularChartWidget

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/gnums_utility_widgets.dart';
import 'package:sizer/sizer.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class ChartDemo extends StatelessWidget {
  const ChartDemo();

  @override
  Widget build(BuildContext context) {
    // Sample data for the chart
    final List<ChartData> data = [
      ChartData(x: 'Jan', y: 20, color: Colors.red),
      ChartData(x: 'Feb', y: 40, color: Colors.green),
      ChartData(x: 'Mar', y: 30, color: Colors.blue),
      ChartData(x: 'Apr', y: 50, color: Colors.purple),
      ChartData(x: 'May', y: 60, color: Colors.orange),
    ];

    // Creating a bar series
    final List<CartesianSeries<ChartData, String>> series = [
      ColumnSeries<ChartData, String>(
        dataSource: data,
        xValueMapper: (ChartData data, _) => data.x,
        yValueMapper: (ChartData data, _) => data.y,
        name: 'Sales',
        color: Colors.blue,
      ),
    ];


    return GNCustomScaffold(
      appBarTitle: "Chart Demo",
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            GNBoldTextWidget(
              title: "Cartesian Chart",
            ),
            SizedBox(
              height: 1.h,
            ),
            GNCartesianChartWidget(
              primaryChartXAxis: CategoryAxis(),
              primaryChartYAxis: NumericAxis(),
              chartTitle: ChartTitle(text: 'Monthly Sales Analysis'),
              chartLegend: Legend(
                isVisible: true,
                position: LegendPosition.bottom,
              ),
              cartesianSeriesList: series,
              chartBgColor: Colors.white,
              chartBorderColor: Colors.grey,
              chartBorderWidth: 2,
              chartMargin: const EdgeInsets.all(10),
              chartToolTipBehavior: TooltipBehavior(enable: true),
            ),

          ],
        ),
      ),
    );
  }
}

import 'package:flutter/material.dart';
import 'package:gnums_utility_widgets/gnums_utility_widgets.dart';
import 'package:sizer/sizer.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

class ChartDemo extends StatelessWidget {
  const ChartDemo();

  @override
  Widget build(BuildContext context) {
    // Sample data for the chart

    final List<ChartData> data = [
      ChartData(x: 'Food', y: 35, color: Colors.red),
      ChartData(x: 'Transport', y: 28, color: Colors.green),
      ChartData(x: 'Rent', y: 34, color: Colors.blue),
      ChartData(x: 'Utilities', y: 10, color: Colors.yellow),
      ChartData(x: 'Other', y: 15, color: Colors.purple),
    ];

    final List<CircularSeries<ChartData, String>> seriesCircular = [
      PieSeries<ChartData, String>(
        dataSource: data,
        xValueMapper: (ChartData data, _) => data.x,
        yValueMapper: (ChartData data, _) => data.y,
        pointColorMapper: (ChartData data, _) => data.color,
        dataLabelMapper: (ChartData data, _) => '${data.x}: ${data.y}%',
        dataLabelSettings: const DataLabelSettings(isVisible: true),
      ),
    ];

    return GNCustomScaffold(
      appBarTitle: "Chart Demo",
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            GNBoldTextWidget(
              title: "Circular Chart",
            ),
            SizedBox(
              height: 1.h,
            ),
            Flexible(
              child: GNCircularChartWidget(
                series: seriesCircular,
                title: ChartTitle(text: 'Monthly Expenses'),
                legend: Legend(
                  isVisible: true,
                  position: LegendPosition.bottom,
                ),
                tooltipBehavior: TooltipBehavior(enable: true),
                borderColor: Colors.grey,
                borderWidth: 2,
                backgroundColor: Colors.white,
              ),
            )
          ],
        ),
      ),
    );
  }
}

GNSliverAppbar

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

class SliverAppBarDemo extends StatelessWidget {
  const SliverAppBarDemo();

  @override
  Widget build(BuildContext context) {
    return GNCustomScaffold(
      padding: EdgeInsets.zero,
      body: GNSliverAppbar(
        pinned: true,
        floating: true,
        snap: true,
        expandedHeight: 250.0,
        backgroundColor: Colors.black,
        title: const Text('Sliver AppBar Demo'),
        centerTitle: true,
        flexibleSpace: Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Padding(
              padding: const EdgeInsets.all(8.0),
              child: Image.asset(
                'assets/images/ic_avatar.png', // Replace with a valid asset image path
                height: 130,
              ),
            ),
          ],
        ),
        actions: [
          IconButton(
            icon: const Icon(Icons.search),
            onPressed: () {
              // Action for search
            },
          ),
          IconButton(
            icon: const Icon(Icons.more_vert),
            onPressed: () {
              // Action for more options
            },
          ),
        ],
        sliverWidgets: [
          SliverList(
            delegate: SliverChildBuilderDelegate(
                  (context, index) {
                return ListTile(
                  title: Text('Item $index'),
                );
              },
              childCount: 30, // Number of items in the list
            ),
          ),
        ],
      ),
    );
  }
}

Happy coding! 🎉

Libraries

applock/app_lock_toggle_button
applock/app_state
applock/auth_screen
applock/custom_app_lock
applock/preferences
bottomsheet/gn_bottom_sheet
bottomsheet/gn_custom_bottom_sheet
bottomsheet/gn_multiselect_filter
buttons/gn_action_icon_button
buttons/gn_custom_icon_btn
buttons/gn_download_button
buttons/gn_elevated_button
buttons/gn_outline_button
buttons/gn_text_button
camera/gn_camera_view
camera/gn_image_preview
charts/chart_data
charts/gn_cartesian_chart_widget
charts/gn_circular_chart_widget
circular/gn_circular_card
common_share/document_model
common_share/gn_share
common_widgets/gn_checkbox
common_widgets/gn_checkbox_with_text
common_widgets/gn_chip
common_widgets/gn_custom_card
common_widgets/gn_custom_scaffold
common_widgets/gn_dot_seperator
common_widgets/gn_focus_menu
common_widgets/gn_no_data_found
common_widgets/gn_progress_indicator
common_widgets/gn_radio_button
common_widgets/gn_snackbar
common_widgets/gn_status_view
common_widgets/gn_tool_tip
common_widgets/gn_transport_card
date_time/date_controller
date_time/gn_custom_date_widget
date_time/gn_date_range_select
date_time/gn_date_select
date_time/gn_date_time_range_select
date_time/gn_omni_date_picker/omni_datetime_picker
date_time/gn_omni_date_picker/src/bloc/omni_datetime_picker_bloc
date_time/gn_omni_date_picker/src/components/button_row
date_time/gn_omni_date_picker/src/components/calendar/calendar
date_time/gn_omni_date_picker/src/components/calendar/flutter_calendar
date_time/gn_omni_date_picker/src/components/custom_scroll_behavior
date_time/gn_omni_date_picker/src/components/custom_tab_view
date_time/gn_omni_date_picker/src/components/range_tab_bar
date_time/gn_omni_date_picker/src/components/time_picker_spinner/bloc/time_picker_spinner_bloc
date_time/gn_omni_date_picker/src/components/time_picker_spinner/bloc/utils
date_time/gn_omni_date_picker/src/components/time_picker_spinner/time_picker_spinner
date_time/gn_omni_date_picker/src/enums/default_tab
date_time/gn_omni_date_picker/src/enums/omni_datetime_picker_type
date_time/gn_omni_date_picker/src/omni_datetime_picker
date_time/gn_omni_date_picker/src/omni_datetime_picker_dialogs
date_time/gn_omni_date_picker/src/prebuilt_dialogs/range_picker_dialog
date_time/gn_omni_date_picker/src/prebuilt_dialogs/single_picker_dialog
date_time/gn_omni_date_picker/src/utils/date_time_extensions
date_time/gn_select_datetime_dialog
date_time/gn_select_time
dependencies/ai_barcode_scanner/ai_barcode_scanner
dependencies/ai_barcode_scanner/src/ai_barcode_scanner
dependencies/ai_barcode_scanner/src/draggable_sheet
dependencies/ai_barcode_scanner/src/error_builder
dependencies/ai_barcode_scanner/src/overlay
dependencies/animated_custom_dropdown/custom_dropdown
dependencies/badges/badges
dependencies/badges/src/badge
dependencies/badges/src/badge_animation
dependencies/badges/src/badge_animation_type
dependencies/badges/src/badge_border_gradient
dependencies/badges/src/badge_gradient
dependencies/badges/src/badge_gradient_type
dependencies/badges/src/badge_position
dependencies/badges/src/badge_positioned
dependencies/badges/src/badge_shape
dependencies/badges/src/badge_style
dependencies/badges/src/painters/instagram_badge_shape_painter
dependencies/badges/src/painters/twitter_badge_shape_painter
dependencies/badges/src/utils/calculation_utils
dependencies/badges/src/utils/drawing_utils
dependencies/badges/src/utils/gradient_utils
dependencies/bubble/bubble
dependencies/bubble/issue_clipper
dependencies/cached_network_image/cached_network_image
Flutter library to load and cache network images. Can also be used with placeholder and error widgets.
dependencies/cached_network_image/src/cached_image_widget
dependencies/cached_network_image/src/image_provider/_image_loader
dependencies/cached_network_image/src/image_provider/cached_network_image_provider
dependencies/cached_network_image/src/image_provider/multi_image_stream_completer
dependencies/card_swiper/card_swiper
This library is for swiper
dependencies/card_swiper/src/flutter_page_indicator/flutter_page_indicator
page indicator library
dependencies/card_swiper/src/swiper
dependencies/card_swiper/src/swiper_control
dependencies/card_swiper/src/swiper_controller
dependencies/card_swiper/src/swiper_pagination
dependencies/card_swiper/src/swiper_plugin
dependencies/card_swiper/src/transformer_page_view/index_controller
dependencies/card_swiper/src/transformer_page_view/parallax
dependencies/card_swiper/src/transformer_page_view/transformer_page_view
transformer page view library
dependencies/connectivity_plus/lib/connectivity_plus
dependencies/custom_rating_bar/custom_rating_bar
dependencies/dotted_border/dotted_border
dependencies/dotted_line/dotted_line
dependencies/fluentui_system_icons/fluentui_system_icons
dependencies/fluentui_system_icons/src/fluent_icons
dependencies/flutter_animate/flutter_animate
dependencies/flutter_animate/src/adapters/adapter
dependencies/flutter_animate/src/adapters/adapters
dependencies/flutter_animate/src/adapters/change_notifier_adapter
dependencies/flutter_animate/src/adapters/scroll_adapter
dependencies/flutter_animate/src/adapters/value_adapter
dependencies/flutter_animate/src/adapters/value_notifier_adapter
dependencies/flutter_animate/src/animate
dependencies/flutter_animate/src/animate_list
dependencies/flutter_animate/src/effect_list
dependencies/flutter_animate/src/effects/align_effect
dependencies/flutter_animate/src/effects/blur_effect
dependencies/flutter_animate/src/effects/box_shadow_effect
dependencies/flutter_animate/src/effects/callback_effect
dependencies/flutter_animate/src/effects/color_effect
dependencies/flutter_animate/src/effects/crossfade_effect
dependencies/flutter_animate/src/effects/custom_effect
dependencies/flutter_animate/src/effects/effect
dependencies/flutter_animate/src/effects/effects
dependencies/flutter_animate/src/effects/elevation_effect
dependencies/flutter_animate/src/effects/fade_effect
dependencies/flutter_animate/src/effects/flip_effect
dependencies/flutter_animate/src/effects/follow_path_effect
dependencies/flutter_animate/src/effects/listen_effect
dependencies/flutter_animate/src/effects/move_effect
dependencies/flutter_animate/src/effects/rotate_effect
dependencies/flutter_animate/src/effects/saturate_effect
dependencies/flutter_animate/src/effects/scale_effect
dependencies/flutter_animate/src/effects/shader_effect
dependencies/flutter_animate/src/effects/shake_effect
dependencies/flutter_animate/src/effects/shimmer_effect
dependencies/flutter_animate/src/effects/slide_effect
dependencies/flutter_animate/src/effects/swap_effect
dependencies/flutter_animate/src/effects/then_effect
dependencies/flutter_animate/src/effects/tint_effect
dependencies/flutter_animate/src/effects/toggle_effect
dependencies/flutter_animate/src/effects/visibility_effect
dependencies/flutter_animate/src/extensions/animation_controller_loop_extensions
dependencies/flutter_animate/src/extensions/extensions
dependencies/flutter_animate/src/extensions/num_duration_extensions
dependencies/flutter_animate/src/extensions/offset_copy_with_extensions
dependencies/flutter_animate/src/flutter_animate
dependencies/flutter_animate/src/warn
dependencies/flutter_html/flutter_html
dependencies/flutter_html/src/anchor
dependencies/flutter_html/src/builtins/details_element_builtin
dependencies/flutter_html/src/builtins/image_builtin
dependencies/flutter_html/src/builtins/interactive_element_builtin
dependencies/flutter_html/src/builtins/ruby_builtin
dependencies/flutter_html/src/builtins/styled_element_builtin
dependencies/flutter_html/src/builtins/text_builtin
dependencies/flutter_html/src/builtins/vertical_align_builtin
dependencies/flutter_html/src/css_box_widget
dependencies/flutter_html/src/css_parser
dependencies/flutter_html/src/extension/extension_context
dependencies/flutter_html/src/extension/helpers/image_extension
dependencies/flutter_html/src/extension/helpers/image_tap_extension
dependencies/flutter_html/src/extension/helpers/matcher_extension
dependencies/flutter_html/src/extension/helpers/tag_extension
dependencies/flutter_html/src/extension/helpers/tag_wrap_extension
dependencies/flutter_html/src/extension/html_extension
dependencies/flutter_html/src/html_parser
dependencies/flutter_html/src/processing/befores_afters
dependencies/flutter_html/src/processing/lists
dependencies/flutter_html/src/processing/margins
dependencies/flutter_html/src/processing/relative_sizes
dependencies/flutter_html/src/processing/whitespace
dependencies/flutter_html/src/style
dependencies/flutter_html/src/style/fontsize
dependencies/flutter_html/src/style/length
dependencies/flutter_html/src/style/lineheight
dependencies/flutter_html/src/style/margin
dependencies/flutter_html/src/style/marker
dependencies/flutter_html/src/style/padding
dependencies/flutter_html/src/style/size
dependencies/flutter_html/src/tree/image_element
dependencies/flutter_html/src/tree/interactable_element
dependencies/flutter_html/src/tree/replaced_element
dependencies/flutter_html/src/tree/styled_element
dependencies/flutter_html/src/utils
dependencies/flutter_spinkit/flutter_spinkit
dependencies/flutter_spinkit/src/chasing_dots
dependencies/flutter_spinkit/src/circle
dependencies/flutter_spinkit/src/cube_grid
dependencies/flutter_spinkit/src/dancing_square
dependencies/flutter_spinkit/src/double_bounce
dependencies/flutter_spinkit/src/dual_ring
dependencies/flutter_spinkit/src/fading_circle
dependencies/flutter_spinkit/src/fading_cube
dependencies/flutter_spinkit/src/fading_four
dependencies/flutter_spinkit/src/fading_grid
dependencies/flutter_spinkit/src/folding_cube
dependencies/flutter_spinkit/src/hour_glass
dependencies/flutter_spinkit/src/piano_wave
dependencies/flutter_spinkit/src/pouring_hour_glass
dependencies/flutter_spinkit/src/pouring_hour_glass_refined
dependencies/flutter_spinkit/src/pulse
dependencies/flutter_spinkit/src/pulsing_grid
dependencies/flutter_spinkit/src/pumping_heart
dependencies/flutter_spinkit/src/ring
dependencies/flutter_spinkit/src/ripple
dependencies/flutter_spinkit/src/rotating_circle
dependencies/flutter_spinkit/src/rotating_plain
dependencies/flutter_spinkit/src/spinning_circle
dependencies/flutter_spinkit/src/spinning_lines
dependencies/flutter_spinkit/src/square_circle
dependencies/flutter_spinkit/src/three_bounce
dependencies/flutter_spinkit/src/three_in_out
dependencies/flutter_spinkit/src/tweens/delay_tween
dependencies/flutter_spinkit/src/wandering_cubes
dependencies/flutter_spinkit/src/wave
dependencies/flutter_spinkit/src/wave_spinner
dependencies/flutter_staggered_grid_view/flutter_staggered_grid_view
dependencies/flutter_staggered_grid_view/src/foundation/constants
dependencies/flutter_staggered_grid_view/src/foundation/extensions
dependencies/flutter_staggered_grid_view/src/layouts/quilted
dependencies/flutter_staggered_grid_view/src/layouts/sliver_patterned_grid_delegate
dependencies/flutter_staggered_grid_view/src/layouts/staired
dependencies/flutter_staggered_grid_view/src/layouts/woven
dependencies/flutter_staggered_grid_view/src/rendering/sliver_masonry_grid
dependencies/flutter_staggered_grid_view/src/rendering/sliver_simple_grid_delegate
dependencies/flutter_staggered_grid_view/src/rendering/staggered_grid
dependencies/flutter_staggered_grid_view/src/rendering/uniform_track
dependencies/flutter_staggered_grid_view/src/widgets/aligned_grid_view
dependencies/flutter_staggered_grid_view/src/widgets/masonry_grid_view
dependencies/flutter_staggered_grid_view/src/widgets/sliver_aligned_grid
dependencies/flutter_staggered_grid_view/src/widgets/sliver_masonry_grid
dependencies/flutter_staggered_grid_view/src/widgets/staggered_grid
dependencies/flutter_staggered_grid_view/src/widgets/staggered_grid_tile
dependencies/flutter_staggered_grid_view/src/widgets/uniform_track
dependencies/flutter_svg/flutter_svg
dependencies/flutter_svg/src/cache
dependencies/flutter_svg/src/default_theme
dependencies/flutter_svg/src/loaders
dependencies/flutter_svg/src/utilities/_file_io
dependencies/flutter_svg/src/utilities/_file_none
dependencies/flutter_svg/src/utilities/compute
dependencies/flutter_svg/src/utilities/file
dependencies/flutter_svg/src/utilities/numbers
dependencies/flutter_svg/svg
dependencies/flutter_tex/flutter_tex
dependencies/flutter_tex/src/models/font
dependencies/flutter_tex/src/models/rendering_engine
dependencies/flutter_tex/src/models/widget_meta
dependencies/flutter_tex/src/styles/border
dependencies/flutter_tex/src/styles/font_style
dependencies/flutter_tex/src/styles/margin
dependencies/flutter_tex/src/styles/padding
dependencies/flutter_tex/src/styles/size_unit
dependencies/flutter_tex/src/styles/style
dependencies/flutter_tex/src/styles/text_align
dependencies/flutter_tex/src/utils/core_utils
dependencies/flutter_tex/src/utils/style_utils
dependencies/flutter_tex/src/views/tex_view
dependencies/flutter_tex/src/views/tex_view_mobile
dependencies/flutter_tex/src/views/tex_view_web
dependencies/flutter_tex/src/widgets/column
dependencies/flutter_tex/src/widgets/container
dependencies/flutter_tex/src/widgets/details
dependencies/flutter_tex/src/widgets/document
dependencies/flutter_tex/src/widgets/group
dependencies/flutter_tex/src/widgets/group_item
dependencies/flutter_tex/src/widgets/image
dependencies/flutter_tex/src/widgets/ink_well
dependencies/flutter_tex/src/widgets/markdown
dependencies/flutter_tex/src/widgets/video
dependencies/flutter_tex/src/widgets/widget
dependencies/focused_menu/focused_menu
dependencies/focused_menu/modals
dependencies/font_awesome_flutter/font_awesome_flutter
dependencies/font_awesome_flutter/src/fa_icon
dependencies/font_awesome_flutter/src/icon_data
dependencies/octo_image/octo_image
dependencies/octo_image/src/errors
dependencies/octo_image/src/image/fade_widget
dependencies/octo_image/src/image/image
dependencies/octo_image/src/image/image_handler
dependencies/octo_image/src/image_transformers
dependencies/octo_image/src/octo_set
dependencies/octo_image/src/placeholders
dependencies/octo_image/src/progress_indicators
dependencies/pdf/pdf
dependencies/pdf/src/pdf/color
dependencies/pdf/src/pdf/colors
dependencies/pdf/src/pdf/document
dependencies/pdf/src/pdf/document_parser
dependencies/pdf/src/pdf/exif
dependencies/pdf/src/pdf/font/arabic
dependencies/pdf/src/pdf/font/bidi_utils
dependencies/pdf/src/pdf/font/font_metrics
dependencies/pdf/src/pdf/font/ttf_parser
dependencies/pdf/src/pdf/font/ttf_writer
dependencies/pdf/src/pdf/font/type1_fonts
dependencies/pdf/src/pdf/format/array
dependencies/pdf/src/pdf/format/ascii85
dependencies/pdf/src/pdf/format/base
dependencies/pdf/src/pdf/format/bool
dependencies/pdf/src/pdf/format/diagnostic
dependencies/pdf/src/pdf/format/dict
dependencies/pdf/src/pdf/format/dict_stream
dependencies/pdf/src/pdf/format/indirect
dependencies/pdf/src/pdf/format/name
dependencies/pdf/src/pdf/format/null_value
dependencies/pdf/src/pdf/format/num
dependencies/pdf/src/pdf/format/object_base
dependencies/pdf/src/pdf/format/stream
dependencies/pdf/src/pdf/format/string
dependencies/pdf/src/pdf/format/xref
dependencies/pdf/src/pdf/graphic_state
dependencies/pdf/src/pdf/graphics
dependencies/pdf/src/pdf/io/js
dependencies/pdf/src/pdf/io/na
dependencies/pdf/src/pdf/io/vm
dependencies/pdf/src/pdf/obj/annotation
dependencies/pdf/src/pdf/obj/array
dependencies/pdf/src/pdf/obj/border
dependencies/pdf/src/pdf/obj/catalog
dependencies/pdf/src/pdf/obj/encryption
dependencies/pdf/src/pdf/obj/font
dependencies/pdf/src/pdf/obj/font_descriptor
dependencies/pdf/src/pdf/obj/formxobject
dependencies/pdf/src/pdf/obj/function
dependencies/pdf/src/pdf/obj/graphic_stream
dependencies/pdf/src/pdf/obj/image
dependencies/pdf/src/pdf/obj/info
dependencies/pdf/src/pdf/obj/metadata
dependencies/pdf/src/pdf/obj/names
dependencies/pdf/src/pdf/obj/object
dependencies/pdf/src/pdf/obj/object_dict
dependencies/pdf/src/pdf/obj/object_stream
dependencies/pdf/src/pdf/obj/outline
dependencies/pdf/src/pdf/obj/page
dependencies/pdf/src/pdf/obj/page_label
dependencies/pdf/src/pdf/obj/page_list
dependencies/pdf/src/pdf/obj/pattern
dependencies/pdf/src/pdf/obj/pdfa/pdfa_attached_files
dependencies/pdf/src/pdf/obj/pdfa/pdfa_color_profile
dependencies/pdf/src/pdf/obj/pdfa/pdfa_date_format
dependencies/pdf/src/pdf/obj/pdfa/pdfa_facturx_rdf
dependencies/pdf/src/pdf/obj/pdfa/pdfa_rdf
dependencies/pdf/src/pdf/obj/shading
dependencies/pdf/src/pdf/obj/signature
dependencies/pdf/src/pdf/obj/smask
dependencies/pdf/src/pdf/obj/ttffont
dependencies/pdf/src/pdf/obj/type1_font
dependencies/pdf/src/pdf/obj/unicode_cmap
dependencies/pdf/src/pdf/obj/xobject
dependencies/pdf/src/pdf/options
dependencies/pdf/src/pdf/page_format
dependencies/pdf/src/pdf/point
dependencies/pdf/src/pdf/raster
dependencies/pdf/src/pdf/rect
dependencies/pdf/src/priv
dependencies/pdf/src/svg/brush
dependencies/pdf/src/svg/clip_path
dependencies/pdf/src/svg/color
dependencies/pdf/src/svg/colors
dependencies/pdf/src/svg/gradient
dependencies/pdf/src/svg/group
dependencies/pdf/src/svg/image
dependencies/pdf/src/svg/mask_path
dependencies/pdf/src/svg/operation
dependencies/pdf/src/svg/painter
dependencies/pdf/src/svg/parser
dependencies/pdf/src/svg/path
dependencies/pdf/src/svg/symbol
dependencies/pdf/src/svg/text
dependencies/pdf/src/svg/transform
dependencies/pdf/src/svg/use
dependencies/pdf/src/widgets/annotations
dependencies/pdf/src/widgets/barcode
dependencies/pdf/src/widgets/basic
dependencies/pdf/src/widgets/border_radius
dependencies/pdf/src/widgets/box_border
dependencies/pdf/src/widgets/chart/bar_chart
dependencies/pdf/src/widgets/chart/chart
dependencies/pdf/src/widgets/chart/grid_axis
dependencies/pdf/src/widgets/chart/grid_cartesian
dependencies/pdf/src/widgets/chart/grid_radial
dependencies/pdf/src/widgets/chart/legend
dependencies/pdf/src/widgets/chart/line_chart
dependencies/pdf/src/widgets/chart/pie_chart
dependencies/pdf/src/widgets/chart/point_chart
dependencies/pdf/src/widgets/clip
dependencies/pdf/src/widgets/container
dependencies/pdf/src/widgets/content
dependencies/pdf/src/widgets/decoration
dependencies/pdf/src/widgets/document
dependencies/pdf/src/widgets/flex
dependencies/pdf/src/widgets/font
dependencies/pdf/src/widgets/forms
dependencies/pdf/src/widgets/geometry
dependencies/pdf/src/widgets/grid_paper
dependencies/pdf/src/widgets/grid_view
dependencies/pdf/src/widgets/icon
dependencies/pdf/src/widgets/image
dependencies/pdf/src/widgets/image_provider
dependencies/pdf/src/widgets/multi_page
dependencies/pdf/src/widgets/page
dependencies/pdf/src/widgets/page_theme
dependencies/pdf/src/widgets/partitions
dependencies/pdf/src/widgets/placeholders
dependencies/pdf/src/widgets/progress
dependencies/pdf/src/widgets/shape
dependencies/pdf/src/widgets/stack
dependencies/pdf/src/widgets/svg
dependencies/pdf/src/widgets/table
dependencies/pdf/src/widgets/table_helper
dependencies/pdf/src/widgets/text
dependencies/pdf/src/widgets/text_style
dependencies/pdf/src/widgets/theme
dependencies/pdf/src/widgets/widget
dependencies/pdf/src/widgets/wrap
dependencies/pdf/widgets
dependencies/persistent_bottom_nav_bar/persistent_bottom_nav_bar
dependencies/pinch_zoom/pinch_zoom
dependencies/pinch_zoom/src/pinch_zoom_widget
dependencies/progress_dialog_null_safe/progress_dialog_null_safe
dependencies/readmore/readmore
dependencies/shape_of_view_null_safe/generated/i18n
dependencies/shape_of_view_null_safe/shape/arc
dependencies/shape_of_view_null_safe/shape/bubble
dependencies/shape_of_view_null_safe/shape/circle
dependencies/shape_of_view_null_safe/shape/custom
dependencies/shape_of_view_null_safe/shape/cutcorner
dependencies/shape_of_view_null_safe/shape/diagonal
dependencies/shape_of_view_null_safe/shape/polygon
dependencies/shape_of_view_null_safe/shape/roundrect
dependencies/shape_of_view_null_safe/shape/star
dependencies/shape_of_view_null_safe/shape/triangle
dependencies/shape_of_view_null_safe/shape_of_view_null_safe
dependencies/shimmer/main
dependencies/shimmer/shimmer
A package provides an easy way to add shimmer effect to Flutter application
dependencies/sizer/sizer
dependencies/stop_watch_timer/stop_watch_timer
dependencies/super_tooltip/src/bubble_shape
dependencies/super_tooltip/src/enums
dependencies/super_tooltip/src/shape_overlay
dependencies/super_tooltip/src/super_tooltip
dependencies/super_tooltip/src/super_tooltip_controller
dependencies/super_tooltip/src/tooltip_position_delegate
dependencies/super_tooltip/src/utils
dependencies/super_tooltip/super_tooltip
dependencies/ticket_widget/ticket_widget
dependencies/timeline_tile/src/axis
dependencies/timeline_tile/src/style
dependencies/timeline_tile/src/tile
dependencies/timeline_tile/src/timeline_divider
dependencies/timeline_tile/timeline_tile
dependencies/timer_builder/timer_builder
dependencies/widget_zoom/src/widget_zoom
dependencies/widget_zoom/src/widget_zoom_full_screen
dependencies/widget_zoom/widget_zoom
dialogs/gn_dialog_helper
dialogs/gn_dialogs
divider/gn_horizontal_divider
divider/gn_vertical_divider
drawer/custom_drawer
drawer/gn_drawer_helper
dropdown/custom_autoSearch_bottomSheet_dropDown
dropdown/gn_multiselect_dropdown
expandable_card/gn_expansion_tile
expandable_card/gn_student_service_expandable_card
file_export/gn_excel_export
file_export/gn_pdf_export
file_upload/gn_file_upload
file_upload/gn_multiple_file_upload
form/gn_form
gnums_utility_widgets
notification/gn_notification_card
permission_handler/gn_app_permission_service
popup_dialog/custom_dialog_pop_up
popup_dialog/gn_pop_up_dialog
sliver_app_bar/custom_sliver_app_bar
tabbar/custom_tab_bar
text_widget/bold_text_widget
text_widget/light_text_widget
text_widget/medium_text_widget
text_widget/regular_text_widget
text_widget/semi_bold_text_widget
textfromfield/autocomplete_textformfield
textfromfield/gn_search_field
textfromfield/gn_textformfield
utils/colors
utils/const
utils/num_const
utils/string_const
utils/utils