Skip to content

Extras

FullCalendar

Bit.BlazorUI.ExtrasScheduler

BitFullCalendar is a full-featured scheduling calendar: day, week, month, year, agenda, and resource timeline views; recurring and all-day events; built-in create, edit and delete; drag-and-drop, edge resizing, and range selection; a configurable time grid with business hours, a work week, and booking rules; filtering, templating, keyboard navigation, and culture-aware, right-to-left-ready date rendering.

Notes

To use this component, you need to install the Bit.BlazorUI.Extras(opens in a new tab) nuget package, as described in the Optional steps of the Getting started page.

Introduction

The BitFullCalendar brings a complete scheduling experience to Blazor: six layouts (day, week, month, year, agenda, and a resource timeline), built-in event create/edit/delete, drag-and-drop, edge resizing, and press-and-drag range selection, a time grid you can narrow to the hours you schedule and split into slots of any length, business hours you can shade or enforce, a work week that hides the days you do not schedule, recurring and all-day events, booking rules, colour and attendee filters, per-view templates, and culture-aware date rendering that follows the Bit theme in both light and dark mode. Every date grid is a single tab stop that the arrow keys walk, so a keyboard reaches any day or time slot without paging through hundreds of them. Explore a live calendar below - switch views, add events, and drag them around.

Usage

Every example is live. Open its code to see exactly what produced the component running underneath.

Basic

The simplest usage of a BitFullCalendar is passing a list of events. Everything else comes with defaults: the month view opens first, the toolbar navigates and switches views, and clicking a day - or an event - opens the built-in add and details dialogs. Tab reaches the grid once and the arrow keys walk it from there; Enter or Space on a day (or a time slot in the day and week views) starts a new event, Alt and Shift with an arrow key move and resize a focused event, and Escape closes any dialog.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Settings

Settings carries the calendar's preferences: the time format, the hour the grid scrolls to, the month badge style, the agenda grouping, and everything the sections below configure. The user can change most of them from the settings gear, and those choices are written back onto the same instance - so a re-render of your page never reverts what they picked.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00 AM
29
Product Demo
2:00 PM
30
1
Team Standup
9:00 AM
Design Review
10:00 AM
1:1 with Manager
10:30 AM
2
Tech Conference
Client Onboarding
10:00 AM
3
Architecture Review
2:00 PM
4
5:00 PM
5
6
Company Retreat
7
8
4:00 PM
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Time grid

Narrow the day and week grids to the hours you actually schedule with Settings.VisibleStartHour and Settings.VisibleEndHour, and choose how finely each hour is divided - and how far drags and resizes snap - with Settings.SlotDurationMinutes (any divisor of 60). The same window and slot size drive the Timeline day and week layouts. Press and drag down a column to select a range - the new event opens already spanning it - or turn that off with Settings.AllowRangeSelection. Switch to the Day or Week view to see it.

Visible hours
Slot duration

Sep 27, 2026 - Oct 3, 2026
Weekly view is not recommended on smaller devices. Please switch to a desktop device or use the daily view instead.
Tech Conference
Sun 27
Mon 28
Tue 29
Wed 30
Thu 1
Fri 2
Sat 3
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
Quarterly Review
10:00 - 12:00
Product Demo
14:00 - 15:00
Team Standup
09:00 - 09:45
Design Review
10:00 - 11:00
Lunch with Client
12:00 - 13:30
Sprint Planning
14:00 - 15:30
Code Review
16:00 - 17:00
1:1 with Manager
10:30 - 11:15
16:48
Client Onboarding
10:00 - 11:30
Architecture Review
14:00 - 16:00

Work week

Settings.HiddenDays removes weekdays from every date grid - the week, month and year views and the Timeline week layout - which is all it takes to render a work week. Settings.FirstDayOfWeek overrides the day the week starts on when the culture's own answer is not the one you want, and Settings.ShowWeekNumbers adds the ISO-8601 week number to the month grid and the week view's time gutter.

Days

Sep 28, 2026 - Oct 4, 2026
Weekly view is not recommended on smaller devices. Please switch to a desktop device or use the daily view instead.
Tech Conference
W40
Mon 28
Tue 29
Wed 30
Thu 1
Fri 2
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
Quarterly Review
10:00 - 12:00
Product Demo
14:00 - 15:00
Team Standup
09:00 - 09:45
Design Review
10:00 - 11:00
Lunch with Client
12:00 - 13:30
Sprint Planning
14:00 - 15:30
Code Review
16:00 - 17:00
1:1 with Manager
10:30 - 11:15
16:48
Client Onboarding
10:00 - 11:30

All-day events

Set IsAllDay on an event to take it off the hour axis: it moves into the all-day row above the day and week grids, its badge shows the "All day" label instead of a clock time, and the details dialog reports the dates it covers rather than a time range. Events spanning more than one date already land in that row; the flag is what lets a single-date event join them. The built-in add/edit dialog offers the same switch.

Sep 27, 2026 - Oct 3, 2026
Weekly view is not recommended on smaller devices. Please switch to a desktop device or use the daily view instead.
Alice on leave
Company Holiday
All day
All day
Release Freeze
Sun 27
Mon 28
Tue 29
Wed 30
Thu 1
Fri 2
Sat 3
01:00
02:00
03:00
04:00
05:00
06:00
07:00
08:00
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
21:00
22:00
23:00
Team Standup
09:00 - 09:30
Sprint Planning
14:00 - 15:30
16:48

Event layout

Choose how overlapping event cards are arranged in the day and week views with Settings.EventLayout. Overlap (default) cascades the cards on top of each other, while Stack places them side by side in equal-width columns. Switch to the Day or Week view to see the difference - pick a layout below, or toggle it from the settings gear ("Stack overlapping events").

Event layout

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Event templates

Replace the content of an event card per layout with DayEventTemplate, WeekEventTemplate, MonthEventTemplate, and TimelineEventTemplate. The calendar keeps owning the card's placement, colour and drag/resize behaviour - the template only fills it.

October 2026
S
M
T
W
T
F
S
27
28
📌 Quarterly Review
29
📌 Product Demo
30
1
📌 Team Standup
📌 Design Review
📌 1:1 with Manager
2
📌 Tech Conference
📌 Client Onboarding
3
📌 Tech Conference
📌 Architecture Review
4
📌 Tech Conference
5
6
📌 Company Retreat
7
📌 Company Retreat
8
📌 Company Retreat
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Resource timeline

