@use 'mixins/index' as mixins;

/* Button 按钮
------------------------------- */

/* Input 输入框、InputNumber 计数器
------------------------------- */
// 菜单搜索
.el-autocomplete-suggestion__wrap {
    max-height: 280px !important;
}

/* Form 表单
------------------------------- */
.el-form {

    // 用于修改弹窗时表单内容间隔太大问题，如系统设置的新增菜单弹窗里的表单内容
    .el-form-item:last-of-type {
        margin-bottom: 0 !important;
    }

    // 修复行内表单最后一个 el-form-item 位置下移问题
    &.el-form--inline {
        .el-form-item--large.el-form-item:last-of-type {
            margin-bottom: 22px !important;
        }

        .el-form-item--default.el-form-item:last-of-type,
        .el-form-item--small.el-form-item:last-of-type {
            margin-bottom: 18px !important;
        }
    }

    // https://gitee.com/lyt-top/vue-next-admin/issues/I5K1PM
    .el-form-item .el-form-item__label .el-icon {
        margin-right: 0px;
    }
}

/* Alert 警告
------------------------------- */
.el-alert {
    border: 1px solid;
}

.el-alert__title {
    word-break: break-all;
}

/* Message 消息提示
------------------------------- */
.el-message {
    min-width: unset !important;
    padding: 15px !important;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.02);
}

/* NavMenu 导航菜单
------------------------------- */
// 鼠标 hover 时颜色
.el-menu-hover-bg-color {
    background-color: var(--bg-menuBarActiveColor) !important;
}

// 默认样式修改
.el-menu {
    border-right: none !important;
    width: 220px;
}

.el-menu-item {
    height: 56px !important;
    line-height: 56px !important;
}

.el-menu-item,
.el-sub-menu__title {
    color: var(--bg-menuBarColor);
}

// 修复点击左侧菜单折叠再展开时，宽度不跟随问题
.el-menu--collapse {
    width: 64px !important;
}

// 外部链接时
.el-menu-item a,
.el-menu-item a:hover,
.el-menu-item i,
.el-sub-menu__title i {
    color: inherit;
    text-decoration: none;
}

// 第三方图标字体间距/大小设置
.el-menu-item .iconfont,
.el-sub-menu .iconfont,
.el-menu-item .fa,
.el-sub-menu .fa {
    @include mixins.generalIcon;
}

// 水平菜单、横向菜单高亮 背景色，鼠标 hover 时，有子级菜单的背景色
.el-menu-item.is-active,
.el-sub-menu.is-active .el-sub-menu__title,
.el-sub-menu:not(.is-opened):hover .el-sub-menu__title {
    @extend .el-menu-hover-bg-color;
}

.el-menu-item:hover {
    @extend .el-menu-hover-bg-color;
}

.el-sub-menu.is-active.is-opened .el-sub-menu__title {
    background-color: unset !important;
}

// 子级菜单背景颜色
// .el-menu--inline {
// 	background: var(--next-bg-menuBar-light-1);
// }
// 水平菜单、横向菜单折叠 a 标签
.el-popper.is-dark a {
    color: var(--el-color-white) !important;
    text-decoration: none;
}

// 水平菜单、横向菜单折叠背景色
.el-popper.is-pure.is-light {

    // 水平菜单
    .el-menu--vertical {
        background: var(--bg-menuBar);

        .el-sub-menu.is-active .el-sub-menu__title {
            color: var(--el-menu-active-color);
        }

        .el-popper.is-pure.is-light {
            .el-menu--vertical {
                .el-sub-menu .el-sub-menu__title {
                    background-color: unset !important;
                    color: var(--bg-menuBarColor);
                }

                .el-sub-menu.is-active .el-sub-menu__title {
                    color: var(--el-menu-active-color);
                }
            }
        }
    }

    // 横向菜单
    .el-menu--horizontal {
        background: var(--bg-topBar);

        .el-menu-item,
        .el-sub-menu {
            height: 48px !important;
            line-height: 48px !important;
            color: var(--bg-topBarColor);

            .el-sub-menu__title {
                height: 48px !important;
                line-height: 48px !important;
                color: var(--bg-topBarColor);
            }

            .el-popper.is-pure.is-light {
                .el-menu--horizontal {
                    .el-sub-menu .el-sub-menu__title {
                        background-color: unset !important;
                        color: var(--bg-topBarColor);
                    }

                    .el-sub-menu.is-active .el-sub-menu__title {
                        color: var(--el-menu-active-color);
                    }
                }
            }
        }

        .el-menu-item.is-active,
        .el-sub-menu.is-active .el-sub-menu__title {
            color: var(--el-menu-active-color);
        }
    }
}

