coreui-angular-ex
Version:
CoreUI Components Library for Angular
47 lines (39 loc) • 1.06 kB
text/typescript
import { Directive, HostBinding, Input } from '@angular/core';
import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';
({
selector: '[cPlaceholder]',
exportAs: 'cPlaceholder',
standalone: true
})
export class PlaceholderDirective {
static ngAcceptInputType_visible: BooleanInput;
constructor() { }
/**
* placeholder toggler
* @type boolean
* @default false
*/
('cPlaceholder')
set visible(value: boolean) {
this._visible = coerceBooleanProperty(value);
}
get visible() {
return this._visible;
}
private _visible: boolean = false;
/**
* Size the placeholder extra small, small, large.
*/
('cPlaceholderSize') size?: 'xs' | 'sm' | 'lg';
('attr.aria-hidden')
get ariaHidden(): boolean | null {
return this.visible ? null : true;
};
('class')
get hostClasses(): any {
return {
'placeholder': this.visible,
[`placeholder-${this.size}`]: !!this.size
};
}
}