Supply Resources to enable Timeline mode, where rows are resources (rooms, machines, people) and columns are time. Events are matched to a row through their Resource id, anything unmatched falls into a trailing "Unassigned" row, and dragging a block between rows reassigns it. The add/edit dialog gains a resource picker as soon as the calendar has resources to choose from.

October 2026
Resource
1 T
2 F
3 S
4 S
5 M
6 T
7 W
8 T
9 F
10 S
11 S
12 M
13 T
14 W
15 T
16 F
17 S
18 S
19 M
20 T
21 W
22 T
23 F
24 S
25 S
26 M
27 T
28 W
29 T
30 F
31 S
HQ - Bay Wing
Headquarters
Design Review
10:00 - 11:00
Workshop
14:00 - 16:00
The Garden
Headquarters
Standup
09:00 - 09:30
War Room (B1)
Basement
Incident Bridge
13:00 - 15:00

Date bounds

MinDate and MaxDate fence in the dates the calendar can reach. The prev/next buttons disable at the edges, out-of-range days are dimmed and inert, a bound Date outside the window is pulled back in, and a drag or a save that would land outside it is refused with a notice instead of moving the event out of sight.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Allowed range: 2026-09-21 to 2026-10-21

Booking rules

Turn Settings.AllowEventOverlap off to prevent double booking: a drag, a resize, or a dialog save that would put two events on the same resource at the same time is refused, the calendar shows a notice, and OnRefused reports why. Individual events can also be frozen with IsReadOnly - they stay readable but cannot be dragged, resized, edited or deleted, whatever the rest of the calendar allows.


Oct 1, 2026
Thu 1
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
Payroll run
09:00 - 10:00
Design Review
11:00 - 12:00
Retro
15:00 - 16:00
16:48
October 2026
SuMoTuWeThFrSa
Happening now
No appointments at the moment

Last refusal: -

OnChange

OnChange is raised whenever a user adds, edits, or deletes an event, with the new snapshot, the previous one (for edits and deletes), the Kind of change, and the Source it came from - a dialog, a drag, or a resize. Apply it to your own store in the handler so the change survives the next render.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Last change: -

Binding

The View, Mode, and Date parameters are two-way bound, so you can drive the calendar from outside and react to user-driven changes through OnViewChange, OnModeChange, and OnDateChange - the last of which also fires once on the first render, carrying the range you need to fetch events for, and only again when that range really moves, so picking another day of the week already on screen never asks you to re-fetch what you already have. The DefaultView, DefaultMode, and DefaultDate parameters set the initial values that are used when their two-way counterparts are not bound.

View
Mode

October 2026
S
M
T
W
T
F
S
27
28
29
30
1
Standup
09:00
Design Review
10:00
Incident Bridge
13:00
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

View: Month | Mode: Event | Date: 2026-10-01
Last calendar event: -

Programmatic control

Capture the component with @ref to drive it from code without binding a parameter: GoToDate, GoToToday, NavigateNext, NavigatePrevious, ChangeView, and ChangeMode do exactly what the toolbar does - navigation is clamped into the allowed date window and a view is clamped into the allowed set - while GetVisibleRange reports the inclusive start and end dates currently on screen.


October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Visible range: -

Localization

Render the calendar with a localized culture (here Persian, fa-IR) and override the UI strings through a customized BitFullCalendarTexts instance. The culture decides the calendar system, the month and day names, the first day of the week, and the writing direction - a right-to-left culture flips the whole layout on its own. This example translates most of the available strings: toolbar, view/mode tabs, filters, settings panel, search/agenda, dialogs, form fields, validation messages, and resource labels.

1405 مهر
ش
ی
د
س
چ
پ
ج
28
29
30
31
1
2
3
4
5
6
Quarterly Review
10:00
7
Product Demo
14:00
8
9
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
10
Tech Conference
Client Onboarding
10:00
11
Architecture Review
14:00
12
17:00
13
14
Company Retreat
15
16
16:00
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1

Toolbar

Trim the built-in toolbar down to what you want to keep. HideFilters drops the colour and attendee dropdowns, HideSettings drops the settings gear, and HideHeader removes the whole bar - navigation, tabs, filters, the "Add Event" button and all - so you can put your own chrome around the grid. None of them takes a feature away: pass pre-filtered events, drive every preference through the Settings object, and steer the calendar with the two-way bound View, Mode and Date parameters or the navigation methods shown in the sections below.


October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Views

Restrict which views the calendar offers - and in which order they appear - with the Views parameter. Excluded views become unreachable: their tabs are gone, and the active view is clamped into the list no matter how it was requested. A single allowed view collapses the tab strip altogether.

Available views

Sep 27, 2026 - Oct 3, 2026
Weekly view is not recommended on smaller devices. Please switch to a desktop device or use the daily view instead.
Tech Conference
Sun 27
Mon 28
Tue 29
Wed 30
Thu 1
Fri 2
Sat 3
01:00
02:00
03:00
04:00
05:00
06:00
07:00
08:00
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
21:00
22:00
23:00
Quarterly Review
10:00 - 12:00
Product Demo
14:00 - 15:00
Team Standup
09:00 - 09:45
Design Review
10:00 - 11:00
Lunch with Client
12:00 - 13:30
Sprint Planning
14:00 - 15:30
Code Review
16:00 - 17:00
1:1 with Manager
10:30 - 11:15
16:48
Client Onboarding
10:00 - 11:30
Architecture Review
14:00 - 16:00

Read-only

Present the calendar without letting anyone change it. ReadOnly hides the "Add Event" button and the per-cell add affordances, stops events from being dragged or resized, and drops the edit and delete actions from the event details dialog. Navigating dates, switching views, filtering, the settings panel, and opening an event to read its details all keep working. Setting IsEnabled to false does the same and dims the calendar.


October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Recurring events

Give an event a Recurrence rule and the calendar repeats it: daily, weekly (on the non-consecutive weekdays you list in DaysOfWeek), monthly, or yearly, every Interval units - every 15 days, every other week - ending after a Count of occurrences or on an Until date, or never. A monthly or yearly rule with a WeekOfMonth lands on a weekday of the month instead of a day number: the third Tuesday, the last Friday. ExceptionDates skips the occurrences that were cancelled and AdditionalDates adds ones outside the pattern, without disturbing it. Only the visible range is expanded, so an open-ended series costs nothing to keep, and each occurrence carries the master's SeriesId and its own OccurrenceDate.
The user manages all of this from the dialogs too: the add/edit dialog has a Repeat section for the rule and its skipped and added dates, and opening an occurrence asks whether Edit or Delete means this event - which skips its date, and for an edit puts a one-off event in its place - or all events in the series. Occurrences cannot be dragged.

