@use 'ej2-base/styles/common/mixin' as *;
@include export-module('contextmenu-layout') {
  .e-contextmenu-wrapper,
  .e-contextmenu-container {
    @at-root {
      & ul {
        @include ul-layout;
        @include ul-size;
        border: $cmenu-ul-border;
        border-radius: $cmenu-ul-border-radius;
        box-shadow: $cmenu-sub-ul-box-shadow;
        display: none;
        min-width: $cmenu-min-width;
        position: absolute;

        &.e-contextmenu {
          box-shadow: $cmenu-parent-ul-box-shadow;
          @if $skin-name == 'bootstrap5' or $skin-name == 'bootstrap5.3' or $skin-name == 'tailwind' or $skin-name == 'Material3' {
            padding: $cmenu-nrml-ul-padding;
          }
          &.e-contextmenu-template {
            .e-menu-caret-icon {
              display: flex;
            }
          }
        }

        &.e-ul {
          font-family: $cmenu-container-ul-font-family;
        }

        & .e-menu-item  {
          @include li-layout;
          @include li-size;

          & .e-menu-icon {
            @if $skin-name == 'fluent2' {
              margin-bottom: $cmenu-item--icon-margin-bottom;
            }
          }

          & .e-caret {
            font-size: $cmenu-caret-font-size;
          }

          & .e-previous {
            margin-right: $cmenu-back-icon-margin;
          }

          &.e-disabled {
            cursor: auto;
            pointer-events: none;
            @if $skin-name == 'tailwind3' {
              color: $flyout-text-color-disabled;
            }
          }

          &.e-separator {
            @if $skin-name == 'fluent2' {
              padding: $cmenu-padding-none !important;  /* stylelint-disable-line declaration-no-important */
            }
          }

          &:focus-visible {
            @if $skin-name == 'fluent2' {
              border-radius: $cmenu-item-focus-viible-border-radius;
              background-color: $content-bg-color;
              box-shadow: $shadow-focus-ring1;
            }
            @if $skin-name == 'tailwind3' {
              box-shadow: $shadow-focus-ring2;
              background: $flyout-bg-color;
            }
          }
        }

        .e-menu-item .e-checkbox-wrapper {
          width: max-content;
        }
      }
    }

    &.e-sfcontextmenu {
      position: absolute;

      & .e-menu-vscroll {
        position: absolute;
      }

      & ul {
        white-space: nowrap;

        &.e-transparent {
          background: transparent;
          border: $cmenu-border-none;
          box-shadow: none;
          height: $cmenu-ul-height;
          left: 0;
          min-width: 0;
          padding: $cmenu-padding-none;
          top: 0;
          width: 0;
        }

        &.e-transparent .e-menu-item {
          height: $cmenu-height-none;
          padding: $cmenu-padding-none;
        }

        &.e-transparent .e-menu-item.e-separator {
          border: $cmenu-border-none;
          margin: $cmenu-margin-none;
        }
      }
    }

    &:not(.e-menu-container) {
      & .e-menu-vscroll.e-vscroll {
        box-shadow: $cmenu-parent-ul-box-shadow;

        & .e-vscroll-bar {
          height: $cmenu-vscroll-bar-height;
          width: inherit;
        }

        & .e-scroll-nav {
          height: $cmenu-scroll-nav-height;
        }

        &:not(.e-scroll-device) {
          padding: $cmanu-scroll-padding;
        }

        & ul {
          box-shadow: none;
          margin-top: $cmenu-scroll-margin-top;
          width: inherit;
        }
      }
    }
  }

  .e-rtl.e-contextmenu-wrapper .e-menu-item,
  .e-rtl.e-contextmenu-container .e-menu-item {
    @include rtl-li-layout;
    @include rtl-li-size;
  }

  .e-contextmenu-wrapper .e-menu-item:not(.e-control),
  .e-contextmenu-container .e-menu-item:not(.e-control) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .e-small .e-contextmenu-wrapper ul .e-menu-item .e-caret,
  .e-small .e-contextmenu-wrapper ul .e-menu-icon {
    @if $skin-name == 'fluent2' {
      font-size: $cmenu-small-caret-icon-font-size;
    }
  }

  .e-small .e-contextmenu-wrapper ul .e-menu-item,
  .e-small.e-contextmenu-wrapper ul .e-menu-item {
    @if $skin-name == 'tailwind3' {
      font-size: $cmenu-small-font-size;
      height: $cmenu-small-li-height;
      line-height: $cmenu-small-li-line-height;
      .e-caret,
      .e-menu-icon {
        font-size: $cmenu-small-font-size;
        line-height: $cmenu-small-li-line-height;
      }
      &.e-separator {
        height: $cmenu-auto-height;
      }
    }
  }
}
