@import '../../_variables.scss';

.emoji-picker {
  display: flex;
  flex-direction: column;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 !important;
  z-index: 100;
  background-color: $fallback--bg;
  background-color: var(--popover, $fallback--bg);
  color: $fallback--link;
  color: var(--popoverText, $fallback--link);
  --lightText: var(--popoverLightText, $fallback--faint);
  --faint: var(--popoverFaintText, $fallback--faint);
  --faintLink: var(--popoverFaintLink, $fallback--faint);
  --lightText: var(--popoverLightText, $fallback--lightText);
  --icon: var(--popoverIcon, $fallback--icon);

  .keep-open,
  .too-many-emoji {
    padding: 7px;
    line-height: normal;
  }

  .too-many-emoji {
    display: flex;
    flex-direction: column;
  }

  .keep-open-label {
    padding: 0 7px;
    display: flex;
  }

  .heading {
    margin-top: 10px;
    height: 4.8em;
  }

  .content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0px;
  }

  .emoji-tabs {
    flex-grow: 1;
  }

  .emoji-groups {
    min-height: 200px;
  }

  .additional-tabs {
    border-left: 1px solid;
    border-left-color: $fallback--icon;
    border-left-color: var(--icon, $fallback--icon);
    padding-left: 7px;
    flex: 0 0 auto;
  }

  .additional-tabs,
  .emoji-tabs {
    position: absolute;
    display: block;
    flex-wrap: nowrap;

    overflow: auto;
    width: 100%;

    white-space: nowrap;

    &-item {
      vertical-align: top;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      padding: .4em;
      cursor: pointer;

      img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
      }

      span {
        font-size: 1.9em;
      }

      &.disabled {
        opacity: 0.5;
        pointer-events: none;
      }

      &.active {
        border-bottom: 4px solid;

        svg {
          color: $fallback--lightText;
          color: var(--lightText, $fallback--lightText);
        }
      }
      .fa-sticky-note {
        font-size: 2em;
      }
    }
  }

  .sticker-picker {
    flex: 1 1 auto
  }

  .stickers,
  .emoji {
    &-content {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;

      &.hidden {
        opacity: 0;
        pointer-events: none;
        position: absolute;
      }
    }
  }

  .emoji {
    &-search {
      padding: 5px;
      flex: 0 0 auto;

      input {
        width: 100%;
      }
    }

    &-groups {
      flex: 1 1 1px;
      position: relative;
      overflow: auto;
      user-select: none;
      mask: linear-gradient(to top, white 0, transparent 100%) bottom no-repeat,
            linear-gradient(to bottom, white 0, transparent 100%) top no-repeat,
            linear-gradient(to top, white, white);
      transition: mask-size 150ms;
      mask-size: 100% 20px, 100% 20px, auto;
      // Autoprefixed seem to ignore this one, and also syntax is different
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      &.scrolled {
        &-top {
          mask-size: 100% 20px, 100% 0, auto;
        }
        &-bottom {
          mask-size: 100% 0, 100% 20px, auto;
        }
      }
    }

    &-group {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      padding-left: 5px;
      justify-content: left;

      &-title {
        font-size: 0.85em;
        width: 100%;
        margin: 0;

        &.disabled {
          display: none;
        }
      }
    }

    &-item {
      width: 32px;
      height: 32px;
      box-sizing: border-box;
      display: flex;
      font-size: 32px;
      align-items: center;
      justify-content: center;
      margin: 4px;

      cursor: pointer;

      img {
        object-fit: contain;
        max-width: 100%;
        max-height: 100%;
      }
    }

  }

}
