All files / menu si-menu-item-base.directive.ts

100% Statements 8/8
100% Branches 2/2
100% Functions 1/1
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                        1x 143x       143x 143x     143x     143x   143x 32x      
/**
 * Copyright (c) Siemens 2016 - 2025
 * SPDX-License-Identifier: MIT
 */
import { booleanAttribute, computed, Directive, input } from '@angular/core';
 
@Directive({
  host: {
    class: 'dropdown-item d-flex focus-inside',
    '[class.disabled]': 'disabled()'
  }
})
export abstract class SiMenuItemBase {
  readonly badge = input<string | number>();
  /**
   * @defaultValue 'secondary'
   */
  readonly badgeColor = input('secondary');
  readonly icon = input<string>();
 
  /** @defaultValue false */
  readonly iconBadgeDot = input<boolean | string | number | undefined>(false);
 
  /** @defaultValue false */
  readonly disabled = input(false, { transform: booleanAttribute });
 
  protected readonly badgeDotHasContent = computed(() => {
    return typeof this.iconBadgeDot() === 'string' || typeof this.iconBadgeDot() === 'number';
  });
}