fundamental-ngx
Version:
SAP Fiori Fundamentals, implemented in Angular
91 lines • 5.58 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ElementRef } from '@angular/core';
import { AbstractFdNgxClass } from '../utils/abstract-fd-ngx-class';
/**
* @hidden
* The base class for the icon component
* @type {?}
*/
const BASE_ICON_CLASS = 'sap-icon';
/**
* @hidden
* Prefix for icon prop classes
* @type {?}
*/
const PREFIX_ICON_CLASS = BASE_ICON_CLASS + '--';
/**
* The directive that represents an icon.
*
* ```html
* <fd-icon [glyph]="cart-approval" [size]="'l'"></fd-icon>
* ```
*/
export class IconDirective extends AbstractFdNgxClass {
/**
* @hidden
* @param {?} elementRef
*/
constructor(elementRef) {
super(elementRef);
this.elementRef = elementRef;
/**
* The size of the icon
* The predefined values for the input size are *xs*, *s*, *l*, and *xl*.
* *size* can accept any other string, for example *xxs*, which will be translated into class *sap-icon--xxs*.
*/
this.size = '';
}
/**
* @hidden
* @return {?}
*/
_setProperties() {
if (this.glyph) {
this._addClassToElement(PREFIX_ICON_CLASS + this.glyph);
}
if (this.size) {
this._addClassToElement(PREFIX_ICON_CLASS + this.size);
}
}
}
IconDirective.decorators = [
{ type: Directive, args: [{
// TODO to be discussed
// tslint:disable-next-line:directive-selector
selector: 'fd-icon',
host: {
role: 'presentation'
}
},] }
];
/** @nocollapse */
IconDirective.ctorParameters = () => [
{ type: ElementRef }
];
IconDirective.propDecorators = {
glyph: [{ type: Input }],
size: [{ type: Input }]
};
if (false) {
/**
* The glyph name
* @type {?}
*/
IconDirective.prototype.glyph;
/**
* The size of the icon
* The predefined values for the input size are *xs*, *s*, *l*, and *xl*.
* *size* can accept any other string, for example *xxs*, which will be translated into class *sap-icon--xxs*.
* @type {?}
*/
IconDirective.prototype.size;
/**
* @type {?}
* @private
*/
IconDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdW5kYW1lbnRhbC1uZ3gvIiwic291cmNlcyI6WyJsaWIvaWNvbi9pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7TUFNOUQsZUFBZSxHQUFHLFVBQVU7Ozs7OztNQU01QixpQkFBaUIsR0FBRyxlQUFlLEdBQUcsSUFBSTs7Ozs7Ozs7QUFpQmhELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCOzs7OztJQXdCakQsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBREYsZUFBVSxHQUFWLFVBQVUsQ0FBWTs7Ozs7O1FBZGpDLFNBQUksR0FBVyxFQUFFLENBQUM7SUFnQjNCLENBQUM7Ozs7O0lBYkQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzs7O1lBN0JKLFNBQVMsU0FBQzs7O2dCQUdQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixJQUFJLEVBQUU7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7aUJBQ3ZCO2FBQ0o7Ozs7WUE3QjBCLFVBQVU7OztvQkFpQ2hDLEtBQUs7bUJBT0wsS0FBSzs7Ozs7OztJQVBOLDhCQUFlOzs7Ozs7O0lBT2YsNkJBQTJCOzs7OztJQWNmLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGZE5neENsYXNzIH0gZnJvbSAnLi4vdXRpbHMvYWJzdHJhY3QtZmQtbmd4LWNsYXNzJztcblxuLyoqIFxuICogQGhpZGRlblxuICogVGhlIGJhc2UgY2xhc3MgZm9yIHRoZSBpY29uIGNvbXBvbmVudCBcbiAqL1xuY29uc3QgQkFTRV9JQ09OX0NMQVNTID0gJ3NhcC1pY29uJztcblxuLyoqIFxuICogQGhpZGRlblxuICogUHJlZml4IGZvciBpY29uIHByb3AgY2xhc3NlcyBcbiAqL1xuY29uc3QgUFJFRklYX0lDT05fQ0xBU1MgPSBCQVNFX0lDT05fQ0xBU1MgKyAnLS0nO1xuXG4vKipcbiAqIFRoZSBkaXJlY3RpdmUgdGhhdCByZXByZXNlbnRzIGFuIGljb24uIFxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1pY29uIFtnbHlwaF09XCJjYXJ0LWFwcHJvdmFsXCIgW3NpemVdPVwiJ2wnXCI+PC9mZC1pY29uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIFRPRE8gdG8gYmUgZGlzY3Vzc2VkXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtaWNvbicsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0RmROZ3hDbGFzcyB7XG4gICAgXG4gICAgLyoqIFRoZSBnbHlwaCBuYW1lICovXG4gICAgQElucHV0KCkgZ2x5cGg7XG5cbiAgICAvKiogXG4gICAgICogVGhlIHNpemUgb2YgdGhlIGljb25cbiAgICAgKiBUaGUgcHJlZGVmaW5lZCB2YWx1ZXMgZm9yIHRoZSBpbnB1dCBzaXplIGFyZSAqeHMqLCAqcyosICpsKiwgYW5kICp4bCouXG4gICAgICogKnNpemUqIGNhbiBhY2NlcHQgYW55IG90aGVyIHN0cmluZywgZm9yIGV4YW1wbGUgKnh4cyosIHdoaWNoIHdpbGwgYmUgdHJhbnNsYXRlZCBpbnRvIGNsYXNzICpzYXAtaWNvbi0teHhzKi5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaXplOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLl9hZGRDbGFzc1RvRWxlbWVudChQUkVGSVhfSUNPTl9DTEFTUyArIHRoaXMuZ2x5cGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoUFJFRklYX0lDT05fQ0xBU1MgKyB0aGlzLnNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZik7XG4gICAgfVxufVxuIl19