/* App Grid */

%icon_tile {
  color: on(dark);
  border-radius: $material-radius * 2;
  padding: 12px;
  border: none;
  transition-duration: $longer-duration;
  text-align: center;
}

// app icons
.icon-grid {
  row-spacing: 12px;
  column-spacing: 12px;
  max-row-spacing: 42px;
  max-column-spacing: 42px;
  page-padding-top: 24px;
  page-padding-bottom: 24px;
  page-padding-left: 18px;
  page-padding-right: 18px;
}

/* App Icons */

%app-well-app,
.show-apps,
.app-well-app,
.grid-search-result {
  .overview-icon {
    @extend %icon_tile;
  }

  &:hover .overview-icon,
  &:focus .overview-icon,
  &:selected .overview-icon {
    background-color: on(dark, divider);
    transition-duration: 0ms;
    border-image: none;
    background-image: none;
  }

  &:active .overview-icon,
  &:checked .overview-icon {
    background-color: on(dark, track);
    box-shadow: none;
    transition-duration: $longer-duration;
  }

  .overview-icon.overview-icon-with-label {
    > StBoxLayout {
      spacing: 6px;
    }
  }
}

/* App Folders */
.app-well-app.app-folder {
  background: none;
  border-radius: $material-radius * 2;

  .overview-icon {
    background-color: on(dark, fill);
    border-radius: $material-radius * 2;
  }

  &:hover .overview-icon {
    background-color: on(dark, divider);
  }

  &:active .overview-icon {
    background-color: on(dark, track);
  }
}

// expanded folder
.app-folder-dialog { //style like the dash
  border-radius: $material-radius * 4;
  border: none;
  background-color: rgba($system, 0.95);
  spacing: 6px;
  box-shadow: none;
  outline: none;

  .folder-name-container {
    padding: 24px 36px 0;
    spacing: 12px;

    .folder-name-label,
    .folder-name-entry {
      font-size: 18pt;
      font-weight: 800;
    }

    .folder-name-entry {
      min-height: 28px;
      padding: $space-size;
      border: none;
      color: on($system);
      background-color: rgba(white, 0.15);
      caret-color: on($system);
      selection-background-color: on($system, divider) !important;
      selected-color: white !important;
      width: 300px;

      &:focus {
        color: on($system);
        background-color: rgba(white, 0.25);
      }

      .search-entry-icon { color: rgba(white, 0.85); }

      &:hover, &:focus {
        .search-entry-icon { color: rgba(white, 0.95); }
      }

      &:insensitive, StLabel.hint-text {
        color: on($system, disabled);
      }
    }

    /* FIXME: this is to keep the label in sync with the entry */
    .folder-name-label { padding: 5px 7px; color: on($system, secondary); }

    .edit-folder-button {
      background-color: on($system, divider);
      color: on($system, secondary);
      border: none;
      height: 32px;
      width: 32px;
      padding: $space-size;
      border-radius: if($corner_style == 'circular', $circular-radius, $material-radius);

      > StIcon { icon-size: $base-icon-size }

      &:hover { background-color: on($system, divider); }
      &:checked, &:active { background-color: on($system, track); }
    }
  }

  .icon-grid {
    row-spacing: 12px;
    column-spacing: 30px;
    page-padding-top: 0;
    page-padding-bottom: 0;
    page-padding-left: 0;
    page-padding-right: 0;
  }

  .page-indicators {
    margin-bottom: 18px;
  }
}

.app-folder-dialog-container {
  padding: 12px;
  width: 620px;
  height: 620px;
}

// Running app indicator (also shown in dash)
.app-well-app-running-dot {
  width: 8px; height: 2px;
  border-radius: 0;
  background-color: on($system);
  margin-bottom: 0;
}

StWidget.focused .app-well-app-running-dot {
  width: $base-icon-size;
  background-color: $primary;
}

// Rename popup for app folders
.rename-folder-popup {
  .rename-folder-popup-item {
    spacing: $space-size;
    &:ltr, &:rtl { padding: 0 $space-size * 2; }
  }
}

// right-click app menu
.app-menu,
.app-well-menu {
  max-width: 27.25em;
}

// App Grid pagination indicators
.page-indicator {
  padding: $space-size $space-size * 2 0;

  .page-indicator-icon {
    width: 10px;
    height: 10px;
    border-radius: 10px; // the same as height&width
    background-color: white;
  }
}

.apps-scroll-view {
  padding: 0;
}

// shutdown and other actions in the grid
.system-action-icon {
  background-color: rgba(0,0,0,0.8);
  color: white;
  border-radius: $circular-radius;
}

.page-navigation-hint {
  width: 300px;
  color: white;

  &.dnd {
    background: rgba(255, 255, 255, 0.1);
  }

  &.next:ltr,
  &.previous:rtl {
    background-gradient-start: rgba(255, 255, 255, 0.05);
    background-gradient-end: transparent;
    background-gradient-direction: horizontal;
    border-radius: 15px 0px 0px 15px;
  }

  &.previous:ltr,
  &.next:rtl {
    background-gradient-start: transparent;
    background-gradient-end: rgba(255, 255, 255, 0.05);
    background-gradient-direction: horizontal;
    border-radius: 0px 15px 15px 0px;
  }
}

.page-navigation-arrow {
  margin: 6px;
  padding: 18px;
  width: 24px;
  height: 24px;
  border-radius: $circular-radius;
  color: on($system);

  &:insensitive {
    background-color: rgba(white, 0.06);
    color: white;
  }

  &:hover {
    background-color: rgba(white, 0.12);
    color: white;
  }

  &:active {
    background-color: rgba(white, 0.24);
    color: white;
  }
}
