/**
 * Copyright © 2016-2026 The Thingsboard Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
:host-context(.tb-has-timewindow) {
  .tb-entities-hierarchy {
    mat-toolbar {
      height: 60px;
      max-height: 60px;
      .mat-toolbar-tools {
        height: 60px;
        max-height: 60px;
      }
    }
  }
}

:host {
  .tb-entities-hierarchy {
    mat-toolbar.mat-mdc-table-toolbar:not([color="primary"]) {
      background: transparent;
    }
    mat-toolbar {
      min-height: 39px;
      max-height: 39px;
      .mat-toolbar-tools {
        min-height: 39px;
        max-height: 39px;
      }
    }

    .tb-entities-nav-tree-panel {
      overflow-x: auto;
      overflow-y: auto;
    }
  }
}

:host ::ng-deep {
  .tb-nav-tree-container {
    &.jstree-proton {
      .jstree-anchor {
        div.node-icon {
          display: inline-block;
          width: 22px;
          height: 22px;
          margin-right: 2px;
          margin-bottom: 2px;
          background-color: transparent;
          background-repeat: no-repeat;
          background-attachment: scroll;
          background-position: center center;
          background-size: 18px 18px;
        }

        .mat-icon.node-icon {
          width: 22px;
          min-width: 22px;
          height: 22px;
          min-height: 22px;
          margin-right: 2px;
          margin-bottom: 2px;
          color: inherit;
          vertical-align: middle;

          &.material-icons {
            font-size: 18px;
            line-height: 22px;
            text-align: center;
          }
        }

        &.jstree-hovered:not(.jstree-clicked),
        &.jstree-disabled {
          div.node-icon {
            opacity: .5;
          }
        }
      }
    }
  }

  @media (max-width: 768px) {
    .tb-nav-tree-container {
      &.jstree-proton-responsive {
        .jstree-anchor {
          div.node-icon {
            width: 40px;
            height: 40px;
            margin: 0;
            background-size: 24px 24px;
          }

          .mat-icon.node-icon {
            width: 40px;
            min-width: 40px;
            height: 40px;
            min-height: 40px;
            margin: 0;

            &.material-icons {
              font-size: 24px;
              line-height: 40px;
            }
          }
        }
      }
    }
  }
}
