@use '../../../../utils/map' as *;
@use '../../../../typography/functions' as *;
@use 'calendar/base' as *;
@use 'calendar/picker' as *;
@use 'calendar/days-view' as *;
@use 'calendar/year-month-view' as *;

////
/// @package theming
/// @group schemas
/// @access public
////

/// Generates a light calendar schema.
/// @type {Map}
/// @requires {Map} $calendar-base
/// @requires {Map} $light-picker
/// @requires {Map} $light-days-view
/// @requires {Map} $light-year-month
$light-calendar: extend($calendar-base, $light-picker, $light-days-view, $light-year-month);

/// Generates a material calendar schema.
/// @type {Map}
/// @requires $light-calendar
/// @requires {Map} $material-base
/// @requires {Map} $material-picker
/// @requires {Map} $material-days-view
/// @requires {Map} $material-year-month
$material-calendar: extend(
    $light-calendar,
    $material-picker,
    $material-days-view,
    $material-year-month,
    $material-base
);

/// Generates a fluent calendar schema.
/// @type {Map}
/// @requires {Map} $light-calendar
/// @requires {Map} $fluent-base
/// @requires {Map} $fluent-picker
/// @requires {Map} $fluent-days-view
/// @requires {Map} $fluent-year-month
$fluent-calendar: extend($light-calendar, $fluent-picker, $fluent-days-view, $fluent-year-month, $fluent-base);

/// Generates a bootstrap calendar schema.
/// @type {Map}
/// @requires {Map} $light-calendar
/// @requires {Map} $bootstrap-base
/// @requires {Map} $bootstrap-picker
/// @requires {Map} $bootstrap-days-view
/// @requires {Map} $bootstrap-year-month
$bootstrap-calendar: extend(
    $light-calendar,
    $bootstrap-picker,
    $bootstrap-days-view,
    $bootstrap-year-month,
    $bootstrap-base
);

/// Generates an indigo calendar schema.
/// @type {Map}
/// @requires {Map} $light-calendar
/// @requires {Map} $indigo-base
/// @requires {Map} $indigo-picker
/// @requires {Map} $indigo-days-view
/// @requires {Map} $indigo-year-month
$indigo-calendar: extend($light-calendar, $indigo-picker, $indigo-days-view, $indigo-year-month, $indigo-base);