October 2026
S
M
T
W
T
F
S
27
28
29
30
1
Backup Check
08:00
Daily Standup
09:00
2
Daily Standup
09:00
Sprint Review
15:00
3
4
5
Daily Standup
09:00
6
Daily Standup
09:00
7
Daily Standup
09:00
8
Daily Standup
09:00
9
Daily Standup
09:00
10
11
Board Meeting
11:00
12
Daily Standup
09:00
13
Daily Standup
09:00
14
Daily Standup
09:00
15
Daily Standup
09:00
16
Backup Check
08:00
Daily Standup
09:00
Sprint Review
15:00
17
18
19
Daily Standup
09:00
20
Daily Standup
09:00
Board Meeting
11:00
21
Daily Standup
09:00
22
Daily Standup
09:00
23
Daily Standup
09:00
24
25
26
Daily Standup
09:00
27
Daily Standup
09:00
28
Daily Standup
09:00
29
Daily Standup
09:00
30
Daily Standup
09:00
Sprint Review
15:00
Month-end Report
16:00
31
Backup Check
08:00

Business hours

Mark the part of the week you actually schedule in. Settings.BusinessDays (Monday to Friday by default), Settings.BusinessStartHour and Settings.BusinessEndHour describe the window; Settings.HighlightBusinessHours shades everything outside it on the day, week and timeline grids and on the non-business month cells - the user can toggle that from the settings gear too. Settings.RestrictToBusinessHours goes further and turns the window into a rule: a drag, a resize, or a dialog save that would land outside it is refused with a notice, and OnRefused reports OutsideBusinessHours. Switch to the Week view to see it.


Sep 27, 2026 - Oct 3, 2026
Weekly view is not recommended on smaller devices. Please switch to a desktop device or use the daily view instead.
Tech Conference
Sun 27
Mon 28
Tue 29
Wed 30
Thu 1
Fri 2
Sat 3
07:00
08:00
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00
18:00
19:00
20:00
Quarterly Review
10:00 - 12:00
Product Demo
14:00 - 15:00
Team Standup
09:00 - 09:45
Design Review
10:00 - 11:00
Lunch with Client
12:00 - 13:30
Sprint Planning
14:00 - 15:30
Code Review
16:00 - 17:00
1:1 with Manager
10:30 - 11:15
16:48
Client Onboarding
10:00 - 11:30
Architecture Review
14:00 - 16:00

Last refusal: -

Month grid

Two knobs shape the month grid. Settings.FixedWeekCount always renders six week rows, so the calendar keeps its height as the user walks from a five-row month to a six-row one instead of jumping. Settings.ShowNonCurrentDates decides whether the days the grid borrows from the neighbouring months are drawn at all - turn it off and those cells stay blank and inert, keeping the eye inside the month. Settings.MaxEventsPerDayCell sets how many badges a cell shows before the rest collapse behind the "+N more" affordance.


October 2026
S
M
T
W
T
F
S
1
Team Standup
09:00
Design Review
10:00
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Navigation links

Settings.NavLinks turns the dates the grids print into links: a month day number and a week-view column header open that single day, and a week number on the month rail opens that week. A link whose target view the Views parameter excluded only moves the date, and one outside the MinDate/MaxDate window is disabled. Turn it off (the default) and the same numbers stay plain labels.


October 2026
S
M
T
W
T
F
S
Quarterly Review
10:00
Product Demo
14:00
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
Tech Conference
Client Onboarding
10:00
Architecture Review
14:00
17:00
Company Retreat
16:00

Style & Class

The calendar's root element takes the usual Style and Class parameters, plus Id, Visibility, and any extra HTML attribute you splat onto it. Its own look is driven by --bit-bfc-* custom properties - set them in a style or a class to re-skin the surface without overriding component selectors. --bit-bfc-height sizes the calendar and --bit-bfc-hour-height re-scales the day and week time grids: the event blocks and the current-time marker are measured against that same property, so they stay on the hours they belong to.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

RTL

Use Dir="BitDir.Rtl" to render the calendar right-to-left. Everything follows: the toolbar order, the navigation chevrons, the weekday columns, the month and year grids, the dialogs, and the resource timeline - whose gutter pins to the leading edge and whose blocks run right to left along the time axis. A right-to-left culture flips the layout on its own, so this parameter is only needed when the two differ.

October 2026
S
M
T
W
T
F
S
27
28
Quarterly Review
10:00
29
Product Demo
14:00
30
1
Team Standup
09:00
Design Review
10:00
1:1 with Manager
10:30
2
Tech Conference
Client Onboarding
10:00
3
Architecture Review
14:00
4
17:00
5
6
Company Retreat
7
8
16:00
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

API

Every parameter, public member, sub-class and enum this component exposes.

BitFullCalendar parameters

