/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

html.site-fullscreen,
html.site-fullscreen body,
html.site-fullscreen .content {
  height: 100%;
}

.try-editor {
  display: flex;
  flex: 1;
  height: 100%;

  .code,
  .results {
    flex: 1;
    width: 50%;
    margin-bottom: 1.5rem;
  }

  .code {
    background: #fff;
  }

  .results {
    position: relative;
    font-size: 12px;
    background: #f7f7f7;
    border-left: 1px solid #ddd;
    overflow: auto;
  }
}

.try-editor .results {
  .loading {
    display: none;
  }

  .toolbar {
    position: relative;
    background: #fff;
    border-bottom: 1px solid #ddd;
    list-style: none;
    margin: 0;
    padding: 0;

    &:after {
      content: "";
      display: block;
      clear: both;
    }

    .tab {
      border-right: 1px solid #ddd;
      cursor: pointer;
      float: left;
      font-size: 14px;
      font-weight: bold;
      padding: 7px 15px;
    }

    .version {
      position: absolute;
      right: 5px;
      top: 0px;
      line-height: 36px;
    }
  }

  &.show-errors .toolbar .tab.errors-tab,
  &.show-json .toolbar .tab.json-tab,
  &.show-ast .toolbar .tab.ast-tab {
    background: #f7f7f7;
    border-bottom: 1px solid #f7f7f7;
    margin-bottom: -1px;
  }

  .errors,
  .json,
  .ast {
    display: none;
    padding: 7px 10px;
  }

  &.show-errors .errors,
  &.show-json .json,
  &.show-ast .ast,
  &.show-loading .loading {
    display: block;
  }
}

.try-editor .errors {
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  li + li {
    margin-top: 10px;
    padding-top: 10px;
    border-top: solid #eee 1px;
  }

  li ul li,
  li ul li + li {
    padding: inherit;
    padding-left: 20px;
    margin: inherit;
    border: none;
  }

  .msgHighlight,
  .msgType {
    cursor: pointer;
  }
}

.try-editor .loading {
  position: absolute;
  width: 100%;
}

/* https://github.com/tobiasahlin/SpinKit */
.try-editor .loader {
  position: relative;
  margin: 150px auto 0;
  width: 70px;
  text-align: center;

  > div {
    width: 18px;
    height: 18px;
    background-color: #ddd;

    border-radius: 100%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  }

  .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
  }

  .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
  }
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

.try-footer {
  background: $flow-white;
  display: flex;
  justify-content: space-between;
  position: absolute;
  height: 1.5rem;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 1px solid #ddd;
  padding: 0 7px;
  font-size: 0.75rem;
  line-height: 2;
  text-align: initial;
  box-sizing: border-box;

  .cursor-position {
    margin: 0;
    overflow: initial;
  }

  .type-at-pos {
    margin: 0 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
  }
}
