Festivals Widget Custom Options
This guide documents the current custom options for the festivals widget and how they work together.
Quick Start
Base embed:
<div id="bc-widget" data-venue="YOUR_VENUE_ID"></div>
Optional custom options:
data-showdaybuttons="true"data-splitschedule="true"data-mainschedule="true"ordata-mainschedule="false"
Option: Show Day Buttons
Enable
<div id="bc-widget" data-venue="YOUR_VENUE_ID" data-showdaybuttons="true"></div>
Behavior
- Default is off.
- Day buttons are shown only when
data-showdaybuttons="true"is set. - Day buttons are shown only when there are at least 2 unique days in the schedule.
- Day filter works together with schedule split/main filtering.
CSS Classes For Day Labels
.bcfw-settings-day-buttons-wrapper.bcfw-settings-day-label.bcfw-settings-day-label-name.bcfw-settings-day-label-date.bcfw-settings-day-label-month.bcfw-settings-tab-button.bcfw-settings-tab-button-active
Example CSS
/* Optional: scope styles to this widget instance */
#bc-widget .bcfw-settings-day-buttons-wrapper {
gap: 0.5rem;
margin-bottom: 0.5rem;
}
#bc-widget .bcfw-settings-day-label {
display: inline-flex;
align-items: baseline;
gap: 0.25rem;
}
#bc-widget .bcfw-settings-day-label-name {
font-weight: 600;
text-transform: capitalize;
}
#bc-widget .bcfw-settings-day-label-date {
font-size: 1.05em;
font-weight: 700;
}
#bc-widget .bcfw-settings-day-label-month {
font-size: 0.85em;
letter-spacing: 0.03em;
text-transform: uppercase;
opacity: 0.8;
}
/* Selected/active day button */
#bc-widget .bcfw-settings-tab-button-active .bcfw-settings-day-label-name,
#bc-widget .bcfw-settings-tab-button-active .bcfw-settings-day-label-date,
#bc-widget .bcfw-settings-tab-button-active .bcfw-settings-day-label-month {
color: inherit;
}
Option: Split Schedule
Enable
<div id="bc-widget" data-venue="YOUR_VENUE_ID" data-splitschedule="true"></div>
Behavior
- Default is off.
- When enabled, the widget shows tabs for:
AllFestival(isMainSchedule === true)Conference(isMainSchedule === false)
- Filtering is done client-side by tab selection.
- By defaut the labels are in English, but can be changed to Norwegian by using the
data-lang="no"attribute. Custom labels per festival can be configured on request.
Option: Main Schedule
Enable
<!-- Show only main schedule events -->
<div id="bc-widget" data-venue="YOUR_VENUE_ID" data-mainschedule="true"></div>
<!-- Show only non-main schedule events -->
<div id="bc-widget" data-venue="YOUR_VENUE_ID" data-mainschedule="false"></div>
Behavior
- If
data-mainscheduleis omitted, no main-schedule filtering is applied. - If set to
true, onlyisMainSchedule === trueevents are shown. - If set to
false, onlyisMainSchedule === falseevents are shown.
How splitSchedule And mainSchedule Work Together
Rule Of Precedence
- If
data-splitschedule="true":- Split tabs are used.
data-mainscheduleis effectively ignored for initial filtering.- Users can switch between
All,Festival, andConference.
- If
data-splitscheduleis not true:data-mainschedule(if provided) is applied directly as a filter.
Recommended Usage
- Use
splitSchedulewhen you want users to switch between views. - Use
mainSchedulewhen you want a fixed single view. - Avoid setting both unless you intentionally want split tabs to take priority.
Combined Example
<div
id="bc-widget"
data-venue="YOUR_VENUE_ID"
data-splitschedule="true"
data-showdaybuttons="true"
></div>
In this setup:
- User can switch
All / Festival / Conference. - Day buttons update based on the currently selected tab.