All files / lib/internal surface.directive.ts

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

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 331x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2442x 2442x 2442x 2442x 2442x 2442x 1x 1x 38297x 38297x 38297x 38297x 38297x 38297x 38297x 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]',
})
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;
    }
  }
}