// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// Copyright (c) KALEIDOS INC Sucursal en España SL

@use "refactor/common-refactor.scss" as deprecated;

.viewer-header {
  position: absolute;
  top: 0;
  grid-column: 1 / span 1;
  grid-row: 1 / span 1;
  display: grid;
  grid-template-columns: 1fr deprecated.$s-92 1fr;
  justify-content: space-between;
  align-items: center;
  height: deprecated.$s-48;
  width: 100vw;
  padding: deprecated.$s-8 deprecated.$s-12;
  transition: transform 400ms ease 300ms;
  background-color: var(--panel-background-color);
}

// FILE NAVIGATION

.nav-zone {
  display: flex;
  justify-content: flex-start;
  flex-basis: min-content;
  width: 100%;
  gap: deprecated.$s-12;
}

.home-link {
  padding: 0;
  display: grid;
  place-content: center;
}

.logo-icon {
  width: deprecated.$s-28;
  height: deprecated.$s-28;
  fill: var(--icon-foreground-hover);
}

.sitemap-zone {
  @include deprecated.flex-column;

  position: relative;
  width: 100%;
}

.project-name {
  @include deprecated.uppercase-title-typography;

  color: var(--title-foreground-color);
}

.sitemap-text {
  @include deprecated.flex-row;
}

.breadcrumb {
  @include deprecated.body-small-typography;
  @include deprecated.flex-row;

  color: var(--title-foreground-color);
  cursor: pointer;
}

.breadcrumb-text {
  @include deprecated.text-ellipsis;

  max-width: 12vw; // This is a fallback
  max-width: 12cqw; // This is a unit refered to container
}

.icon {
  @include deprecated.flex-center;

  height: deprecated.$s-16;
  width: deprecated.$s-16;

  svg {
    @extend %button-icon-small;

    transform: rotate(90deg);
    stroke: var(--icon-foreground);
  }
}

.dropdown {
  position: absolute;
}

.dropdown-sitemap {
  @extend %menu-dropdown;

  left: 0;
  top: calc(deprecated.$s-2 + deprecated.$s-48);
  width: deprecated.$s-272;
  padding: deprecated.$s-6;
}

.dropdown-element {
  @extend %dropdown-element-base;

  .icon-check {
    @include deprecated.flex-center;

    height: 100%;
    width: deprecated.$s-16;

    svg {
      @extend %button-icon-small;

      stroke: var(--icon-foreground);
    }
  }

  &:hover .label {
    color: var(--input-foreground-color-active);
  }
}

.current-frame {
  @include deprecated.body-small-typography;
  @include deprecated.flex-row;

  flex-grow: 1;
  color: var(--title-foreground-color-hover);
  cursor: pointer;

  .icon svg {
    stroke: var(--title-foreground-color-hover);
  }
}

.frame-name {
  @include deprecated.text-ellipsis;

  max-width: 17vw; // This is a fallback
  max-width: 17cqw; // This is a unit refered to container
}

// SECTION BUTTONS
.mode-zone {
  @include deprecated.flex-row;

  height: 100%;
}

.mode-zone-btn {
  @extend %button-tertiary;
  @include deprecated.flex-center;

  height: deprecated.$s-32;
  width: deprecated.$s-28;
  padding: 0;

  svg {
    @extend %button-icon;
  }
}

.selected {
  @extend %button-icon-selected;
}

// OPTION AREA
.options-zone {
  @include deprecated.flex-row;

  position: relative;
  justify-content: flex-end;
  gap: deprecated.$s-8;
  z-index: deprecated.$z-index-10;
}

.view-options {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.fullscreen-btn {
  @extend %button-tertiary;
  @include deprecated.flex-center;

  height: deprecated.$s-32;
  width: deprecated.$s-28;

  svg {
    @extend %button-icon;

    stroke: var(--icon-foreground);
  }
}

.share-btn {
  @extend %button-primary;

  height: deprecated.$s-32;
  min-width: deprecated.$s-72;
  margin-left: deprecated.$s-4;
}

.edit-btn {
  @extend %button-tertiary;
  @include deprecated.flex-center;

  height: deprecated.$s-32;
  width: deprecated.$s-28;

  svg {
    @extend %button-icon;

    stroke: var(--icon-foreground);
  }
}

.go-log-btn {
  @extend %button-tertiary;
  @include deprecated.body-small-typography;

  height: deprecated.$s-32;
  padding: 0 deprecated.$s-8;
  border-radius: deprecated.$br-8;
  color: var(--button-tertiary-foreground-color-rest);
}

// ZOOM WIDGET
.zoom-widget {
  @include deprecated.button-style;
  @include deprecated.flex-center;

  height: deprecated.$s-28;
  min-width: deprecated.$s-64;
  border-radius: deprecated.$br-8;

  .label {
    @include deprecated.body-small-typography;

    color: var(--button-tertiary-foreground-color-rest);
  }

  &:hover {
    .label {
      color: var(--button-tertiary-foreground-color-focus);
    }
  }

  &.selected {
    .label {
      color: var(--button-tertiary-foreground-color-focus);
    }
  }
}

.dropdown {
  @extend %menu-dropdown;

  right: deprecated.$s-2;
  top: calc(deprecated.$s-2 + deprecated.$s-48);
  width: deprecated.$s-272;
}

.basic-zoom-bar {
  display: flex;
  justify-content: space-between;
  padding: deprecated.$s-6;
  cursor: auto;
}

.zoom-btns {
  display: flex;
}

.zoom-btn {
  @extend %button-tertiary;

  height: deprecated.$s-28;
  width: deprecated.$s-28;
  border-radius: deprecated.$br-8;

  .zoom-icon {
    @include deprecated.flex-center;

    width: deprecated.$s-24;
    height: deprecated.$s-32;

    svg {
      @extend %button-icon;

      stroke: var(--icon-foreground);
    }
  }

  &:hover {
    .zoom-icon svg {
      stroke: var(--button-tertiary-foreground-color-hover);
    }
  }
}

.zoom-text {
  @include deprecated.flex-center;

  height: 100%;
  min-width: deprecated.$s-64;
  padding: 0;
  margin: 0 deprecated.$s-2;
  color: var(--modal-title-foreground-color);
}

.reset-btn {
  @extend %button-tertiary;

  color: var(--button-tertiary-foreground-color-hover);
  height: deprecated.$s-28;
  border-radius: deprecated.$br-8;
}

.zoom-option {
  @extend %menu-item-base;

  .shortcuts {
    @extend %shortcut-base;

    .shortcut-key {
      @extend %shortcut-key-base;
    }
  }

  &:hover {
    color: var(--menu-foreground-color-hover);

    .shortcuts {
      .shortcut-key {
        color: var(--menu-foreground-color-hover);
      }
    }
  }
}

/** FULLSCREEN */
[data-fullscreen="true"] .viewer-header::after {
  content: " ";
  position: absolute;
  width: 100%;
  height: deprecated.$s-48;
  left: 0;
  top: deprecated.$s-48;
}

[data-fullscreen="true"] .viewer-header {
  transform: translateY(-#{deprecated.$s-48});
}

[data-force-visible="true"] .viewer-header,
[data-fullscreen="true"] .viewer-header:hover {
  transform: translateY(0);
}
