@use 'mixins/mixins' as *;

@include b('type-list') {
    display: flex;
    flex-direction: column;
    background-color: var(--el-color-white);
    border-radius: 5px;
    height: 100%;

    @include e('head') {
        display: flex;
        position: relative;
        padding: 15px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--el-border-color);

        &-title {
            flex: 1;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            padding-right: 90px;
        }

        &-action {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
        }
    }

    @include e('body') {
        flex: 1;
    }

    @include e('empty') {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    @include e('foot') {
        padding: 15px;
        box-sizing: border-box;
        border-top: 1px solid var(--el-border-color);
    }
}

@include b('type-list-item') {
    width: 100%;
    position: relative;
    padding: 10px 0 10px 15px;
    display: flex;
    box-sizing: border-box;
    cursor: pointer;
    user-select: none;
    
    &__title {
        flex: 1;
        overflow: hidden;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    &__action {
        display: flex;
        align-items: center;
        padding: 0 15px;

        .el-icon:hover {
            color: var(--el-color-primary);
        }
    }
    
    &:hover {
        background: var(--el-color-primary-light-9);
    }

    @include when('active') {
        background-color: var(--el-color-primary-light-9);  
        
        &::before {
            content: '';
            position: absolute;
            left: 0;
            top: 5px;
            bottom: 5px;
            width: 3px;
            background-color: var(--el-color-primary);
            border-radius: 3px;
        }
    }
}   
