- How do I install asantibanez/livewire-calendar in a Laravel application?
- Install it with Composer using composer require asantibanez/livewire-calendar, then make sure Tailwind CSS is set up in your app since the component ships with Tailwind-based markup. You will typically create a small Livewire wrapper component that renders the calendar and passes in your events. Publishing the package views is optional but recommended if you plan to customize the layout or styling.
- Which Laravel, PHP, Livewire, and Tailwind versions does livewire-calendar support?
- The package targets Laravel applications using Blade, Livewire, and Tailwind CSS, but support differs between releases because Livewire 2 and Livewire 3 have different constraints. Always check the composer.json of the specific tagged version and the README before upgrading, and confirm the tested matrix against your Laravel and PHP versions. A Livewire major upgrade can require a matching package upgrade or a fork.
- How do I pass events into the Livewire Calendar component?
- You map your domain records into the event array shape the component expects, typically id, title, description, and date fields, and return that collection from a Livewire computed property or method. Passing a stable adapter or DTO rather than raw Eloquent models directly keeps the integration flexible and makes later migrations easier. The package does not own persistence, so querying, filtering, and authorization stay in your application code.
- Why are my calendar styles broken or missing after install?
- Tailwind's purge and content configuration can silently strip the classes used inside the package views if those files are not scanned. Add the package's view path to the content array in tailwind.config.js, or use a safelist strategy if you cannot scan the vendor directory. This is the most common integration issue and usually has nothing to do with the calendar logic itself.
- Does livewire-calendar support time zones, recurring events, multi-day events, or drag-and-drop?
- No, it is a presentation-layer month-view component with thin scheduling semantics. Recurrence, time-zone conversion, DST handling, and multi-day event rendering are your application's responsibility, and drag-and-drop or day and week views are not part of the package. If those features are core to your product, plan on FullCalendar or a custom scheduler instead.
- How do I handle day clicks and event clicks in livewire-calendar?
- You wire up Livewire action methods, or listeners, for day clicks and event clicks and receive the clicked date or event identifier as a parameter. From there you can open a modal, redirect, or dispatch another Livewire event, all without writing extra JavaScript. Remember that the component does not enforce authorization, so validate the user's permission to view or modify the event inside your action.
- Can I customize how the calendar and event cards look?
- Yes. The component supports publishing views and customizing the day view, event card, and header, which lets you match your design system while keeping the month grid behavior intact. Most teams start with the defaults, then override only the event card and header to reduce upgrade friction. Keep customizations in your own Blade files where possible so package updates do not overwrite them.
- Is livewire-calendar actively maintained and safe to use in production?
- It is MIT licensed and reasonably popular at roughly 970 GitHub stars, but it is maintained by a single author, so bus factor and long-term support are the main risks. The security surface is small, but event content rendering and click actions must still be authorized in your application. For internal admin tools and MVP scheduling surfaces it is a reasonable bet; for core product features, keep an exit plan.
- How do I test a Laravel app that uses livewire-calendar?
- Test your own wrapper component with Livewire's testing helpers, asserting that events are returned in the expected shape and that day-click and event-click actions behave correctly, including authorization failures. You generally should not test the package's internal rendering beyond a smoke test that the component mounts. Also run your suite against each Livewire version you support, since a major upgrade is the most likely source of breakage.
- What are the alternatives to livewire-calendar for more advanced scheduling?
- If you need day and week views, recurrence, time zones, or drag-and-drop across dates, FullCalendar or a custom scheduler is the more realistic choice. Livewire Calendar fits month-overview surfaces in Laravel monoliths already using Blade, Livewire, and Tailwind, especially back-office dashboards and internal tools. A common pattern is to keep the package behind a feature flag and map records through an adapter so you can swap the presentation layer later.