All files / lib/internal surface.directive.ts

100% Statements 33/33
100% Branches 7/7
100% Functions 4/4
100% Lines 33/33

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 32 33 341x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 80446x 80446x 80446x 80446x 80446x 80446x 80446x 1x  
import { Directive, HostBinding, Input } from '@angular/core';
 
export type SurfaceColors =
  | 'contrast'
  | 'error'
  | 'blue'
  | 'green'
  | 'dark-gray'
  | 'view'
  | 'form'
  | 'yellow'
  | 'light-gray';
 
/**
 * Directive that sets the surface class to the host element.
 */
@Directive({
  selector: '[data-gc-surface]',
  standalone: false,
})
export class SurfaceDirective {
  @Input('data-gc-surface')
  public surface: SurfaceColors | undefined = 'form';
 
  @HostBinding('class')
  protected get cssClass(): string | undefined {
    if (this.surface) {
      return `surface-${this.surface}`;
    } else {
      return undefined;
    }
  }
}