@import "ui-variables";

.contenteditable-container {
  flex: 1;
  display: flex;
  line-height: 1.4;
  position: relative;
  color: @text-color;
  font-size: @font-size;
  padding-bottom: 15px;

  div[contenteditable], .contenteditable {
    flex: 1;

    // Subtle: overflow is required to make the composer wrap
    // instead of scroll when you type a very long "word" / url.
    overflow-x: hidden;
    a:hover {
      cursor: text;
    }
  }

  img.emoji {
    -webkit-user-drag: none;
  }
  spelling.misspelled {
    background: linear-gradient(45deg, transparent, transparent 49%, red 49%, transparent 51%);
    background-size: 2px 2px;
    background-position: bottom;
    background-repeat-y: no-repeat;
  }

  .floating-toolbar {
    z-index: 10;
    position: absolute;

    background: #fff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.19), inset 0 0 1px rgba(0,0,0,0.5);
    border-radius: @border-radius-large;
    color: @text-color;

    transition-duration: .15s;
    transition-property: opacity, margin;
    margin-top: 0;

    &.toolbar-visible {
      opacity: 1;
      visibility: visible;
      margin-top: 0;
    }

    .toolbar-pointer-container {
      position: absolute;
      width: 23px;
      height: 10px;

      div {
        -webkit-mask-image: url('images/tooltip/tooltip-bg-pointer@2x.png');
        background-color: #fff;
        position: absolute;
        zoom: 0.5;
        width: 45px;
        height: 20px;
        &.shadow {
          -webkit-mask-image: url('images/tooltip/tooltip-bg-pointer-shadow@2x.png');
          background-color: fade(@black, 22%);
          transform: translateY(0.5px);
        }
      }
    }

    &.above {
      .toolbar-pointer-container {
        transform: translateX(-11px) rotate(0deg);
        bottom: -9px;
      }
    }
    &.below {
      .toolbar-pointer-container {
        transform: translateX(-11px) rotate(180deg);
        top: -9px;
      }
    }

    .floating-toolbar-input {
      border: 0;
      display: inline;
      color: @text-color;
      &:focus {
        border: 0;
        box-shadow: 0 0 0;
      }
    }

    @padding: 0.5em;
    .btn {
      background: transparent;
      font-size: 16px;
      height: auto;
      border-radius: 0;
      padding: @padding*0.25 @padding;
      margin: 0;
      color: @text-color;
      box-shadow: none;
      &:first-child {
        padding-left: 1.5*@padding;
      }
      &:last-child {
        padding-right: 1.5*@padding;
      }
      &:hover, &:active {
        color: lighten(@text-color-link, 10%);
        background: transparent;
      }
    }

    .preview-btn-icon {
      position: relative;
      top: 1px;
      padding: 0 @padding*0.25 0 @padding*1.5;
    }

    button.btn.toolbar-btn {
      @padding-top: 4px;
      @padding-left: 8px;

      width: 12.5px + 2*@padding-left;
      height: 12.5px + 2*@padding-top;
      margin: 7.5px 0;
      box-shadow: none;
      border: 0;
      border-right: 1px solid @border-color-divider;
      &:last-child { border-right: 0 }

      background: no-repeat;
      background-size: 12.5px 12.5px;
      background-position: @padding-left @padding-top;
      &.btn-bold { background-image: url("images/composer/tooltip-bold-black@2x.png") }
      &.btn-italic { background-image: url("images/composer/tooltip-italic-black@2x.png") }
      &.btn-underline { background-image: url("images/composer/tooltip-underline-black@2x.png") }
      &.btn-link { background-image: url("images/composer/tooltip-link-black@2x.png") }
      &:hover {
        cursor: pointer;
        background: no-repeat;
        background-size: 12.5px 12.5px;
        background-position: @padding-left @padding-top;
        &.btn-bold { background-image: url("images/composer/tooltip-bold-blue@2x.png") }
        &.btn-italic { background-image: url("images/composer/tooltip-italic-blue@2x.png") }
        &.btn-underline { background-image: url("images/composer/tooltip-underline-blue@2x.png") }
        &.btn-link { background-image: url("images/composer/tooltip-link-blue@2x.png") }
      }
    }
  }
}

body.platform-win32 {
  .contenteditable-container {
    .floating-toolbar {
      border-radius: 0;
      input, input:focus {
        box-shadow: none;
      }
    }
  }
}