// 横向菜单（经典、横向）布局
.el-menu.el-menu--horizontal {
    border-bottom: none !important;
    width: 100% !important;

    .el-menu-item,
    .el-sub-menu__title {
        height: 48px !important;
        color: var(--bg-topBarColor);
    }

    .el-menu-item:not(.is-active):hover,
    .el-sub-menu:not(.is-active):hover .el-sub-menu__title {
        color: var(--bg-topBarColor);
    }
}

// 菜单收起时，图标不居中问题
.el-menu--collapse {

    .el-menu-item .iconfont,
    .el-sub-menu .iconfont,
    .el-menu-item .fa,
    .el-sub-menu .fa {
        margin-right: 0 !important;
    }

    .el-sub-menu__title {
        padding-right: 0 !important;
    }
}

/* Tabs 标签页
------------------------------- */
.el-tabs__nav-wrap::after {
    height: 1px !important;
}

/* Dropdown 下拉菜单
------------------------------- */
.el-dropdown-menu {
    list-style: none !important;
    /*修复 Dropdown 下拉菜单样式问题 2022.03.04*/
}

.el-dropdown-menu .el-dropdown-menu__item {
    white-space: nowrap;

    &:not(.is-disabled):hover {
        background-color: var(--el-dropdown-menuItem-hover-fill);
        color: var(--el-dropdown-menuItem-hover-color);
    }
}

/* Dialog 对话框
------------------------------- */
.el-overlay {
    overflow: hidden;

    .el-overlay-dialog {
        display: flex;
        align-items: center;
        justify-content: center;
        position: unset !important;
        width: 100%;
        height: 100%;

        .el-dialog {
            margin: 0 auto !important;
            position: absolute;

            .el-dialog__body {
                padding: 20px !important;
            }
        }
    }
}

.el-dialog__body {
    max-height: calc(90vh - 111px) !important;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Card 卡片
------------------------------- */
.el-card__header {
    padding: 15px 20px;
}

/* Table 表格 element plus 2.2.0 版本
------------------------------- */
.el-table {
    .el-button.is-text {
        padding: 0;
    }
}

/* scrollbar
------------------------------- */
.el-scrollbar__bar {
    z-index: 4;
}

/*防止页面切换时，滚动条高度不变的问题（滚动条高度非滚动条滚动高度）*/
.el-scrollbar__wrap {
    max-height: 100%;
}

.el-select-dropdown .el-scrollbar__wrap {
    overflow-x: scroll !important;
}

/*修复Select 选择器高度问题*/
.el-select-dropdown__wrap {
    max-height: 274px !important;
}

/*修复Cascader 级联选择器高度问题*/
.el-cascader-menu__wrap.el-scrollbar__wrap {
    height: 204px !important;
}

/*用于界面高度自适应（main.vue），区分 scrollbar__view，防止其它使用 scrollbar 的地方出现滚动条消失*/
.layout-container-view .el-scrollbar__view {
    height: 100%;
}

/*防止分栏布局二级菜单很多时，滚动条消失问题*/
.layout-columns-warp .layout-aside .el-scrollbar__view {
    height: unset !important;
}

/* Pagination 分页
------------------------------- */
.el-pagination__editor {
    margin-right: 8px;
}

/*深色模式时分页高亮问题*/
.el-pagination.is-background .btn-next.is-active,
.el-pagination.is-background .btn-prev.is-active,
.el-pagination.is-background .el-pager li.is-active {
    background-color: var(--el-color-primary) !important;
    color: var(--el-color-white) !important;
}

/* Breadcrumb 面包屑
------------------------------- */
.el-breadcrumb__inner a:hover,
.el-breadcrumb__inner.is-link:hover {
    color: var(--el-color-primary);
}

.el-breadcrumb__inner a,
.el-breadcrumb__inner.is-link {
    color: var(--bg-topBarColor);
    font-weight: normal;
}

// el-tooltip使用自定义主题时的样式
.el-popper.is-customized {
    /* Set padding to ensure the height is 32px */
    //   padding: 6px 12px;
    background: linear-gradient(90deg, rgb(159, 229, 151), rgb(204, 229, 129));
}

.el-popper.is-customized .el-popper__arrow::before {
    background: linear-gradient(45deg, #b2e68d, #bce689);
    right: 0;
}


.el-dialog {
    border-radius: 6px;
    /* 设置圆角 */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    /* 添加轻微阴影效果 */
    border: 1px solid var(--el-border-color-lighter);
}