Name Type Default value Description
Culture CultureInfo? CultureInfo.CurrentUICulture Sets calendar/date rendering and formatting. Do not use with @rendermode="InteractiveServer" - use CultureName instead.
CultureName string? null Culture name shortcut (e.g. "fa-IR", "ar-SA", "fr-FR"). Takes precedence over Culture when both are supplied.
Date DateTime DateTime.Today The currently selected (anchor) date of the calendar that determines the visible date range. (two-way bound)
DayEventTemplate RenderFragment<BitFullCalendarEvent>? null Replaces the default event card content inside day-view time-grid blocks.
DefaultDate DateTime? null The default selected date used initially when the Date parameter is not set. Determines the date range shown on first render.
DefaultMode BitFullCalendarMode? null The default layout mode used initially when the Mode parameter is not set. Event shows the day/week/month/year/agenda views. Timeline shows a resources × time grid (requires Resources to be non-empty) and supports only the day, week, and month layouts - Year and Agenda fall back to the week layout in Timeline mode.
DefaultView BitFullCalendarView? null The default view used initially when the View parameter is not set. In Event mode any of Day, Week, Month, Year, or Agenda apply; in Timeline mode only Day, Week, and Month are supported (Year and Agenda fall back to the week layout).
EventColorOptions IReadOnlyList<BitFullCalendarColorOption>? null Ordered list of event colors shown in pickers, filters, agenda headers, badges, and bullets.
Events List<BitFullCalendarEvent>? null List of calendar events to display.
HideFilters bool false When true, hides the built-in color and attendee filter dropdowns. Consumers provide their own filter UI and pass pre-filtered events.
HideHeader bool false When true, the whole toolbar is removed - navigation, mode and view tabs, filters, the Add Event button, and the settings gear - so the calendar can be driven entirely from the consumer's own chrome through the bound View/Mode/Date parameters or the navigation methods.
HideSettings bool false When true, hides the built-in settings gear button. Settings can still be driven programmatically through the Settings parameter.
MaxDate DateTime? null The latest date the calendar can navigate to and display. Navigation past it is refused, the next button is disabled, and a bound Date beyond it is pulled back.
MinDate DateTime? null The earliest date the calendar can navigate to and display. Navigation before it is refused, the previous button is disabled, and a bound Date before it is pulled forward. A window whose bounds are inverted is ignored.
Mode BitFullCalendarMode BitFullCalendarMode.Event The currently active layout mode of the calendar (Event or Timeline). Timeline requires Resources to be non-empty and only supports the Day, Week, and Month views (Year and Agenda fall back to the week layout). (two-way bound)
MonthEventTemplate RenderFragment<BitFullCalendarEvent>? null Replaces the default event badge content inside month-view cells.
OnAddClick EventCallback<BitFullCalendarEvent?> When assigned, the built-in add dialog is suppressed. Receives a draft event with the start/end dates pre-filled from the calendar's selected date and configured start hour (or the clicked slot when adding from a time grid).
OnChange EventCallback<BitFullCalendarChangeEventArgs> Raised when a user adds, edits, or deletes an event (Kind: Add, Edit, Delete; Source: Dialog, Drag, Resize).
OnDateChange EventCallback<BitFullCalendarDateChangeEventArgs> Raised when the visible date range changes after prev/next/today navigation or a view switch. Payload includes inclusive Start/End and the active View.
OnEventClick EventCallback<BitFullCalendarEvent> When assigned, the built-in event details dialog is suppressed when an event is clicked. Receives the clicked event.
OnModeChange EventCallback<BitFullCalendarMode> Raised when the active layout mode changes (switching between the Event and Timeline tabs).
OnRefused EventCallback<BitFullCalendarChangeRefusal> Raised when the calendar refuses a user-driven change: an overlap while Settings.AllowEventOverlap is false, a target outside the MinDate/MaxDate window, or an event marked IsReadOnly.
OnViewChange EventCallback<BitFullCalendarView> Raised when the active view changes (selecting a view tab or navigating from the year overview into a month).
ReadOnly bool false When true, the calendar becomes presentation-only: the add button and per-cell add affordances are hidden, drag-and-drop and resizing are disabled, and the edit/delete actions are removed from the event details dialog. Navigation, view/mode switching, filtering, and reading event details keep working.
Resources IReadOnlyList<BitFullCalendarResource>? null Resources displayed as rows in Timeline mode. Each event's Resource property is matched against the resource Id. The Timeline mode tab is hidden when null or empty.
Settings BitFullCalendarSettings new() Initial preferences - 12/24-hour time format, badge variant, day start hour, agenda grouping, and event card layout.
Texts BitFullCalendarTexts new() Custom UI strings for labels, placeholders, action buttons, aria labels, and validation messages.
TimelineEventTemplate RenderFragment<BitFullCalendarEvent>? null Replaces the default event card content inside Timeline mode blocks.
View BitFullCalendarView BitFullCalendarView.Month The currently active view of the calendar (Day, Week, Month, Year, Agenda). In Timeline mode only Day, Week, and Month are supported (Year and Agenda fall back to the week layout). (two-way bound)
Views IReadOnlyList<BitFullCalendarView>? null The views the calendar offers, in the order the view tabs render them. When null or empty, every view (Day, Week, Month, Year, Agenda) is offered in that order; unknown and repeated entries are ignored. Excluded views are unreachable - the tabs omit them and View, DefaultView, and the indirect navigation paths are clamped into the list. The tab strip is hidden when a single view is left, and Timeline mode is unavailable when none of Day, Week, or Month is listed.
WeekEventTemplate RenderFragment<BitFullCalendarEvent>? null Replaces the default event card content inside week-view time-grid blocks.

BitComponentBase parameters

Name Type Default value Description
AriaLabel string? null Gets or sets the accessible label for the component, used by assistive technologies.
Class string? null Gets or sets the CSS class name(s) to apply to the rendered element.
Dir BitDir? null Gets or sets the text directionality for the component's content.
ForceAnimation bool false Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested.
HtmlAttributes Dictionary<string, object> new Dictionary<string, object>() Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters.
Id string? null Gets or sets the unique identifier for the component's root element.
IsEnabled bool true Gets or sets a value indicating whether the component is enabled and can respond to user interaction.
Style string? null Gets or sets the CSS style string to apply to the rendered element.
TabIndex string? null Gets or sets the tab order index for the component when navigating with the keyboard.
Visibility BitVisibility BitVisibility.Visible Gets or sets the visibility state (visible, hidden, or collapsed) of the component.

BitComponentBase public members

Name Type Default value Description
UniqueId Guid Guid.NewGuid() Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed.
RootElement ElementReference Gets the reference to the root HTML element associated with this component.

BitFullCalendarEvent properties

Represents a single calendar event rendered across the day, week, month, year, agenda, and timeline views.

