.zent-design-preview {
  border: 1px solid #e5e5e5;
  width: 320px;
  min-height: 450px;
  position: relative;
}

  .zent-design-preview .zent-design-add-component-overlay--grouped {
    background: #fff
  }

  .zent-design-preview .zent-design-add-component-overlay--grouped:after {
  border-right-color: #fff;
}
.zent-design-preview-item {
  position: relative;
}
.zent-design-editor-item {
  position: absolute;
  left: 100%;
  top: 0;
  padding: 15px;
  min-height: 28px;
  background: #f8f8f8;
  border-radius: 5px;
  border: 1px solid #e5e5e5;
  width: 420px;
  margin-left: 20px;
  font-size: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 5;
}
.zent-design-editor-item a {
    color: #38f;
    text-decoration: none;
    cursor: pointer;
  }
.zent-design-editor-item:after, .zent-design-editor-item:before {
  right: 100%;
  top: 20px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.zent-design-editor-item:after {
  border-color: transparent;
  border-right-color: #f8f8f8;
  border-width: 6px;
  margin-top: -6px;
}
.zent-design-editor-item:before {
  border-color: transparent;
  border-right-color: #e5e5e5;
  border-width: 7px;
  margin-top: -7px;
}
.zent-design-editor-item.zent-design-add-component-overlay {
  width: 320px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  padding: 0 0 10px;
  margin-top: -20px;
}
.zent-design-editor-item.zent-design-add-component-overlay.zent-design-add-component-overlay--bottom {
  top: 100%;
}
.zent-design-editor-item.zent-design-add-component-overlay.zent-design-add-component-overlay--top {
  top: 0;
}
.zent-design-preview-controller {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 0;
}
.zent-design-preview-controller__action-btn-delete {
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 15;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
  }
.zent-design-preview-controller__icon-delete {
    display: none;
  }
.zent-design-preview-controller__icon-delete circle {
      fill: #bbb;
    }
.zent-design-preview-controller__icon-delete:hover circle {
        fill: #999;
}
.zent-design-preview-controller__icon-add circle {
      fill: #59f;
    }
.zent-design-preview-controller__icon-add:hover circle {
        fill: #38f;
}
.zent-design-preview-controller__action-btn-add-container {
    position: absolute;
    left: 0;
    z-index: 10;
    width: 100%;
    display: none
  }
.zent-design-preview-controller__action-btn-add-container.zent-design-preview-controller__prepend {
  top: 1px;
}
.zent-design-preview-controller__action-btn-add-container.zent-design-preview-controller__append {
  bottom: 0;
}
.zent-design-preview-controller__action-btn-add {
    position: absolute;
    right: 50%;
    margin-right: -8px;
    top: -9px;
    z-index: 5;

    /* ignore whitespace in html */
    font-size: 0;
    line-height: 0;
    width: 17px;
    height: 17px;
    display: inline-block;
    cursor: pointer
  }
.zent-design-preview-controller__action-btn-add:hover + .zent-design-preview-controller__add-marker .zent-design-preview-controller__add-marker-circle {
          border-color: #38f;
        }
.zent-design-preview-controller__action-btn-add:hover + .zent-design-preview-controller__add-marker .zent-design-preview-controller__add-marker-line {
          background: #38f;
        }
.zent-design-preview-controller__add-marker {
    position: absolute;
    left: 0;
    bottom: -2px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    z-index: 4;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
.zent-design-preview-controller__add-marker-circle {
      border: 1px solid #59f;
      border-radius: 50%;
      width: 3px;
      height: 3px;
      display: inline-block;
      z-index: 1;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 3px;
              flex: 0 0 3px;
      background: #fff;
    }
.zent-design-preview-controller__add-marker-line {
      background: #59f;
      height: 1px;
      width: 100%;
    }
.zent-design-preview-controller--editable {
    cursor: pointer;
  }
.zent-design-preview-controller--dragable {
    cursor: move;
  }
.zent-design-preview-controller .zent-pop-wrapper {
    margin-left: 1px;
  }
.zent-design-preview-controller:hover .zent-design-preview-controller__icon-delete, .zent-design-preview-controller:hover .zent-design-preview-controller__action-btn-add-container {
    display: block;
  }
.zent-design-preview-controller--highlight.zent-design-preview-controller:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  display: none;
}
.zent-design-preview-controller--highlight.zent-design-preview-controller:hover:before, .zent-design-preview-controller--highlight.zent-design-preview-controller--selected:before {
  z-index: 2;
  display: block;
  border: 1px dashed #38f;
}
.zent-design-preview-controller--highlight.zent-design-preview-controller:hover:before {
  opacity: 0.5;
}
.zent-design-preview-controller--highlight.zent-design-preview-controller--selected:before {
    opacity: 1;
}
/* stylelint-disable media-feature-name-no-unknown */
.zent-design-editor-add-component {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
/* Remove this style */
.zent-design-editor-add-component .zent-design-editor-add-component__mixed {
    padding: 0 5px;
  }
.zent-design-editor-add-component .zent-design-editor-add-component__mixed-title {
      height: 40px;
      line-height: 40px;
      text-align: center;
      font-weight: bold;
      font-size: 14px;
      color: #333;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__mixed-list {
      overflow: hidden;
      zoom: 1;

      padding-right: 5px;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__mixed-btn-wrapper {
      float: left;
      padding-left: 5px;
      margin-bottom: 10px;
      height: 40px;
      width: 20%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__mixed-btn {
      border: 1px solid #e5e5e5;
      color: #38f;
      font-size: 12px;
      background: #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-radius: 0;
      height: 100%;
      width: 100%;
      display: inline-block;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center;
      cursor: pointer;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped {
    padding: 0 5px 0 10px;
  }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped-title {
      font-size: 12px;
      margin-bottom: 8px;
      margin-top: 13px;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped-btn-wrapper {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33%;
              flex: 0 0 33.33%;
      height: 30px;
      margin-bottom: 5px;
      padding-right: 5px;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped-btn {
      border: 1px dashed #e5e5e5;
      color: #666;
      background: #f8f8f8;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      font-size: 12px;
      border-radius: 0;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
    }
.zent-design-editor-add-component .zent-design-editor-add-component__grouped-btn br {
        display: none;
      }
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper:hover .zent-design-editor-add-component__mixed-btn {
        color: #38f;
}
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper:hover .zent-design-editor-add-component__mixed-btn--disabled {
          color: #bbb;
        }
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper:hover .zent-design-editor-add-component__grouped-btn {
        background: #e8f7fd;
        border-color: #bdf;
        color: #38f;
}
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper:hover .zent-design-editor-add-component__grouped-btn--disabled {
          color: #bbb;
        }
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper .zent-design-editor-add-component__mixed-btn--disabled {
      cursor: not-allowed;
      background: #f8f8f8;
      color: #bbb;
}
.zent-design-editor-add-component .zent-design-editor-add-component-btn-wrapper .zent-design-editor-add-component__grouped-btn--disabled {
      color: #bbb;
      cursor: not-allowed;
}
.zent-design-editor-add-component-pop {
  max-width: 250px;
}
.zent-design-editor__control-group:not(:last-child) {
  margin-bottom: 20px;
}
.zent-design-editor__control-group-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.zent-design-editor__control-group-label {
    font-size: 12px;
    width: 85px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-align: right;
    margin-right: 10px;
}
.zent-design-editor__control-group-label--top {
      -ms-flex-item-align: start;
          align-self: flex-start;
      margin-top: 6px;
    }
.zent-design-editor__control-group-help-desc {
    color: #999;
    margin-top: 20px;
}
.zent-design-editor__control-group-control {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}
.zent-design-editor__control-group-error {
    margin-left: 94px;
    margin-top: 5px;
}
.zent-design-editor__control-group-required-star {
    color: #f44;
}
.zent-design-editor__control-group.has-error {
  color: #f44;
}
.zent-design {
  width: 760px;
  text-rendering: optimizelegibility;
  font-family: inherit;
}
.zent-design__restore-cache-alert {
    margin-bottom: 10px;
  }
.zent-design__restore-cache-alert-use {
      text-decoration: none;
    }
.zent-design__item-list {
    min-height: 304px;
    padding-bottom: 9px;
  }
.zent-design__item-list--full-height {
      min-height: 450px;
      padding-bottom: 0;
    }
.zent-design__add {
    padding-bottom: 5px;
    position: relative;
    border-top: 1px solid #e5e5e5;
  }
/*
      三角形边框的原理：生成两个边长相差 1px 的三角形，大的颜色用边框颜色，小的颜色用背景色，小的盖在大的里面即可。
    &:after,
    &:before {
      left: 50%;
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      z-index: 2;
    }

    &:after {
      border-width: 8px;
      margin-left: -8px;
      top: -16px;
    }

    &:before {
      border-bottom-color: $theme-stroke-7;
      border-width: 9px;
      margin-left: -9px;
      top: -18px;
    }
    */
.zent-design__add--mixed {
      background: #f8f8f8
    }
.zent-design__add--mixed:after {
  border-bottom-color: #f8f8f8;
}
.zent-design__add--grouped {
      background: #fff
    }
.zent-design__add--grouped:after {
  border-bottom-color: #fff;
}
.zent-design__disabled-mask {
    position: absolute;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.2);
    height: 100%;
    width: 100%;
    cursor: not-allowed;
    top: 0;
    left: 0;
  }
