📅 Horizontal Weekly Calendar

Support my work!

Buy Me a Coffee

🌟 Project Overview

A feature-rich, highly customizable horizontal calendar widget for Flutter applications, designed to provide seamless date selection and beautiful UI experiences.

Note: This widget supports multiple display modes and offers smooth animations!

🎨 Visual Demonstration

✨ Key Features

  • 4 Built-in Styles
Style Preview
Standard Standard Style
Outlined Outlined Style
Minimal Minimal Style
Elevated Elevated Style
  • Flexible Date Selection
  • Month Navigation Controls
  • Fully Customizable Theming

🔧 Installation

Add to your pubspec.yaml:

dependencies:
  horizontal_weekly_calendar: ^1.0.1

💡 Quick Start

HorizontalWeeklyCalendar(
  initialDate: DateTime.now(),
  selectedDate: _selectedDate,
  onDateSelected: (date) => setState(() => _selectedDate = date),
)

🛠 Customization Options

Style Configuration

HorizontalCalendarStyle(
  activeDayColor: Colors.blue,
  dayIndicatorSize: 40,
  monthHeaderStyle: TextStyle(
    fontSize: 18,
    fontWeight: FontWeight.bold,
  ),
)

🌈 Theming Support

The calendar adapts seamlessly to your app's theme:

Theme(
  data: ThemeData(
    colorScheme: ColorScheme.light(
      primary: Colors.purple,
      secondary: Colors.orange,
    ),
  ),
  child: HorizontalWeeklyCalendar(...),
)

📚 API Reference

Parameter Description Type Required
initialDate Starting display month DateTime
selectedDate Currently selected date DateTime
onDateSelected Date selection callback Function(DateTime)
calendarType Display style type HorizontalCalendarType

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
  3. 💾 Commit your changes
  4. 📤 Push to the branch
  5. 🔀 Open a Pull Request

📄 License

MIT License - See LICENSE file for details.


Crafted with ❤️ by github.com/ahmedzaeem