@use "sass:map";
@use "@progress/kendo-theme-core/scss/components/calendar/_layout.scss" as *;
@use "../core/index.scss" as *;
@use "../core/functions/index.scss" as *;
@use "./variables.scss" as *;


@mixin kendo-calendar--layout() {
    @include kendo-calendar--layout-base();

    .k-calendar {
        .k-range-start,
        .k-range-end {
            border-radius: 0;

            .k-link {
                border-radius: $kendo-calendar-range-cell-border-radius;
            }
        }

        @each $size, $size-props in $kendo-calendar-sizes {
            $_cell-size: map.get( $size-props, cell-size );
            $_cell-padding-x: map.get( $size-props, cell-padding-x );

            #{k-when-default($kendo-calendar-default-size, $size)}
            &.k-calendar-#{$size} {
                --INTERNAL--kendo-calendar-view-width: calc( 8 * #{$_cell-size} + 2 * #{$_cell-padding-x} );
            }
        }
    }

    .k-calendar:not(.k-calendar-infinite) {
        .k-calendar-view {
            padding-block: calc( #{$kendo-calendar-header-padding-x} / 2 ) $kendo-calendar-header-padding-x;
        }
    }

    .k-calendar-infinite .k-calendar-navigation {
        border-start-start-radius: $kendo-calendar-border-radius;
        border-end-start-radius: $kendo-calendar-border-radius;
    }

    // Calendar in popup
    .k-popup > .k-calendar {
        border-radius: inherit;
    }
}
