//
// Copyright IBM Corp. 2021, 2025
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//

// Standard imports.
@use '@carbon/styles/scss/spacing' as *;
@use '@carbon/styles/scss/components/button/tokens' as *;
@use '@carbon/styles/scss/theme' as *;
@use '@carbon/styles/scss/type';
@use '@carbon/styles/scss/config' as carbon-config;

@use '../../global/styles/project-settings' as c4p-settings;

// TODO: @use(s) of Carbon settings and component styles and other
// related component styles used by ButtonMenu

// The block part of our conventional BEM class names (blockClass__E--M).
$block-class: #{c4p-settings.$pkg-prefix}--button-menu;

.#{$block-class} {
  min-inline-size: 160px;
  &.#{$block-class}__wrapper--primary,
  &.#{$block-class}__wrapper--primary.#{carbon-config.$prefix}--overflow-menu.#{carbon-config.$prefix}--overflow-menu--open {
    background-color: $button-primary;
  }
  &.#{carbon-config.$prefix}--overflow-menu.#{$block-class}__wrapper--primary:hover {
    background-color: $button-primary-hover;
  }

  &.#{$block-class}__wrapper--tertiary,
  &.#{$block-class}__wrapper--tertiary.#{carbon-config.$prefix}--overflow-menu.#{carbon-config.$prefix}--overflow-menu--open {
    background-color: $button-tertiary;
  }
  &.#{carbon-config.$prefix}--overflow-menu.#{$block-class}__wrapper--tertiary:hover {
    background-color: $button-tertiary-hover;
  }

  &.#{$block-class}__wrapper--ghost,
  &.#{$block-class}__wrapper--ghost.#{carbon-config.$prefix}--overflow-menu.#{carbon-config.$prefix}--overflow-menu--open {
    background-color: transparent;
  }
  &.#{carbon-config.$prefix}--overflow-menu.#{$block-class}__wrapper--ghost:hover {
    background-color: $layer-hover;
  }

  .#{$block-class}__trigger {
    @include type.type-style('body-compact-01');

    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 $spacing-05;
    inline-size: 100%;
  }
}

.#{$block-class}__options.#{carbon-config.$prefix}--overflow-menu-options::after {
  content: initial;
}
