@import '../ui/typography.scss';
@import '../mixins.scss';
@import '../common.scss';

.wrapper {
  margin-bottom: 54px;
  border: 1px solid #dfe5eb;

  &.compact {
    min-width: auto;
    width: 100%;
    border: 0;
  }
}

.header {
  @extend .commonText;
  display: flex;
  align-items: center;
  justify-content: flex-end;

  .compact & {
    height: 3em;
    border: 0;
    padding: 0;
  }

  .spacer {
    flex: 1;
  }
}

.headerControl {
  @include font();
  display: flex;
  align-items: center;
  margin-left: 15px;

  // Hide toggles on compact mode
  .compact & {
    display: none;
  }
}

.controlButtons {
  display: flex;
  align-items: center;
}

.figmaLink {
  margin-left: 15px;
}

.liveExampleWrapper {
  display: flex;
  border: 1px solid #e5e5e5;

  // Stack on top when in compact mode
  .compact & {
    flex-direction: column;
    margin-bottom: 10px;
  }
}

.editor,
.preview {
  box-sizing: border-box;
  width: 50%;
  position: relative;

  // Take all width in compact mode
  .compact & {
    width: 100%;
  }
}

.editor {
  border-right: 1px solid #dfe5eb;
  background-color: #f8fafb;

  .compact & {
    border-right: 0;
  }
}

.preview {
  padding: 30px 20px;
  @include checkerboard(20px, #eff2f6, #fff);

  &.darkPreview {
    @include checkerboard(20px, #5b7fa4, #486684);
  }

  &.compactPreview {
    background: #f0f4f7;
    overflow: visible;
  }

  &.compactPreview.darkPreview {
    background: #5b7fa4;
  }
}

.error {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px;
  margin: 0;
  color: #ffffff;
  white-space: pre;
  font-family: monospace;
  background: #ff5555;
  overflow: auto;
}

/*
  Preview examples in row. Make sure to wrap your
  components in a div.
*/

.previewRow div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.previewRow div :nth-of-type(2n) {
  margin: 0 10px;
}
