@import '~ag-grid-community/styles/ag-grid.css';

@font-face {
  font-weight: normal;
  font-family: 'agGridAlpine';
  font-style: normal;
  src: url(data:font/woff2;charset=utf-8;base64,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);
}

.@{prefixCls}-grid {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
  min-height: 0;

  &-empty-overlay {
    color: fade(@text-color, 50);
    font-size: 14px;
    pointer-events: all;
  }

  &-cell-flex {
    .ag-cell {
      display: flex;
      align-items: center;
    }

    .ag-ltr .ag-right-aligned-cell {
      justify-content: flex-end;
    }

    .ag-rtl .ag-right-aligned-cell {
      flex-direction: row-reverse;
    }
  }

  &-column-sorter {
    display: inline-flex;
    flex-direction: column;
    margin: 0 2px;
    color: fade(#333, 50);

    &-down {
      margin-top: 2px;
    }

    &-up.active,
    &-down.active {
      color: ~'var(--@{ant-prefix}-primary-color)';
    }
  }

  &-column-panel {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-top: 1px solid transparent;
    border-bottom: 1px solid var(--ag-border-color);

    &-header {
      box-sizing: content-box;
      height: 32px;
      padding: 0 8px;
      border-bottom: 1px solid var(--ag-border-color);
    }

    &-tools {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 100%;
    }

    &-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      color: fade(#333333, 60);
      cursor: pointer;

      &:hover {
        color: ~'var(--@{ant-prefix}-primary-color)';
      }
    }

    &-icon + &-icon {
      margin-left: 4px;
    }

    &-search {
      display: flex;
      align-items: center;
      height: 100%;

      input {
        display: block;
        flex: 1;
        min-width: 0;
        height: 100%;
        padding: 0;
        background-color: transparent;
        border: none;
        outline: none;
      }

      .anticon {
        color: rgba(0, 0, 0, 0.25);
        transition: color 0.2s;

        &:hover {
          color: rgba(0, 0, 0, 0.45);
        }
      }
    }

    &-body {
      flex: 1;
      min-height: 0;
      padding: 4px 0;
      overflow-x: hidden;
      overflow-y: auto;
    }

    &-item {
      display: flex;
      align-items: center;
      height: 24px;
      // margin-top: 1px;
      padding: 0 8px;

      &:hover {
        background: #f2f3f5;
      }

      &-title {
        flex: 1;
        margin-left: 8px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }

      &-drag {
        margin-left: 8px;
        color: #b4b4b6;
        font-size: 16px;
        cursor: grab;
      }

      &-active-top {
        box-shadow: 0 -1px 0 ~'var(--@{ant-prefix}-primary-color)';
      }

      &-active-bottom {
        box-shadow: 0 1px 0 ~'var(--@{ant-prefix}-primary-color)';
      }

      &-operator {
        width: 16px;
        height: 16px;
        border-radius: 2px;
        cursor: pointer;
        opacity: 0;

        &:hover {
          background: #dcdfe5;
        }
      }

      &:hover &-operator {
        opacity: 1;
      }

      &-highlight {
        background-color: ~'var(--@{ant-prefix}-primary-2)';
      }
    }

    &-drag-overlay {
      display: inline-flex;
      align-items: center;
      padding: 0 8px;
      line-height: 28px;
      white-space: nowrap;
      background: var(--ag-header-background-color);
      cursor: move;
    }

    &-footer {
      display: flex;
      align-items: center;
      justify-content: right;
      box-sizing: content-box;
      height: 32px;
      padding: 0 8px;
      border-top: 1px solid var(--ag-border-color);
    }

    &-modal {
      &-content {
        display: flex;
      }

      &-left {
        width: 360px;
        min-height: 210px;
        padding-right: @padding-md;
      }

      &-left &-title {
        margin-bottom: @padding-md;
        font-weight: 500;
        font-size: 16px;
      }

      &-gutter {
        width: 1px;
        margin-top: -12px;
        margin-bottom: 0px;
        background: #eaeaea;
      }

      &-right {
        display: flex;
        flex: 1;
        flex-direction: column;
        min-width: 0;
        padding-left: @padding-md;
      }

      &-right &-title {
        margin-bottom: @padding-sm;
      }

      &-fields {
        min-height: 0px;
        max-height: 300px;
        overflow-x: hidden;
        overflow-y: auto;
      }

      &-field {
        position: relative;
        box-sizing: border-box;
        height: 32px;
        margin-bottom: 8px;
        padding: 0 12px;
        overflow: hidden;
        color: fade(@text-color, 80);
        line-height: 32px;
        white-space: nowrap;
        text-overflow: ellipsis;
        background-color: #f2f3f5;

        &-add {
          position: absolute;
          top: 10px;
          right: 8px;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 12px;
          height: 12px;
          color: #fff;
          font-size: 8px;
          background: #bfc4ce;
          border-radius: 50%;
          cursor: pointer;
          opacity: 0;

          &:hover {
            background: ~'var(--@{ant-prefix}-primary-color)';
          }
        }

        &:hover &-add {
          opacity: 1;
        }
      }

      &-bottomtooltip {
        margin-top: 10px;
        color: ~'var(--@{ant-prefix}-error-color-active)';
        font-size: 14px;
      }
    }
  }

  &-center-aligned-header .ag-header-cell-label {
    justify-content: center;
  }

  &-center-aligned-cell {
    justify-content: center;
    text-align: center;
  }

  &-cell-selection .ag-checkbox-input-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    background-color: transparent;

    &::after {
      top: 50%;
      left: 50%;
      background-color: #fff;
      transform: translate(-50%, -50%);
    }
  }

  &-editable-cell {
    padding-right: 0;
    padding-left: 0;
  }

  &-bottom {
    display: flex;
    align-items: center;
    margin-top: @space-v;
    background-color: var(--ag-background-color);

    & > .@{ant-prefix}-pagination {
      margin-left: auto;
    }
  }

  &-selected {
    margin-right: @padding-md;
    color: #333;

    a {
      margin-left: @space-h;
    }
  }

  &-group-rows {
    .ag-row-level-1 {
      background-color: fade(#f2f3f5, 40);
    }

    .ag-row-level-2 {
      background-color: fade(#f2f3f5, 60);
    }

    .ag-row-level-3 {
      background-color: fade(#f2f3f5, 80);
    }

    .ag-row-level-4 {
      background-color: fade(#f2f3f5, 90);
    }
  }

  &-operator {
    &-cell {
      display: flex;
      align-items: center;
      padding-right: 0;
      padding-left: 0;
      outline: none;

      .ag-selectable & {
        display: block;

        .ag-cell-value {
          display: flex;
          align-items: center;
        }
      }

      &::after {
        display: none !important;
      }
    }

    &-item {
      padding: 0 8px;
      color: @primary-color;
      line-height: 28px;
      background-color: transparent;
      border: none;
      cursor: pointer;

      &:active {
        color: .primary(0.8) [];
      }

      &-disabled {
        color: rgba(51, 51, 51, 0.5) !important;
        cursor: not-allowed;
      }
    }

    &-popover {
      .popover();

      &-item {
        text-align: left;
        border: none;
        outline: none;
        .popoverItem();

        &-disabled {
          color: rgba(51, 51, 51, 0.5);
          cursor: not-allowed;
        }
      }
    }
  }

  &-editor {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    height: ~'min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height))';
    overflow: hidden;
    background-color: transparent;
    border-radius: 4px;

    & > * {
      flex: 1 1 auto;
    }

    .ag-row-focus &-cell::after,
    .ag-row-hover &-cell::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      display: block;
      background-color: #fff;
      border: 2px solid var(--ag-border-color);
      border-radius: 4px;
      content: '';
    }

    .ag-cell-focus&-cell::after {
      border-color: ~'var(--@{ant-prefix}-primary-5)';
    }

    .ag-cell-focus & {
      padding: 2px;
      line-height: ~'calc(min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height)) - 4px)';
    }

    &-text {
      display: block;
      width: 100%;
      height: 100%;
      padding: 0 4px;
      background-color: transparent;
      border: none;
      outline: none;

      &:disabled {
        color: rgba(0, 0, 0, 0.25);
        cursor: not-allowed;
      }

      &::-webkit-outer-spin-button,
      &::-webkit-inner-spin-button {
        margin: 0;
        -webkit-appearance: none;
      }

      &[type='number'] {
        appearance: textfield; /* Firefox */
      }
    }

    &-date {
      height: 100%;
    }

    &-select.ant-select {
      width: 100%;

      .ant-select-selector {
        align-items: center;
        height: 100%;
        border: none;
      }
    }

    /** 为了能在editor中方便使用select **/
    & > .@{ant-prefix}-select-borderless .@{ant-prefix}-select-selector {
      height: calc(var(--ag-row-height) - 7px);
      border: none;
    }
  }

  .ag-cell:not(.ag-cell-wrap-text) &-editor {
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  &-cell-error {
    position: absolute;
    top: -6px;
    left: -6px;
    z-index: 10;
    border: 6px solid transparent;
    border-top-color: ~'var(--@{ant-prefix}-error-color-active)';
    transform: rotate(135deg);
  }

  &-cell-detail {
    height: 100%;
    padding: 10px 26px 10px 10px;

    &-auto-height {
      height: auto;
    }
  }

  &-spin {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.6);
  }

  &-bottom-search {
    &-select {
      overflow: hidden;

      .@{ant-prefix}-select-selector {
        opacity: 0;
      }
    }
  }
}

.ag-theme-@{prefixCls} {
  --ag-grid-size: 5px;
  --ag-row-height: 33px;
  --ag-font-size: 14px;
  --ag-icon-size: 16px;
  --ag-background-color: #fff;
  --ag-odd-row-background-color: #fafbfb;
  --ag-foreground-color: @text-color;
  --ag-border-color: #eaeaea;
  --ag-row-hover-color: #eee;
  --ag-header-background-color: #f2f3f5;
  --ag-header-cell-moving-background-color: rgba(0, 0, 0, 0.06);
  --ag-header-foreground-color: fade(@text-color, 80);
  --ag-chip-background-color: #eee;
  --ag-control-panel-background-color: #fafbfd;
  --ag-header-column-resize-handle-display: block;
  --ag-header-column-resize-handle-width: 1px;
  --ag-header-column-resize-handle-height: 12px;
  --ag-header-column-resize-handle-color: #a8aebb;
  --ag-cell-horizontal-padding: 8px;
  --ag-icon-font-family: 'agGridAlpine';
  // --ag-selected-row-background-color: ~'var(--@{ant-prefix}-primary-1)';
  --ag-selected-row-background-color: ~'var(--@{ant-prefix}-primary-2)';
  --ag-selected-tab-underline-width: 2px;
  --ag-range-selection-border-color: ~'var(--@{ant-prefix}-primary-5)';
  --ag-range-selection-highlight-color: ~'var(--@{ant-prefix}-primary-2)';
  --ag-checkbox-unchecked-color: #ccc;
  --ag-checkbox-background-color: var(--ag-background-color);
  --ag-checkbox-checked-color: ~'var(--@{ant-prefix}-primary-color)';
  --ag-input-border-color: transparent;
  --ag-input-focus-border-color: transparent;
  --ag-side-bar-panel-width: 250px;

  .ag-header {
    border-bottom: none;
    --ag-border-color: #c8cbd1;
  }

  .ag-root-wrapper {
    border: none;
  }

  &.ag-dnd-ghost {
    background: #eee;
  }

  .ag-cell,
  .ag-full-width-row .ag-cell-wrapper.ag-row-group,
  .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
    --ag-internal-calculated-line-height: var(
      --ag-line-height,
      calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px)
    );
    --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);
  }

  .ag-cell-inline-editing {
    background-color: transparent;
  }

  .ag-cell-wrapper {
    // fix:enableCellTextSelect 启用后文本省略不起作用的问题
    min-width: 0;
  }

  .ag-ltr
    .ag-context-menu-open
    .ag-cell-focus:not(.ag-cell-range-selected):not(.ag-cell-inline-editing),
  .ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):not(.ag-cell-inline-editing):focus-within,
  .ag-rll .ag-cell-focus:not(.ag-cell-range-selected):not(.ag-cell-inline-editing):focus-within {
    border-color: transparent;

    &::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      border: 2px solid ~'var(--@{ant-prefix}-primary-5)';
      border-radius: 4px;
      content: '';
      pointer-events: none;
    }
  }

  .ag-menu {
    border: none;
    border-radius: 6px;
    box-shadow: 0 12px 48px 16px rgba(0, 0, 0, 0.03), 0 9px 28px 0 rgba(0, 0, 0, 0.05),
      0 6px 16px -8px rgba(0, 0, 0, 0.08);
  }

  .ag-cell-label-container {
    font-weight: 700;
  }

  .ag-header-cell-menu-button {
    cursor: pointer;
  }

  .ag-tab {
    flex: 1;
    padding: 8px;
  }

  .ag-tab-selected {
    color: ~'var(--@{ant-prefix}-primary-color)';
  }

  .ag-tabs-header {
    border-bottom: var(--ag-borders) var(--ag-border-color);
  }

  .ag-rtl .ag-side-bar-left .ag-side-button-button,
  .ag-ltr .ag-side-bar-right .ag-side-button-button {
    border-right: var(--ag-selected-tab-underline-width) solid transparent;
  }

  button.ag-side-button-button {
    min-height: calc(var(--ag-grid-size) * 12);
    border-top: none;
  }

  .ag-side-buttons {
    padding-top: 0;
    background-color: var(--ag-control-panel-background-color);
  }

  .ag-column-drop-vertical {
    min-height: 75px;
  }

  .ag-column-drop-vertical-title-bar {
    padding: calc(var(--ag-grid-size) * 2);
    padding-bottom: 0;
  }

  .ag-column-drop-vertical-empty-message {
    display: flex;
    align-items: center;
    margin: calc(var(--ag-grid-size) * 2);
    padding: calc(var(--ag-grid-size) * 2);
    border: dashed 1px;
    border-color: var(--ag-border-color);
  }

  .ag-column-drop-empty-message {
    color: var(--ag-foreground-color);
    opacity: 0.75;
  }

  .ag-row-selected::before {
    z-index: -1;
  }

  .ag-tool-panel-wrapper .ag-react-container {
    width: 100%;
  }
}
