@use "sass:color";
@use "colors" as *;
@use "../colors" as *;
@use "sizes" as *;
@use "../sizes" as *;
@use "../../base/icon_fonts" as *;
@use "../gridBase" as *;
@use "../gridBase/colors" as *;
@use "../gridBase/sizes" as *;
@use "../../base/dataGrid" as baseGrid with (
  $datagrid-border: $datagrid-border,
  $datagrid-border-color: $datagrid-border-color,
  $datagrid-drag-header-border-color: $datagrid-drag-header-border-color,
  $datagrid-row-error-bg: $datagrid-row-error-bg,
  $datagrid-row-error-color: $datagrid-row-error-color,
  $datagrid-base-color: $datagrid-base-color,
  $datagrid-base-background-color: $datagrid-base-background-color,
  $datagrid-focused-border-color: $datagrid-focused-border-color,
  $header-filter-color: $header-filter-color,
  $header-filter-color-empty: $header-filter-color-empty,
  $base-focus-color: $base-focus-color,
  $datagrid-text-stub-background-image-path: $datagrid-text-stub-background-image-path,
);

// adduse
@use 'layout/cell';
@include grid-base(datagrid);

.dx-datagrid-group-panel {
  font-size: $material-base-font-size;
  touch-action: pinch-zoom;

  .dx-group-panel-message {
    color: $datagrid-columnchooser-item-color;
    font-weight: $datagrid-columnchooser-font-weight;
    padding: $material-datagrid-cell-padding 0;
    border-top: $material-grid-base-border-hidden;
    border-bottom: $material-grid-base-border-hidden;
    line-height: $material-grid-base-group-panel-message-line-height;
  }

  .dx-group-panel-item {
    margin-right: $material-grid-base-grouppanel-item-margin;
    color: $datagrid-columnchooser-item-color;
    font-weight: $datagrid-columnchooser-font-weight;
    font-size: $material-grid-base-header-cell-font-size;
    line-height: $material-grid-base-header-line-height;
    background: $datagrid-block-separator-bg;
    border-radius: 16px;
    padding: 8px 10px;
  }

  .dx-block-separator {
    margin-right: $material-grid-base-grouppanel-item-margin;
    color: $datagrid-columnchooser-item-color;
    font-weight: $datagrid-columnchooser-font-weight;
    background-color: $base-accent;
  }

  .dx-sort {
    color: $datagrid-columnchooser-item-color;
  }
}

.dx-datagrid-rowsview {
  .dx-datagrid-group-row-container {
    padding-left: $material-grid-base-cell-horizontal-padding;
    padding-right: $material-grid-base-cell-horizontal-padding;
    text-overflow: ellipsis;
    display: inline-block;
    position: sticky;
    background-color: $datagrid-group-row-bg;
    max-width: 100%;
    overflow: clip;
  }

  .dx-row.dx-group-row:first-child {
    border-top: none;
  }


  .dx-row.dx-group-row {
    &:not(.dx-row-focused) {
      color: $datagrid-group-row-color;
      background-color: $datagrid-group-row-bg;
    }

    font-size: $material-grid-base-header-cell-font-size;
    font-weight: bold;
  }
}

.dx-datagrid-group-opened {
  @include dx-icon(chevrondown);
  @include dx-icon-sizing($material-base-icon-size);

  color: $datagrid-chevron-icon-color;
}

.dx-datagrid-group-closed {
  @include dx-icon(chevronright);
  @include dx-icon-sizing($material-base-icon-size);

  color: $datagrid-chevron-icon-color;
}

.dx-row.dx-datagrid-group-footer {
  &.dx-column-lines {
    border-bottom: $datagrid-border;
  }

}

.dx-rtl {
  .dx-datagrid-group-panel {
    .dx-group-panel-item,
    .dx-block-separator {
      margin-left: $material-grid-base-grouppanel-item-margin;
    }
  }
}
