eventContent
Svelte component that renders the inner content of every event. Replaces the default event markup. The renderer-owned wrapper element and layout behavior stay intact.
Usage
eventContent?: Component<{
event: CalendarEvent;
mode: EventContentMode;
}>;
The component receives these props:
| Prop | Type | Description |
|---|---|---|
event | CalendarEvent | The event being rendered, including any custom fields. |
mode | EventContentMode | The renderer that mounted the component (see values below). |
EventContentMode values:
"grid"- time-grid slot (day, week, resources, timeline)"bars"- multiday bar at the top of time-grid views"boxes"- month-grid box"list"- agenda list row"year-tooltip"- popup shown when hovering a year-view day
Example
<script lang="ts">
import { Calendar } from "@wx/svelte-calendar";
import EventBlock from "./EventBlock.svelte";
</script>
<Calendar {events} eventContent={EventBlock} />
<!-- EventBlock.svelte -->
<script lang="ts">
import type { CalendarEvent, EventContentMode } from "@wx/svelte-calendar";
let { event, mode }: { event: CalendarEvent; mode: EventContentMode } = $props();
</script>
<div class="event-block" class:compact={mode === "boxes"}>
<strong>{event.text}</strong>
{#if mode !== "boxes"}
<span>{event.location ?? ""}</span>
{/if}
</div>
Related articles
eventCss— adjust the wrapper around your custom content.tooltip— secondary surface for hover previews.eventPopup— clickable detail card on event click.- Styling cells and events — when to reach for
eventContentvseventCss.