# PhoenixLiveCalendar v0.5.0 - Table of Contents A comprehensive calendar and scheduling component library for Phoenix LiveView ## Pages - [PhoenixLiveCalendar](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [PhoenixLiveCalendar](PhoenixLiveCalendar.md): A comprehensive calendar and scheduling component library for Phoenix LiveView. - [PhoenixLiveCalendar.Heatmap](PhoenixLiveCalendar.Heatmap.md): Maps per-day numeric data onto heatmap-style `PhoenixLiveCalendar.DayMarker`s — the GitHub-contributions look for the month and year views. - [PhoenixLiveCalendar.Layer](PhoenixLiveCalendar.Layer.md): A named set of events shown or hidden together — "my calendar", a teammate, a room, a project. - [PhoenixLiveCalendar.Theme](PhoenixLiveCalendar.Theme.md): Resolves semantic color tokens to concrete class pairs, so the data layer can say `:primary` or `"brand"` instead of hardcoding Tailwind strings. - [PhoenixLiveCalendar.Utils.Sizing](PhoenixLiveCalendar.Utils.Sizing.md): Server-side size estimation — the substitute for client measurement. - [PhoenixLiveCalendar.Widgets](PhoenixLiveCalendar.Widgets.md): The most compressed genuinely-useful form of each calendar surface — for dashboard cells, sidebars, and anywhere a full view has no room (~200×150px and up). - Views - [PhoenixLiveCalendar.Views.Agenda](PhoenixLiveCalendar.Views.Agenda.md): Agenda/list view — displays events as a flat chronological list grouped by date. - [PhoenixLiveCalendar.Views.DayView](PhoenixLiveCalendar.Views.DayView.md): Day view — a single-column time grid. Delegates to `WeekGrid` with one date. - [PhoenixLiveCalendar.Views.MonthGrid](PhoenixLiveCalendar.Views.MonthGrid.md): Month grid view — the traditional calendar layout with 6 rows of 7 days. - [PhoenixLiveCalendar.Views.NDayView](PhoenixLiveCalendar.Views.NDayView.md): N-day view — shows an arbitrary number of day columns. - [PhoenixLiveCalendar.Views.ResourceView](PhoenixLiveCalendar.Views.ResourceView.md): Resource columns view — resources displayed as columns in a day/week time grid. - [PhoenixLiveCalendar.Views.Timeline](PhoenixLiveCalendar.Views.Timeline.md): Timeline view — horizontal time axis with resources as rows. - [PhoenixLiveCalendar.Views.WeekGrid](PhoenixLiveCalendar.Views.WeekGrid.md): Week time grid view — 7 day columns with a vertical time axis. - [PhoenixLiveCalendar.Views.YearView](PhoenixLiveCalendar.Views.YearView.md): Year view — displays 12 mini-month calendars in a responsive grid. - Components - [PhoenixLiveCalendar.CalendarComponent](PhoenixLiveCalendar.CalendarComponent.md): The main calendar LiveComponent. - [PhoenixLiveCalendar.Components.EventItem](PhoenixLiveCalendar.Components.EventItem.md): Renders a single event within a calendar cell or time grid. - [PhoenixLiveCalendar.Components.EventPopover](PhoenixLiveCalendar.Components.EventPopover.md): A popover/tooltip component for displaying event details on click or hover. - [PhoenixLiveCalendar.Components.Header](PhoenixLiveCalendar.Components.Header.md): Calendar toolbar component with navigation, title, and view switcher. - [PhoenixLiveCalendar.Components.MiniCalendar](PhoenixLiveCalendar.Components.MiniCalendar.md): A compact month calendar used in year view and as a sidebar date picker. - [PhoenixLiveCalendar.Components.TimeGutter](PhoenixLiveCalendar.Components.TimeGutter.md): Renders the time labels column alongside a time grid view. - Data structures - [PhoenixLiveCalendar.Availability](PhoenixLiveCalendar.Availability.md): Represents a recurring availability window or a date-specific override. - [PhoenixLiveCalendar.BookingConfig](PhoenixLiveCalendar.BookingConfig.md): Defines constraints for bookable time slots. - [PhoenixLiveCalendar.DayMarker](PhoenixLiveCalendar.DayMarker.md): Represents a date-level annotation — holidays, special hours, closures, notices. - [PhoenixLiveCalendar.Event](PhoenixLiveCalendar.Event.md): Represents a calendar event. - [PhoenixLiveCalendar.Eventable](PhoenixLiveCalendar.Eventable.md): Optional protocol for auto-converting domain structs to `PhoenixLiveCalendar.Event`. - [PhoenixLiveCalendar.Resource](PhoenixLiveCalendar.Resource.md): Represents a schedulable resource such as a room, person, or piece of equipment. - Persistence - [PhoenixLiveCalendar.Store.Ecto.EventSchema](PhoenixLiveCalendar.Store.Ecto.EventSchema.md): Default Ecto schema for calendar events. - [PhoenixLiveCalendar.Store.Ecto.EventStoreEcto](PhoenixLiveCalendar.Store.Ecto.EventStoreEcto.md): Default Ecto implementation of `PhoenixLiveCalendar.Store.EventStore`. - [PhoenixLiveCalendar.Store.Ecto.Migrations](PhoenixLiveCalendar.Store.Ecto.Migrations.md): Versioned migrations for PhoenixLiveCalendar's Ecto persistence layer. - [PhoenixLiveCalendar.Store.Ecto.RepoHelper](PhoenixLiveCalendar.Store.Ecto.RepoHelper.md): Runtime repo resolution for the optional Ecto layer. - [PhoenixLiveCalendar.Store.EventStore](PhoenixLiveCalendar.Store.EventStore.md): Behaviour defining the data access interface for calendar events. - Utilities - [PhoenixLiveCalendar.PubSub](PhoenixLiveCalendar.PubSub.md): Optional PubSub integration for real-time calendar updates. - [PhoenixLiveCalendar.Utils.Constraints](PhoenixLiveCalendar.Utils.Constraints.md): Booking constraint validation logic. - [PhoenixLiveCalendar.Utils.DateHelpers](PhoenixLiveCalendar.Utils.DateHelpers.md): Date math utilities for calendar grid generation. - [PhoenixLiveCalendar.Utils.I18n](PhoenixLiveCalendar.Utils.I18n.md): Internationalization helpers for calendar labels, day names, month names, and date/time formatting. - [PhoenixLiveCalendar.Utils.OverlapLayout](PhoenixLiveCalendar.Utils.OverlapLayout.md): Computes side-by-side positioning for overlapping events in a time grid. - [PhoenixLiveCalendar.Utils.Telemetry](PhoenixLiveCalendar.Utils.Telemetry.md): Performance measurement and telemetry for PhoenixLiveCalendar. - [PhoenixLiveCalendar.Utils.TimeSlots](PhoenixLiveCalendar.Utils.TimeSlots.md): Generates time slot grids for day/week views and bookable slot lists. ## Mix Tasks - [mix phoenix_live_calendar.install](Mix.Tasks.PhoenixLiveCalendar.Install.md): Installs PhoenixLiveCalendar into your Phoenix project.