@use 'sass:list';
@use 'ej2-base/styles/common/mixin' as *;
@include export-module('breadcrumb-layout') {
  .e-breadcrumb {
    display: block;

    &.e-breadcrumb-wrap-mode {
      display: flex;
    }

    .e-breadcrumb-first-ol {
      align-items: flex-start;
      flex-shrink: 0;
      padding-right: $breadcrumb-padding-none;
    }

    .e-breadcrumb-wrapped-ol {
      flex-wrap: wrap;
      overflow: hidden;
      padding-left: $breadcrumb-padding-none;
    }

    &.e-breadcrumb-scroll-mode {
      line-height: $breadcrumb-scroll-mode-lineheight;
      overflow: auto;
    }

    ol {
      align-items: center;
      display: inline-flex;
      line-height: $breadcrumb-normal-line-height;
      margin: $breadcrumb-margin-none;
      padding: $breadcrumb-padding-none;
      padding-left: $breadcrumb-padding-left;
      padding-right: $breadcrumb-padding-right;
      @if $breadcrumb-skin == 'tailwind3' {
        font-weight: $breadcrumb-ol-font-weight;
      }
    }

    @if $breadcrumb-skin == 'bootstrap' or $breadcrumb-skin == 'Material3' {
      background-color: $breadcrumb-bgcolor;
      border-radius: $breadcrumb-border-radius;
    }

    li {
      list-style-type: none;
      white-space: nowrap;
    }

    .e-breadcrumb-item {
      align-items: center;
      display: flex;
      flex-shrink: 0;

      .e-breadcrumb-text {
        @if $skin-name == 'FluentUI' {
          padding: 4px;
        }
        @else {
          padding: $breadcrumb-padding;
        }

        @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' or $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' or $breadcrumb-skin == 'tailwind' {
          &:focus {
            padding: $breadcrumb-item-focus-padding;
          }
        }
      }

      &.e-icon-item .e-breadcrumb-text {
        @if $skin-name == 'fluent2' {
          padding: $breadcrumb-item-text-padding;
        }
        @if $skin-name == 'tailwind3' {
          padding: $breadcrumb-item-text-padding;
        }
      }

      @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' or $breadcrumb-skin == 'tailwind' {
        &.e-icon-item .e-breadcrumb-text:focus {
          padding: $breadcrumb-icon-only-item-focus-padding;
        }
      }

      .e-breadcrumb-text {
        align-items: center;
        display: flex;
        font-size: $breadcrumb-font-size;

        @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' {
          font-weight: $breadcrumb-last-item-font-weight;
        }

        .e-anchor-wrap {
          align-items: inherit;
          display: inherit;
          @if $breadcrumb-skin == 'fluent2' {
            line-height: $breadcrumb-nrml-anchor-wrap-line-height;
          }
        }
      }

      a.e-breadcrumb-text {
        cursor: pointer;
        text-decoration: none;
        @if $skin-name == 'FluentUI' {
          border: 1px solid transparent;
        }

        @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' {
          text-decoration: underline;
        }

        &:hover {
          @if $skin-name == 'FluentUI' or $skin-name == 'fluent2' {
            background-color: $content-bg-color-hover;
            color: $breadcrumb-item-hover-color;
          }
          @else {
            text-decoration: underline;
          }

          & .e-breadcrumb-icon.e-home,
          & .e-breadcrumb-icon {
            @if $skin-name == 'fluent2' {
              color: $toolbar-icon-color;
            }
          }
        }

        &:focus {
          @if $skin-name == 'FluentUI' {
            border: 1px solid $border-alt;
            color: $breadcrumb-item-active-color;
          }
          @else if $skin-name != 'fluent2' {
            text-decoration: underline;
          }

          &:not(:focus-visible) {
            @if $skin-name == 'fluent2' {
              background-color: $content-bg-color-hover;
              color: $breadcrumb-item-active-color;
            }

            & .e-breadcrumb-icon.e-home {
              @if $skin-name == 'fluent2' {
                color: $primary;
              }
            }
          }
        }

        &:active {
          @if $skin-name == 'FluentUI' or $skin-name == 'fluent2' {
            background-color: $breadcrumb-item-active-bg-color;
            color: $breadcrumb-item-active-color;
          }
          @else {
            text-decoration: underline;
          }
          @if $skin-name == 'bootstrap5.3' {
            box-shadow: none !important; /* stylelint-disable-line declaration-no-important */
          }

          & .e-breadcrumb-icon.e-home {
            @if $skin-name == 'fluent2' {
              color: $primary;
            }
          }
        }

        @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' or $breadcrumb-skin == 'tailwind' or $breadcrumb-skin == 'Material3' {
          &:hover,
          &:focus,
          &:active {
            text-decoration: none;
          }
        }

        &:focus-visible {
          @if $skin-name == 'fluent2' {
            box-shadow: $secondary-shadow-focus;
            color: $breadcrumb-item-color !important; /* stylelint-disable-line declaration-no-important */
            background-color: transparent;

            & .e-breadcrumb-icon,
            &.e-breadcrumb-url .e-breadcrumb-icon {
              color: $icon-color !important; /* stylelint-disable-line declaration-no-important */
            }
          }
        }
      }

      span.e-breadcrumb-text {
        cursor: default;
      }

      .e-breadcrumb-icon {
        font-size: $breadcrumb-icon-font-size;
        padding-right: $breadcrumb-icon-right-padding;

        @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' {
          padding-left: $breadcrumb-icon-right-padding;
        }
        &:hover {
          text-decoration: none;
        }

        &::before {
          display: inline-block;
          text-decoration: none;
        }

        @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' {
          &::before {
            vertical-align: middle;
          }

          &.e-home::before {
            vertical-align: sub;
          }
        }

        &.e-icons.e-home {
          @if $breadcrumb-skin == 'bootstrap' {
            font-size: 12px;
            margin-top: -1px;
          }
        }
      }

      &.e-icon-item .e-breadcrumb-icon {
        padding: $breadcrumb-icon-item-padding;
      }

      @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' or $breadcrumb-skin == 'tailwind' or $breadcrumb-skin == 'bootstrap' {
        &.e-icon-item {
          .e-breadcrumb-text {
            padding: $breadcrumb-icon-only-item-padding;
          }

          @if $breadcrumb-skin == 'bootstrap' {
            margin-left: -16px;
            margin-right: -6px;
          }
        }
      }

      &.e-disabled {
        @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' {
          opacity: $breadcrumb-disabled-item-opacity;
        }
        @else{
          opacity: 1;
        }
        pointer-events: none;
      }
    }

    .e-breadcrumb-separator {
      display: flex;
      font-size: $breadcrumb-font-size;
      padding: $breadcrumb-separator-padding;
      @if $breadcrumb-skin == 'fluent2' {
        line-height: $breadcrumb-nrml-separator-line-height;
      }
      @if $breadcrumb-skin == 'tailwind3' {
        font-size: $breadcrumb-separator-font-size;
      }

      + .e-breadcrumb-separator {
        margin-left: $breadcrumb-sibling-separator-margin-left;
        padding-left: $breadcrumb-sibling-separator-padding;
      }
    }

    &.e-rtl .e-breadcrumb-separator + .e-breadcrumb-separator {
      margin-left: $breadcrumb-margin-none;
      margin-right: $breadcrumb-sibling-separator-margin-left;
      padding-left: list.nth($breadcrumb-separator-padding, 2);
      padding-right: $breadcrumb-sibling-separator-padding;
    }

    @if $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' {
      .e-icon-item + .e-breadcrumb-separator {
        padding-left: $breadcrumb-icon-only-item-next-separator-padding-left;
      }
    }

    .e-breadcrumb-collapsed,
    .e-breadcrumb-menu {
      cursor: pointer;
      font-size: $breadcrumb-collapsed-icon-font-size;
      padding: $breadcrumb-collapsed-icon-padding;
      vertical-align: bottom;

      @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' {
        &:focus {
          padding: $breadcrumb-collapsed-icon-focus-padding;
        }
      }

      @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' or $breadcrumb-skin == 'bootstrap5' or $breadcrumb-skin == 'bootstrap5.3' or $breadcrumb-skin == 'FluentUI' {
        margin-top: $breadcrumb-menu-margin-top;
      }
      @if $breadcrumb-skin == 'bootstrap5.3' {
        border-radius: $breadcrumb-menu-border-radius;
      }
    }

    .e-breadcrumb-menu {
      display: inline-block;
    }

    .e-breadcrumb-item-wrapper {
      display: flex;
    }

    &.e-icon-right,
    .e-icon-right,
    &.e-rtl {
      .e-breadcrumb-icon {
        padding-left: $breadcrumb-icon-right-padding;
        padding-right: $breadcrumb-padding-none;

        @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' {
          padding-right: $breadcrumb-icon-right-padding;
        }
      }
    }

    &.e-rtl.e-icon-right .e-breadcrumb-icon,
    &.e-rtl .e-icon-right .e-breadcrumb-icon {
      padding-left: $breadcrumb-padding-none;
      padding-right: $breadcrumb-icon-right-padding;

      @if $breadcrumb-skin == 'fabric' or $breadcrumb-skin == 'highcontrast' {
        padding-left: $breadcrumb-icon-right-padding;
      }
    }

    &.e-disabled {
      opacity: 1;

      .e-breadcrumb-item,
      .e-breadcrumb-separator,
      .e-breadcrumb-collapsed,
      .e-breadcrumb-menu {
        pointer-events: none;
      }
    }
  }

  .e-breadcrumb-popup {
    border: $breadcrumb-popup-border;
    border-radius: $breadcrumb-popup-border-radius;
    box-shadow: $breadcrumb-popup-box-shadow;
    position: absolute;

    ul {
      margin: $breadcrumb-margin-none;
      padding: $breadcrumb-padding-none;
    }

    .e-breadcrumb-item {
      list-style-type: none;
      white-space: nowrap;
      @if $breadcrumb-skin == 'fluent2' {
        margin: 4px;
      }

      .e-breadcrumb-text {
        align-items: center;
        display: flex;
        font-size: $breadcrumb-font-size;
        height: $breadcrumb-popup-item-height;
        line-height: $breadcrumb-popup-item-line-height;
        padding: $breadcrumb-popup-item-padding;
        width: 100%;
        @if $breadcrumb-skin == 'fluent2' {
          border-radius: $breadcrumb-popup-item-margin;
        }

        .e-anchor-wrap {
          align-items: inherit;
          display: inherit;
          width: inherit;
        }
      }

      .e-breadcrumb-icon {
        font-size: $breadcrumb-icon-font-size;
        padding-right: $breadcrumb-icon-right-padding;
      }

      &.e-icon-item .e-breadcrumb-icon {
        padding: $breadcrumb-padding-none;
      }

      a.e-breadcrumb-text {
        text-decoration: none;
      }
    }

    &.e-icon-right,
    .e-icon-right,
    &.e-rtl {
      .e-breadcrumb-icon {
        padding-left: $breadcrumb-icon-right-padding;
        padding-right: $breadcrumb-padding-none;
      }
    }

    &.e-icon-right,
    .e-icon-right {
      .e-breadcrumb-icon {
        display: flex;
        flex-grow: 1;
        justify-content: flex-end;
      }
    }

    &.e-rtl.e-icon-right .e-breadcrumb-icon,
    &.e-rtl .e-icon-right .e-breadcrumb-icon {
      padding-left: $breadcrumb-padding-none;
      padding-right: $breadcrumb-icon-right-padding;
    }
  }

  @if $breadcrumb-skin == 'fluent2' {
    .e-breadcrumb .e-breadcrumb-item a.e-breadcrumb-text {
      border-radius: $breadcrumb-item-text-border-radius;
    }

    .e-breadcrumb .e-breadcrumb-item.e-icon-item a.e-breadcrumb-text:active .e-breadcrumb-icon {
      background-color: $content-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */
    }
  }
  @if $skin-name == 'tailwind3' {
    .e-breadcrumb .e-breadcrumb-item a.e-breadcrumb-text {
      text-decoration: none;
      &:hover,
      &:focus,
      &:active {
        text-decoration: none;
      }
    }
  }
  .e-breadcrumb-menu-item {
    position: absolute;
    width: 1px;
    height: $breadcrumb-menuitem-height;
    margin: $breadcrumb-menu-item-margin;
    padding: $breadcrumb-padding-none;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: $breadcrumb-border-none;
  }

  .e-hidden-popup {
    visibility: hidden;
  }
}
