angular-svg-icon
Advanced tools
Comparing version 6.0.0 to 6.0.1
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('angular-svg-icon', ['exports', '@angular/core', '@angular/common/http', 'rxjs', 'rxjs/operators', '@angular/common'], factory) : | ||
(factory((global['angular-svg-icon'] = {}),global.ng.core,global.ng.common.http,global.rxjs,global.Rx.Observable.prototype,global.ng.common)); | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('angular-svg-icon', ['exports', '@angular/core', '@angular/common/http', 'rxjs', 'rxjs/operators', '@angular/common'], factory) : | ||
(factory((global['angular-svg-icon'] = {}),global.ng.core,global.ng.common.http,global.rxjs,global.rxjs.operators,global.ng.common)); | ||
}(this, (function (exports,core,http,rxjs,operators,common) { 'use strict'; | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
/* global Reflect, Promise */ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
var SvgIconRegistryService = (function () { | ||
function SvgIconRegistryService(http$$1) { | ||
this.http = http$$1; | ||
this.iconsByUrl = new Map(); | ||
this.iconsLoadingByUrl = new Map(); | ||
} | ||
/** Add a SVG to the registry by passing a name and the SVG. */ | ||
/** | ||
* Add a SVG to the registry by passing a name and the SVG. | ||
* @param {?} name | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
SvgIconRegistryService.prototype.addSvg = /** | ||
* Add a SVG to the registry by passing a name and the SVG. | ||
* @param {?} name | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
function (name, data) { | ||
if (!this.iconsByUrl.has(name)) { | ||
/** @type {?} */ | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = data; | ||
/** @type {?} */ | ||
var svg = (div.querySelector('svg')); | ||
this.iconsByUrl.set(name, svg); | ||
} | ||
}; | ||
/** Load a SVG to the registry from a URL. */ | ||
/** | ||
* Load a SVG to the registry from a URL. | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
SvgIconRegistryService.prototype.loadSvg = /** | ||
* Load a SVG to the registry from a URL. | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
function (url) { | ||
var _this = this; | ||
if (this.iconsByUrl.has(url)) { | ||
return rxjs.of(this.iconsByUrl.get(url)); | ||
} | ||
else if (this.iconsLoadingByUrl.has(url)) { | ||
return this.iconsLoadingByUrl.get(url); | ||
} | ||
else { | ||
/** @type {?} */ | ||
var o = (this.http.get(url, { responseType: 'text' }).pipe(operators.map(function (svg) { | ||
/** @type {?} */ | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = svg; | ||
return /** @type {?} */ (div.querySelector('svg')); | ||
}), operators.tap(function (svg) { return _this.iconsByUrl.set(url, svg); }), operators.catchError(function (err) { | ||
console.error(err); | ||
return rxjs.throwError(err); | ||
}), operators.finalize(function () { return _this.iconsLoadingByUrl.delete(url); }), operators.share())); | ||
this.iconsLoadingByUrl.set(url, o); | ||
return o; | ||
} | ||
}; | ||
/** Remove a SVG from the registry by URL (or name). */ | ||
/** | ||
* Remove a SVG from the registry by URL (or name). | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
SvgIconRegistryService.prototype.unloadSvg = /** | ||
* Remove a SVG from the registry by URL (or name). | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
function (url) { | ||
if (this.iconsByUrl.has(url)) { | ||
this.iconsByUrl.delete(url); | ||
} | ||
}; | ||
SvgIconRegistryService.decorators = [ | ||
{ type: core.Injectable } | ||
]; | ||
/** @nocollapse */ | ||
SvgIconRegistryService.ctorParameters = function () { | ||
return [ | ||
{ type: http.HttpClient } | ||
]; | ||
}; | ||
return SvgIconRegistryService; | ||
}()); | ||
/** | ||
* @param {?} parentRegistry | ||
* @param {?} http | ||
* @return {?} | ||
*/ | ||
function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, http$$1) { | ||
return parentRegistry || new SvgIconRegistryService(http$$1); | ||
} | ||
/** @type {?} */ | ||
var SVG_ICON_REGISTRY_PROVIDER = { | ||
provide: SvgIconRegistryService, | ||
deps: [[new core.Optional(), new core.SkipSelf(), SvgIconRegistryService], http.HttpClient], | ||
useFactory: SVG_ICON_REGISTRY_PROVIDER_FACTORY | ||
}; | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
function __read(o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); | ||
} | ||
catch (error) { e = { error: error }; } | ||
finally { | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
function __read(o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) | ||
return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
if (r && !r.done && (m = i["return"])) m.call(i); | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) | ||
ar.push(r.value); | ||
} | ||
finally { if (e) throw e.error; } | ||
} | ||
return ar; | ||
} | ||
var SvgIconRegistryService = /** @class */ (function () { | ||
function SvgIconRegistryService(http$$1) { | ||
this.http = http$$1; | ||
this.iconsByUrl = new Map(); | ||
this.iconsLoadingByUrl = new Map(); | ||
} | ||
SvgIconRegistryService.prototype.addSvg = function (name, data) { | ||
if (!this.iconsByUrl.has(name)) { | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = data; | ||
var svg = (div.querySelector('svg')); | ||
this.iconsByUrl.set(name, svg); | ||
catch (error) { | ||
e = { error: error }; | ||
} | ||
}; | ||
SvgIconRegistryService.prototype.loadSvg = function (url) { | ||
var _this = this; | ||
if (this.iconsByUrl.has(url)) { | ||
return rxjs.of(this.iconsByUrl.get(url)); | ||
} | ||
else if (this.iconsLoadingByUrl.has(url)) { | ||
return this.iconsLoadingByUrl.get(url); | ||
} | ||
else { | ||
var o = (this.http.get(url, { responseType: 'text' }).pipe(operators.map(function (svg) { | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = svg; | ||
return (div.querySelector('svg')); | ||
}), operators.tap(function (svg) { return _this.iconsByUrl.set(url, svg); }), operators.catchError(function (err) { | ||
console.error(err); | ||
return rxjs.throwError(err); | ||
}), operators.finalize(function () { return _this.iconsLoadingByUrl.delete(url); }), operators.share())); | ||
this.iconsLoadingByUrl.set(url, o); | ||
return o; | ||
} | ||
}; | ||
SvgIconRegistryService.prototype.unloadSvg = function (url) { | ||
if (this.iconsByUrl.has(url)) { | ||
this.iconsByUrl.delete(url); | ||
} | ||
}; | ||
return SvgIconRegistryService; | ||
}()); | ||
SvgIconRegistryService.decorators = [ | ||
{ type: core.Injectable }, | ||
]; | ||
SvgIconRegistryService.ctorParameters = function () { return [ | ||
{ type: http.HttpClient, }, | ||
]; }; | ||
function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, http$$1) { | ||
return parentRegistry || new SvgIconRegistryService(http$$1); | ||
} | ||
var SVG_ICON_REGISTRY_PROVIDER = { | ||
provide: SvgIconRegistryService, | ||
deps: [[new core.Optional(), new core.SkipSelf(), SvgIconRegistryService], http.HttpClient], | ||
useFactory: SVG_ICON_REGISTRY_PROVIDER_FACTORY | ||
}; | ||
var SvgIconComponent = /** @class */ (function () { | ||
function SvgIconComponent(element, differs, renderer, iconReg) { | ||
this.element = element; | ||
this.differs = differs; | ||
this.renderer = renderer; | ||
this.iconReg = iconReg; | ||
this.stretch = false; | ||
} | ||
Object.defineProperty(SvgIconComponent.prototype, "svgStyle", { | ||
set: function (v) { | ||
this._svgStyle = v; | ||
if (!this.differ && v) { | ||
this.differ = this.differs.find(v).create(); | ||
finally { | ||
try { | ||
if (r && !r.done && (m = i["return"])) | ||
m.call(i); | ||
} | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
SvgIconComponent.prototype.ngOnInit = function () { | ||
this.init(); | ||
}; | ||
SvgIconComponent.prototype.ngOnDestroy = function () { | ||
this.destroy(); | ||
}; | ||
SvgIconComponent.prototype.ngOnChanges = function (changeRecord) { | ||
if (changeRecord['src']) { | ||
if (this.svg) { | ||
this.destroy(); | ||
finally { | ||
if (e) | ||
throw e.error; | ||
} | ||
this.init(); | ||
} | ||
if (changeRecord['stretch']) { | ||
this.stylize(); | ||
return ar; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
var SvgIconComponent = (function () { | ||
function SvgIconComponent(element, differs, renderer, iconReg) { | ||
this.element = element; | ||
this.differs = differs; | ||
this.renderer = renderer; | ||
this.iconReg = iconReg; | ||
this.stretch = false; | ||
} | ||
}; | ||
SvgIconComponent.prototype.ngDoCheck = function () { | ||
if (this.svg && this.differ) { | ||
var changes = this.differ.diff(this._svgStyle); | ||
if (changes) { | ||
this.applyChanges(changes); | ||
} | ||
} | ||
}; | ||
SvgIconComponent.prototype.init = function () { | ||
var _this = this; | ||
this.icnSub = this.iconReg.loadSvg(this.src).subscribe(function (svg) { | ||
_this.setSvg(svg); | ||
_this.resetDiffer(); | ||
Object.defineProperty(SvgIconComponent.prototype, "svgStyle", { | ||
// Adapted from ngStyle | ||
set: /** | ||
* @param {?} v | ||
* @return {?} | ||
*/ function (v) { | ||
this._svgStyle = v; | ||
if (!this.differ && v) { | ||
this.differ = this.differs.find(v).create(); | ||
} | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
}; | ||
SvgIconComponent.prototype.destroy = function () { | ||
this.svg = undefined; | ||
this.differ = undefined; | ||
if (this.icnSub) { | ||
this.icnSub.unsubscribe(); | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.ngOnInit = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
this.init(); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.ngOnDestroy = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
this.destroy(); | ||
}; | ||
/** | ||
* @param {?} changeRecord | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.ngOnChanges = /** | ||
* @param {?} changeRecord | ||
* @return {?} | ||
*/ | ||
function (changeRecord) { | ||
if (changeRecord['src']) { | ||
if (this.svg) { | ||
this.destroy(); | ||
} | ||
this.init(); | ||
} | ||
if (changeRecord['stretch']) { | ||
this.stylize(); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.ngDoCheck = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.svg && this.differ) { | ||
/** @type {?} */ | ||
var changes = this.differ.diff(this._svgStyle); | ||
if (changes) { | ||
this.applyChanges(changes); | ||
} | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.init = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
var _this = this; | ||
this.icnSub = this.iconReg.loadSvg(this.src).subscribe(function (svg) { | ||
_this.setSvg(svg); | ||
_this.resetDiffer(); | ||
}); | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.destroy = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
this.svg = undefined; | ||
this.differ = undefined; | ||
if (this.icnSub) { | ||
this.icnSub.unsubscribe(); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.resetDiffer = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this._svgStyle && !this.differ) { | ||
this.differ = this.differs.find(this._svgStyle).create(); | ||
} | ||
}; | ||
/** | ||
* @param {?} svg | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.setSvg = /** | ||
* @param {?} svg | ||
* @return {?} | ||
*/ | ||
function (svg) { | ||
if (svg) { | ||
this.svg = svg; | ||
/** @type {?} */ | ||
var icon = (svg.cloneNode(true)); | ||
/** @type {?} */ | ||
var elem = this.element.nativeElement; | ||
elem.innerHTML = ''; | ||
this.renderer.appendChild(elem, icon); | ||
this.stylize(); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.stylize = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.svg) { | ||
/** @type {?} */ | ||
var svg = this.element.nativeElement.firstChild; | ||
if (this.stretch === true) { | ||
this.renderer.setAttribute(svg, 'preserveAspectRatio', 'none'); | ||
} | ||
else if (this.stretch === false) { | ||
this.renderer.removeAttribute(svg, 'preserveAspectRatio'); | ||
} | ||
} | ||
}; | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.applyChanges = /** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
function (changes) { | ||
var _this = this; | ||
changes.forEachRemovedItem(function (record) { return _this.setStyle(record.key, null); }); | ||
changes.forEachAddedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
changes.forEachChangedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
}; | ||
/** | ||
* @param {?} nameAndUnit | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
SvgIconComponent.prototype.setStyle = /** | ||
* @param {?} nameAndUnit | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
function (nameAndUnit, value) { | ||
var _a = __read(nameAndUnit.split('.'), 2), name = _a[0], unit = _a[1]; | ||
value = value !== null && unit ? "" + value + unit : value; | ||
/** @type {?} */ | ||
var svg = this.element.nativeElement.firstChild; | ||
if (value !== null) { | ||
this.renderer.setStyle(svg, name, /** @type {?} */ (value)); | ||
} | ||
else { | ||
this.renderer.removeStyle(svg, name); | ||
} | ||
}; | ||
SvgIconComponent.decorators = [ | ||
{ type: core.Component, args: [{ | ||
selector: 'svg-icon', | ||
template: '<ng-content></ng-content>', | ||
styles: [":host { display: inline-block; }"] | ||
}] } | ||
]; | ||
/** @nocollapse */ | ||
SvgIconComponent.ctorParameters = function () { | ||
return [ | ||
{ type: core.ElementRef }, | ||
{ type: core.KeyValueDiffers }, | ||
{ type: core.Renderer2 }, | ||
{ type: SvgIconRegistryService } | ||
]; | ||
}; | ||
SvgIconComponent.propDecorators = { | ||
src: [{ type: core.Input }], | ||
stretch: [{ type: core.Input }], | ||
svgStyle: [{ type: core.Input }] | ||
}; | ||
return SvgIconComponent; | ||
}()); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
var AngularSvgIconModule = (function () { | ||
function AngularSvgIconModule() { | ||
} | ||
}; | ||
SvgIconComponent.prototype.resetDiffer = function () { | ||
if (this._svgStyle && !this.differ) { | ||
this.differ = this.differs.find(this._svgStyle).create(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.setSvg = function (svg) { | ||
if (svg) { | ||
this.svg = svg; | ||
var icon = (svg.cloneNode(true)); | ||
var elem = this.element.nativeElement; | ||
elem.innerHTML = ''; | ||
this.renderer.appendChild(elem, icon); | ||
this.stylize(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.stylize = function () { | ||
if (this.svg) { | ||
var svg = this.element.nativeElement.firstChild; | ||
if (this.stretch === true) { | ||
this.renderer.setAttribute(svg, 'preserveAspectRatio', 'none'); | ||
} | ||
else if (this.stretch === false) { | ||
this.renderer.removeAttribute(svg, 'preserveAspectRatio'); | ||
} | ||
} | ||
}; | ||
SvgIconComponent.prototype.applyChanges = function (changes) { | ||
var _this = this; | ||
changes.forEachRemovedItem(function (record) { return _this.setStyle(record.key, null); }); | ||
changes.forEachAddedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
changes.forEachChangedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
}; | ||
SvgIconComponent.prototype.setStyle = function (nameAndUnit, value) { | ||
var _a = __read(nameAndUnit.split('.'), 2), name = _a[0], unit = _a[1]; | ||
value = value !== null && unit ? "" + value + unit : value; | ||
var svg = this.element.nativeElement.firstChild; | ||
if (value !== null) { | ||
this.renderer.setStyle(svg, name, (value)); | ||
} | ||
else { | ||
this.renderer.removeStyle(svg, name); | ||
} | ||
}; | ||
return SvgIconComponent; | ||
}()); | ||
SvgIconComponent.decorators = [ | ||
{ type: core.Component, args: [{ | ||
selector: 'svg-icon', | ||
styles: [":host { display: inline-block; }"], | ||
template: '<ng-content></ng-content>' | ||
},] }, | ||
]; | ||
SvgIconComponent.ctorParameters = function () { return [ | ||
{ type: core.ElementRef, }, | ||
{ type: core.KeyValueDiffers, }, | ||
{ type: core.Renderer2, }, | ||
{ type: SvgIconRegistryService, }, | ||
]; }; | ||
SvgIconComponent.propDecorators = { | ||
"src": [{ type: core.Input },], | ||
"stretch": [{ type: core.Input },], | ||
"svgStyle": [{ type: core.Input },], | ||
}; | ||
var AngularSvgIconModule = /** @class */ (function () { | ||
function AngularSvgIconModule() { | ||
} | ||
return AngularSvgIconModule; | ||
}()); | ||
AngularSvgIconModule.decorators = [ | ||
{ type: core.NgModule, args: [{ | ||
imports: [ | ||
common.CommonModule, | ||
], | ||
declarations: [SvgIconComponent], | ||
providers: [SVG_ICON_REGISTRY_PROVIDER], | ||
exports: [SvgIconComponent] | ||
},] }, | ||
]; | ||
AngularSvgIconModule.decorators = [ | ||
{ type: core.NgModule, args: [{ | ||
imports: [ | ||
common.CommonModule, | ||
], | ||
declarations: [SvgIconComponent], | ||
providers: [SVG_ICON_REGISTRY_PROVIDER], | ||
exports: [SvgIconComponent] | ||
},] } | ||
]; | ||
return AngularSvgIconModule; | ||
}()); | ||
exports.AngularSvgIconModule = AngularSvgIconModule; | ||
exports.SvgIconRegistryService = SvgIconRegistryService; | ||
exports.SVG_ICON_REGISTRY_PROVIDER_FACTORY = SVG_ICON_REGISTRY_PROVIDER_FACTORY; | ||
exports.SVG_ICON_REGISTRY_PROVIDER = SVG_ICON_REGISTRY_PROVIDER; | ||
exports.SvgIconComponent = SvgIconComponent; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
exports.AngularSvgIconModule = AngularSvgIconModule; | ||
exports.SvgIconRegistryService = SvgIconRegistryService; | ||
exports.SVG_ICON_REGISTRY_PROVIDER_FACTORY = SVG_ICON_REGISTRY_PROVIDER_FACTORY; | ||
exports.SVG_ICON_REGISTRY_PROVIDER = SVG_ICON_REGISTRY_PROVIDER; | ||
exports.SvgIconComponent = SvgIconComponent; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
}))); | ||
//# sourceMappingURL=angular-svg-icon.umd.js.map | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zdmctaWNvbi51bWQuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXItc3ZnLWljb24vc3JjL3N2Zy1pY29uLXJlZ2lzdHJ5LnNlcnZpY2UudHMiLCJub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwibmc6Ly9hbmd1bGFyLXN2Zy1pY29uL3NyYy9zdmctaWNvbi5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXItc3ZnLWljb24vc3JjL2FuZ3VsYXItc3ZnLWljb24ubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgYXMgb2JzZXJ2YWJsZU9mLCB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCwgY2F0Y2hFcnJvciwgZmluYWxpemUsIHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3ZnSWNvblJlZ2lzdHJ5U2VydmljZSB7XG5cblx0cHJpdmF0ZSBpY29uc0J5VXJsID0gbmV3IE1hcDxzdHJpbmcsIFNWR0VsZW1lbnQ+KCk7XG5cdHByaXZhdGUgaWNvbnNMb2FkaW5nQnlVcmwgPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxTVkdFbGVtZW50Pj4oKTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6SHR0cENsaWVudCkge1xuXHR9XG5cblx0LyoqIEFkZCBhIFNWRyB0byB0aGUgcmVnaXN0cnkgYnkgcGFzc2luZyBhIG5hbWUgYW5kIHRoZSBTVkcuICovXG5cdGFkZFN2ZyhuYW1lOnN0cmluZywgZGF0YTpzdHJpbmcpIHtcblx0XHRpZiAoIXRoaXMuaWNvbnNCeVVybC5oYXMobmFtZSkpIHtcblx0XHRcdGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuXHRcdFx0ZGl2LmlubmVySFRNTCA9IGRhdGE7XG5cdFx0XHRjb25zdCBzdmcgPSA8U1ZHRWxlbWVudD5kaXYucXVlcnlTZWxlY3Rvcignc3ZnJyk7XG5cdFx0XHR0aGlzLmljb25zQnlVcmwuc2V0KG5hbWUsIHN2Zyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqIExvYWQgYSBTVkcgdG8gdGhlIHJlZ2lzdHJ5IGZyb20gYSBVUkwuICovXG5cdGxvYWRTdmcodXJsOnN0cmluZykgOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcblxuXHRcdGlmICh0aGlzLmljb25zQnlVcmwuaGFzKHVybCkpIHtcblx0XHRcdHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5pY29uc0J5VXJsLmdldCh1cmwpKTtcblx0XHR9IGVsc2UgaWYgKHRoaXMuaWNvbnNMb2FkaW5nQnlVcmwuaGFzKHVybCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmljb25zTG9hZGluZ0J5VXJsLmdldCh1cmwpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBvID0gPE9ic2VydmFibGU8U1ZHRWxlbWVudD4+IHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnBpcGUoXG5cdFx0XHRcdG1hcChzdmcgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuXHRcdFx0XHRcdGRpdi5pbm5lckhUTUwgPSBzdmc7XG5cdFx0XHRcdFx0cmV0dXJuIDxTVkdFbGVtZW50PmRpdi5xdWVyeVNlbGVjdG9yKCdzdmcnKTtcblx0XHRcdFx0fSksXG5cdFx0XHRcdHRhcCAoc3ZnID0+IHRoaXMuaWNvbnNCeVVybC5zZXQodXJsLCBzdmcpICksXG5cdFx0XHRcdGNhdGNoRXJyb3IoZXJyID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmVycm9yKGVycik7XG5cdFx0XHRcdFx0cmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycik7XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB0aGlzLmljb25zTG9hZGluZ0J5VXJsLmRlbGV0ZSh1cmwpICksXG5cdFx0XHRcdHNoYXJlKClcblx0XHRcdCk7XG5cblx0XHRcdHRoaXMuaWNvbnNMb2FkaW5nQnlVcmwuc2V0KHVybCwgbyk7XG5cdFx0XHRyZXR1cm4gbztcblx0XHR9XG5cdH1cblxuXHQvKiogUmVtb3ZlIGEgU1ZHIGZyb20gdGhlIHJlZ2lzdHJ5IGJ5IFVSTCAob3IgbmFtZSkuICovXG5cdHVubG9hZFN2Zyh1cmw6c3RyaW5nKSB7XG5cdFx0aWYgKHRoaXMuaWNvbnNCeVVybC5oYXModXJsKSkge1xuXHRcdFx0dGhpcy5pY29uc0J5VXJsLmRlbGV0ZSh1cmwpO1xuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU1ZHX0lDT05fUkVHSVNUUllfUFJPVklERVJfRkFDVE9SWShwYXJlbnRSZWdpc3RyeTpTdmdJY29uUmVnaXN0cnlTZXJ2aWNlLCBodHRwOkh0dHBDbGllbnQpIHtcblx0cmV0dXJuIHBhcmVudFJlZ2lzdHJ5IHx8IG5ldyBTdmdJY29uUmVnaXN0cnlTZXJ2aWNlKGh0dHApO1xufVxuXG5leHBvcnQgY29uc3QgU1ZHX0lDT05fUkVHSVNUUllfUFJPVklERVIgPSB7XG5cdHByb3ZpZGU6IFN2Z0ljb25SZWdpc3RyeVNlcnZpY2UsXG5cdGRlcHM6IFsgW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgU3ZnSWNvblJlZ2lzdHJ5U2VydmljZV0sIEh0dHBDbGllbnQgXSxcblx0dXNlRmFjdG9yeTogU1ZHX0lDT05fUkVHSVNUUllfUFJPVklERVJfRkFDVE9SWVxufTtcbiIsIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMClcclxuICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZShyZXN1bHQudmFsdWUpOyB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsXG5cdEtleVZhbHVlQ2hhbmdlUmVjb3JkLCBLZXlWYWx1ZUNoYW5nZXMsIEtleVZhbHVlRGlmZmVyLCBLZXlWYWx1ZURpZmZlcnMsXG5cdE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdmdJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi9zdmctaWNvbi1yZWdpc3RyeS5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdzdmctaWNvbicsXG5cdHN0eWxlczogWyBgOmhvc3QgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1gIF0sXG5cdHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5cbmV4cG9ydCBjbGFzcyBTdmdJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgRG9DaGVjayB7XG5cdEBJbnB1dCgpIHNyYzpzdHJpbmc7XG5cdEBJbnB1dCgpIHN0cmV0Y2ggPSBmYWxzZTtcblxuXHQvLyBBZGFwdGVkIGZyb20gbmdTdHlsZVxuXHRASW5wdXQoKVxuXHRzZXQgc3ZnU3R5bGUodjoge1trZXk6c3RyaW5nXTogc3RyaW5nIH0pIHtcblx0XHR0aGlzLl9zdmdTdHlsZSA9IHY7XG5cdFx0aWYgKCF0aGlzLmRpZmZlciAmJiB2KSB7XG5cdFx0XHR0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHYpLmNyZWF0ZSgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc3ZnOlNWR0VsZW1lbnQ7XG5cdHByaXZhdGUgaWNuU3ViOlN1YnNjcmlwdGlvbjtcblx0cHJpdmF0ZSBkaWZmZXI6S2V5VmFsdWVEaWZmZXI8c3RyaW5nLCBzdHJpbmd8bnVtYmVyPjtcblx0cHJpdmF0ZSBfc3ZnU3R5bGU6IHtba2V5OnN0cmluZ106c3RyaW5nfTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6RWxlbWVudFJlZixcblx0XHRwcml2YXRlIGRpZmZlcnM6S2V5VmFsdWVEaWZmZXJzLFxuXHRcdHByaXZhdGUgcmVuZGVyZXI6UmVuZGVyZXIyLFxuXHRcdHByaXZhdGUgaWNvblJlZzpTdmdJY29uUmVnaXN0cnlTZXJ2aWNlKSB7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLmluaXQoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuZGVzdHJveSgpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlUmVjb3JkOiB7W2tleTpzdHJpbmddOlNpbXBsZUNoYW5nZX0pIHtcblx0XHRpZiAoY2hhbmdlUmVjb3JkWydzcmMnXSkge1xuXHRcdFx0aWYgKHRoaXMuc3ZnKSB7XG5cdFx0XHRcdHRoaXMuZGVzdHJveSgpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5pbml0KCk7XG5cdFx0fVxuXHRcdGlmIChjaGFuZ2VSZWNvcmRbJ3N0cmV0Y2gnXSkge1xuXHRcdFx0dGhpcy5zdHlsaXplKCk7XG5cdFx0fVxuXHR9XG5cblx0bmdEb0NoZWNrKCkge1xuXHRcdGlmICh0aGlzLnN2ZyAmJiB0aGlzLmRpZmZlcikge1xuXHRcdFx0Y29uc3QgY2hhbmdlcyA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5fc3ZnU3R5bGUpO1xuXHRcdFx0aWYgKGNoYW5nZXMpIHtcblx0XHRcdFx0dGhpcy5hcHBseUNoYW5nZXMoY2hhbmdlcyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBpbml0KCkge1xuXHRcdHRoaXMuaWNuU3ViID0gdGhpcy5pY29uUmVnLmxvYWRTdmcodGhpcy5zcmMpLnN1YnNjcmliZShzdmcgPT4ge1xuXHRcdFx0dGhpcy5zZXRTdmcoc3ZnKTtcblx0XHRcdHRoaXMucmVzZXREaWZmZXIoKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZGVzdHJveSgpIHtcblx0XHR0aGlzLnN2ZyA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmRpZmZlciA9IHVuZGVmaW5lZDtcblx0XHRpZiAodGhpcy5pY25TdWIpIHtcblx0XHRcdHRoaXMuaWNuU3ViLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSByZXNldERpZmZlcigpIHtcblx0XHRpZiAodGhpcy5fc3ZnU3R5bGUgJiYgIXRoaXMuZGlmZmVyKSB7XG5cdFx0XHR0aGlzLmRpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHRoaXMuX3N2Z1N0eWxlKS5jcmVhdGUoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHNldFN2Zyhzdmc6U1ZHRWxlbWVudCkge1xuXHRcdGlmIChzdmcpIHtcblx0XHRcdHRoaXMuc3ZnID0gc3ZnO1xuXHRcdFx0Y29uc3QgaWNvbiA9IDxTVkdFbGVtZW50PnN2Zy5jbG9uZU5vZGUodHJ1ZSk7XG5cdFx0XHRjb25zdCBlbGVtID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRcdGVsZW0uaW5uZXJIVE1MID0gJyc7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGVsZW0sIGljb24pO1xuXG5cdFx0XHR0aGlzLnN0eWxpemUoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHN0eWxpemUoKSB7XG5cdFx0aWYgKHRoaXMuc3ZnKSB7XG5cdFx0XHRjb25zdCBzdmcgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkO1xuXG5cdFx0XHRpZiAodGhpcy5zdHJldGNoID09PSB0cnVlKSB7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2ZywgJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLCAnbm9uZScpO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnN0cmV0Y2ggPT09IGZhbHNlKSB7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHN2ZywgJ3ByZXNlcnZlQXNwZWN0UmF0aW8nKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFwcGx5Q2hhbmdlcyhjaGFuZ2VzOiBLZXlWYWx1ZUNoYW5nZXM8c3RyaW5nLCBzdHJpbmd8bnVtYmVyPikge1xuXHRcdGNoYW5nZXMuZm9yRWFjaFJlbW92ZWRJdGVtKChyZWNvcmQ6S2V5VmFsdWVDaGFuZ2VSZWNvcmQ8c3RyaW5nLCBzdHJpbmd8bnVtYmVyPikgPT4gdGhpcy5zZXRTdHlsZShyZWNvcmQua2V5LCBudWxsKSk7XG5cdFx0Y2hhbmdlcy5mb3JFYWNoQWRkZWRJdGVtKChyZWNvcmQ6S2V5VmFsdWVDaGFuZ2VSZWNvcmQ8c3RyaW5nLCBzdHJpbmd8bnVtYmVyPikgPT4gdGhpcy5zZXRTdHlsZShyZWNvcmQua2V5LCByZWNvcmQuY3VycmVudFZhbHVlKSk7XG5cdFx0Y2hhbmdlcy5mb3JFYWNoQ2hhbmdlZEl0ZW0oKHJlY29yZDpLZXlWYWx1ZUNoYW5nZVJlY29yZDxzdHJpbmcsIHN0cmluZ3xudW1iZXI+KSA9PiB0aGlzLnNldFN0eWxlKHJlY29yZC5rZXksIHJlY29yZC5jdXJyZW50VmFsdWUpKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0U3R5bGUobmFtZUFuZFVuaXQ6IHN0cmluZywgdmFsdWU6IHN0cmluZ3xudW1iZXJ8bnVsbHx1bmRlZmluZWQpIHtcblx0XHRjb25zdCBbbmFtZSwgdW5pdF0gPSBuYW1lQW5kVW5pdC5zcGxpdCgnLicpO1xuXHRcdHZhbHVlID0gdmFsdWUgIT09IG51bGwgJiYgdW5pdCA/IGAke3ZhbHVlfSR7dW5pdH1gIDogdmFsdWU7XG5cdFx0Y29uc3Qgc3ZnID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZDtcblxuXHRcdGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuXHRcdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZShzdmcsIG5hbWUsIHZhbHVlIGFzIHN0cmluZyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoc3ZnLCBuYW1lKTtcblx0XHR9XG5cdH1cbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5cbmltcG9ydCB7IFNWR19JQ09OX1JFR0lTVFJZX1BST1ZJREVSIH0gZnJvbSAnLi9zdmctaWNvbi1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFN2Z0ljb25Db21wb25lbnQgfSBmcm9tICcuL3N2Zy1pY29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6XHQgIFtcblx0XHRDb21tb25Nb2R1bGUsXG5cdF0sXG5cdGRlY2xhcmF0aW9uczogWyBTdmdJY29uQ29tcG9uZW50IF0sXG5cdHByb3ZpZGVyczogICAgWyBTVkdfSUNPTl9SRUdJU1RSWV9QUk9WSURFUiBdLFxuXHRleHBvcnRzOiAgICAgIFsgU3ZnSWNvbkNvbXBvbmVudCBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhclN2Z0ljb25Nb2R1bGUge31cbiJdLCJuYW1lcyI6WyJodHRwIiwib2JzZXJ2YWJsZU9mIiwibWFwIiwidGFwIiwiY2F0Y2hFcnJvciIsIm9ic2VydmFibGVUaHJvd0Vycm9yIiwiZmluYWxpemUiLCJzaGFyZSIsIkluamVjdGFibGUiLCJIdHRwQ2xpZW50IiwiT3B0aW9uYWwiLCJTa2lwU2VsZiIsIkNvbXBvbmVudCIsIkVsZW1lbnRSZWYiLCJLZXlWYWx1ZURpZmZlcnMiLCJSZW5kZXJlcjIiLCJJbnB1dCIsIk5nTW9kdWxlIiwiQ29tbW9uTW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7UUFZQyxnQ0FBb0JBLE9BQWU7WUFBZixTQUFJLEdBQUpBLE9BQUksQ0FBVzs4QkFIZCxJQUFJLEdBQUcsRUFBc0I7cUNBQ3RCLElBQUksR0FBRyxFQUFrQztTQUdwRTs7Ozs7Ozs7UUFHRCx1Q0FBTTs7Ozs7O1lBQU4sVUFBTyxJQUFXLEVBQUUsSUFBVztnQkFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFOztvQkFDL0IsSUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7O29CQUNyQixJQUFNLEdBQUcsSUFBZSxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFDO29CQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQy9CO2FBQ0Q7Ozs7Ozs7UUFHRCx3Q0FBTzs7Ozs7WUFBUCxVQUFRLEdBQVU7Z0JBQWxCLGlCQXlCQztnQkF2QkEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDN0IsT0FBT0MsT0FBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQzlDO3FCQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDM0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QztxQkFBTTs7b0JBQ04sSUFBTSxDQUFDLElBQTRCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbkZDLGFBQUcsQ0FBQyxVQUFBLEdBQUc7O3dCQUNOLElBQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO3dCQUNwQix5QkFBbUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBQztxQkFDNUMsQ0FBQyxFQUNGQyxhQUFHLENBQUUsVUFBQSxHQUFHLElBQUksT0FBQSxLQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUEsQ0FBRSxFQUMzQ0Msb0JBQVUsQ0FBQyxVQUFBLEdBQUc7d0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDbkIsT0FBT0MsZUFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDakMsQ0FBQyxFQUNGQyxrQkFBUSxDQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFBLENBQUUsRUFDbkRDLGVBQUssRUFBRSxDQUNQLEVBQUM7b0JBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLE9BQU8sQ0FBQyxDQUFDO2lCQUNUO2FBQ0Q7Ozs7Ozs7UUFHRCwwQ0FBUzs7Ozs7WUFBVCxVQUFVLEdBQVU7Z0JBQ25CLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM1QjthQUNEOztvQkFwRERDLGVBQVU7Ozs7O3dCQUxGQyxlQUFVOzs7cUNBRG5COzs7Ozs7O0FBNkRBLGdEQUFtRCxjQUFxQyxFQUFFVCxPQUFlO1FBQ3hHLE9BQU8sY0FBYyxJQUFJLElBQUksc0JBQXNCLENBQUNBLE9BQUksQ0FBQyxDQUFDO0tBQzFEOztBQUVELFFBQWEsMEJBQTBCLEdBQUc7UUFDekMsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixJQUFJLEVBQUUsQ0FBRSxDQUFDLElBQUlVLGFBQVEsRUFBRSxFQUFFLElBQUlDLGFBQVEsRUFBRSxFQUFFLHNCQUFzQixDQUFDLEVBQUVGLGVBQVUsQ0FBRTtRQUM5RSxVQUFVLEVBQUUsa0NBQWtDO0tBQzlDOztJQ3JFRDs7Ozs7Ozs7Ozs7Ozs7QUFjQSxvQkF1R3VCLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLE9BQU8sTUFBTSxLQUFLLFVBQVUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSTtZQUNBLE9BQU8sQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUk7Z0JBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUU7UUFDRCxPQUFPLEtBQUssRUFBRTtZQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUFFO2dCQUMvQjtZQUNKLElBQUk7Z0JBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRDtvQkFDTztnQkFBRSxJQUFJLENBQUM7b0JBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQUU7U0FDcEM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7Ozs7UUNuR0EsMEJBQW9CLE9BQWtCLEVBQzdCLFNBQ0EsVUFDQTtZQUhXLFlBQU8sR0FBUCxPQUFPLENBQVc7WUFDN0IsWUFBTyxHQUFQLE9BQU87WUFDUCxhQUFRLEdBQVIsUUFBUTtZQUNSLFlBQU8sR0FBUCxPQUFPOzJCQW5CRyxLQUFLO1NBb0J2QjtRQWpCRCxzQkFDSSxzQ0FBUTs7Ozs7Z0JBRFosVUFDYSxDQUEwQjtnQkFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDNUM7YUFDRDs7O1dBQUE7Ozs7UUFhRCxtQ0FBUTs7O1lBQVI7Z0JBQ0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ1o7Ozs7UUFFRCxzQ0FBVzs7O1lBQVg7Z0JBQ0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2Y7Ozs7O1FBRUQsc0NBQVc7Ozs7WUFBWCxVQUFZLFlBQXlDO2dCQUNwRCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDeEIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNiLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztxQkFDZjtvQkFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ1o7Z0JBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDZjthQUNEOzs7O1FBRUQsb0NBQVM7OztZQUFUO2dCQUNDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFOztvQkFDNUIsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLE9BQU8sRUFBRTt3QkFDWixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMzQjtpQkFDRDthQUNEOzs7O1FBRU8sK0JBQUk7Ozs7O2dCQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFBLEdBQUc7b0JBQ3pELEtBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2pCLEtBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDbkIsQ0FBQyxDQUFDOzs7OztRQUdJLGtDQUFPOzs7O2dCQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUMxQjs7Ozs7UUFHTSxzQ0FBVzs7OztnQkFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQ3pEOzs7Ozs7UUFHTSxpQ0FBTTs7OztzQkFBQyxHQUFjO2dCQUM1QixJQUFJLEdBQUcsRUFBRTtvQkFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzs7b0JBQ2YsSUFBTSxJQUFJLElBQWUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQzs7b0JBQzdDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUV4QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUV0QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ2Y7Ozs7O1FBR00sa0NBQU87Ozs7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFOztvQkFDYixJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7b0JBRWxELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7d0JBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztxQkFDL0Q7eUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTt3QkFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLENBQUM7cUJBQzFEO2lCQUNEOzs7Ozs7UUFHTSx1Q0FBWTs7OztzQkFBQyxPQUErQzs7Z0JBQ25FLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLE1BQWtELElBQUssT0FBQSxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUEsQ0FBQyxDQUFDO2dCQUNwSCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBQyxNQUFrRCxJQUFLLE9BQUEsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBQSxDQUFDLENBQUM7Z0JBQ2pJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFDLE1BQWtELElBQUssT0FBQSxLQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFBLENBQUMsQ0FBQzs7Ozs7OztRQUc1SCxtQ0FBUTs7Ozs7c0JBQUMsV0FBbUIsRUFBRSxLQUFtQztnQkFDeEUsNENBQU8sWUFBSSxFQUFFLFlBQUksQ0FBMkI7Z0JBQzVDLEtBQUssR0FBRyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFHLEtBQUssR0FBRyxJQUFNLEdBQUcsS0FBSyxDQUFDOztnQkFDM0QsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO2dCQUVsRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLG9CQUFFLEtBQWUsRUFBQyxDQUFDO2lCQUNuRDtxQkFBTTtvQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ3JDOzs7b0JBeEhGRyxjQUFTLFNBQUM7d0JBQ1YsUUFBUSxFQUFFLFVBQVU7d0JBRXBCLFFBQVEsRUFBRSwyQkFBMkI7aUNBRDNCLGtDQUFrQztxQkFFNUM7Ozs7O3dCQWI0QkMsZUFBVTt3QkFDaUJDLG9CQUFlO3dCQUN4Q0MsY0FBUzt3QkFJL0Isc0JBQXNCOzs7OzBCQVU3QkMsVUFBSzs4QkFDTEEsVUFBSzsrQkFHTEEsVUFBSzs7K0JBcEJQOzs7Ozs7O0FDQUE7Ozs7b0JBT0NDLGFBQVEsU0FBQzt3QkFDVCxPQUFPLEVBQUk7NEJBQ1ZDLG1CQUFZO3lCQUNaO3dCQUNELFlBQVksRUFBRSxDQUFFLGdCQUFnQixDQUFFO3dCQUNsQyxTQUFTLEVBQUssQ0FBRSwwQkFBMEIsQ0FBRTt3QkFDNUMsT0FBTyxFQUFPLENBQUUsZ0JBQWdCLENBQUU7cUJBQ2xDOzttQ0FkRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9 |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular-svg-icon",["exports","@angular/core","@angular/common/http","rxjs","rxjs/operators","@angular/common"],t):t(e["angular-svg-icon"]={},e.ng.core,e.ng.common.http,e.rxjs,e.Rx.Observable.prototype,e.ng.common)}(this,function(e,t,r,n,i,o){"use strict";var s=function(){function e(e){this.http=e,this.iconsByUrl=new Map,this.iconsLoadingByUrl=new Map}return e.prototype.addSvg=function(e,t){if(!this.iconsByUrl.has(e)){var r=document.createElement("DIV");r.innerHTML=t;var n=r.querySelector("svg");this.iconsByUrl.set(e,n)}},e.prototype.loadSvg=function(t){var r=this;if(this.iconsByUrl.has(t))return n.of(this.iconsByUrl.get(t));if(this.iconsLoadingByUrl.has(t))return this.iconsLoadingByUrl.get(t);var e=this.http.get(t,{responseType:"text"}).pipe(i.map(function(e){var t=document.createElement("DIV");return t.innerHTML=e,t.querySelector("svg")}),i.tap(function(e){return r.iconsByUrl.set(t,e)}),i.catchError(function(e){return console.error(e),n.throwError(e)}),i.finalize(function(){return r.iconsLoadingByUrl["delete"](t)}),i.share());return this.iconsLoadingByUrl.set(t,e),e},e.prototype.unloadSvg=function(e){this.iconsByUrl.has(e)&&this.iconsByUrl["delete"](e)},e}();function c(e,t){return e||new s(t)}s.decorators=[{type:t.Injectable}],s.ctorParameters=function(){return[{type:r.HttpClient}]};var a={provide:s,deps:[[new t.Optional,new t.SkipSelf,s],r.HttpClient],useFactory:c},u=function(){function e(e,t,r,n){this.element=e,this.differs=t,this.renderer=r,this.iconReg=n,this.stretch=!1}return Object.defineProperty(e.prototype,"svgStyle",{set:function(e){this._svgStyle=e,!this.differ&&e&&(this.differ=this.differs.find(e).create())},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.init()},e.prototype.ngOnDestroy=function(){this.destroy()},e.prototype.ngOnChanges=function(e){e.src&&(this.svg&&this.destroy(),this.init()),e.stretch&&this.stylize()},e.prototype.ngDoCheck=function(){if(this.svg&&this.differ){var e=this.differ.diff(this._svgStyle);e&&this.applyChanges(e)}},e.prototype.init=function(){var t=this;this.icnSub=this.iconReg.loadSvg(this.src).subscribe(function(e){t.setSvg(e),t.resetDiffer()})},e.prototype.destroy=function(){this.svg=undefined,this.differ=undefined,this.icnSub&&this.icnSub.unsubscribe()},e.prototype.resetDiffer=function(){this._svgStyle&&!this.differ&&(this.differ=this.differs.find(this._svgStyle).create())},e.prototype.setSvg=function(e){if(e){var t=(this.svg=e).cloneNode(!0),r=this.element.nativeElement;r.innerHTML="",this.renderer.appendChild(r,t),this.stylize()}},e.prototype.stylize=function(){if(this.svg){var e=this.element.nativeElement.firstChild;!0===this.stretch?this.renderer.setAttribute(e,"preserveAspectRatio","none"):!1===this.stretch&&this.renderer.removeAttribute(e,"preserveAspectRatio")}},e.prototype.applyChanges=function(e){var t=this;e.forEachRemovedItem(function(e){return t.setStyle(e.key,null)}),e.forEachAddedItem(function(e){return t.setStyle(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t.setStyle(e.key,e.currentValue)})},e.prototype.setStyle=function(e,t){var r=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(n=o.next()).done;)s.push(n.value)}catch(c){i={error:c}}finally{try{n&&!n.done&&(r=o["return"])&&r.call(o)}finally{if(i)throw i.error}}return s}(e.split("."),2),n=r[0],i=r[1];t=null!==t&&i?""+t+i:t;var o=this.element.nativeElement.firstChild;null!==t?this.renderer.setStyle(o,n,t):this.renderer.removeStyle(o,n)},e}();u.decorators=[{type:t.Component,args:[{selector:"svg-icon",styles:[":host { display: inline-block; }"],template:"<ng-content></ng-content>"}]}],u.ctorParameters=function(){return[{type:t.ElementRef},{type:t.KeyValueDiffers},{type:t.Renderer2},{type:s}]},u.propDecorators={src:[{type:t.Input}],stretch:[{type:t.Input}],svgStyle:[{type:t.Input}]};var l=function(){};l.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule],declarations:[u],providers:[a],exports:[u]}]}],e.AngularSvgIconModule=l,e.SvgIconRegistryService=s,e.SVG_ICON_REGISTRY_PROVIDER_FACTORY=c,e.SVG_ICON_REGISTRY_PROVIDER=a,e.SvgIconComponent=u,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-svg-icon.umd.min.js.map | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular-svg-icon",["exports","@angular/core","@angular/common/http","rxjs","rxjs/operators","@angular/common"],t):t(e["angular-svg-icon"]={},e.ng.core,e.ng.common.http,e.rxjs,e.rxjs.operators,e.ng.common)}(this,function(e,t,r,n,i,o){"use strict";var s=function(){function e(e){this.http=e,this.iconsByUrl=new Map,this.iconsLoadingByUrl=new Map}return e.prototype.addSvg=function(e,t){if(!this.iconsByUrl.has(e)){var r=document.createElement("DIV");r.innerHTML=t;var n=r.querySelector("svg");this.iconsByUrl.set(e,n)}},e.prototype.loadSvg=function(t){var r=this;if(this.iconsByUrl.has(t))return n.of(this.iconsByUrl.get(t));if(this.iconsLoadingByUrl.has(t))return this.iconsLoadingByUrl.get(t);var e=this.http.get(t,{responseType:"text"}).pipe(i.map(function(e){var t=document.createElement("DIV");return t.innerHTML=e,t.querySelector("svg")}),i.tap(function(e){return r.iconsByUrl.set(t,e)}),i.catchError(function(e){return console.error(e),n.throwError(e)}),i.finalize(function(){return r.iconsLoadingByUrl["delete"](t)}),i.share());return this.iconsLoadingByUrl.set(t,e),e},e.prototype.unloadSvg=function(e){this.iconsByUrl.has(e)&&this.iconsByUrl["delete"](e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:r.HttpClient}]},e}();function c(e,t){return e||new s(t)}var u={provide:s,deps:[[new t.Optional,new t.SkipSelf,s],r.HttpClient],useFactory:c};var a=function(){function e(e,t,r,n){this.element=e,this.differs=t,this.renderer=r,this.iconReg=n,this.stretch=!1}return Object.defineProperty(e.prototype,"svgStyle",{set:function(e){this._svgStyle=e,!this.differ&&e&&(this.differ=this.differs.find(e).create())},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.init()},e.prototype.ngOnDestroy=function(){this.destroy()},e.prototype.ngOnChanges=function(e){e.src&&(this.svg&&this.destroy(),this.init()),e.stretch&&this.stylize()},e.prototype.ngDoCheck=function(){if(this.svg&&this.differ){var e=this.differ.diff(this._svgStyle);e&&this.applyChanges(e)}},e.prototype.init=function(){var t=this;this.icnSub=this.iconReg.loadSvg(this.src).subscribe(function(e){t.setSvg(e),t.resetDiffer()})},e.prototype.destroy=function(){this.svg=undefined,this.differ=undefined,this.icnSub&&this.icnSub.unsubscribe()},e.prototype.resetDiffer=function(){this._svgStyle&&!this.differ&&(this.differ=this.differs.find(this._svgStyle).create())},e.prototype.setSvg=function(e){if(e){var t=(this.svg=e).cloneNode(!0),r=this.element.nativeElement;r.innerHTML="",this.renderer.appendChild(r,t),this.stylize()}},e.prototype.stylize=function(){if(this.svg){var e=this.element.nativeElement.firstChild;!0===this.stretch?this.renderer.setAttribute(e,"preserveAspectRatio","none"):!1===this.stretch&&this.renderer.removeAttribute(e,"preserveAspectRatio")}},e.prototype.applyChanges=function(e){var t=this;e.forEachRemovedItem(function(e){return t.setStyle(e.key,null)}),e.forEachAddedItem(function(e){return t.setStyle(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t.setStyle(e.key,e.currentValue)})},e.prototype.setStyle=function(e,t){var r=function u(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(n=o.next()).done;)s.push(n.value)}catch(c){i={error:c}}finally{try{n&&!n.done&&(r=o["return"])&&r.call(o)}finally{if(i)throw i.error}}return s}(e.split("."),2),n=r[0],i=r[1];t=null!==t&&i?""+t+i:t;var o=this.element.nativeElement.firstChild;null!==t?this.renderer.setStyle(o,n,t):this.renderer.removeStyle(o,n)},e.decorators=[{type:t.Component,args:[{selector:"svg-icon",template:"<ng-content></ng-content>",styles:[":host { display: inline-block; }"]}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.KeyValueDiffers},{type:t.Renderer2},{type:s}]},e.propDecorators={src:[{type:t.Input}],stretch:[{type:t.Input}],svgStyle:[{type:t.Input}]},e}(),l=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule],declarations:[a],providers:[u],exports:[a]}]}],e}();e.AngularSvgIconModule=l,e.SvgIconRegistryService=s,e.SVG_ICON_REGISTRY_PROVIDER_FACTORY=c,e.SVG_ICON_REGISTRY_PROVIDER=u,e.SvgIconComponent=a,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-svg-icon.umd.min.js.map |
@@ -1,289 +0,10 @@ | ||
import { Injectable, Optional, SkipSelf, Component, ElementRef, Input, KeyValueDiffers, Renderer2, NgModule } from '@angular/core'; | ||
import { HttpClient } from '@angular/common/http'; | ||
import { of, throwError } from 'rxjs'; | ||
import { map, tap, catchError, finalize, share } from 'rxjs/operators'; | ||
import { CommonModule } from '@angular/common'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
class SvgIconRegistryService { | ||
/** | ||
* @param {?} http | ||
*/ | ||
constructor(http) { | ||
this.http = http; | ||
this.iconsByUrl = new Map(); | ||
this.iconsLoadingByUrl = new Map(); | ||
} | ||
/** | ||
* Add a SVG to the registry by passing a name and the SVG. | ||
* @param {?} name | ||
* @param {?} data | ||
* @return {?} | ||
*/ | ||
addSvg(name, data) { | ||
if (!this.iconsByUrl.has(name)) { | ||
const /** @type {?} */ div = document.createElement('DIV'); | ||
div.innerHTML = data; | ||
const /** @type {?} */ svg = /** @type {?} */ (div.querySelector('svg')); | ||
this.iconsByUrl.set(name, svg); | ||
} | ||
} | ||
/** | ||
* Load a SVG to the registry from a URL. | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
loadSvg(url) { | ||
if (this.iconsByUrl.has(url)) { | ||
return of(this.iconsByUrl.get(url)); | ||
} | ||
else if (this.iconsLoadingByUrl.has(url)) { | ||
return this.iconsLoadingByUrl.get(url); | ||
} | ||
else { | ||
const /** @type {?} */ o = /** @type {?} */ (this.http.get(url, { responseType: 'text' }).pipe(map(svg => { | ||
const /** @type {?} */ div = document.createElement('DIV'); | ||
div.innerHTML = svg; | ||
return /** @type {?} */ (div.querySelector('svg')); | ||
}), tap(svg => this.iconsByUrl.set(url, svg)), catchError(err => { | ||
console.error(err); | ||
return throwError(err); | ||
}), finalize(() => this.iconsLoadingByUrl.delete(url)), share())); | ||
this.iconsLoadingByUrl.set(url, o); | ||
return o; | ||
} | ||
} | ||
/** | ||
* Remove a SVG from the registry by URL (or name). | ||
* @param {?} url | ||
* @return {?} | ||
*/ | ||
unloadSvg(url) { | ||
if (this.iconsByUrl.has(url)) { | ||
this.iconsByUrl.delete(url); | ||
} | ||
} | ||
} | ||
SvgIconRegistryService.decorators = [ | ||
{ type: Injectable }, | ||
]; | ||
/** @nocollapse */ | ||
SvgIconRegistryService.ctorParameters = () => [ | ||
{ type: HttpClient, }, | ||
]; | ||
/** | ||
* @param {?} parentRegistry | ||
* @param {?} http | ||
* @return {?} | ||
*/ | ||
function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, http) { | ||
return parentRegistry || new SvgIconRegistryService(http); | ||
} | ||
const SVG_ICON_REGISTRY_PROVIDER = { | ||
provide: SvgIconRegistryService, | ||
deps: [[new Optional(), new SkipSelf(), SvgIconRegistryService], HttpClient], | ||
useFactory: SVG_ICON_REGISTRY_PROVIDER_FACTORY | ||
}; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
*/ | ||
class SvgIconComponent { | ||
/** | ||
* @param {?} element | ||
* @param {?} differs | ||
* @param {?} renderer | ||
* @param {?} iconReg | ||
*/ | ||
constructor(element, differs, renderer, iconReg) { | ||
this.element = element; | ||
this.differs = differs; | ||
this.renderer = renderer; | ||
this.iconReg = iconReg; | ||
this.stretch = false; | ||
} | ||
/** | ||
* @param {?} v | ||
* @return {?} | ||
*/ | ||
set svgStyle(v) { | ||
this._svgStyle = v; | ||
if (!this.differ && v) { | ||
this.differ = this.differs.find(v).create(); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnInit() { | ||
this.init(); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnDestroy() { | ||
this.destroy(); | ||
} | ||
/** | ||
* @param {?} changeRecord | ||
* @return {?} | ||
*/ | ||
ngOnChanges(changeRecord) { | ||
if (changeRecord['src']) { | ||
if (this.svg) { | ||
this.destroy(); | ||
} | ||
this.init(); | ||
} | ||
if (changeRecord['stretch']) { | ||
this.stylize(); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngDoCheck() { | ||
if (this.svg && this.differ) { | ||
const /** @type {?} */ changes = this.differ.diff(this._svgStyle); | ||
if (changes) { | ||
this.applyChanges(changes); | ||
} | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
init() { | ||
this.icnSub = this.iconReg.loadSvg(this.src).subscribe(svg => { | ||
this.setSvg(svg); | ||
this.resetDiffer(); | ||
}); | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
destroy() { | ||
this.svg = undefined; | ||
this.differ = undefined; | ||
if (this.icnSub) { | ||
this.icnSub.unsubscribe(); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
resetDiffer() { | ||
if (this._svgStyle && !this.differ) { | ||
this.differ = this.differs.find(this._svgStyle).create(); | ||
} | ||
} | ||
/** | ||
* @param {?} svg | ||
* @return {?} | ||
*/ | ||
setSvg(svg) { | ||
if (svg) { | ||
this.svg = svg; | ||
const /** @type {?} */ icon = /** @type {?} */ (svg.cloneNode(true)); | ||
const /** @type {?} */ elem = this.element.nativeElement; | ||
elem.innerHTML = ''; | ||
this.renderer.appendChild(elem, icon); | ||
this.stylize(); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
stylize() { | ||
if (this.svg) { | ||
const /** @type {?} */ svg = this.element.nativeElement.firstChild; | ||
if (this.stretch === true) { | ||
this.renderer.setAttribute(svg, 'preserveAspectRatio', 'none'); | ||
} | ||
else if (this.stretch === false) { | ||
this.renderer.removeAttribute(svg, 'preserveAspectRatio'); | ||
} | ||
} | ||
} | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
applyChanges(changes) { | ||
changes.forEachRemovedItem((record) => this.setStyle(record.key, null)); | ||
changes.forEachAddedItem((record) => this.setStyle(record.key, record.currentValue)); | ||
changes.forEachChangedItem((record) => this.setStyle(record.key, record.currentValue)); | ||
} | ||
/** | ||
* @param {?} nameAndUnit | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
setStyle(nameAndUnit, value) { | ||
const [name, unit] = nameAndUnit.split('.'); | ||
value = value !== null && unit ? `${value}${unit}` : value; | ||
const /** @type {?} */ svg = this.element.nativeElement.firstChild; | ||
if (value !== null) { | ||
this.renderer.setStyle(svg, name, /** @type {?} */ (value)); | ||
} | ||
else { | ||
this.renderer.removeStyle(svg, name); | ||
} | ||
} | ||
} | ||
SvgIconComponent.decorators = [ | ||
{ type: Component, args: [{ | ||
selector: 'svg-icon', | ||
styles: [`:host { display: inline-block; }`], | ||
template: '<ng-content></ng-content>' | ||
},] }, | ||
]; | ||
/** @nocollapse */ | ||
SvgIconComponent.ctorParameters = () => [ | ||
{ type: ElementRef, }, | ||
{ type: KeyValueDiffers, }, | ||
{ type: Renderer2, }, | ||
{ type: SvgIconRegistryService, }, | ||
]; | ||
SvgIconComponent.propDecorators = { | ||
"src": [{ type: Input },], | ||
"stretch": [{ type: Input },], | ||
"svgStyle": [{ type: Input },], | ||
}; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
*/ | ||
class AngularSvgIconModule { | ||
} | ||
AngularSvgIconModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
imports: [ | ||
CommonModule, | ||
], | ||
declarations: [SvgIconComponent], | ||
providers: [SVG_ICON_REGISTRY_PROVIDER], | ||
exports: [SvgIconComponent] | ||
},] }, | ||
]; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { AngularSvgIconModule, SvgIconRegistryService, SVG_ICON_REGISTRY_PROVIDER_FACTORY, SVG_ICON_REGISTRY_PROVIDER, SvgIconComponent } from './index'; | ||
export { AngularSvgIconModule, SvgIconRegistryService, SVG_ICON_REGISTRY_PROVIDER_FACTORY, SVG_ICON_REGISTRY_PROVIDER, SvgIconComponent }; | ||
//# sourceMappingURL=angular-svg-icon.js.map | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zdmctaWNvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3ZnLWljb24vIiwic291cmNlcyI6WyJhbmd1bGFyLXN2Zy1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrSUFBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19 |
@@ -1,201 +0,10 @@ | ||
import { __read } from 'tslib'; | ||
import { Injectable, Optional, SkipSelf, Component, ElementRef, Input, KeyValueDiffers, Renderer2, NgModule } from '@angular/core'; | ||
import { HttpClient } from '@angular/common/http'; | ||
import { of, throwError } from 'rxjs'; | ||
import { map, tap, catchError, finalize, share } from 'rxjs/operators'; | ||
import { CommonModule } from '@angular/common'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { AngularSvgIconModule, SvgIconRegistryService, SVG_ICON_REGISTRY_PROVIDER_FACTORY, SVG_ICON_REGISTRY_PROVIDER, SvgIconComponent } from './index'; | ||
var SvgIconRegistryService = /** @class */ (function () { | ||
function SvgIconRegistryService(http) { | ||
this.http = http; | ||
this.iconsByUrl = new Map(); | ||
this.iconsLoadingByUrl = new Map(); | ||
} | ||
SvgIconRegistryService.prototype.addSvg = function (name, data) { | ||
if (!this.iconsByUrl.has(name)) { | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = data; | ||
var svg = (div.querySelector('svg')); | ||
this.iconsByUrl.set(name, svg); | ||
} | ||
}; | ||
SvgIconRegistryService.prototype.loadSvg = function (url) { | ||
var _this = this; | ||
if (this.iconsByUrl.has(url)) { | ||
return of(this.iconsByUrl.get(url)); | ||
} | ||
else if (this.iconsLoadingByUrl.has(url)) { | ||
return this.iconsLoadingByUrl.get(url); | ||
} | ||
else { | ||
var o = (this.http.get(url, { responseType: 'text' }).pipe(map(function (svg) { | ||
var div = document.createElement('DIV'); | ||
div.innerHTML = svg; | ||
return (div.querySelector('svg')); | ||
}), tap(function (svg) { return _this.iconsByUrl.set(url, svg); }), catchError(function (err) { | ||
console.error(err); | ||
return throwError(err); | ||
}), finalize(function () { return _this.iconsLoadingByUrl.delete(url); }), share())); | ||
this.iconsLoadingByUrl.set(url, o); | ||
return o; | ||
} | ||
}; | ||
SvgIconRegistryService.prototype.unloadSvg = function (url) { | ||
if (this.iconsByUrl.has(url)) { | ||
this.iconsByUrl.delete(url); | ||
} | ||
}; | ||
return SvgIconRegistryService; | ||
}()); | ||
SvgIconRegistryService.decorators = [ | ||
{ type: Injectable }, | ||
]; | ||
SvgIconRegistryService.ctorParameters = function () { return [ | ||
{ type: HttpClient, }, | ||
]; }; | ||
function SVG_ICON_REGISTRY_PROVIDER_FACTORY(parentRegistry, http) { | ||
return parentRegistry || new SvgIconRegistryService(http); | ||
} | ||
var SVG_ICON_REGISTRY_PROVIDER = { | ||
provide: SvgIconRegistryService, | ||
deps: [[new Optional(), new SkipSelf(), SvgIconRegistryService], HttpClient], | ||
useFactory: SVG_ICON_REGISTRY_PROVIDER_FACTORY | ||
}; | ||
var SvgIconComponent = /** @class */ (function () { | ||
function SvgIconComponent(element, differs, renderer, iconReg) { | ||
this.element = element; | ||
this.differs = differs; | ||
this.renderer = renderer; | ||
this.iconReg = iconReg; | ||
this.stretch = false; | ||
} | ||
Object.defineProperty(SvgIconComponent.prototype, "svgStyle", { | ||
set: function (v) { | ||
this._svgStyle = v; | ||
if (!this.differ && v) { | ||
this.differ = this.differs.find(v).create(); | ||
} | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
SvgIconComponent.prototype.ngOnInit = function () { | ||
this.init(); | ||
}; | ||
SvgIconComponent.prototype.ngOnDestroy = function () { | ||
this.destroy(); | ||
}; | ||
SvgIconComponent.prototype.ngOnChanges = function (changeRecord) { | ||
if (changeRecord['src']) { | ||
if (this.svg) { | ||
this.destroy(); | ||
} | ||
this.init(); | ||
} | ||
if (changeRecord['stretch']) { | ||
this.stylize(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.ngDoCheck = function () { | ||
if (this.svg && this.differ) { | ||
var changes = this.differ.diff(this._svgStyle); | ||
if (changes) { | ||
this.applyChanges(changes); | ||
} | ||
} | ||
}; | ||
SvgIconComponent.prototype.init = function () { | ||
var _this = this; | ||
this.icnSub = this.iconReg.loadSvg(this.src).subscribe(function (svg) { | ||
_this.setSvg(svg); | ||
_this.resetDiffer(); | ||
}); | ||
}; | ||
SvgIconComponent.prototype.destroy = function () { | ||
this.svg = undefined; | ||
this.differ = undefined; | ||
if (this.icnSub) { | ||
this.icnSub.unsubscribe(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.resetDiffer = function () { | ||
if (this._svgStyle && !this.differ) { | ||
this.differ = this.differs.find(this._svgStyle).create(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.setSvg = function (svg) { | ||
if (svg) { | ||
this.svg = svg; | ||
var icon = (svg.cloneNode(true)); | ||
var elem = this.element.nativeElement; | ||
elem.innerHTML = ''; | ||
this.renderer.appendChild(elem, icon); | ||
this.stylize(); | ||
} | ||
}; | ||
SvgIconComponent.prototype.stylize = function () { | ||
if (this.svg) { | ||
var svg = this.element.nativeElement.firstChild; | ||
if (this.stretch === true) { | ||
this.renderer.setAttribute(svg, 'preserveAspectRatio', 'none'); | ||
} | ||
else if (this.stretch === false) { | ||
this.renderer.removeAttribute(svg, 'preserveAspectRatio'); | ||
} | ||
} | ||
}; | ||
SvgIconComponent.prototype.applyChanges = function (changes) { | ||
var _this = this; | ||
changes.forEachRemovedItem(function (record) { return _this.setStyle(record.key, null); }); | ||
changes.forEachAddedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
changes.forEachChangedItem(function (record) { return _this.setStyle(record.key, record.currentValue); }); | ||
}; | ||
SvgIconComponent.prototype.setStyle = function (nameAndUnit, value) { | ||
var _a = __read(nameAndUnit.split('.'), 2), name = _a[0], unit = _a[1]; | ||
value = value !== null && unit ? "" + value + unit : value; | ||
var svg = this.element.nativeElement.firstChild; | ||
if (value !== null) { | ||
this.renderer.setStyle(svg, name, (value)); | ||
} | ||
else { | ||
this.renderer.removeStyle(svg, name); | ||
} | ||
}; | ||
return SvgIconComponent; | ||
}()); | ||
SvgIconComponent.decorators = [ | ||
{ type: Component, args: [{ | ||
selector: 'svg-icon', | ||
styles: [":host { display: inline-block; }"], | ||
template: '<ng-content></ng-content>' | ||
},] }, | ||
]; | ||
SvgIconComponent.ctorParameters = function () { return [ | ||
{ type: ElementRef, }, | ||
{ type: KeyValueDiffers, }, | ||
{ type: Renderer2, }, | ||
{ type: SvgIconRegistryService, }, | ||
]; }; | ||
SvgIconComponent.propDecorators = { | ||
"src": [{ type: Input },], | ||
"stretch": [{ type: Input },], | ||
"svgStyle": [{ type: Input },], | ||
}; | ||
var AngularSvgIconModule = /** @class */ (function () { | ||
function AngularSvgIconModule() { | ||
} | ||
return AngularSvgIconModule; | ||
}()); | ||
AngularSvgIconModule.decorators = [ | ||
{ type: NgModule, args: [{ | ||
imports: [ | ||
CommonModule, | ||
], | ||
declarations: [SvgIconComponent], | ||
providers: [SVG_ICON_REGISTRY_PROVIDER], | ||
exports: [SvgIconComponent] | ||
},] }, | ||
]; | ||
export { AngularSvgIconModule, SvgIconRegistryService, SVG_ICON_REGISTRY_PROVIDER_FACTORY, SVG_ICON_REGISTRY_PROVIDER, SvgIconComponent }; | ||
//# sourceMappingURL=angular-svg-icon.js.map | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zdmctaWNvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3ZnLWljb24vIiwic291cmNlcyI6WyJhbmd1bGFyLXN2Zy1pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwrSUFBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19 |
{ | ||
"$schema": "../../node_modules/ng-packagr/package.schema.json", | ||
"name": "angular-svg-icon", | ||
"description": "Angular 6 component for inlining SVGs allowing them to be easily styled with CSS.", | ||
"version": "6.0.0", | ||
"description": "Angular 6+ component for inlining SVGs allowing them to be easily styled with CSS.", | ||
"version": "6.0.1", | ||
"repository": { | ||
@@ -18,11 +18,16 @@ "type": "git", | ||
"peerDependencies": { | ||
"@angular/core": "^6.0.0", | ||
"@angular/common": "^6.0.0", | ||
"rxjs": "^6.0.0" | ||
"@angular/core": ">=6.0.0", | ||
"@angular/common": ">=6.0.0", | ||
"rxjs": ">=6.0.0" | ||
}, | ||
"main": "bundles/angular-svg-icon.umd.js", | ||
"module": "esm5/angular-svg-icon.js", | ||
"es2015": "esm2015/angular-svg-icon.js", | ||
"module": "fesm5/angular-svg-icon.js", | ||
"es2015": "fesm2015/angular-svg-icon.js", | ||
"esm5": "esm5/angular-svg-icon.js", | ||
"esm2015": "esm2015/angular-svg-icon.js", | ||
"fesm5": "fesm5/angular-svg-icon.js", | ||
"fesm2015": "fesm2015/angular-svg-icon.js", | ||
"typings": "angular-svg-icon.d.ts", | ||
"metadata": "angular-svg-icon.metadata.json", | ||
"sideEffects": false, | ||
"dependencies": { | ||
@@ -29,0 +34,0 @@ "tslib": "^1.9.0" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
239221
27
0
1839
1