@import '../../shared/styles/variables';

:host {
  display: block;
}

pre {
  background-color: transparent;
  padding: 0;
  margin: 0;
  clear: both;
  position: relative;
}

.action-buttons {
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease;
  transform: translateY(100%);
  z-index: 1;
  position: relative;

  > span {
    float: right;

    &:last-child > a:before {
      display: none;
    }
  }

  > span > a {
    padding: 2px 10px;
    color: #ffffff;
    cursor: pointer;

    &:before {
      content: '|';
      display: inline-block;
      transform: translateX(-10px);
    }

    &:first-child {
      margin-right: 0;
    }

    &:hover {
      background-color: $black;
    }
  }

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

.snippet:hover .action-buttons {
  opacity: 1;
}

:host /deep/ {
  .property {
    //font-weight: bold;
  }

  .type-null {
    color: gray;
  }

  .type-boolean {
    color: firebrick;
  }

  .type-number {
    color: #4A8BB3;
  }

  .type-string {
    color: #66B16E;
  }

  .callback-function {
    color: gray;
  }

  .collapser:after {
    content: "-";
    cursor: pointer;
  }

  .collapsed > .collapser:after {
    content: "+";
    cursor: pointer;
  }

  .ellipsis:after {
    content: " … ";
  }

  .collapsible {
    margin-left: 2em;
  }

  .hoverable {
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 2px;
    padding-right: 2px;
    border-radius: 2px;
  }

  .hovered {
    background-color: rgba(235, 238, 249, 1);
  }

  .collapser {
    padding-right: 6px;
    padding-left: 6px;
  }

  .redoc-json {
      overflow-x: auto;
      padding: 20px;
      border-radius: $border-radius*2;
      background-color: darken($black, 2%);
      margin-bottom: 36px;
  }

  ul, .redoc-json ul {
  	list-style-type: none;
  	padding: 0px;
  	margin: 0px 0px 0px 26px;
  }

  li {
  	position: relative;
  }

  .hoverable {
  	transition: background-color .2s ease-out 0s;
  	-webkit-transition: background-color .2s ease-out 0s;
  	display: inline-block;
  }

  .hovered {
  	transition-delay: .2s;
  	-webkit-transition-delay: .2s;
  }

  .selected {
  	outline-style: solid;
  	outline-width: 1px;
  	outline-style: dotted;
  }

  .collapsed>.collapsible {
  	display: none;
  }

  .ellipsis {
  	display: none;
  }

  .collapsed > .ellipsis {
  	display: inherit;
  }

  .collapser {
  	position: absolute;
  	top: 1px;
  	left: -1.5em;
  	cursor: default;
  	user-select: none;
  	-webkit-user-select: none;
  }

  // hide top-level collapser
  .redoc-json > .collapser {
    display: none;
  }
}