Name Type Default value Description
Id string string.Empty Unique identifier of the event.
Title string string.Empty Event title shown on the event card, badge, and dialogs.
Description string string.Empty Event description shown in the details and add/edit dialogs.
StartDate DateTime Start date and time of the event.
EndDate DateTime End date and time of the event.
Color string BitFullCalendarColorScheme.FallbackColorId Identifier of the color matching a BitFullCalendarColorOption.Id from the configured palette.
Attendees List<BitFullCalendarAttendee> [] People attending the event.
Resource string? null Optional resource identifier linking this event to a BitFullCalendarResource. Used by the timeline view to place the event on the matching resource row. null or empty means the event is unassigned.
IsAllDay bool false Marks the event as lasting the whole day (or span of days) rather than a time range. It renders in the all-day row above the day and week time grids and its badge shows no clock time.
IsReadOnly bool false Locks this single event: it cannot be dragged, resized, edited, or deleted even while the calendar itself is editable. Reading its details keeps working.
CssClass string? null Extra CSS class(es) applied to every element that renders this event - the month badge, the day/week block, and the timeline block.
Recurrence BitFullCalendarRecurrence? null Repeat rule that turns this event into a series master. The calendar expands it into occurrences across the visible range; the master itself is never rendered once it has one.
SeriesId string? null Set on a generated occurrence to the Id of the series master it came from. Null on every event a consumer supplied.
OccurrenceDate DateTime? null Set on a generated occurrence to the date it falls on, so a click handler can tell which one of a series the user picked.
IsOccurrence bool Read-only. True when this event was generated by expanding a recurrence rule.
IsSingleDay bool Read-only. True when the event starts and ends on the same date.
IsMultiDay bool Read-only. True when the event spans more than one date.
IsAllDayOrMultiDay bool Read-only. True when the event belongs in the all-day row: either it is marked IsAllDay or it spans more than one date.
Duration TimeSpan Read-only. The difference between EndDate and StartDate.
Data object? null Optional consumer-defined payload available to templates and click handlers.

BitFullCalendarRecurrence properties

The repeat rule of a recurring event. The event it sits on is the series master: it defines the first occurrence's date, time, and length, and every later occurrence repeats that same length. Recurrence is computed on the Gregorian calendar, independent of the culture the calendar renders in.

Name Type Default value Description
Frequency BitFullCalendarRecurrenceFrequency BitFullCalendarRecurrenceFrequency.Daily How often the event repeats.
Interval int 1 Number of frequency units between two occurrences - 2 with a weekly frequency means every other week. Values below 1 are treated as 1.
DaysOfWeek IReadOnlyList<DayOfWeek>? null Weekdays the series occurs on: every week for a weekly series, or on that week of the month for a monthly or yearly series with a WeekOfMonth. When null or empty the series follows the start date's own weekday. Ignored by the other frequencies.
WeekOfMonth BitFullCalendarWeekOfMonth? null Places a monthly or yearly series on a weekday of the month instead of the start date's day number - Third with DaysOfWeek set to Tuesday is the third Tuesday. A yearly series stays in the start date's month. Ignored by the other frequencies.
Count int? null Total number of occurrences the pattern produces, counting the first. Null leaves the series open-ended unless Until closes it; when both are set, whichever ends the series first wins.
Until DateTime? null Last date the pattern may occur on (inclusive). Null leaves the series open-ended unless Count closes it.
ExceptionDates IReadOnlyList<DateTime>? null Dates the series skips - a cancelled occurrence, a holiday. Only the date part is compared, a skipped date still counts against Count, and it also removes an AdditionalDates entry on the same date.
AdditionalDates IReadOnlyList<DateTime>? null Dates the series also occurs on outside its pattern - a make-up session. Each repeats the master's time of day and length, neither counts against Count nor stops at Until, and a date the pattern already produces is not doubled.

BitFullCalendarAttendee properties

Represents a person attending an event, shown in the event details and add/edit dialogs.

Name Type Default value Description
FirstName string string.Empty First name of the attendee.
LastName string string.Empty Last name of the attendee.
Id string? null Optional identifier of the attendee.
FullName string Read-only. The combined and trimmed first and last name.
Initials string Read-only. The uppercased initials derived from the first and last name.

BitFullCalendarColorOption properties

Describes one selectable event color shown in the picker, filters, agenda headers, badges, bullets, and swatches. Events reference a color through its Id.

Name Type Default value Description
Id string string.Empty Stable identifier of the color matched against BitFullCalendarEvent.Color (case-insensitive). Use a short, slug-style value such as "blue" or "skyblue".
Title string string.Empty Display label shown in pickers, filters, agenda headers, and event details. Used as-is with no localization.
Value string string.Empty CSS color value used for swatches, bullets, badge accents, and chip surfaces. Any valid CSS color such as hex, rgb(), hsl(), or a named color. Badge background, border, and text contrast tints are derived from this value at runtime.
Defaults static IReadOnlyList<BitFullCalendarColorOption> Built-in palette (blue, green, red, yellow, purple, orange) used when EventColorOptions is null or empty.

BitFullCalendarResource properties

A schedulable resource shown as a row in the resource timeline view (for example a meeting room, a person, or a piece of equipment). Events are linked to a resource through BitFullCalendarEvent.Resource matching Id.

Name Type Default value Description
Id string Required. Stable, non-blank identifier matched against BitFullCalendarEvent.Resource. Cannot be null, empty, or whitespace - a blank id is rejected at assignment time.
Title string string.Empty Display name for the resource (for example "Bay Wing", "Alice Johnson", "Meeting Room 3B").
Subtitle string? null Optional subtitle shown below the resource title (for example building or department).
Data object? null Optional consumer-defined payload available to templates and click handlers.

BitFullCalendarSettings properties

Configuration settings applied as initial defaults when the component mounts, or whenever a new instance is assigned to the Settings parameter.

