// Spec: https://material.google.com/patterns/navigation-drawer.html#navigation-drawer-specs

@import "mixins";
@import "variables";
@import "angular-material-variables";

$sidenav-navigation-width: 320px;
$sidenav-navigation-mobile-width: 100%;
$user-info-height: $toolbar-height;
$background-color: #F5F5F5; // Grey 100
$header-row-background: #FFFFFF;
$options-text-color: rgba(0, 0, 0, 0.84);
$options-icon-color: rgba(0, 0, 0, 0.54);
$options-subheader-color: rgba(0, 0, 0, 0.54);
$item-height: 38px;

#sidenav-navigation-container {
    &.is-locked-open {
        overflow: initial !important;
        height: 100%;
    }
}

#sidenav-navigation {
    width: $sidenav-navigation-width;
    min-width: $sidenav-navigation-width;
    max-width: $sidenav-navigation-width;
    @include transition(unquote("all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), width 0.1s linear, min-width 0.1s linear, max-width 0.1s linear"));
    @include box-shadow($whiteframe-shadow-6dp);
    background: $background-color;
    font-size: 0.9em;
    overflow: hidden;
    // AppLoading => 100
    // SidenavNavigation | SidenavFilters => 60
    // SidenavBackdrop: => 59
    // LoadingView  => 58
    // Loading => 57
    z-index: 60;

    &.md-locked-open {
        @include box-shadow($whiteframe-shadow-4dp);
        height: 100%;
    }

    .sidenav-navigation-header {
        background-color: $header-row-background;

        .sidenav-navigation-program-info {
            min-height: $user-info-height;
            padding: 0 16px;

            .md-icon-button {
                margin: 0;
                padding: 4px;
                min-height: 30px;
                height: 30px;
                width: 30px;

                .md-ripple-container {
                    // Fix: Su chrome a fine animazione se il thread è occupato viene mostrato lo sfondo nero
                    -webkit-mask-image: none;
                }
            }

            .sidenav-navigation-hide {
                float: right;
            }
        }

        .sidenav-navigation-program-icon {
            width: 30px;
            height: 30px;
            margin-top: 4px;
            margin-bottom: 4px;
            margin-right: 16px;
        }

        .sidenav-navigation-program-name {
            font-size: 1.2em;
            font-weight: 500;
            color: rgba(0, 0, 0, 0.87);
        }

        .sidenav-navigation-header-options {
            overflow: hidden;
            max-height: 0;
            @include transition(max-height 0.2s ease-out);

            .sidenav-navigation-header-option {
                padding: 0 16px;
                cursor: pointer;
                position: relative;

                &:last-of-type {
                    margin-bottom: 8px;
                }
            }
        }
    }

    .sidenav-navigation-options {
        @include user-select( none);
        position: relative;
        height: 100%;

        md-divider {
            margin: 4px 0;
        }

        .sidenav-navigation-options-subheader {
            padding: 0 16px;
            height: $item-height;
            color: $options-subheader-color;
            font-size: 1em;
            font-weight: 500;
        }

        .sidenav-navigation-option {
            padding: 0 16px;
            position: relative;
            cursor: pointer;
            height: $item-height;

            .sidenav-navigation-option-icon {
                width: 24px;
                height: 24px;
                margin-right: 16px;
            }

            .sidenav-navigation-option-text {
                color: $options-text-color;
                font-size: 1em;
                font-weight: 400;
            }

            .sidenav-navigation-option-badge {
                line-height: 20px;
                font-weight: 300;
                font-size: 0.8rem;
                color: #fff;
                background-color: #78a1ff;
                min-width: 3rem;
                padding: 0 6px;
                text-align: center;
                display: none;
                @include border-radius(2px);
            }
        }
    }

    .sidenav-navigation-sub-options-container {
        background-color: #fafafa;
        max-height: 0;
        overflow: hidden;
        @include transition(max-height 0.2s ease-out);

        .sidenav-navigation-option {
            padding-left: 56px;
        }
    }
}

.sidenav-navigation-tooltip {
    // AppLoading => 9999
    // SidenavNavigation => 9998
    // Loading => 9997
    z-index: 9998;
}

// Responsive
@media screen and (max-width: $layout-breakpoint-xs) {
    #sidenav-navigation {
        width: $sidenav-navigation-mobile-width;
        min-width: $sidenav-navigation-mobile-width;
        max-width: $sidenav-navigation-mobile-width;
    }
}

@media screen and (max-width: $layout-breakpoint-sm) {
    #sidenav-navigation {
        // No icona "Blocca menù"
        .sidenav-navigation-account .sidenav-navigation-block {
            display: none;
        }
    }
}
