@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
95 lines • 5.79 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, HostBinding } from '@angular/core';
import { iconDefs } from './icon-defs';
import { DomSanitizer } from '@angular/platform-browser';
var Icon = /** @class */ (function () {
function Icon(sanitizer) {
this.sanitizer = sanitizer;
this.baseClass = true;
}
Object.defineProperty(Icon.prototype, "icon", {
get: /**
* @return {?}
*/
function () {
return this._icon;
},
/**
* Sets the icon.
*/
set: /**
* Sets the icon.
* @param {?} value
* @return {?}
*/
function (value) {
this._icon = value;
this.getIconDef();
},
enumerable: true,
configurable: true
});
/**
* @private
* @return {?}
*/
Icon.prototype.getIconDef = /**
* @private
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var iconDefinition = iconDefs.filter((/**
* @param {?} iconDef
* @return {?}
*/
function (iconDef) { return iconDef.name === _this._icon; }))[0];
if (!iconDefinition) {
throw new Error("Cant find '" + this._icon + "' icon.");
}
this.content = this.sanitizer.bypassSecurityTrustHtml(iconDefinition.template);
};
Icon.decorators = [
{ type: Component, args: [{
selector: 'suka-icon',
template: "\n <span [innerHTML]=\"content\"></span>\n "
}] }
];
/** @nocollapse */
Icon.ctorParameters = function () { return [
{ type: DomSanitizer }
]; };
Icon.propDecorators = {
baseClass: [{ type: HostBinding, args: ['class.suka-icon',] }],
accessibilityLabel: [{ type: HostBinding, args: ['attr.aria-label',] }, { type: Input }],
icon: [{ type: Input }]
};
return Icon;
}());
export { Icon };
if (false) {
/**
* @type {?}
* @protected
*/
Icon.prototype._icon;
/** @type {?} */
Icon.prototype.content;
/** @type {?} */
Icon.prototype.baseClass;
/**
* Label for accesibility applications
* @type {?}
*/
Icon.prototype.accessibilityLabel;
/**
* @type {?}
* @private
*/
Icon.prototype.sanitizer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FO0lBK0JFLGNBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFwQlgsY0FBUyxHQUFHLElBQUksQ0FBQztJQW9CSCxDQUFDO0lBVi9DLHNCQUNJLHNCQUFJOzs7O1FBS1I7WUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztRQVhEOztXQUVHOzs7Ozs7UUFDSCxVQUNTLEtBQWU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7OztPQUFBOzs7OztJQVFPLHlCQUFVOzs7O0lBQWxCO1FBQUEsaUJBTUM7O1lBTE8sY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUksQ0FBQyxLQUFLLEVBQTNCLENBQTJCLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFjLElBQUksQ0FBQyxLQUFLLFlBQVMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRixDQUFDOztnQkF2Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsaURBRVQ7aUJBQ0Y7Ozs7Z0JBUFEsWUFBWTs7OzRCQWFsQixXQUFXLFNBQUMsaUJBQWlCO3FDQUs3QixXQUFXLFNBQUMsaUJBQWlCLGNBQUcsS0FBSzt1QkFLckMsS0FBSzs7SUFtQlIsV0FBQztDQUFBLEFBeENELElBd0NDO1NBbENZLElBQUk7Ozs7OztJQUVmLHFCQUEwQjs7SUFDMUIsdUJBQWtCOztJQUVsQix5QkFBaUQ7Ozs7O0lBS2pELGtDQUFvRTs7Ozs7SUFleEQseUJBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi9pY29uLXR5cGVzJztcbmltcG9ydCB7IGljb25EZWZzIH0gZnJvbSAnLi9pY29uLWRlZnMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLWljb24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY29udGVudFwiPjwvc3Bhbj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBJY29uIHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB2YXJpYWJsZS1uYW1lXG4gIHByb3RlY3RlZCBfaWNvbjogSWNvblR5cGU7XG4gIGNvbnRlbnQ6IFNhZmVIdG1sO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3VrYS1pY29uJykgYmFzZUNsYXNzID0gdHJ1ZTtcblxuICAvKipcbiAgICogTGFiZWwgZm9yIGFjY2VzaWJpbGl0eSBhcHBsaWNhdGlvbnNcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgQElucHV0KCkgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGljb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgaWNvbih2YWx1ZTogSWNvblR5cGUpIHtcbiAgICB0aGlzLl9pY29uID0gdmFsdWU7XG4gICAgdGhpcy5nZXRJY29uRGVmKCk7XG4gIH1cblxuICBnZXQgaWNvbigpOiBJY29uVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb247XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHByaXZhdGUgZ2V0SWNvbkRlZigpOiB2b2lkIHtcbiAgICBjb25zdCBpY29uRGVmaW5pdGlvbiA9IGljb25EZWZzLmZpbHRlcihpY29uRGVmID0+IGljb25EZWYubmFtZSA9PT0gdGhpcy5faWNvbilbMF07XG4gICAgaWYgKCFpY29uRGVmaW5pdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW50IGZpbmQgJyR7dGhpcy5faWNvbn0nIGljb24uYCk7XG4gICAgfVxuICAgIHRoaXMuY29udGVudCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb25EZWZpbml0aW9uLnRlbXBsYXRlKTtcbiAgfVxufVxuIl19