Name Type Default value Description
Use24HourFormat bool true Uses 24-hour time format instead of 12-hour (AM/PM).
BadgeVariant BitFullCalendarBadgeVariant BitFullCalendarBadgeVariant.Colored Badge display style in the month view.
StartOfDayHour int 8 Hour the day/week time grid scrolls to on first render. Clamped into the VisibleStartHour/VisibleEndHour window.
VisibleStartHour int 0 First hour rendered by the day, week, and timeline day/week time grids (0–23). Equivalent to slotMinTime in other calendar libraries.
VisibleEndHour int 24 Exclusive last hour rendered by the day, week, and timeline day/week time grids (1–24). Equivalent to slotMaxTime. A value at or below VisibleStartHour is corrected to one hour past it.
SlotDurationMinutes int 30 Length in minutes of one slot inside an hour, and the granularity drag-and-drop and resizing snap to. Only divisors of 60 are accepted (5, 6, 10, 12, 15, 20, 30, 60); other values round to the nearest accepted one.
HiddenDays IReadOnlyList<DayOfWeek>? null Days of the week removed from every date grid (week, month, year, and the timeline week layout). Use it to render a work week. A list that would hide every day is ignored.
BusinessDays IReadOnlyList<DayOfWeek>? null The weekdays business hours run on. null means Monday to Friday; an empty list means no day is a business day.
BusinessStartHour int 9 First hour of the business day (0–23).
BusinessEndHour int 17 Exclusive last hour of the business day (1–24). A value at or below BusinessStartHour is corrected to one hour past it.
HighlightBusinessHours bool false Shades everything outside the business hours - the off-hours slots of the day, week, and timeline grids and the non-business month cells. Also toggleable from the built-in settings panel.
RestrictToBusinessHours bool false Refuses any drag, resize, or dialog save whose resulting range is not fully contained in the business hours, reported as BitFullCalendarChangeRefusal.OutsideBusinessHours.
FixedWeekCount bool false Always renders six week rows in the month grid, so the calendar keeps the same height across months.
ShowNonCurrentDates bool true Renders the leading and trailing days the month grid borrows from the neighbouring months. When false those cells stay blank and inert.
NavLinks bool false Turns the month day numbers, the week-view column headers, and the month week numbers into links that navigate to the matching day or week view. A link whose target view is excluded by Views only selects the date.
FirstDayOfWeek DayOfWeek? null Overrides the day the week starts on. When null the active culture's DateTimeFormat.FirstDayOfWeek is used.
ShowWeekNumbers bool false Renders the ISO-8601 week number in the month grid and in the week view's time gutter.
ShowCurrentTimeIndicator bool true Renders the current time indicator line on the day and week time grids.
MaxEventsPerDayCell int 3 Number of event badges a month-grid cell renders before the rest collapse behind the "+N more" affordance. Clamped to 1–10.
RequireEventDescription bool false Makes the description field of the built-in add/edit dialog mandatory. Only the title is required by default.
AllowEventOverlap bool true Allows two events on the same resource to occupy the same time range. When false, a drag, resize, or dialog save that would create an overlap is refused.
AllowRangeSelection bool true Lets the user press and drag across the day or week time grid to select a range of slots, which opens the new event already spanning it. A plain click still creates a one-slot event.
AgendaModeGroupBy BitFullCalendarAgendaGroupBy BitFullCalendarAgendaGroupBy.Date How events are grouped in the agenda view.
EventLayout BitFullCalendarEventLayout BitFullCalendarEventLayout.Overlap How overlapping event cards are positioned in the day and week views.
ShowDayViewCalendar bool true Renders the mini calendar shown in the day view sidebar.

BitFullCalendarChangeEventArgs properties

Provides details about a user-applied calendar event change, passed to the OnChange callback.

Name Type Default value Description
Event BitFullCalendarEvent The current event snapshot after the change for Add/Edit, or the removed event snapshot for Delete.
Kind BitFullCalendarChangeKind The change type that occurred (Add, Edit, Delete).
OldEvent BitFullCalendarEvent? null The event snapshot before the change for Edit/Delete. Null for Add.
Source BitFullCalendarChangeSource The UI source that triggered this change (Dialog, Drag, Resize).

BitFullCalendarDateChangeEventArgs properties

Provides details about a date range change, fired when the user navigates (prev/next/today) or switches views. Passed to the OnDateChange callback.

Name Type Default value Description
Start DateTime Start of the visible date range (inclusive).
End DateTime End of the visible date range (inclusive).
View BitFullCalendarView The active calendar view when the change occurred.

BitFullCalendarTexts properties

Custom UI strings for labels, placeholders, action buttons, aria labels, and validation messages. Used for localization and customization of all built-in text.

