Skip to main content

External Event Box

The External Event Box is a container component that holds a list of event cards which can be dragged and dropped onto a Calendar component. When a card is dropped, the calendar's onEventReceived event fires with the dropped event's details.

Each card displays a title and optional description in the tray. The event object nested within each card is what gets handed to FullCalendar when the card is dropped — it determines how the event appears and behaves on the calendar.

External Event Box light mode
External Event Box dark mode

Properties

NameDescriptionProperty Type
eventsAn array of event card objects to display in the box. Both title and event are required on each item. See Event Card Properties below.array
emptyLabelText shown when the events array is empty. Default is No events available.string
emptyLabelStylePerspective style applied to the empty-state label.style
flexControls the flexbox layout of the card container. See Flex Properties below.object

Event Card Properties

Each item in the events array represents one draggable card in the tray. Both title and event are required.

NameDescriptionProperty Type
titleThe title displayed on the card in the tray. Required.string
descriptionOptional description text displayed below the title on the card.string
stylePerspective style applied to the card's outer wrapper element.style
titleStylePerspective style applied to the card's title element.style
eventThe FullCalendar event payload that is applied to the calendar when the card is dropped. Required. See Event Payload Properties below.object

Event Payload Properties

The event object within each card defines how the event appears and behaves on the calendar when dropped. Only title is required.

NameDescriptionProperty Type
idA unique identifier for the event.string or number
groupIdEvents sharing the same groupId will be dragged and resized together on the calendar.string or number
titleThe text displayed on the event on the calendar.string
startThe start date and time of the event, as an ISO 8601 string.string
endThe end date and time of the event, as an ISO 8601 string.string
allDayWhether the event is an all-day event.boolean
colorThe background and border color of the event.string
contrastColorThe text color of the event (foreground color contrasting with color).string
displayOverrides the display style for this event. Options: auto, block, list-item, background, inverse-background, none.string
editableOverrides the calendar-level editable setting for this specific event.boolean
startEditableWhether the start time of this event can be changed by dragging on the calendar.boolean
durationEditableWhether the duration of this event can be changed by resizing on the calendar.boolean
overlapWhether this event is allowed to overlap other events when dragged or resized.boolean
ownerIdAn identifier for the owner of the event.string or number

Example events array:

[
{
"title": "Maintenance Window",
"description": "Scheduled downtime for Line 1",
"event": {
"id": "maint-001",
"title": "Maintenance Window",
"color": "#f59e0b",
"contrastColor": "#000000",
"duration": "02:00:00"
}
},
{
"title": "Production Run",
"event": {
"title": "Production Run",
"color": "#3788d8",
"contrastColor": "#ffffff"
}
}
]

Flex Properties

Controls the flexbox layout of the internal container that holds the event cards. Defaults to a vertical column layout with 0.25rem gap.

NameDescriptionProperty Type
flexDirectionThe direction cards are laid out. Options: row, row-reverse, column, column-reverse. Default is column.string
flexWrapWhether cards wrap to a new line. Options: nowrap, wrap, wrap-reverse. Default is nowrap.string
justifyContentHow cards are distributed along the main axis. Options: flex-start, flex-end, center, space-between, space-around, space-evenly. Default is flex-start.string
alignItemsHow cards are aligned along the cross axis. Options: flex-start, flex-end, center, stretch. Default is stretch.string
alignContentHow multiple lines of cards are aligned. Options: flex-start, flex-end, center, stretch, space-between, space-around. Default is stretch.string
gapThe spacing between cards. Accepts a CSS size string or number. Default is 0.25rem.string or number