<bit-item-action>
  <button
    type="button"
    bitIconButton="bwi-ellipsis-v"
    size="small"
    [label]="'moreOptionsLabelNoPlaceholder' | i18n"
    [bitMenuTriggerFor]="moreOptions"
  ></button>
  <bit-menu #moreOptions>
    @if (!decryptionFailure) {
      @if (canAutofill && showAutofill()) {
        <ng-container *ngIf="autofillAllowed$ | async">
          <button type="button" bitMenuItem (click)="doAutofill()">
            {{ "autofill" | i18n }}
          </button>
        </ng-container>
      }
      @if (showViewOption()) {
        <button type="button" bitMenuItem (click)="onView()">
          {{ "view" | i18n }}
        </button>
      }
      <button type="button" bitMenuItem (click)="toggleFavorite()">
        {{ favoriteText | i18n }}
      </button>
      @if (canEdit) {
        <button type="button" bitMenuItem (click)="edit()">
          {{ "edit" | i18n }}
        </button>
      }
      <ng-container *ngIf="canEdit && canViewPassword">
        <a bitMenuItem (click)="clone()" *ngIf="canClone$ | async">
          {{ "clone" | i18n }}
        </a>
        <a
          bitMenuItem
          *ngIf="canAssignCollections$ | async"
          (click)="conditionallyNavigateToAssignCollections()"
        >
          {{ "assignToCollections" | i18n }}
        </a>
      </ng-container>
      @if (showArchive$ | async) {
        @if (canArchive$ | async) {
          <button type="button" bitMenuItem (click)="archive()">
            {{ "archiveVerb" | i18n }}
          </button>
        } @else {
          <button
            type="button"
            bitMenuItem
            (click)="badge.promptForPremium($event)"
            [attr.aria-label]="'upgradeToUseArchive' | i18n"
          >
            <div class="tw-flex tw-flex-nowrap tw-items-center tw-gap-2">
              {{ "archiveVerb" | i18n }}
              <div aria-hidden>
                <app-premium-badge #badge></app-premium-badge>
              </div>
            </div>
          </button>
        }
      }
    }
    @if (canDelete$ | async) {
      <button type="button" bitMenuItem (click)="delete()">
        <span class="tw-text-danger">
          {{ "delete" | i18n }}
        </span>
      </button>
    }
  </bit-menu>
</bit-item-action>
