BrickclayDesign System

Calendar

Configure a calendar, inspect its markup and events, then verify the exact same setup inside a modal.

bk-custom-calendarDate and timeAngular

Preview

A working preview of Calendar in the Brickclay style. Try it.

November 2026
SuMoTuWeThFrSa
Selected: Nov 17, 2026
Interact with the preview to see events here.

Applied to the div wrapping the calendar above, handy for reproducing layout bugs (narrow columns, stretched containers, etc.) around it. Standard scale utilities (max-w-sm, w-64, bg-slate-50, p-4, …) are safelisted so they work; arbitrary-value classes like w-[350px] can't, Tailwind only compiles those when it sees the literal bracket text in a source file at build time, never from a runtime string.

Event log

Open, select a date, or apply to see emitted events.

Markup

<bk-custom-calendar
  [(ngModel)]="value"
  [dualCalendar]="true"
  [singleDatePicker]="false"
  [enableTimepicker]="false"
  [autoApply]="false"
  [showCancelApply]="true"
  [showRanges]="true"
  placeholder="Select a date range"
  [appendToBody]="true"
  [opens]="'left'"
  [drop]="'down'">
</bk-custom-calendar>

API reference

Inputs and outputs available on <bk-custom-calendar>.

Inputs

NameTypeDefaultDescription
singleDatePickerbooleanfalseSelect one date instead of a range.
dualCalendarbooleanfalseDisplay two calendar months side by side.
multiDateSelectionbooleanfalseAllow multiple individual dates to be selected.
enableTimepickerbooleanfalseAdd time controls to the calendar.
timeFormat12 | 2412Choose 12-hour or 24-hour time display.
enableSecondsbooleanfalseInclude seconds in time selection.
clearableTimebooleanfalseAllow the selected time to be cleared.
autoApplybooleanfalseCommit a complete selection without an Apply action.
closeOnAutoApplybooleanfalseClose the popup after an automatic commit.
showCancelApplybooleantrueShow the footer containing Cancel and Apply actions.
showCancelbooleantrueShow the Cancel action in the footer.
showRangesbooleantrueDisplay predefined range shortcuts.
customRangesRecord<string, CalendarRange>undefinedProvide named custom date ranges.
rangeOrderstring[][]Control the display order of range shortcuts.
minDateDateundefinedEarliest selectable date.
maxDateDateundefinedLatest selectable date.
displayFormatstring'MM/DD/YYYY'Format used in the calendar input.
placeholderstring'Select date range'Input placeholder text.
inlinebooleanfalseAlways display the calendar without an input popup.
compactbooleanfalseUse the smaller calendar layout (popup only). Does not affect the trigger input, see chartInput.
chartInputbooleanfalseShrink the trigger input to roughly bk-time-picker's compact height and style it to match the chart-filter controls (bk-slicer, the matrix chart's page-size select), for use inline in a chart toolbar/slicer bar. Also compacts the popup (same effect as compact). compact alone still only shrinks the popup.
accentColorstring'#4f46e5'Accent color for chartInput's has-value/selected-day/today-day styling. No effect unless chartInput is also true.
selectedTextColorstring'#000000'Text color for chartInput's has-value trigger text and the popup's selected-day cell. Separate from accentColor since not every accent has enough contrast with black text. No effect unless chartInput is also true.
opens'left' | 'right' | 'center''left'Horizontal direction of the popup.
drop'up' | 'down''down'Preferred vertical popup direction.
autoPositionbooleanfalseFlip the popup to remain inside the viewport.
appendToBodybooleanfalseMove the open popup to the document body to escape clipping.
weekDayLabelsstring[]['Mon', … 'Sun']Override weekday column labels.
requiredbooleanfalseMark the form control as required.
hasErrorbooleanfalseApply the error state to the input.
errorMessagestring''Error message associated with the calendar.
isDisplayCrossIconbooleantrueShow the clear-selection icon.

Outputs

NameEvent typeDescription
selectedEventEmitter<CalendarSelection>Emits when a date or range is committed.
openedEventEmitter<void>Emits after the calendar popup opens.
closedEventEmitter<void>Emits after the calendar popup closes.