Search categories, packages and repositories

calendar_awesome cover
Package detailsv0.0.3

calendar_awesome

A customizable calendar widget for "Jalali"&"Gregorian"

AndroidiOSWebmacOSWindowsLinux
30-day downloads
50
Likes
8
Pub points
135

Install package

flutter pub add calendar_awesome

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A highly customizable calendar widget supporting both Jalali and Gregorian date systems. Designed for seamless integration into Flutter applications, it offers flexible styling, event marking, and smooth navigation across months and years. The package is ideal for apps requiring date selection with cultural or regional date format preferences. It supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux, ensuring broad compatibility. Developers can tailor the appearance and behavior to match app design requirements.

Use cases

  • Date selection in Persian (Jalali) applications
  • Gregorian calendar integration in international apps
  • Event scheduling with custom markers
  • Multi-platform date pickers
  • Customizable UI for calendars
  • Time-based planning tools

Key features

  • Supports Jalali and Gregorian calendars
  • Highly customizable appearance
  • Event highlighting and marking
  • Cross-platform compatibility
  • Smooth month/year navigation
  • Extensible API for developers

Suitable for

  • Apps targeting Iranian or Persian-speaking users
  • International apps needing dual calendar support
  • Developers wanting full control over calendar UI
  • Projects requiring multi-platform date pickers
  • Applications with complex date interaction needs

Considerations

  • Requires manual handling of Jalali-Gregorian conversions
  • Limited documentation for advanced customization
  • May need additional styling for non-default themes
  • Not optimized for very large event datasets
  • Depends on external date parsing libraries

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

calendar_awesome

A customizable calendar widget (Jalali & Gregorian) for Flutter

Image

Installation

Run this command:

flutter pub add calendar_awesome

or Include instructions on how to install your library using pubspec.yaml:

dependencies:
  calendar_awesome: ^0.0.1

Simple Usage

import 'package:calendar_awesome/calendar_awesome.dart';

CalendarAwesome(
  date: const GregorianDate(2024, 8), /// or JalaliDate(1403,5) 
  onChange: (onChangeParam) {
  print(onChangeParam.date);
  print(onChangeParam.tasks);
  print(onChangeParam.events);
  print(onChangeParam.holidays);
  }
)

Properties for CalendarAwesome

Property Description Type Required Default value
date To determine the type, year and month of the default calendar GregorianDate(2024,8)&JalaliDate(1403,5) CustomDate YES
events A list that takes the class EventClass and is shown as a dot above the days List no []
tasks A list that takes the class TaskClass and is shown linearly under the days List no []
holidays A list that takes a HolidayClass class that displays dates as holidays List no []
showWeekend Weekends are closed or not bool no true
activeSelectDate The user can choose a day or not bool no true
calendarStyle Gets the CalendarStyle class to customize the UI CalendarStyle no CalendarStyle()
header Custom header instead of default header Widget Function(PageController, Month) no null
onChange When a day is clicked, it returns the values of that day void Function(OnChangeParam) YES

Properties for CalendarStyle

Property Description Type Required Default value
weekendStyle Style text of holidays TextStyle no null
weekdayStyle Text style of days of the week TextStyle no null
textWeekdayStyle Weekday text style TextStyle no TextStyle(color: Colors.black)
direction Left to right and right to left calendar TextDirection no TextDirection.ltr
textWeekdayAngle Amount of weekday tax rotation double no 0.7
todayColor Today's color Color no Color.fromARGB(255, 70, 39, 156),
todayStyle Today's text style TextStyle no null
taskColor Task color under the days Color no Colors.greenAccent
selectDayWidth The thickness of the circle around the selected day double no 1.2
persianText Use of Persian text bool no false
scrollDirection Movement model between pages Axis no null
animationDuration Duration animation of moving between pages Duration no null
animationCurve Type of animation to move between pages Curve no null
selectDayColor The color of the circle around the selected day Color no null
weekdaysText List of text days of the week List no ["Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat"]

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Categories

Dependencies

Dependency list 5 items

Source repository

Projects using this package

No data available yet.