Name Type Default value Description
ViewDay string "Day" Label for the day view tab.
ViewWeek string "Week" Label for the week view tab.
ViewMonth string "Month" Label for the month view tab.
ViewYear string "Year" Label for the year view tab.
ViewAgenda string "Agenda" Label for the agenda view tab.
ModeEvent string "Events" Label for the event mode tab.
ModeTimeline string "Timeline" Label for the timeline mode tab.
TodayButton string "Today" Label for the today navigation button.
AddEventButton string "Add Event" Label for the add event button.
AddEventHoverHint string "Add event" Tooltip shown when hovering the add event affordance.
PreviousButtonTitle string "Previous" Title for the previous navigation button.
NextButtonTitle string "Next" Title for the next navigation button.
PreviousMonthAriaLabel string "Previous month" Aria label for the mini calendar previous month navigation button.
NextMonthAriaLabel string "Next month" Aria label for the mini calendar next month navigation button.
SettingsButtonTitle string "Settings" Title for the settings gear button.
FilterByColorAriaLabel string "Filter events by color" Aria label for the color filter dropdown.
FilterByPersonAriaLabel string "Filter events by person in current view" Aria label for the attendee filter dropdown.
AllColorsOption string "All colors" Option text for clearing the color filter.
AllPeopleOption string "All people" Option text for clearing the attendee filter.
UnnamedAttendee string "(Unnamed)" Fallback text for an attendee with no name.
CalendarSettingsLabel string "Calendar settings" Heading for the settings panel.
DotBadgeLabel string "Dot badge" Label for the dot badge setting toggle.
TwentyFourHourFormatLabel string "24-hour format" Label for the 24-hour format setting toggle.
DayStartsAtLabel string "Day starts at" Label for the day start hour setting.
HourSuffix string "h" Suffix appended to hour values in the settings.
AgendaGroupByLabel string "Agenda group by" Label for the agenda grouping setting.
AgendaGroupByDate string "Date" Option text for grouping the agenda by date.
AgendaGroupByColor string "Color" Option text for grouping the agenda by color.
StackedEventsLabel string "Stack overlapping events" Label for the overlapping events layout toggle.
ShowDayViewCalendarLabel string "Show calendar in day view" Label for the day view mini calendar toggle.
ShowWeekNumbersLabel string "Show week numbers" Label for the week numbers setting toggle.
ShowCurrentTimeIndicatorLabel string "Show current time" Label for the current time indicator setting toggle.
SlotDurationLabel string "Slot duration" Label for the slot duration setting.
MinuteSuffix string "min" Suffix appended to minute values in the settings.
WeekMobileWarning string "Weekly view is not recommended..." Warning shown when using the week view on small devices.
HappeningNowTitle string "Happening now" Title for the happening-now indicator.
NoAppointmentsNow string "No appointments at the moment" Text shown when there are no current appointments.
SearchEventsPlaceholder string "Search events..." Placeholder for the agenda search box.
NoEventsFound string "No events found." Text shown when a search returns no events.
EventListTitleFormat string "Events on {0}" Format template for the event list dialog title; {0} is the formatted date.
EventListCountFormat string "{0} event(s)" Format template for the event count in the event list dialog; {0} is the count.
MoreEventsFormat string "+{0} more" Format template for the "+N more" affordance in month cells; {0} is the hidden-event count.
AddEventDialogTitle string "Add New Event" Title for the add event dialog.
EditEventDialogTitle string "Edit Event" Title for the edit event dialog.
AddEventDialogSubtitle string "Create a new event for your calendar." Subtitle for the add event dialog.
EditEventDialogSubtitle string "Modify your existing event." Subtitle for the edit event dialog.
CloseAriaLabel string "Close" Aria label for the dialog close button.
CloseButton string "Close" Label for the close button.
CancelButton string "Cancel" Label for the cancel button.
EditButton string "Edit" Label for the edit button.
DeleteButton string "Delete" Label for the delete button.
CreateEventButton string "Create Event" Label for the create event button.
SaveChangesButton string "Save Changes" Label for the save changes button.
TitleLabel string "Title" Label for the event title field.
EventTitlePlaceholder string "Event title" Placeholder for the event title field.
StartDateTimeLabel string "Start Date & Time" Label for the start date and time field.
EndDateTimeLabel string "End Date & Time" Label for the end date and time field.
ColorLabel string "Color" Label for the color field.
EventColorAriaLabel string "Event color" Aria label for the color picker.
DescriptionLabel string "Description" Label for the description field.
EventDescriptionPlaceholder string "Event description" Placeholder for the description field.
AttendeesLabel string "Attendees" Label for the attendees field.
NoAttendeesText string "No attendees" Text shown when an event has no attendees.
FirstNamePlaceholder string "First name" Placeholder for the attendee first name field.
LastNamePlaceholder string "Last name" Placeholder for the attendee last name field.
IdOptionalPlaceholder string "ID (optional)" Placeholder for the optional attendee id field.
AddButton string "Add" Label for the add attendee button.
RemoveAttendeeAriaLabel string "Remove attendee" Aria label for the remove attendee button on an attendee chip.
StartDateLabel string "Start Date" Label for the start date in the event details.
EndDateLabel string "End Date" Label for the end date in the event details.
AtWord string "at" Connector word between date and time in the event details.
AllDayLabel string "All day" Label of the all-day switch in the add/edit dialog, and of an all-day event's badge and details.
WeekNumberFormat string "W{0}" Format template of the week-number cell; {0} is the ISO-8601 week number.
WeekNumberAriaLabelFormat string "Week {0}" Accessible name of a week-number cell; {0} is the ISO-8601 week number.
EventOverlapMessage string "This time range is already taken on that resource." Notice shown when a move, resize, or save is refused because it would overlap another event.
OutOfRangeMessage string "That date is outside the allowed range." Notice shown when a move or resize is refused because it falls outside the allowed date range.
OutsideBusinessHoursMessage string "That time is outside business hours." Notice shown when a move, resize, or save is refused because it falls outside the business hours.
HighlightBusinessHoursLabel string "Highlight business hours" Label for the business-hours toggle in the settings panel.
NavLinkDayAriaLabelFormat string "Go to {0}" Accessible name of a day number or column header that navigates to that day; {0} is the formatted date.
NavLinkWeekAriaLabelFormat string "Go to week {0}" Accessible name of a week number that navigates to that week; {0} is the ISO-8601 week number.
ValidationTitleRequired string "Title is required" Validation message when the title is empty.
ValidationDescriptionRequired string "Description is required" Validation message when the description is empty.
ValidationEndAfterStart string "End date must be after start date" Validation message when the end date is not after the start date.
ValidationAttendeeNameRequired string "First name or last name is required" Validation message when an attendee has no name.
ResizePreviewAriaLabel string "New time range" Aria label for the resize preview indicator.
RepeatsLabel string "Repeats" Label of the repeat-rule row in the event details dialog.
RepeatsDaily string "Daily" Name of a daily repeat rule.
RepeatsWeekly string "Weekly" Name of a weekly repeat rule.
RepeatsMonthly string "Monthly" Name of a monthly repeat rule.
RepeatsYearly string "Yearly" Name of a yearly repeat rule.
RepeatsIntervalFormat string "every {0}" Appended to the frequency when the rule repeats every N units; {0} is the interval.
RepeatsCountFormat string "{0} times" Appended when the series is closed by a number of occurrences; {0} is the count.
RepeatsUntilFormat string "until {0}" Appended when the series is closed by a date; {0} is the formatted date.
RepeatsOnDaysFormat string "on {0}" Appended when a weekly series names its weekdays; {0} is the abbreviated weekday names joined with ListSeparator.
RepeatsOnWeekOfMonthFormat string "on the {0} {1}" Appended when a monthly or yearly series lands on a weekday of the month; {0} is the week of the month, {1} the weekday names.
ListSeparator string ", " Separator between the items of a list in a summary, such as weekday names.
WeekOfMonthFirst string "first" Name of BitFullCalendarWeekOfMonth.First.
WeekOfMonthSecond string "second" Name of BitFullCalendarWeekOfMonth.Second.
WeekOfMonthThird string "third" Name of BitFullCalendarWeekOfMonth.Third.
WeekOfMonthFourth string "fourth" Name of BitFullCalendarWeekOfMonth.Fourth.
WeekOfMonthLast string "last" Name of BitFullCalendarWeekOfMonth.Last.
RepeatLabel string "Repeat" Label of the repeat picker in the add/edit dialog.
DoesNotRepeatOption string "Does not repeat" The repeat picker's option for a one-off event.
RepeatEveryLabel string "Repeat every" Label of the interval field in the add/edit dialog.
RepeatDaysUnit string "day(s)" Unit shown after the interval of a daily series.
RepeatWeeksUnit string "week(s)" Unit shown after the interval of a weekly series.
RepeatMonthsUnit string "month(s)" Unit shown after the interval of a monthly series.
RepeatYearsUnit string "year(s)" Unit shown after the interval of a yearly series.
RepeatOnLabel string "Repeat on" Label of the weekday and day-of-the-month choices in the add/edit dialog.
RepeatOnDayOfMonthFormat string "Day {0}" The option that keeps a monthly series on the start date's day number; {0} is that day.
RepeatOnWeekOfMonthFormat string "The {0}" The option that moves a monthly or yearly series onto a weekday of the month; {0} is the week of the month. The weekdays are picked beside it.
EndsLabel string "Ends" Label of the field that decides when a series ends.
EndsNeverOption string "Never" The option for an open-ended series.
EndsOnDateOption string "On date" The option for a series that ends on a date.
EndsAfterOption string "After" The option for a series that ends after a number of occurrences.
OccurrencesLabel string "occurrence(s)" Shown after the occurrence count of a series that ends after a number of occurrences.
RepeatExceptionsLabel string "Exceptions" Label of the skipped and added dates of a series in the add/edit dialog.
SkipDateButton string "Skip date" Button that adds the picked date to the dates a series skips.
AddDateButton string "Add date" Button that adds the picked date to the dates a series also occurs on.
SkippedDatesLabel string "Skipped" Caption of the dates a series skips.
AddedDatesLabel string "Added" Caption of the dates a series also occurs on.
RemoveDateAriaLabel string "Remove date" Accessible name of the button that removes a skipped or added date.
ValidationRepeatAtLeastOne string "Must be at least 1" Validation message when an interval or an occurrence count is below 1.
ValidationUntilBeforeStart string "The series cannot end before it starts" Validation message when a series is set to end before it starts.
RecurringEditTitle string "Edit recurring event" Title of the prompt that asks whether an edit applies to one occurrence or the series.
RecurringDeleteTitle string "Delete recurring event" Title of the prompt that asks whether a delete applies to one occurrence or the series.
ThisOccurrenceOption string "This event" The choice that applies an edit or delete to the opened occurrence only.
AllOccurrencesOption string "All events in the series" The choice that applies an edit or delete to the whole series.
OkButton string "OK" Label of the button that confirms a prompt.
GetWeekOfMonthLabel(BitFullCalendarWeekOfMonth) string Method that returns the localized name of a week of the month.
GetRecurrenceSummary(BitFullCalendarRecurrence, CultureInfo?, DateTime?) string Method that returns the one-line repeat summary shown in the event details dialog. Pass the master's start so a rule that names no weekday can still be described.
ResourceLabel string "Resource" Label for the resource field in the add/edit dialog.
ResourceColumnHeader string "Resource" Header for the resource column in the timeline view.
NoResourceLabel string "Unassigned" Label for events not assigned to a resource.
NoResourceOption string "(none)" Option text for clearing the resource assignment.
NoResourcesMessage string "No resources to display." Message shown when there are no resources in the timeline view.
GetViewLabel(BitFullCalendarView) string Method that returns the localized label for the given view.
GetModeLabel(BitFullCalendarMode) string Method that returns the localized label for the given mode.

