import { ChangeDetectionStrategy, Component, Input, HostBinding } from '@angular/core'; import { NbComponentSize } from '../component-size'; import { NbPosition } from '../cdk/overlay/overlay-position'; /** * The `NbOptionListComponent` is container component for `NbOptionGroupComponent` and`NbOptionComponent` list. * * @styles * * option-list-max-height: * option-list-shadow: * option-list-background-color: * option-list-border-style: * option-list-border-width: * option-list-border-color: * option-list-border-radius: * option-list-adjacent-border-color: * option-list-adjacent-border-style: * option-list-adjacent-border-width: * */ @Component({ selector: 'nb-option-list', template: ` `, changeDetection: ChangeDetectionStrategy.OnPush, }) export class NbOptionListComponent { @Input() size: NbComponentSize = 'medium'; @Input() position: NbPosition; @HostBinding('class.position-top') get positionTop(): boolean { return this.position === NbPosition.TOP; } @HostBinding('class.position-bottom') get positionBottom(): boolean { return this.position === NbPosition.BOTTOM; } @HostBinding('class.size-tiny') get sizeTiny(): boolean { return this.size === 'tiny'; } @HostBinding('class.size-small') get sizeSmall(): boolean { return this.size === 'small'; } @HostBinding('class.size-medium') get sizeMedium(): boolean { return this.size === 'medium'; } @HostBinding('class.size-large') get sizeLarge(): boolean { return this.size === 'large'; } @HostBinding('class.size-giant') get sizeGiant(): boolean { return this.size === 'giant'; } }