PHPackages                             caiquebispo/livewire-calendar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. caiquebispo/livewire-calendar

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

caiquebispo/livewire-calendar
=============================

A lightweight, customizable Calendar component for Laravel Livewire with TailwindCSS.

v1.1.4(3mo ago)0694MITBladePHP ^8.2

Since Sep 4Pushed 3mo agoCompare

[ Source](https://github.com/caiquebispo/livewire-calendar)[ Packagist](https://packagist.org/packages/caiquebispo/livewire-calendar)[ RSS](/packages/caiquebispo-livewire-calendar/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (1)Versions (7)Used By (0)

Livewire Calendar
=================

[](#livewire-calendar)

Lightweight and customizable calendar component for Laravel Livewire 3, styled with TailwindCSS. Focused on simplicity, extensibility, and DX.

 [![Latest Stable Version](https://camo.githubusercontent.com/3743e4eb2f7c087438ac6e9d0885269b53f2ab014a0e1eb669719da2c6e189f7/687474703a2f2f706f7365722e707567782e6f72672f636169717565626973706f2f6c697665776972652d63616c656e6461722f76)](https://packagist.org/packages/caiquebispo/livewire-calendar) [![Total Downloads](https://camo.githubusercontent.com/8258846e192a205fa85b10cb8d4c870f80e1cb2e9c7eda6889ff5be690d146c1/687474703a2f2f706f7365722e707567782e6f72672f636169717565626973706f2f6c697665776972652d63616c656e6461722f646f776e6c6f616473)](https://packagist.org/packages/caiquebispo/livewire-calendar) [![Latest Unstable Version](https://camo.githubusercontent.com/8ff1645f77e4422d123f5760421bcb020bc77de34ae5bdac583dfec24fa45601/687474703a2f2f706f7365722e707567782e6f72672f636169717565626973706f2f6c697665776972652d63616c656e6461722f762f756e737461626c65)](https://packagist.org/packages/caiquebispo/livewire-calendar) [![License](https://camo.githubusercontent.com/4d68fdc38dec95fe7486cf539342a078e63da26ce3005aa81fa9b198213a4195/687474703a2f2f706f7365722e707567782e6f72672f636169717565626973706f2f6c697665776972652d63616c656e6461722f6c6963656e7365)](https://packagist.org/packages/caiquebispo/livewire-calendar) [![PHP Version Require](https://camo.githubusercontent.com/64b3a44209672f780a0cfcecef7d505fe673ae5296c75bd9427e9b4ff10a84c0/687474703a2f2f706f7365722e707567782e6f72672f636169717565626973706f2f6c697665776972652d63616c656e6461722f726571756972652f706870)](https://packagist.org/packages/caiquebispo/livewire-calendar)

✨ New in v1.1
-------------

[](#-new-in-v11)

- 📱 **Enhanced Responsiveness** - Adaptive layout for all screen sizes
- 👆 **Swipe Navigation** - Swipe left/right to change months on mobile
- 🎯 **Touch-friendly** - 44px minimum tap targets for better mobile UX
- 🔤 **Compact Weekdays** - Abbreviated weekday names on mobile (D, S, T...)
- ✨ **Today Animation** - Pulsing indicator for current day
- 🎨 **Smooth Transitions** - Animated cell interactions

Requisitos
----------

[](#requisitos)

- PHP 8.2+
- Laravel 10+
- Livewire ^3.5.0|^4.0.0
- TailwindCSS 3+

Installation
------------

[](#installation)

```
composer require caiquebispo/livewire-calendar
```

Publishing
----------

[](#publishing)

You can publish assets, views and config:

```
# Publish all
php artisan vendor:publish --provider="CaiqueBispo\Calendar\Provider\CalendarServiceProvider"

# Only config
php artisan vendor:publish --provider="CaiqueBispo\Calendar\Provider\CalendarServiceProvider" --tag="config"

# Only views
php artisan vendor:publish --provider="CaiqueBispo\Calendar\Provider\CalendarServiceProvider" --tag="views"

# Only assets
php artisan vendor:publish --provider="CaiqueBispo\Calendar\Provider\CalendarServiceProvider" --tag="assets"
```

Basic usage
-----------

[](#basic-usage)

```
// In your controller or Livewire component
public function render()
{
    $events = [
        [
            "day" => "2025-09-04",
            "data" => [
                ["title" => "Reunião", "id" => 1],
                ["title" => "Entrega", "id" => 2]
            ]
        ],
        [
            "day" => "2025-09-10",
            "data" => [
                ["title" => "Viagem", "id" => 3]
            ]
        ]
    ];

    return view('your-view', ['events' => $events]);
}
```

```

```

Customization
-------------

[](#customization)

The calendar offers multiple customization points:

### Props

[](#props)

- `events`: Event array
- `lazy-load-events`: If true, emits `calendar:month-changed` when month changes (useful for lazy loading)
- `max-items-per-day`: Max visible items per day (rest shown in modal)
- `day-cell-view`: Blade view path to customize day cell (e.g. `calendar.custom-day-cell`)
- `mobile-view`: Mobile behavior for weeks layout: `stack` (default) or `scroll`

### Slots

[](#slots)

Available slots:

```

```

### Customizing day cell via Blade partial

[](#customizing-day-cell-via-blade-partial)

You can provide a view to render each day cell. Two options:

1. Pass on component usage:

```

```

2. Define globally in package config (`day_cell_view`):

```
// packages/caiquebispo/livewire-calendar/src/config/calendar.php
'day_cell_view' => 'calendar.custom-day-cell',
// 'mobile_view' => 'scroll',
```

The view receives: `date`, `dayNumber`, `isCurrentMonth`, `isToday`, `events`, `maxItemsPerDay`.

Example in `resources/views/calendar/custom-day-cell.blade.php`:

```

    {{ $dayNumber }}

        @foreach(array_slice($events, 0, $maxItemsPerDay) as $event)

                {{ $event['title'] }}

        @endforeach
        @if(count($events) > $maxItemsPerDay)

                + {{ count($events) - $maxItemsPerDay }} mais

        @endif

```

Events
------

[](#events)

Emitted Livewire events:

- `calendar:month-changed`: when the month changes (useful for lazy loading)
- `calendar:day-clicked`: when a day is clicked
- `calendar:event-clicked`: when an event is clicked

Dark mode
---------

[](#dark-mode)

Fully Tailwind dark mode compatible via `dark` class on the root element.

Licença
-------

[](#licença)

Este pacote é open-source e está disponível sob a [licença MIT](LICENSE.md).

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance79

Regular maintenance activity

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~33 days

Total

6

Last Release

113d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/963372c11b8438fac9cf58a2c4f75526b91f2918b09d470bc4e25d789db31c74?d=identicon)[caiquebispo](/maintainers/caiquebispo)

---

Top Contributors

[![caiquebispo](https://avatars.githubusercontent.com/u/62433514?v=4)](https://github.com/caiquebispo "caiquebispo (9 commits)")

---

Tags

laraveleventslivewiretailwindcalendarcomponenttailwindcsslivewire-calendarevent-calendarlaravel-calendarblade calendar

### Embed Badge

![Health badge](/badges/caiquebispo-livewire-calendar/health.svg)

```
[![Health](https://phpackages.com/badges/caiquebispo-livewire-calendar/health.svg)](https://phpackages.com/packages/caiquebispo-livewire-calendar)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