BitFullCalendarMode enum

Name Value Description
Event 0 Day, week, month, year, and agenda views on a date grid.
Timeline 1 Resource-centric layout (resources × time grid); requires Resources. Supports only the day, week, and month layouts.

BitFullCalendarView enum

Name Value Description
Day 0 Single-day detailed view.
Week 1 7-day view with hourly time slots.
Month 2 Month grid with multi-day events.
Year 3 12-month overview. Event mode only - falls back to the week layout in Timeline mode.
Agenda 4 Searchable list grouped by date or color. Event mode only - falls back to the week layout in Timeline mode.

BitFullCalendarBadgeVariant enum

Name Value Description
Colored 0 Colored badge.
Dot 1 Colored dot bullet.

BitFullCalendarAgendaGroupBy enum

Name Value Description
Date 0 Group agenda items by date.
Color 1 Group agenda items by color.

BitFullCalendarEventLayout enum

Name Value Description
Overlap 0 Overlapping cards cascade on top of each other, each offset to the right and extending to the column edge.
Stack 1 Overlapping cards are placed side by side in equal-width columns with no overlap.

BitFullCalendarChangeKind enum

Name Value Description
Add 0 An event was added.
Edit 1 An event was edited.
Delete 2 An event was deleted.

BitFullCalendarChangeSource enum

Name Value Description
Dialog 0 From the add/edit dialog.
Drag 1 From a drag-and-drop move.
Resize 2 From resizing an event block.

BitFullCalendarRecurrenceFrequency enum

Name Value Description
Daily 0 Repeats every Interval days.
Weekly 1 Repeats every Interval weeks, on the weekdays listed in DaysOfWeek (the start date's own weekday when none are listed).
Monthly 2 Repeats every Interval months on the start date's day of the month. A month too short for that day is skipped rather than shifted. With WeekOfMonth set it repeats on a weekday of the month instead (the third Tuesday).
Yearly 3 Repeats every Interval years on the start date's month and day. A 29 February series only occurs in leap years. With WeekOfMonth set it repeats on a weekday of the start date's month instead (the fourth Thursday of November).

BitFullCalendarWeekOfMonth enum

Name Value Description
First 0 The first such weekday of the month (days 1 to 7).
Second 1 The second such weekday of the month (days 8 to 14).
Third 2 The third such weekday of the month (days 15 to 21).
Fourth 3 The fourth such weekday of the month (days 22 to 28).
Last 4 The last such weekday of the month, whether that is its fourth or its fifth.

BitFullCalendarChangeRefusal enum

Name Value Description
None 0 The change was applied (or there was nothing to apply).
ReadOnly 1 The calendar - or the single event - is read-only, so nothing was changed.
Overlap 2 The resulting range would overlap another event on the same resource while Settings.AllowEventOverlap is false.
OutOfRange 3 The resulting range falls outside the MinDate/MaxDate window the calendar is allowed to show.
OutsideBusinessHours 4 The resulting range is not fully contained in the business hours while Settings.RestrictToBusinessHours is true.

BitVisibility enum

Name Value Description
Visible 0 The content of the component is visible.
Hidden 1 The content of the component is hidden, but the space it takes on the page remains (visibility:hidden).
Collapsed 2 The component is hidden (display:none).

BitDir enum

Name Value Description
Ltr 0 Ltr (left to right) is to be used for languages that are written from the left to the right (like English).
Rtl 1 Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic).
Auto 2 Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element.

Feedback

Found a mistake, a gap, or something that could be clearer? Every page and every component is one click from its source.