buildCalendarMarkup function
Component
buildCalendarMarkup(
- CalendarProps props, {
- required String classes,
- required String todayButtonClasses,
- required String dayButtonClasses,
- required Styles styles,
Implementation
Component buildCalendarMarkup(
CalendarProps props, {
required String classes,
required String navButtonClasses,
required String todayButtonClasses,
required String dayButtonClasses,
required dom.Styles styles,
}) {
final String calendarId = props.id ?? 'cal-${identityHashCode(props)}';
final Map<String, String> attrs = mergeAttrs(<Map<String, String>>[
calendarAttrs(
calendarId: calendarId,
year: props.displayMonth.year,
month: props.displayMonth.month - 1,
mode: props.mode == CalendarModeVariant.range ? 'range' : 'single',
selected: props.selected,
rangeStart: props.selectedRange?.start,
rangeEnd: props.selectedRange?.end,
minDate: props.minDate,
maxDate: props.maxDate,
showWeekNumbers: props.showWeekNumbers,
showToday: props.showToday,
firstDayOfWeek: props.firstDayOfWeek,
),
<String, String>{'role': 'application', 'aria-label': 'Calendar'},
]);
return dom.div(
<Component>[
_calendarHeader(props, calendarId, navButtonClasses),
if (props.showToday) _todayButton(props, calendarId, todayButtonClasses),
_weekdayRow(props),
_dayGrid(props, calendarId, dayButtonClasses),
],
classes: classes,
attributes: attrs,
styles: styles,
);
}