/* On-screen Keyboard */

$key_size: 1.2em;
$key_border_radius: $base_border_radius + 3px;
$key_bg_color:  $bg_color;
// $default_key_bg_color: darken($key_bg_color, 4%);
$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));


// draw keys using button function
#keyboard {
  background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
  box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;

  .page-indicator {
    padding: $base_padding;

    .page-indicator-icon {
      width: 8px;
      height: 8px;
    }
  }
}

// the container for individual keys
.key-container {
  padding: $base_margin;
  spacing: $base_margin;
}

// the keys
.keyboard-key {

  @include button(normal, $c:$key_bg_color);

  &:focus { @include button(focus);}
  &:hover, &:checked { @include button(hover, $c: $key_bg_color);}
  &:active { @include button(active, $c: $key_bg_color); }

  @include fontsize($base_font_size + 5);
  min-height: $key_size;
  min-width: $key_size;
  border-width: 1px;
  border-style: solid;
  border-radius: $key_border_radius;

  &:grayed { //FIXMEy
    background-color: darken($bg_color, 3%);
    color: $osd_fg_color;
    border-color: $osd_borders_color;
  }

  // non-character keys
  &.default-key {

    // size of the icon asset
    background-size: 24px;

    @include button(normal, $c:$default_key_bg_color);
    &:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
    &:active { @include button(active, $c: $default_key_bg_color);}
  }

  // enter key is suggested-action
  &.enter-key {
    background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");

    @include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
    &:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
    &:active {@include button(active, $c: darken($selected_bg_color, 2%));}
  }

  // key assets
  &.shift-key-lowercase {background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");}
  &.shift-key-uppercase {background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");}
  &.shift-key-uppercase:latched {background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");}
  &.hide-key {background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");}
  &.layout-key {background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");}
}

// long press on a key popup
.keyboard-subkeys {
  color: $osd_fg_color;
  -arrow-border-radius: $modal_radius;
  -arrow-background-color: $osd_bg_color;
  -arrow-border-width: 1px;
  -arrow-border-color: lighten($osd_bg_color, 9%);
  -arrow-base: 20px;
  -arrow-rise: 10px;
  -boxpointer-gap: $base_spacing;

  .keyboard-key {
    @include button(normal, $c:$key_bg_color);

    &:focus { @include button(focus);}
    &:hover, &:checked { @include button(hover, $c: $key_bg_color);}
    &:active { @include button(active, $c: $key_bg_color); }

    border-radius:$base_border_radius;
  }
}

// emoji
.emoji-page {
  .keyboard-key {
    background-color: transparent;
    border: none;
    color: initial;
  }
}

.emoji-panel {
  .keyboard-key:latched {
    border-color: lighten($selected_bg_color, 5%);
    background-color: $selected_bg_color;
  }
}

// suggestions
.word-suggestions {
  @include fontsize($base_font_size + 3);
  spacing: 12px;
  min-height: 20pt;
}
