@root-entry-name: 'default';
@import (reference) '~antd/es/style/themes/index.less';

@pro-column-setting-prefix-cls: ~'@{ant-prefix}-pro-table-column-setting';

.@{pro-column-setting-prefix-cls} {
  width: auto;

  &-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 32px;
  }

  &-overlay {
    position: relative;

    .@{ant-prefix}-popover-inner-content {
      display: flex;
      width: 500px;
      padding: 0px;
      padding-bottom: 8px;
    }

    .ant-popover-arrow {
      width: 0px !important;
    }

    .@{ant-prefix}-tree-node-content-wrapper:hover {
      background-color: transparent;
    }

    .@{ant-prefix}-tree-draggable-icon {
      cursor: grab;
    }

    .@{ant-prefix}-tree-treenode {
      align-items: center;
      height: 30px;
      padding: 0px;

      .ant-tree-draggable-icon {
        font-size: 12pt;
      }

      &:hover {
        background-color: @item-active-bg;

        .@{pro-column-setting-prefix-cls}-list-item-option {
          display: block;
        }
        .ant-tree-draggable-icon {
          color: var(--ant-primary-color, #1869ed);
        }
      }

      .@{ant-prefix}-tree-checkbox {
        top: 0;
        margin: 0;
        margin-right: 4px;
      }
      .column-setting-item-btn:hover {
        color: var(--ant-primary-color, #1869ed);
      }
    }

    .my-icon-remove {
      margin-top: 3px;
      &:hover {
        color: var(--ant-error-color, #ff4d4f);
      }
    }

    .column-setting-share {
      position: absolute;
      top: 10px;
      right: 0;
      bottom: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      background-color: #fff;

      .share-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 40px;
      }

      .share-body {
        display: flex;
        flex: 1;
        padding: 0 20px;
        overflow: auto;

        .share-list {
          width: 200px;
          padding-top: 10px;
          line-height: 35px;
          border-right: 1px solid #eeeeee;
        }
        .share-item {
          padding-left: 20px;
        }

        .share-user {
          flex: 1;
          width: 0;
          padding: 10px 0 0 10px;
          line-height: 35px;
        }
      }
    }
  }

  &-nosave {
    .@{ant-prefix}-popover-inner-content {
      width: 300px;
    }

    &.width-measure {
      width: 600px;
    }
  }

  .ant-tree-treenode.dragging {
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
  }
}

.width-measure {
  .@{ant-prefix}-popover-inner-content {
    width: 800px;
  }
}

.column-setting-visible {
  color: var(--ant-primary-color, #1869ed) !important;
}

.@{pro-column-setting-prefix-cls}-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 8px;

  &.@{pro-column-setting-prefix-cls}-list-group {
    padding-top: 0;
  }

  &-title {
    margin-top: 6px;
    margin-bottom: 6px;
    padding-left: 24px;
    font-size: 12px;
  }

  span.ant-tree-draggable-icon + span.ant-tree-switcher {
    width: 14px;
  }

  &-item {
    display: flex;
    align-items: center;

    &-title {
      flex: 1;
    }

    &-btns {
      display: flex;
      align-items: center;
      width: 42px;
      height: 100%;
      padding-left: 4px;
    }

    &-option {
      display: none;
      float: right;
      cursor: pointer;

      > span + span {
        margin-left: 4px;
      }
    }
  }
}

.table-column-setting-left {
  width: 200px;
  padding: 10px;
  border-right: 1px solid #efefef;

  .table-column-item {
    position: relative;
    height: 28px;
    margin-top: 8px;
    padding: 2px 10px;
    color: #494747;
    background-color: #f5f5f5;
    border-radius: 4px;

    .item-btn {
      position: absolute;
      top: 2px;
      right: 2px;
      display: none;
      cursor: pointer;
    }
    &:not(.is_current) {
      .anticon-edit:hover {
        color: var(--ant-primary-color, #1869ed);
      }
    }

    &.is_current {
      color: #fff;
      background-color: var(--ant-primary-color, #1869ed);
    }
    &:hover {
      &:not(.is_current) {
        background-color: @item-active-bg;
      }
      .item-btn {
        display: inline-flex;
      }
    }
  }
}

.table-column-setting-right {
  flex: 1;
  width: 0;

  .right-header {
    display: flex;
    padding: 5px;
    color: @text-color-secondary;

    .ant-checkbox-wrapper {
      flex: 1;
      color: @text-color-secondary;
    }

    .column-width-title {
      width: 65px;
      text-align: center;
    }
    .column-btn-title {
      width: 42px;
      text-align: center;
    }
  }
}

.left-border {
  border-left: 1px solid #efefef;
}
