@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>
92 lines • 5.75 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;
this.size = 16;
}
Object.defineProperty(Icon.prototype, "icon", {
get: /**
* @return {?}
*/
function () {
return this._icon;
},
set: /**
* @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 }],
size: [{ type: Input }],
icon: [{ type: Input }]
};
return Icon;
}());
export { Icon };
if (false) {
/**
* @type {?}
* @protected
*/
Icon.prototype._icon;
/** @type {?} */
Icon.prototype.content;
/** @type {?} */
Icon.prototype.baseClass;
/** @type {?} */
Icon.prototype.accessibilityLabel;
/** @type {?} */
Icon.prototype.size;
/**
* @type {?}
* @private
*/
Icon.prototype.sanitizer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FO0lBeUJFLGNBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFkWCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR3hDLFNBQUksR0FBc0IsRUFBRSxDQUFDO0lBV1EsQ0FBQztJQVYvQyxzQkFDSSxzQkFBSTs7OztRQUtSO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7Ozs7O1FBUkQsVUFDUyxLQUFlO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDOzs7T0FBQTs7Ozs7SUFRTyx5QkFBVTs7OztJQUFsQjtRQUFBLGlCQU1DOztZQUxPLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsT0FBTyxDQUFDLElBQUksS0FBSyxLQUFJLENBQUMsS0FBSyxFQUEzQixDQUEyQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBYyxJQUFJLENBQUMsS0FBSyxZQUFTLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7Z0JBakNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLGlEQUVUO2lCQUNGOzs7O2dCQVBRLFlBQVk7Ozs0QkFhbEIsV0FBVyxTQUFDLGlCQUFpQjtxQ0FFN0IsV0FBVyxTQUFDLGlCQUFpQixjQUFHLEtBQUs7dUJBQ3JDLEtBQUs7dUJBQ0wsS0FBSzs7SUFtQlIsV0FBQztDQUFBLEFBbENELElBa0NDO1NBNUJZLElBQUk7Ozs7OztJQUVmLHFCQUEwQjs7SUFDMUIsdUJBQWtCOztJQUVsQix5QkFBaUQ7O0lBRWpELGtDQUFvRTs7SUFDcEUsb0JBQXNDOzs7OztJQVcxQix5QkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuL2ljb24tdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkRlZnMgfSBmcm9tICcuL2ljb24tZGVmcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N1a2EtaWNvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJjb250ZW50XCI+PC9zcGFuPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEljb24ge1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHZhcmlhYmxlLW5hbWVcbiAgcHJvdGVjdGVkIF9pY29uOiBJY29uVHlwZTtcbiAgY29udGVudDogU2FmZUh0bWw7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zdWthLWljb24nKSBiYXNlQ2xhc3MgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgQElucHV0KCkgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6IDE2IHwgMjAgfCAyNCB8IDMyID0gMTY7XG4gIEBJbnB1dCgpXG4gIHNldCBpY29uKHZhbHVlOiBJY29uVHlwZSkge1xuICAgIHRoaXMuX2ljb24gPSB2YWx1ZTtcbiAgICB0aGlzLmdldEljb25EZWYoKTtcbiAgfVxuXG4gIGdldCBpY29uKCk6IEljb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5faWNvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgcHJpdmF0ZSBnZXRJY29uRGVmKCk6IHZvaWQge1xuICAgIGNvbnN0IGljb25EZWZpbml0aW9uID0gaWNvbkRlZnMuZmlsdGVyKGljb25EZWYgPT4gaWNvbkRlZi5uYW1lID09PSB0aGlzLl9pY29uKVswXTtcbiAgICBpZiAoIWljb25EZWZpbml0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbnQgZmluZCAnJHt0aGlzLl9pY29ufScgaWNvbi5gKTtcbiAgICB9XG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbkRlZmluaXRpb24udGVtcGxhdGUpO1xuICB9XG59XG4iXX0=