@taiga-ui/core 3.46.0-canary.3d0ca4e → 3.46.0-canary.728f07e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -464,7 +464,7 @@
464
464
  var FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
465
465
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
466
466
  var TuiSvgComponent = /** @class */ (function () {
467
- function TuiSvgComponent(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el) {
467
+ function TuiSvgComponent(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el, baseHref) {
468
468
  var _this = this;
469
469
  this.doc = doc;
470
470
  this.win = win;
@@ -475,6 +475,7 @@
475
475
  this.staticRequestService = staticRequestService;
476
476
  this.sanitizer = sanitizer;
477
477
  this.el = el;
478
+ this.baseHref = baseHref;
478
479
  this.src$ = new rxjs.ReplaySubject(1);
479
480
  this.icon = '';
480
481
  this.innerHTML$ = this.src$.pipe(operators.switchMap(function () {
@@ -588,7 +589,7 @@
588
589
  this.el.nativeElement.dispatchEvent(event);
589
590
  };
590
591
  TuiSvgComponent.prototype.resolveName = function (name, iconsPath) {
591
- return iconsPath(name);
592
+ return iconsPath(name, this.baseHref);
592
593
  };
593
594
  TuiSvgComponent.prototype.getSafeHtml = function (src) {
594
595
  return this.isSrc ? this.sanitize(src) : this.process(src);
@@ -617,7 +618,7 @@
617
618
  };
618
619
  return TuiSvgComponent;
619
620
  }());
620
- TuiSvgComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiSvgComponent, deps: [{ token: i2.DOCUMENT }, { token: common.WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: tokens.TUI_SANITIZER, optional: true }, { token: i3.TuiSvgService }, { token: i1.TuiStaticRequestService }, { token: i4.DomSanitizer }, { token: i0.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
621
+ TuiSvgComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiSvgComponent, deps: [{ token: i2.DOCUMENT }, { token: common.WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: tokens.TUI_SANITIZER, optional: true }, { token: i3.TuiSvgService }, { token: i1.TuiStaticRequestService }, { token: i4.DomSanitizer }, { token: i0.ElementRef }, { token: i1.TUI_BASE_HREF }], target: i0__namespace.ɵɵFactoryTarget.Component });
621
622
  TuiSvgComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0__namespace, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-flex;vertical-align:middle;flex-shrink:0;align-items:center;justify-content:center;line-height:0;height:1.5rem;width:1.5rem;fill:transparent;stroke:transparent;font-size:1rem}.t-src{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.t-svg{overflow:visible}\n"], directives: [{ type: i1__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
622
623
  __decorate([
623
624
  i1.tuiPure
@@ -662,6 +663,9 @@
662
663
  }] }, { type: i0__namespace.ElementRef, decorators: [{
663
664
  type: i0.Inject,
664
665
  args: [i0.ElementRef]
666
+ }] }, { type: undefined, decorators: [{
667
+ type: i0.Inject,
668
+ args: [i1.TUI_BASE_HREF]
665
669
  }] }];
666
670
  }, propDecorators: { src: [{
667
671
  type: i0.Input
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-svg.umd.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n} from '@angular/core';\nimport {\n tuiCreateTokenFromFactory,\n TuiHandler,\n tuiIsString,\n TuiSafeHtml,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_ICONS_PLACE,\n TUI_ICONS_PATH,\n TUI_ICONS_PLACE,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\n// TODO: Refactor it all in 4.0 and remove deprecated backward compatibility hacks\nexport interface TuiSvgOptions {\n readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n readonly deprecated: TuiStringHandler<string>;\n readonly iconsPlace: string;\n readonly path: TuiStringHandler<string>;\n readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n}\n\nexport type TuiSvgInterceptorHandler =\n | ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml)\n | ((src: TuiSafeHtml) => TuiSafeHtml);\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n iconsPlace: TUI_DEFAULT_ICONS_PLACE,\n path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src => {\n const oldIcon = src.replace(`Large`, ``).replace(`Outline`, ``);\n const newIcon = TUI_DEPRECATED_ICONS[oldIcon];\n\n return newIcon\n ? `${oldIcon}/(Large|Outline) is deprecated, use ${newIcon}/(Large|Outline) instead`\n : ``;\n },\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = tuiCreateTokenFromFactory<TuiSvgOptions>(() => ({\n iconsPlace: inject(TUI_ICONS_PLACE),\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n}));\n\nexport const TUI_SVG_SRC_INTERCEPTORS = new InjectionToken<TuiSvgInterceptorHandler>(\n `[TUI_SVG_SRC_INTERCEPTORS]`,\n);\n\nexport function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider {\n return {\n provide: TUI_SVG_SRC_INTERCEPTORS,\n useValue: interceptor,\n multi: true,\n };\n}\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => FactoryProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n deps: [\n [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],\n [new Optional(), TUI_ICONS_PLACE],\n [new Optional(), TUI_ICONS_PATH],\n [new Optional(), TUI_SVG_SRC_PROCESSOR],\n [new Optional(), TUI_SVG_CONTENT_PROCESSOR],\n ],\n useFactory: (\n fallback: TuiSvgOptions | null,\n iconsPlace: string | null,\n path: TuiSvgOptions['path'] | null,\n srcProcessor: TuiSvgOptions['srcProcessor'] | null,\n contentProcessor: TuiSvgOptions['contentProcessor'] | null,\n ): TuiSvgOptions => ({\n iconsPlace:\n options.iconsPlace ??\n fallback?.iconsPlace ??\n iconsPlace ??\n TUI_SVG_DEFAULT_OPTIONS.iconsPlace,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path ?? fallback?.path ?? path ?? TUI_SVG_DEFAULT_OPTIONS.path,\n deprecated:\n options.deprecated ??\n fallback?.deprecated ??\n TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor:\n options.srcProcessor ??\n fallback?.srcProcessor ??\n srcProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.srcProcessor,\n contentProcessor:\n options.contentProcessor ??\n fallback?.contentProcessor ??\n contentProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.contentProcessor,\n }),\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n TuiSafeHtml,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {\n TUI_SVG_OPTIONS,\n TUI_SVG_SRC_INTERCEPTORS,\n TuiSvgInterceptorHandler,\n TuiSvgOptions,\n} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: TuiSafeHtml = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SVG_SRC_INTERCEPTORS)\n private readonly srcInterceptors: readonly TuiSvgInterceptorHandler[] | null,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n set src(src: TuiSafeHtml | null | undefined) {\n const deprecated = this.options.deprecated(String(src));\n\n ngDevMode && tuiAssert.assert(!deprecated, deprecated);\n\n this.icon = (this.srcInterceptors ?? []).reduce(\n (newSrc, interceptor: TuiSvgInterceptorHandler) =>\n interceptor(newSrc, this.options),\n this.options.srcProcessor(src || ''),\n );\n\n this.src$.next();\n }\n\n get src(): TuiSafeHtml {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;\n }\n\n private get isUse(): boolean {\n return this.use.replace(TUI_CACHE_BUSTING_PAYLOAD, '').includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return (\n tuiIsString(this.icon) &&\n this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg')\n );\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, win} = this;\n\n return (\n isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n ngDevMode && tuiAssert.assert(false, message, icon);\n this.el.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: TuiSafeHtml): TuiSafeHtml {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TUI_DEFAULT_ICONS_PLACE","tuiIconsPathFactory","identity","tuiSvgLinearGradientProcessor","tuiCreateTokenFromFactory","inject","TUI_ICONS_PLACE","TUI_ICONS_PATH","TUI_SVG_SRC_PROCESSOR","TUI_SVG_CONTENT_PROCESSOR","InjectionToken","SkipSelf","Optional","tuiIsString","ReplaySubject","switchMap","of","startWith","tuiAssert","tuiGetDocumentOrShadowRoot","TUI_CACHE_BUSTING_PAYLOAD","tuiIsPresumedHTMLString","TUI_ICON_ERROR","SecurityContext","catchError","map","i0","DOCUMENT","WINDOW","TUI_SANITIZER","TuiSvgService","TuiStaticRequestService","DomSanitizer","ElementRef","i1","i2","tuiPure","Component","ChangeDetectionStrategy","Inject","Input","CommonModule","TuiLetModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-svg.umd.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n} from '@angular/core';\nimport {\n tuiCreateTokenFromFactory,\n TuiHandler,\n tuiIsString,\n TuiSafeHtml,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_ICONS_PLACE,\n TUI_ICONS_PATH,\n TUI_ICONS_PLACE,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\n// TODO: Refactor it all in 4.0 and remove deprecated backward compatibility hacks\nexport interface TuiSvgOptions {\n readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n readonly deprecated: TuiStringHandler<string>;\n readonly iconsPlace: string;\n readonly path: (name: string, baseHref?: string) => string;\n readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n}\n\nexport type TuiSvgInterceptorHandler =\n | ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml)\n | ((src: TuiSafeHtml) => TuiSafeHtml);\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n iconsPlace: TUI_DEFAULT_ICONS_PLACE,\n path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src => {\n const oldIcon = src.replace(`Large`, ``).replace(`Outline`, ``);\n const newIcon = TUI_DEPRECATED_ICONS[oldIcon];\n\n return newIcon\n ? `${oldIcon}/(Large|Outline) is deprecated, use ${newIcon}/(Large|Outline) instead`\n : ``;\n },\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = tuiCreateTokenFromFactory<TuiSvgOptions>(() => ({\n iconsPlace: inject(TUI_ICONS_PLACE),\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n}));\n\nexport const TUI_SVG_SRC_INTERCEPTORS = new InjectionToken<TuiSvgInterceptorHandler>(\n `[TUI_SVG_SRC_INTERCEPTORS]`,\n);\n\nexport function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider {\n return {\n provide: TUI_SVG_SRC_INTERCEPTORS,\n useValue: interceptor,\n multi: true,\n };\n}\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => FactoryProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n deps: [\n [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],\n [new Optional(), TUI_ICONS_PLACE],\n [new Optional(), TUI_ICONS_PATH],\n [new Optional(), TUI_SVG_SRC_PROCESSOR],\n [new Optional(), TUI_SVG_CONTENT_PROCESSOR],\n ],\n useFactory: (\n fallback: TuiSvgOptions | null,\n iconsPlace: string | null,\n path: TuiSvgOptions['path'] | null,\n srcProcessor: TuiSvgOptions['srcProcessor'] | null,\n contentProcessor: TuiSvgOptions['contentProcessor'] | null,\n ): TuiSvgOptions => ({\n iconsPlace:\n options.iconsPlace ??\n fallback?.iconsPlace ??\n iconsPlace ??\n TUI_SVG_DEFAULT_OPTIONS.iconsPlace,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path ?? fallback?.path ?? path ?? TUI_SVG_DEFAULT_OPTIONS.path,\n deprecated:\n options.deprecated ??\n fallback?.deprecated ??\n TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor:\n options.srcProcessor ??\n fallback?.srcProcessor ??\n srcProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.srcProcessor,\n contentProcessor:\n options.contentProcessor ??\n fallback?.contentProcessor ??\n contentProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.contentProcessor,\n }),\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_BASE_HREF,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n TuiSafeHtml,\n TuiStaticRequestService,\n} from '@taiga-ui/cdk';\nimport {TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {\n TUI_SVG_OPTIONS,\n TUI_SVG_SRC_INTERCEPTORS,\n TuiSvgInterceptorHandler,\n TuiSvgOptions,\n} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: TuiSafeHtml = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SVG_SRC_INTERCEPTORS)\n private readonly srcInterceptors: readonly TuiSvgInterceptorHandler[] | null,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Inject(TUI_BASE_HREF) private readonly baseHref: string,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n set src(src: TuiSafeHtml | null | undefined) {\n const deprecated = this.options.deprecated(String(src));\n\n ngDevMode && tuiAssert.assert(!deprecated, deprecated);\n\n this.icon = (this.srcInterceptors ?? []).reduce(\n (newSrc, interceptor: TuiSvgInterceptorHandler) =>\n interceptor(newSrc, this.options),\n this.options.srcProcessor(src || ''),\n );\n\n this.src$.next();\n }\n\n get src(): TuiSafeHtml {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;\n }\n\n private get isUse(): boolean {\n return this.use.replace(TUI_CACHE_BUSTING_PAYLOAD, '').includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return (\n tuiIsString(this.icon) &&\n this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg')\n );\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, win} = this;\n\n return (\n isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n ngDevMode && tuiAssert.assert(false, message, icon);\n this.el.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiSvgOptions['path']): string {\n return iconsPath(name, this.baseHref);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: TuiSafeHtml): TuiSafeHtml {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TUI_DEFAULT_ICONS_PLACE","tuiIconsPathFactory","identity","tuiSvgLinearGradientProcessor","tuiCreateTokenFromFactory","inject","TUI_ICONS_PLACE","TUI_ICONS_PATH","TUI_SVG_SRC_PROCESSOR","TUI_SVG_CONTENT_PROCESSOR","InjectionToken","SkipSelf","Optional","tuiIsString","ReplaySubject","switchMap","of","startWith","tuiAssert","tuiGetDocumentOrShadowRoot","TUI_CACHE_BUSTING_PAYLOAD","tuiIsPresumedHTMLString","TUI_ICON_ERROR","SecurityContext","catchError","map","i0","DOCUMENT","WINDOW","TUI_SANITIZER","TuiSvgService","TuiStaticRequestService","DomSanitizer","ElementRef","TUI_BASE_HREF","i1","i2","tuiPure","Component","ChangeDetectionStrategy","Inject","Input","CommonModule","TuiLetModule","NgModule"],"mappings":"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"}
@@ -4,7 +4,7 @@ export interface TuiSvgOptions {
4
4
  readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
5
5
  readonly deprecated: TuiStringHandler<string>;
6
6
  readonly iconsPlace: string;
7
- readonly path: TuiStringHandler<string>;
7
+ readonly path: (name: string, baseHref?: string) => string;
8
8
  readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
9
9
  }
10
10
  export declare type TuiSvgInterceptorHandler = ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml) | ((src: TuiSafeHtml) => TuiSafeHtml);
@@ -15,10 +15,11 @@ export declare class TuiSvgComponent {
15
15
  private readonly staticRequestService;
16
16
  private readonly sanitizer;
17
17
  private readonly el;
18
+ private readonly baseHref;
18
19
  private readonly src$;
19
20
  private icon;
20
21
  readonly innerHTML$: Observable<SafeHtml>;
21
- constructor(doc: Document, win: Window, options: TuiSvgOptions, srcInterceptors: readonly TuiSvgInterceptorHandler[] | null, tuiSanitizer: Sanitizer | null, svgService: TuiSvgService, staticRequestService: TuiStaticRequestService, sanitizer: DomSanitizer, el: ElementRef<Element>);
22
+ constructor(doc: Document, win: Window, options: TuiSvgOptions, srcInterceptors: readonly TuiSvgInterceptorHandler[] | null, tuiSanitizer: Sanitizer | null, svgService: TuiSvgService, staticRequestService: TuiStaticRequestService, sanitizer: DomSanitizer, el: ElementRef<Element>, baseHref: string);
22
23
  set src(src: TuiSafeHtml | null | undefined);
23
24
  get src(): TuiSafeHtml;
24
25
  get use(): string;
@@ -36,6 +37,6 @@ export declare class TuiSvgComponent {
36
37
  private process;
37
38
  private sanitize;
38
39
  private getExternalIcon;
39
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgComponent, [null, null, null, { optional: true; }, { optional: true; }, null, null, null, null]>;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSvgComponent, [null, null, null, { optional: true; }, { optional: true; }, null, null, null, null, null]>;
40
41
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiSvgComponent, "tui-svg", never, { "src": "src"; }, {}, never, never>;
41
42
  }
@@ -57,4 +57,4 @@ export const tuiSvgOptionsProvider = options => ({
57
57
  });
58
58
  },
59
59
  });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL3N2Zy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFFUixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHlCQUF5QixFQUV6QixXQUFXLEVBR1gsNkJBQTZCLEdBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGVBQWUsRUFDZix5QkFBeUIsRUFDekIscUJBQXFCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQWV4RCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBa0I7SUFDbEQsVUFBVSxFQUFFLHVCQUF1QjtJQUNuQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsdUJBQXVCLENBQUM7SUFDbEQsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNkLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUMsT0FBTyxPQUFPO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsT0FBTyx1Q0FBdUMsT0FBTywwQkFBMEI7WUFDcEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDM0UsVUFBVSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDbkMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDNUIsVUFBVSxFQUFFLHVCQUF1QixDQUFDLFVBQVU7SUFDOUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUMzQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMseUJBQXlCLENBQUM7Q0FDdEQsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsNEJBQTRCLENBQy9CLENBQUM7QUFFRixNQUFNLFVBQVUscUJBQXFCLENBQUMsV0FBcUM7SUFDdkUsT0FBTztRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsUUFBUSxFQUFFLFdBQVc7UUFDckIsS0FBSyxFQUFFLElBQUk7S0FDZCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUlYLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixPQUFPLEVBQUUsZUFBZTtJQUN4QixJQUFJLEVBQUU7UUFDRixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUM7UUFDakQsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQztRQUNqQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsY0FBYyxDQUFDO1FBQ2hDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQztRQUN2QyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUseUJBQXlCLENBQUM7S0FDOUM7SUFDRCxVQUFVLEVBQUUsQ0FDUixRQUE4QixFQUM5QixVQUF5QixFQUN6QixJQUFrQyxFQUNsQyxZQUFrRCxFQUNsRCxnQkFBMEQsRUFDN0MsRUFBRTs7UUFBQyxPQUFBLENBQUM7WUFDakIsVUFBVSxFQUNOLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxVQUFVLG1DQUNsQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxtQ0FDcEIsVUFBVSxtQ0FDVix1QkFBdUIsQ0FBQyxVQUFVO1lBQ3RDLElBQUksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxtQ0FBSSxJQUFJLG1DQUFJLHVCQUF1QixDQUFDLElBQUk7WUFDNUUsVUFBVSxFQUNOLE1BQUEsTUFBQSxPQUFPLENBQUMsVUFBVSxtQ0FDbEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFVBQVUsbUNBQ3BCLHVCQUF1QixDQUFDLFVBQVU7WUFDdEMsWUFBWSxFQUNSLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxZQUFZLG1DQUNwQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsWUFBWSxtQ0FDdEIsWUFBWSxtQ0FDWix1QkFBdUIsQ0FBQyxZQUFZO1lBQ3hDLGdCQUFnQixFQUNaLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsbUNBQ3hCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxnQkFBZ0IsbUNBQzFCLGdCQUFnQixtQ0FDaEIsdUJBQXVCLENBQUMsZ0JBQWdCO1NBQy9DLENBQUMsQ0FBQTtLQUFBO0NBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBGYWN0b3J5UHJvdmlkZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIE9wdGlvbmFsLFxuICAgIFByb3ZpZGVyLFxuICAgIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSxcbiAgICBUdWlIYW5kbGVyLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIFR1aVNhZmVIdG1sLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgdHVpU3ZnTGluZWFyR3JhZGllbnRQcm9jZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9JQ09OU19QTEFDRSxcbiAgICBUVUlfSUNPTlNfUEFUSCxcbiAgICBUVUlfSUNPTlNfUExBQ0UsXG4gICAgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfU1ZHX1NSQ19QUk9DRVNTT1IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUljb25zUGF0aEZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9ERVBSRUNBVEVEX0lDT05TfSBmcm9tICcuL2RlcHJlY2F0ZWQtaWNvbnMnO1xuXG4vLyBUT0RPOiBSZWZhY3RvciBpdCBhbGwgaW4gNC4wIGFuZCByZW1vdmUgZGVwcmVjYXRlZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGhhY2tzXG5leHBvcnQgaW50ZXJmYWNlIFR1aVN2Z09wdGlvbnMge1xuICAgIHJlYWRvbmx5IGNvbnRlbnRQcm9jZXNzb3I6IFR1aUhhbmRsZXI8VHVpU2FmZUh0bWwsIFR1aVNhZmVIdG1sPjtcbiAgICByZWFkb25seSBkZXByZWNhdGVkOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz47XG4gICAgcmVhZG9ubHkgaWNvbnNQbGFjZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPjtcbiAgICByZWFkb25seSBzcmNQcm9jZXNzb3I6IFR1aUhhbmRsZXI8VHVpU2FmZUh0bWwsIFR1aVNhZmVIdG1sPjtcbn1cblxuZXhwb3J0IHR5cGUgVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyID1cbiAgICB8ICgoc3JjOiBUdWlTYWZlSHRtbCwgb3B0aW9uczogVHVpU3ZnT3B0aW9ucykgPT4gVHVpU2FmZUh0bWwpXG4gICAgfCAoKHNyYzogVHVpU2FmZUh0bWwpID0+IFR1aVNhZmVIdG1sKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9TVkdfREVGQVVMVF9PUFRJT05TOiBUdWlTdmdPcHRpb25zID0ge1xuICAgIGljb25zUGxhY2U6IFRVSV9ERUZBVUxUX0lDT05TX1BMQUNFLFxuICAgIHBhdGg6IHR1aUljb25zUGF0aEZhY3RvcnkoVFVJX0RFRkFVTFRfSUNPTlNfUExBQ0UpLFxuICAgIHNyY1Byb2Nlc3NvcjogaWRlbnRpdHksXG4gICAgY29udGVudFByb2Nlc3NvcjogdHVpU3ZnTGluZWFyR3JhZGllbnRQcm9jZXNzb3IsXG4gICAgZGVwcmVjYXRlZDogc3JjID0+IHtcbiAgICAgICAgY29uc3Qgb2xkSWNvbiA9IHNyYy5yZXBsYWNlKGBMYXJnZWAsIGBgKS5yZXBsYWNlKGBPdXRsaW5lYCwgYGApO1xuICAgICAgICBjb25zdCBuZXdJY29uID0gVFVJX0RFUFJFQ0FURURfSUNPTlNbb2xkSWNvbl07XG5cbiAgICAgICAgcmV0dXJuIG5ld0ljb25cbiAgICAgICAgICAgID8gYCR7b2xkSWNvbn0vKExhcmdlfE91dGxpbmUpIGlzIGRlcHJlY2F0ZWQsIHVzZSAke25ld0ljb259LyhMYXJnZXxPdXRsaW5lKSBpbnN0ZWFkYFxuICAgICAgICAgICAgOiBgYDtcbiAgICB9LFxufTtcblxuLyoqXG4gKiBTVkcgY29tcG9uZW50IG9wdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TVkdfT1BUSU9OUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8VHVpU3ZnT3B0aW9ucz4oKCkgPT4gKHtcbiAgICBpY29uc1BsYWNlOiBpbmplY3QoVFVJX0lDT05TX1BMQUNFKSxcbiAgICBwYXRoOiBpbmplY3QoVFVJX0lDT05TX1BBVEgpLFxuICAgIGRlcHJlY2F0ZWQ6IFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmRlcHJlY2F0ZWQsXG4gICAgc3JjUHJvY2Vzc29yOiBpbmplY3QoVFVJX1NWR19TUkNfUFJPQ0VTU09SKSxcbiAgICBjb250ZW50UHJvY2Vzc29yOiBpbmplY3QoVFVJX1NWR19DT05URU5UX1BST0NFU1NPUiksXG59KSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyPihcbiAgICBgW1RVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SU11gLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVN2Z1NyY0ludGVyY2VwdG9ycyhpbnRlcmNlcHRvcjogVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgdXNlVmFsdWU6IGludGVyY2VwdG9yLFxuICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgdHVpU3ZnT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxPbWl0PFR1aVN2Z09wdGlvbnMsICdwYXRoJz4+ICYge1xuICAgICAgICBwYXRoPzogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgc3RyaW5nO1xuICAgIH0sXG4pID0+IEZhY3RvcnlQcm92aWRlciA9IG9wdGlvbnMgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfU1ZHX09QVElPTlMsXG4gICAgZGVwczogW1xuICAgICAgICBbbmV3IFNraXBTZWxmKCksIG5ldyBPcHRpb25hbCgpLCBUVUlfU1ZHX09QVElPTlNdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9JQ09OU19QTEFDRV0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX0lDT05TX1BBVEhdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9TVkdfU1JDX1BST0NFU1NPUl0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUl0sXG4gICAgXSxcbiAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIGZhbGxiYWNrOiBUdWlTdmdPcHRpb25zIHwgbnVsbCxcbiAgICAgICAgaWNvbnNQbGFjZTogc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgcGF0aDogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgbnVsbCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOiBUdWlTdmdPcHRpb25zWydzcmNQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgICAgIGNvbnRlbnRQcm9jZXNzb3I6IFR1aVN2Z09wdGlvbnNbJ2NvbnRlbnRQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgKTogVHVpU3ZnT3B0aW9ucyA9PiAoe1xuICAgICAgICBpY29uc1BsYWNlOlxuICAgICAgICAgICAgb3B0aW9ucy5pY29uc1BsYWNlID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uaWNvbnNQbGFjZSA/P1xuICAgICAgICAgICAgaWNvbnNQbGFjZSA/P1xuICAgICAgICAgICAgVFVJX1NWR19ERUZBVUxUX09QVElPTlMuaWNvbnNQbGFjZSxcbiAgICAgICAgcGF0aDogdHVpSXNTdHJpbmcob3B0aW9ucy5wYXRoKVxuICAgICAgICAgICAgPyB0dWlJY29uc1BhdGhGYWN0b3J5KG9wdGlvbnMucGF0aClcbiAgICAgICAgICAgIDogb3B0aW9ucy5wYXRoID8/IGZhbGxiYWNrPy5wYXRoID8/IHBhdGggPz8gVFVJX1NWR19ERUZBVUxUX09QVElPTlMucGF0aCxcbiAgICAgICAgZGVwcmVjYXRlZDpcbiAgICAgICAgICAgIG9wdGlvbnMuZGVwcmVjYXRlZCA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/LmRlcHJlY2F0ZWQgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmRlcHJlY2F0ZWQsXG4gICAgICAgIHNyY1Byb2Nlc3NvcjpcbiAgICAgICAgICAgIG9wdGlvbnMuc3JjUHJvY2Vzc29yID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uc3JjUHJvY2Vzc29yID8/XG4gICAgICAgICAgICBzcmNQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLnNyY1Byb2Nlc3NvcixcbiAgICAgICAgY29udGVudFByb2Nlc3NvcjpcbiAgICAgICAgICAgIG9wdGlvbnMuY29udGVudFByb2Nlc3NvciA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/LmNvbnRlbnRQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIGNvbnRlbnRQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmNvbnRlbnRQcm9jZXNzb3IsXG4gICAgfSksXG59KTtcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL3N2Zy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFFUixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHlCQUF5QixFQUV6QixXQUFXLEVBR1gsNkJBQTZCLEdBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGVBQWUsRUFDZix5QkFBeUIsRUFDekIscUJBQXFCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQWV4RCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBa0I7SUFDbEQsVUFBVSxFQUFFLHVCQUF1QjtJQUNuQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsdUJBQXVCLENBQUM7SUFDbEQsWUFBWSxFQUFFLFFBQVE7SUFDdEIsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNkLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUMsT0FBTyxPQUFPO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsT0FBTyx1Q0FBdUMsT0FBTywwQkFBMEI7WUFDcEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNiLENBQUM7Q0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDM0UsVUFBVSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDbkMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDNUIsVUFBVSxFQUFFLHVCQUF1QixDQUFDLFVBQVU7SUFDOUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUMzQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMseUJBQXlCLENBQUM7Q0FDdEQsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsNEJBQTRCLENBQy9CLENBQUM7QUFFRixNQUFNLFVBQVUscUJBQXFCLENBQUMsV0FBcUM7SUFDdkUsT0FBTztRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsUUFBUSxFQUFFLFdBQVc7UUFDckIsS0FBSyxFQUFFLElBQUk7S0FDZCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUlYLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixPQUFPLEVBQUUsZUFBZTtJQUN4QixJQUFJLEVBQUU7UUFDRixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUM7UUFDakQsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQztRQUNqQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsY0FBYyxDQUFDO1FBQ2hDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQztRQUN2QyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUseUJBQXlCLENBQUM7S0FDOUM7SUFDRCxVQUFVLEVBQUUsQ0FDUixRQUE4QixFQUM5QixVQUF5QixFQUN6QixJQUFrQyxFQUNsQyxZQUFrRCxFQUNsRCxnQkFBMEQsRUFDN0MsRUFBRTs7UUFBQyxPQUFBLENBQUM7WUFDakIsVUFBVSxFQUNOLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxVQUFVLG1DQUNsQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxtQ0FDcEIsVUFBVSxtQ0FDVix1QkFBdUIsQ0FBQyxVQUFVO1lBQ3RDLElBQUksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxtQ0FBSSxJQUFJLG1DQUFJLHVCQUF1QixDQUFDLElBQUk7WUFDNUUsVUFBVSxFQUNOLE1BQUEsTUFBQSxPQUFPLENBQUMsVUFBVSxtQ0FDbEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFVBQVUsbUNBQ3BCLHVCQUF1QixDQUFDLFVBQVU7WUFDdEMsWUFBWSxFQUNSLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxZQUFZLG1DQUNwQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsWUFBWSxtQ0FDdEIsWUFBWSxtQ0FDWix1QkFBdUIsQ0FBQyxZQUFZO1lBQ3hDLGdCQUFnQixFQUNaLE1BQUEsTUFBQSxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsbUNBQ3hCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxnQkFBZ0IsbUNBQzFCLGdCQUFnQixtQ0FDaEIsdUJBQXVCLENBQUMsZ0JBQWdCO1NBQy9DLENBQUMsQ0FBQTtLQUFBO0NBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBGYWN0b3J5UHJvdmlkZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIE9wdGlvbmFsLFxuICAgIFByb3ZpZGVyLFxuICAgIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSxcbiAgICBUdWlIYW5kbGVyLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIFR1aVNhZmVIdG1sLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgdHVpU3ZnTGluZWFyR3JhZGllbnRQcm9jZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9JQ09OU19QTEFDRSxcbiAgICBUVUlfSUNPTlNfUEFUSCxcbiAgICBUVUlfSUNPTlNfUExBQ0UsXG4gICAgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfU1ZHX1NSQ19QUk9DRVNTT1IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUljb25zUGF0aEZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9ERVBSRUNBVEVEX0lDT05TfSBmcm9tICcuL2RlcHJlY2F0ZWQtaWNvbnMnO1xuXG4vLyBUT0RPOiBSZWZhY3RvciBpdCBhbGwgaW4gNC4wIGFuZCByZW1vdmUgZGVwcmVjYXRlZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGhhY2tzXG5leHBvcnQgaW50ZXJmYWNlIFR1aVN2Z09wdGlvbnMge1xuICAgIHJlYWRvbmx5IGNvbnRlbnRQcm9jZXNzb3I6IFR1aUhhbmRsZXI8VHVpU2FmZUh0bWwsIFR1aVNhZmVIdG1sPjtcbiAgICByZWFkb25seSBkZXByZWNhdGVkOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz47XG4gICAgcmVhZG9ubHkgaWNvbnNQbGFjZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBhdGg6IChuYW1lOiBzdHJpbmcsIGJhc2VIcmVmPzogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3JjUHJvY2Vzc29yOiBUdWlIYW5kbGVyPFR1aVNhZmVIdG1sLCBUdWlTYWZlSHRtbD47XG59XG5cbmV4cG9ydCB0eXBlIFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlciA9XG4gICAgfCAoKHNyYzogVHVpU2FmZUh0bWwsIG9wdGlvbnM6IFR1aVN2Z09wdGlvbnMpID0+IFR1aVNhZmVIdG1sKVxuICAgIHwgKChzcmM6IFR1aVNhZmVIdG1sKSA9PiBUdWlTYWZlSHRtbCk7XG5cbmV4cG9ydCBjb25zdCBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUzogVHVpU3ZnT3B0aW9ucyA9IHtcbiAgICBpY29uc1BsYWNlOiBUVUlfREVGQVVMVF9JQ09OU19QTEFDRSxcbiAgICBwYXRoOiB0dWlJY29uc1BhdGhGYWN0b3J5KFRVSV9ERUZBVUxUX0lDT05TX1BMQUNFKSxcbiAgICBzcmNQcm9jZXNzb3I6IGlkZW50aXR5LFxuICAgIGNvbnRlbnRQcm9jZXNzb3I6IHR1aVN2Z0xpbmVhckdyYWRpZW50UHJvY2Vzc29yLFxuICAgIGRlcHJlY2F0ZWQ6IHNyYyA9PiB7XG4gICAgICAgIGNvbnN0IG9sZEljb24gPSBzcmMucmVwbGFjZShgTGFyZ2VgLCBgYCkucmVwbGFjZShgT3V0bGluZWAsIGBgKTtcbiAgICAgICAgY29uc3QgbmV3SWNvbiA9IFRVSV9ERVBSRUNBVEVEX0lDT05TW29sZEljb25dO1xuXG4gICAgICAgIHJldHVybiBuZXdJY29uXG4gICAgICAgICAgICA/IGAke29sZEljb259LyhMYXJnZXxPdXRsaW5lKSBpcyBkZXByZWNhdGVkLCB1c2UgJHtuZXdJY29ufS8oTGFyZ2V8T3V0bGluZSkgaW5zdGVhZGBcbiAgICAgICAgICAgIDogYGA7XG4gICAgfSxcbn07XG5cbi8qKlxuICogU1ZHIGNvbXBvbmVudCBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfU1ZHX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PFR1aVN2Z09wdGlvbnM+KCgpID0+ICh7XG4gICAgaWNvbnNQbGFjZTogaW5qZWN0KFRVSV9JQ09OU19QTEFDRSksXG4gICAgcGF0aDogaW5qZWN0KFRVSV9JQ09OU19QQVRIKSxcbiAgICBkZXByZWNhdGVkOiBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUy5kZXByZWNhdGVkLFxuICAgIHNyY1Byb2Nlc3NvcjogaW5qZWN0KFRVSV9TVkdfU1JDX1BST0NFU1NPUiksXG4gICAgY29udGVudFByb2Nlc3NvcjogaW5qZWN0KFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1IpLFxufSkpO1xuXG5leHBvcnQgY29uc3QgVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTID0gbmV3IEluamVjdGlvblRva2VuPFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcj4oXG4gICAgYFtUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlNdYCxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlTdmdTcmNJbnRlcmNlcHRvcnMoaW50ZXJjZXB0b3I6IFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlMsXG4gICAgICAgIHVzZVZhbHVlOiBpbnRlcmNlcHRvcixcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aVN2Z09wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8T21pdDxUdWlTdmdPcHRpb25zLCAncGF0aCc+PiAmIHtcbiAgICAgICAgcGF0aD86IFR1aVN2Z09wdGlvbnNbJ3BhdGgnXSB8IHN0cmluZztcbiAgICB9LFxuKSA9PiBGYWN0b3J5UHJvdmlkZXIgPSBvcHRpb25zID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX1NWR19PUFRJT05TLFxuICAgIGRlcHM6IFtcbiAgICAgICAgW25ldyBTa2lwU2VsZigpLCBuZXcgT3B0aW9uYWwoKSwgVFVJX1NWR19PUFRJT05TXSxcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBUVUlfSUNPTlNfUExBQ0VdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9JQ09OU19QQVRIXSxcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBUVUlfU1ZHX1NSQ19QUk9DRVNTT1JdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1JdLFxuICAgIF0sXG4gICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBmYWxsYmFjazogVHVpU3ZnT3B0aW9ucyB8IG51bGwsXG4gICAgICAgIGljb25zUGxhY2U6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIHBhdGg6IFR1aVN2Z09wdGlvbnNbJ3BhdGgnXSB8IG51bGwsXG4gICAgICAgIHNyY1Byb2Nlc3NvcjogVHVpU3ZnT3B0aW9uc1snc3JjUHJvY2Vzc29yJ10gfCBudWxsLFxuICAgICAgICBjb250ZW50UHJvY2Vzc29yOiBUdWlTdmdPcHRpb25zWydjb250ZW50UHJvY2Vzc29yJ10gfCBudWxsLFxuICAgICk6IFR1aVN2Z09wdGlvbnMgPT4gKHtcbiAgICAgICAgaWNvbnNQbGFjZTpcbiAgICAgICAgICAgIG9wdGlvbnMuaWNvbnNQbGFjZSA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/Lmljb25zUGxhY2UgPz9cbiAgICAgICAgICAgIGljb25zUGxhY2UgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmljb25zUGxhY2UsXG4gICAgICAgIHBhdGg6IHR1aUlzU3RyaW5nKG9wdGlvbnMucGF0aClcbiAgICAgICAgICAgID8gdHVpSWNvbnNQYXRoRmFjdG9yeShvcHRpb25zLnBhdGgpXG4gICAgICAgICAgICA6IG9wdGlvbnMucGF0aCA/PyBmYWxsYmFjaz8ucGF0aCA/PyBwYXRoID8/IFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLnBhdGgsXG4gICAgICAgIGRlcHJlY2F0ZWQ6XG4gICAgICAgICAgICBvcHRpb25zLmRlcHJlY2F0ZWQgPz9cbiAgICAgICAgICAgIGZhbGxiYWNrPy5kZXByZWNhdGVkID8/XG4gICAgICAgICAgICBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUy5kZXByZWNhdGVkLFxuICAgICAgICBzcmNQcm9jZXNzb3I6XG4gICAgICAgICAgICBvcHRpb25zLnNyY1Byb2Nlc3NvciA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/LnNyY1Byb2Nlc3NvciA/P1xuICAgICAgICAgICAgc3JjUHJvY2Vzc29yID8/XG4gICAgICAgICAgICBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUy5zcmNQcm9jZXNzb3IsXG4gICAgICAgIGNvbnRlbnRQcm9jZXNzb3I6XG4gICAgICAgICAgICBvcHRpb25zLmNvbnRlbnRQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIGZhbGxiYWNrPy5jb250ZW50UHJvY2Vzc29yID8/XG4gICAgICAgICAgICBjb250ZW50UHJvY2Vzc29yID8/XG4gICAgICAgICAgICBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUy5jb250ZW50UHJvY2Vzc29yLFxuICAgIH0pLFxufSk7XG4iXX0=
@@ -3,7 +3,7 @@ import { DOCUMENT } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, Component, ElementRef, Inject, Input, Optional, SecurityContext, } from '@angular/core';
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { WINDOW } from '@ng-web-apis/common';
6
- import { tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsString, tuiPure, TuiStaticRequestService, } from '@taiga-ui/cdk';
6
+ import { TUI_BASE_HREF, tuiAssert, tuiGetDocumentOrShadowRoot, tuiIsString, tuiPure, TuiStaticRequestService, } from '@taiga-ui/cdk';
7
7
  import { TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR } from '@taiga-ui/core/constants';
8
8
  import { TuiSvgService } from '@taiga-ui/core/services';
9
9
  import { TUI_SANITIZER } from '@taiga-ui/core/tokens';
@@ -21,7 +21,7 @@ const MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';
21
21
  const FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
22
22
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
23
23
  export class TuiSvgComponent {
24
- constructor(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el) {
24
+ constructor(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el, baseHref) {
25
25
  this.doc = doc;
26
26
  this.win = win;
27
27
  this.options = options;
@@ -31,6 +31,7 @@ export class TuiSvgComponent {
31
31
  this.staticRequestService = staticRequestService;
32
32
  this.sanitizer = sanitizer;
33
33
  this.el = el;
34
+ this.baseHref = baseHref;
34
35
  this.src$ = new ReplaySubject(1);
35
36
  this.icon = '';
36
37
  this.innerHTML$ = this.src$.pipe(switchMap(() => {
@@ -102,7 +103,7 @@ export class TuiSvgComponent {
102
103
  this.el.nativeElement.dispatchEvent(event);
103
104
  }
104
105
  resolveName(name, iconsPath) {
105
- return iconsPath(name);
106
+ return iconsPath(name, this.baseHref);
106
107
  }
107
108
  getSafeHtml(src) {
108
109
  return this.isSrc ? this.sanitize(src) : this.process(src);
@@ -129,7 +130,7 @@ export class TuiSvgComponent {
129
130
  }), map(response => this.sanitize(response.replace('<svg', '<svg focusable="false"'))));
130
131
  }
131
132
  }
132
- TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
133
+ TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }, { token: TUI_BASE_HREF }], target: i0.ɵɵFactoryTarget.Component });
133
134
  TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-flex;vertical-align:middle;flex-shrink:0;align-items:center;justify-content:center;line-height:0;height:1.5rem;width:1.5rem;fill:transparent;stroke:transparent;font-size:1rem}.t-src{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.t-svg{overflow:visible}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
135
  __decorate([
135
136
  tuiPure
@@ -173,7 +174,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
173
174
  }] }, { type: i0.ElementRef, decorators: [{
174
175
  type: Inject,
175
176
  args: [ElementRef]
177
+ }] }, { type: undefined, decorators: [{
178
+ type: Inject,
179
+ args: [TUI_BASE_HREF]
176
180
  }] }]; }, propDecorators: { src: [{
177
181
  type: Input
178
182
  }], resolveName: [] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxPQUFPLEVBRVAsdUJBQXVCLEdBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVuRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRSxPQUFPLEVBQ0gsZUFBZSxFQUNmLHdCQUF3QixHQUczQixNQUFNLGVBQWUsQ0FB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TixDQUFDOzs2R0F0S1EsZUFBZSxrQkFPWixRQUFRLGFBQ1IsTUFBTSxhQUNOLGVBQWUsYUFFZix3QkFBd0IsNkJBR3hCLGFBQWEsNkJBRWIsYUFBYSxhQUNiLHVCQUF1QixhQUV2QixZQUFZLGFBQ1osVUFBVTtpR0FwQmIsZUFBZSx1RUNoRDVCLHNvQkFxQkE7QUR1Skk7SUFEQyxPQUFPO2tEQUdQOzRGQTlIUSxlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixXQUFXLEVBQUUscUJBQXFCO29CQUNsQyxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzBEQVErQyxRQUFROzBCQUEvQyxNQUFNOzJCQUFDLFFBQVE7OEJBQ3NCLE1BQU07MEJBQTNDLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUUvQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGFBQWE7OzBCQUVwQixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsWUFBWTs7MEJBQ25CLE1BQU07MkJBQUMsVUFBVTs0Q0FpQmxCLEdBQUc7c0JBRE4sS0FBSztnQkF3RkUsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTYW5pdGl6ZXIsXG4gICAgU2VjdXJpdHlDb250ZXh0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc1N0cmluZyxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVNhZmVIdG1sLFxuICAgIFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQ0FDSEVfQlVTVElOR19QQVlMT0FELCBUVUlfSUNPTl9FUlJPUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSWNvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpU3ZnU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfU0FOSVRJWkVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc1ByZXN1bWVkSFRNTFN0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9TVkdfT1BUSU9OUyxcbiAgICBUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlMsXG4gICAgVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyLFxuICAgIFR1aVN2Z09wdGlvbnMsXG59IGZyb20gJy4vc3ZnLW9wdGlvbnMnO1xuXG5jb25zdCBVTkRFRklORURfTkFNRURfSUNPTiA9ICdBdHRlbXB0ZWQgdG8gdXNlIHVuZGVmaW5lZCBuYW1lZCBpY29uJztcbmNvbnN0IE1JU1NJTkdfRVhURVJOQUxfSUNPTiA9ICdFeHRlcm5hbCBpY29uIGlzIG1pc3Npbmcgb24gdGhlIGdpdmVuIFVSTCc7XG5jb25zdCBGQUlMRURfRVhURVJOQUxfSUNPTiA9ICdGYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBTVkcnO1xuXG4vLyBUT0RPOiBDb25zaWRlciBtb3ZpbmcgdG8gQ0RLIGFsb25nIHdpdGggU3ZnU2VydmljZSBhbmQgU3ZnRGVmc0hvc3RDb21wb25lbnRcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXN2ZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N2Zy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTdmdDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3JjJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuICAgIHByaXZhdGUgaWNvbjogVHVpU2FmZUh0bWwgPSAnJztcblxuICAgIHJlYWRvbmx5IGlubmVySFRNTCQ6IE9ic2VydmFibGU8U2FmZUh0bWw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVFVJX1NWR19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVN2Z09wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNyY0ludGVyY2VwdG9yczogcmVhZG9ubHkgVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyW10gfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQU5JVElaRVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHVpU2FuaXRpemVyOiBTYW5pdGl6ZXIgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aVN2Z1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgc3ZnU2VydmljZTogVHVpU3ZnU2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlTdGF0aWNSZXF1ZXN0U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNSZXF1ZXN0U2VydmljZTogVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaW5uZXJIVE1MJCA9IHRoaXMuc3JjJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHVpSXNTdHJpbmcodGhpcy5pY29uKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0V4dGVybmFsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0RXh0ZXJuYWxJY29uKHRoaXMuaWNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogb2YodGhpcy5nZXRTYWZlSHRtbCh0aGlzLmljb24pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5pY29uKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzcmMoc3JjOiBUdWlTYWZlSHRtbCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZGVwcmVjYXRlZCA9IHRoaXMub3B0aW9ucy5kZXByZWNhdGVkKFN0cmluZyhzcmMpKTtcblxuICAgICAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydCghZGVwcmVjYXRlZCwgZGVwcmVjYXRlZCk7XG5cbiAgICAgICAgdGhpcy5pY29uID0gKHRoaXMuc3JjSW50ZXJjZXB0b3JzID8/IFtdKS5yZWR1Y2UoXG4gICAgICAgICAgICAobmV3U3JjLCBpbnRlcmNlcHRvcjogVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyKSA9PlxuICAgICAgICAgICAgICAgIGludGVyY2VwdG9yKG5ld1NyYywgdGhpcy5vcHRpb25zKSxcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5zcmNQcm9jZXNzb3Ioc3JjIHx8ICcnKSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNyYyQubmV4dCgpO1xuICAgIH1cblxuICAgIGdldCBzcmMoKTogVHVpU2FmZUh0bWwge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uO1xuICAgIH1cblxuICAgIGdldCB1c2UoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHR1aUlzU3RyaW5nKHRoaXMuaWNvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmljb24uaW5jbHVkZXMoJy5zdmcjJylcbiAgICAgICAgICAgICAgICA/IHRoaXMuaWNvblxuICAgICAgICAgICAgICAgIDogdGhpcy5yZXNvbHZlTmFtZSh0aGlzLmljb24sIHRoaXMub3B0aW9ucy5wYXRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBnZXQgaXNJbm5lckhUTUwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdHVpSXNTdHJpbmcodGhpcy5pY29uKSB8fFxuICAgICAgICAgICAgdGhpcy5pc1NyYyB8fFxuICAgICAgICAgICAgdGhpcy5pc0V4dGVybmFsIHx8XG4gICAgICAgICAgICAodGhpcy5pc05hbWUgJiYgdGhpcy5pc1NoYWRvd0RPTSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1NoYWRvd0RPTSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUdldERvY3VtZW50T3JTaGFkb3dSb290KHRoaXMuZWwubmF0aXZlRWxlbWVudCkgIT09IHRoaXMuZG9jO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVXNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2UucmVwbGFjZShUVUlfQ0FDSEVfQlVTVElOR19QQVlMT0FELCAnJykuaW5jbHVkZXMoJy5zdmcjJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNFeHRlcm5hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNVcmwgfHwgdGhpcy5pc0Nyb3NzRG9tYWluO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVXJsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNTdHJpbmcodGhpcy5pY29uKSAmJlxuICAgICAgICAgICAgdGhpcy5pY29uLnJlcGxhY2UoVFVJX0NBQ0hFX0JVU1RJTkdfUEFZTE9BRCwgJycpLmVuZHNXaXRoKCcuc3ZnJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1NyYygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzU3RyaW5nKHRoaXMuaWNvbikgJiYgdHVpSXNQcmVzdW1lZEhUTUxTdHJpbmcodGhpcy5pY29uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc05hbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc1VybCAmJiAhdGhpcy5pc1VzZSAmJiAhdGhpcy5pc1NyYztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0Nyb3NzRG9tYWluKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dXNlLCBpc1VzZSwgd2lufSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzVXNlICYmIHVzZS5zdGFydHNXaXRoKCdodHRwJykgJiYgISF3aW4ub3JpZ2luICYmICF1c2Uuc3RhcnRzV2l0aCh3aW4ub3JpZ2luKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uRXJyb3IobWVzc2FnZTogc3RyaW5nID0gTUlTU0lOR19FWFRFUk5BTF9JQ09OKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtpY29ufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50PFR1aUljb25FcnJvcj4oVFVJX0lDT05fRVJST1IsIHtcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgICAgIGljb246IGljb24gYXMgc3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoZmFsc2UsIG1lc3NhZ2UsIGljb24pO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHJlc29sdmVOYW1lKG5hbWU6IHN0cmluZywgaWNvbnNQYXRoOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaWNvbnNQYXRoKG5hbWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2FmZUh0bWwoc3JjOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU3JjID8gdGhpcy5zYW5pdGl6ZShzcmMpIDogdGhpcy5wcm9jZXNzKHNyYyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzKHNyYzogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgICBjb25zdCBpY29uID0gdGhpcy5zdmdTZXJ2aWNlLmdldE9yaWdpbmFsKHNyYyk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNOYW1lICYmICFpY29uICYmICEhc3JjKSB7XG4gICAgICAgICAgICB0aGlzLm9uRXJyb3IoVU5ERUZJTkVEX05BTUVEX0lDT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW1wdHkgbGluZSBmb3IgaW5uZXJIVE1MIHdoZW4gaWNvbiBpcyBzaG93biB0aHJvdWdoIFVTRSB0YWdcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzU2hhZG93RE9NIHx8ICF0aGlzLmlzTmFtZSA/ICcnIDogdGhpcy5zYW5pdGl6ZShpY29uIHx8ICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhbml0aXplKHNyYzogVHVpU2FmZUh0bWwpOiBUdWlTYWZlSHRtbCB7XG4gICAgICAgIHNyYyA9IHRoaXMub3B0aW9ucy5jb250ZW50UHJvY2Vzc29yKHNyYyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudHVpU2FuaXRpemVyICYmIHR1aUlzU3RyaW5nKHNyYylcbiAgICAgICAgICAgID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgICAgICAgICAgICB0aGlzLnR1aVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgc3JjKSB8fCAnJyxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBzcmM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFeHRlcm5hbEljb24oc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHNyYy5pbmNsdWRlcygnLnN2ZycpID8gc3JjIDogdGhpcy51c2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGljUmVxdWVzdFNlcnZpY2UucmVxdWVzdCh1cmwpLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoRkFJTEVEX0VYVEVSTkFMX0lDT04pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zYW5pdGl6ZShyZXNwb25zZS5yZXBsYWNlKCc8c3ZnJywgJzxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIicpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwiaW5uZXJIVE1MJCB8IGFzeW5jIGFzIGlubmVySFRNTFwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpc0lubmVySFRNTDsgZWxzZSB1c2VUZW1wbGF0ZVwiXG4gICAgICAgIGNsYXNzPVwidC1zcmNcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cImlubmVySFRNTFwiXG4gICAgPjwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjdXNlVGVtcGxhdGU+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXN2Z1wiXG4gICAgICAgICAgICAoZXJyb3IpPVwib25FcnJvcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cInVzZVwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxhQUFhLEVBQ2IsU0FBUyxFQUNULDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsT0FBTyxFQUVQLHVCQUF1QixHQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUUsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUNILGVBQWUsRUFDZix3QkFBd0IsR0FHM0IsTUFB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QyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQ3BFLENBQ0osQ0FBQztJQUNOLENBQUM7OzZHQXZLUSxlQUFlLGtCQU9aLFFBQVEsYUFDUixNQUFNLGFBQ04sZUFBZSxhQUVmLHdCQUF3Qiw2QkFHeEIsYUFBYSw2QkFFYixhQUFhLGFBQ2IsdUJBQXVCLGFBRXZCLFlBQVksYUFDWixVQUFVLGFBQ1YsYUFBYTtpR0FyQmhCLGVBQWUsdUVDaEQ1Qixzb0JBcUJBO0FEd0pJO0lBREMsT0FBTztrREFHUDs0RkEvSFEsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsV0FBVyxFQUFFLHFCQUFxQjtvQkFDbEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDswREFRK0MsUUFBUTswQkFBL0MsTUFBTTsyQkFBQyxRQUFROzhCQUNzQixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCOzswQkFFL0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLGFBQWE7NENBaUJyQixHQUFHO3NCQUROLEtBQUs7Z0JBd0ZFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2FuaXRpemVyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfQkFTRV9IUkVGLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCxcbiAgICB0dWlJc1N0cmluZyxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVNhZmVIdG1sLFxuICAgIFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0NBQ0hFX0JVU1RJTkdfUEFZTE9BRCwgVFVJX0lDT05fRVJST1J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUljb25FcnJvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVN2Z1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX1NBTklUSVpFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNQcmVzdW1lZEhUTUxTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfU1ZHX09QVElPTlMsXG4gICAgVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTLFxuICAgIFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcixcbiAgICBUdWlTdmdPcHRpb25zLFxufSBmcm9tICcuL3N2Zy1vcHRpb25zJztcblxuY29uc3QgVU5ERUZJTkVEX05BTUVEX0lDT04gPSAnQXR0ZW1wdGVkIHRvIHVzZSB1bmRlZmluZWQgbmFtZWQgaWNvbic7XG5jb25zdCBNSVNTSU5HX0VYVEVSTkFMX0lDT04gPSAnRXh0ZXJuYWwgaWNvbiBpcyBtaXNzaW5nIG9uIHRoZSBnaXZlbiBVUkwnO1xuY29uc3QgRkFJTEVEX0VYVEVSTkFMX0lDT04gPSAnRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgU1ZHJztcblxuLy8gVE9ETzogQ29uc2lkZXIgbW92aW5nIHRvIENESyBhbG9uZyB3aXRoIFN2Z1NlcnZpY2UgYW5kIFN2Z0RlZnNIb3N0Q29tcG9uZW50XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zdmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmcudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU3ZnQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNyYyQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgICBwcml2YXRlIGljb246IFR1aVNhZmVIdG1sID0gJyc7XG5cbiAgICByZWFkb25seSBpbm5lckhUTUwkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlTdmdPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzcmNJbnRlcmNlcHRvcnM6IHJlYWRvbmx5IFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcltdIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0FOSVRJWkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aVNhbml0aXplcjogU2FuaXRpemVyIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGljUmVxdWVzdFNlcnZpY2U6IFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9CQVNFX0hSRUYpIHByaXZhdGUgcmVhZG9ubHkgYmFzZUhyZWY6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5pbm5lckhUTUwkID0gdGhpcy5zcmMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0dWlJc1N0cmluZyh0aGlzLmljb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzRXh0ZXJuYWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5nZXRFeHRlcm5hbEljb24odGhpcy5pY29uKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBvZih0aGlzLmdldFNhZmVIdG1sKHRoaXMuaWNvbikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmljb24pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNyYyhzcmM6IFR1aVNhZmVIdG1sIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBkZXByZWNhdGVkID0gdGhpcy5vcHRpb25zLmRlcHJlY2F0ZWQoU3RyaW5nKHNyYykpO1xuXG4gICAgICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KCFkZXByZWNhdGVkLCBkZXByZWNhdGVkKTtcblxuICAgICAgICB0aGlzLmljb24gPSAodGhpcy5zcmNJbnRlcmNlcHRvcnMgPz8gW10pLnJlZHVjZShcbiAgICAgICAgICAgIChuZXdTcmMsIGludGVyY2VwdG9yOiBUdWlTdmdJbnRlcmNlcHRvckhhbmRsZXIpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0b3IobmV3U3JjLCB0aGlzLm9wdGlvbnMpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnNyY1Byb2Nlc3NvcihzcmMgfHwgJycpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc3JjJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0IHNyYygpOiBUdWlTYWZlSHRtbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb247XG4gICAgfVxuXG4gICAgZ2V0IHVzZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodHVpSXNTdHJpbmcodGhpcy5pY29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWNvbi5pbmNsdWRlcygnLnN2ZyMnKVxuICAgICAgICAgICAgICAgID8gdGhpcy5pY29uXG4gICAgICAgICAgICAgICAgOiB0aGlzLnJlc29sdmVOYW1lKHRoaXMuaWNvbiwgdGhpcy5vcHRpb25zLnBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGdldCBpc0lubmVySFRNTCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0dWlJc1N0cmluZyh0aGlzLmljb24pIHx8XG4gICAgICAgICAgICB0aGlzLmlzU3JjIHx8XG4gICAgICAgICAgICB0aGlzLmlzRXh0ZXJuYWwgfHxcbiAgICAgICAgICAgICh0aGlzLmlzTmFtZSAmJiB0aGlzLmlzU2hhZG93RE9NKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzU2hhZG93RE9NKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGhpcy5lbC5uYXRpdmVFbGVtZW50KSAhPT0gdGhpcy5kb2M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNVc2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZS5yZXBsYWNlKFRVSV9DQUNIRV9CVVNUSU5HX1BBWUxPQUQsICcnKS5pbmNsdWRlcygnLnN2ZyMnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0V4dGVybmFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1VybCB8fCB0aGlzLmlzQ3Jvc3NEb21haW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNVcmwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc1N0cmluZyh0aGlzLmljb24pICYmXG4gICAgICAgICAgICB0aGlzLmljb24ucmVwbGFjZShUVUlfQ0FDSEVfQlVTVElOR19QQVlMT0FELCAnJykuZW5kc1dpdGgoJy5zdmcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzU3JjKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNTdHJpbmcodGhpcy5pY29uKSAmJiB0dWlJc1ByZXN1bWVkSFRNTFN0cmluZyh0aGlzLmljb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmFtZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzVXJsICYmICF0aGlzLmlzVXNlICYmICF0aGlzLmlzU3JjO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQ3Jvc3NEb21haW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt1c2UsIGlzVXNlLCB3aW59ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNVc2UgJiYgdXNlLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJiAhIXdpbi5vcmlnaW4gJiYgIXVzZS5zdGFydHNXaXRoKHdpbi5vcmlnaW4pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25FcnJvcihtZXNzYWdlOiBzdHJpbmcgPSBNSVNTSU5HX0VYVEVSTkFMX0lDT04pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2ljb259ID0gdGhpcztcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQ8VHVpSWNvbkVycm9yPihUVUlfSUNPTl9FUlJPUiwge1xuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgaWNvbjogaWNvbiBhcyBzdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChmYWxzZSwgbWVzc2FnZSwgaWNvbik7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgcmVzb2x2ZU5hbWUobmFtZTogc3RyaW5nLCBpY29uc1BhdGg6IFR1aVN2Z09wdGlvbnNbJ3BhdGgnXSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpY29uc1BhdGgobmFtZSwgdGhpcy5iYXNlSHJlZik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYWZlSHRtbChzcmM6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTcmMgPyB0aGlzLnNhbml0aXplKHNyYykgOiB0aGlzLnByb2Nlc3Moc3JjKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3Moc3JjOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLnN2Z1NlcnZpY2UuZ2V0T3JpZ2luYWwoc3JjKTtcblxuICAgICAgICBpZiAodGhpcy5pc05hbWUgJiYgIWljb24gJiYgISFzcmMpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihVTkRFRklORURfTkFNRURfSUNPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBsaW5lIGZvciBpbm5lckhUTUwgd2hlbiBpY29uIGlzIHNob3duIHRocm91Z2ggVVNFIHRhZ1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNTaGFkb3dET00gfHwgIXRoaXMuaXNOYW1lID8gJycgOiB0aGlzLnNhbml0aXplKGljb24gfHwgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FuaXRpemUoc3JjOiBUdWlTYWZlSHRtbCk6IFR1aVNhZmVIdG1sIHtcbiAgICAgICAgc3JjID0gdGhpcy5vcHRpb25zLmNvbnRlbnRQcm9jZXNzb3Ioc3JjKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTYW5pdGl6ZXIgJiYgdHVpSXNTdHJpbmcoc3JjKVxuICAgICAgICAgICAgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBzcmMpIHx8ICcnLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHNyYztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4dGVybmFsSWNvbihzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8U2FmZUh0bWw+IHtcbiAgICAgICAgY29uc3QgdXJsID0gc3JjLmluY2x1ZGVzKCcuc3ZnJykgPyBzcmMgOiB0aGlzLnVzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0aWNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KHVybCkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihGQUlMRURfRVhURVJOQUxfSUNPTik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnNhbml0aXplKHJlc3BvbnNlLnJlcGxhY2UoJzxzdmcnLCAnPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJpbm5lckhUTUwkIHwgYXN5bmMgYXMgaW5uZXJIVE1MXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlzSW5uZXJIVE1MOyBlbHNlIHVzZVRlbXBsYXRlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNyY1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaW5uZXJIVE1MXCJcbiAgICA+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN1c2VUZW1wbGF0ZT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtc3ZnXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwidXNlXCI+PC91c2U+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -7,7 +7,7 @@ import * as i4 from '@angular/platform-browser';
7
7
  import { DomSanitizer } from '@angular/platform-browser';
8
8
  import { WINDOW } from '@ng-web-apis/common';
9
9
  import * as i1 from '@taiga-ui/cdk';
10
- import { tuiSvgLinearGradientProcessor, tuiCreateTokenFromFactory, tuiIsString, tuiAssert, tuiGetDocumentOrShadowRoot, TuiStaticRequestService, tuiPure, TuiLetModule } from '@taiga-ui/cdk';
10
+ import { tuiSvgLinearGradientProcessor, tuiCreateTokenFromFactory, tuiIsString, tuiAssert, tuiGetDocumentOrShadowRoot, TuiStaticRequestService, TUI_BASE_HREF, tuiPure, TuiLetModule } from '@taiga-ui/cdk';
11
11
  import { TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR } from '@taiga-ui/core/constants';
12
12
  import * as i3 from '@taiga-ui/core/services';
13
13
  import { TuiSvgService } from '@taiga-ui/core/services';
@@ -135,7 +135,7 @@ const MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';
135
135
  const FAILED_EXTERNAL_ICON = 'Failed to load external SVG';
136
136
  // TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent
137
137
  class TuiSvgComponent {
138
- constructor(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el) {
138
+ constructor(doc, win, options, srcInterceptors, tuiSanitizer, svgService, staticRequestService, sanitizer, el, baseHref) {
139
139
  this.doc = doc;
140
140
  this.win = win;
141
141
  this.options = options;
@@ -145,6 +145,7 @@ class TuiSvgComponent {
145
145
  this.staticRequestService = staticRequestService;
146
146
  this.sanitizer = sanitizer;
147
147
  this.el = el;
148
+ this.baseHref = baseHref;
148
149
  this.src$ = new ReplaySubject(1);
149
150
  this.icon = '';
150
151
  this.innerHTML$ = this.src$.pipe(switchMap(() => {
@@ -216,7 +217,7 @@ class TuiSvgComponent {
216
217
  this.el.nativeElement.dispatchEvent(event);
217
218
  }
218
219
  resolveName(name, iconsPath) {
219
- return iconsPath(name);
220
+ return iconsPath(name, this.baseHref);
220
221
  }
221
222
  getSafeHtml(src) {
222
223
  return this.isSrc ? this.sanitize(src) : this.process(src);
@@ -243,7 +244,7 @@ class TuiSvgComponent {
243
244
  }), map(response => this.sanitize(response.replace('<svg', '<svg focusable="false"'))));
244
245
  }
245
246
  }
246
- TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
247
+ TuiSvgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiSvgComponent, deps: [{ token: DOCUMENT }, { token: WINDOW }, { token: TUI_SVG_OPTIONS }, { token: TUI_SVG_SRC_INTERCEPTORS, optional: true }, { token: TUI_SANITIZER, optional: true }, { token: TuiSvgService }, { token: TuiStaticRequestService }, { token: DomSanitizer }, { token: ElementRef }, { token: TUI_BASE_HREF }], target: i0.ɵɵFactoryTarget.Component });
247
248
  TuiSvgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiSvgComponent, selector: "tui-svg", inputs: { src: "src" }, ngImport: i0, template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n", styles: [":host{display:inline-flex;vertical-align:middle;flex-shrink:0;align-items:center;justify-content:center;line-height:0;height:1.5rem;width:1.5rem;fill:transparent;stroke:transparent;font-size:1rem}.t-src{display:flex;width:100%;height:100%;align-items:center;justify-content:center}.t-svg{overflow:visible}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
248
249
  __decorate([
249
250
  tuiPure
@@ -287,6 +288,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
287
288
  }] }, { type: i0.ElementRef, decorators: [{
288
289
  type: Inject,
289
290
  args: [ElementRef]
291
+ }] }, { type: undefined, decorators: [{
292
+ type: Inject,
293
+ args: [TUI_BASE_HREF]
290
294
  }] }]; }, propDecorators: { src: [{
291
295
  type: Input
292
296
  }], resolveName: [] } });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-svg.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n} from '@angular/core';\nimport {\n tuiCreateTokenFromFactory,\n TuiHandler,\n tuiIsString,\n TuiSafeHtml,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_ICONS_PLACE,\n TUI_ICONS_PATH,\n TUI_ICONS_PLACE,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\n// TODO: Refactor it all in 4.0 and remove deprecated backward compatibility hacks\nexport interface TuiSvgOptions {\n readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n readonly deprecated: TuiStringHandler<string>;\n readonly iconsPlace: string;\n readonly path: TuiStringHandler<string>;\n readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n}\n\nexport type TuiSvgInterceptorHandler =\n | ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml)\n | ((src: TuiSafeHtml) => TuiSafeHtml);\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n iconsPlace: TUI_DEFAULT_ICONS_PLACE,\n path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src => {\n const oldIcon = src.replace(`Large`, ``).replace(`Outline`, ``);\n const newIcon = TUI_DEPRECATED_ICONS[oldIcon];\n\n return newIcon\n ? `${oldIcon}/(Large|Outline) is deprecated, use ${newIcon}/(Large|Outline) instead`\n : ``;\n },\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = tuiCreateTokenFromFactory<TuiSvgOptions>(() => ({\n iconsPlace: inject(TUI_ICONS_PLACE),\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n}));\n\nexport const TUI_SVG_SRC_INTERCEPTORS = new InjectionToken<TuiSvgInterceptorHandler>(\n `[TUI_SVG_SRC_INTERCEPTORS]`,\n);\n\nexport function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider {\n return {\n provide: TUI_SVG_SRC_INTERCEPTORS,\n useValue: interceptor,\n multi: true,\n };\n}\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => FactoryProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n deps: [\n [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],\n [new Optional(), TUI_ICONS_PLACE],\n [new Optional(), TUI_ICONS_PATH],\n [new Optional(), TUI_SVG_SRC_PROCESSOR],\n [new Optional(), TUI_SVG_CONTENT_PROCESSOR],\n ],\n useFactory: (\n fallback: TuiSvgOptions | null,\n iconsPlace: string | null,\n path: TuiSvgOptions['path'] | null,\n srcProcessor: TuiSvgOptions['srcProcessor'] | null,\n contentProcessor: TuiSvgOptions['contentProcessor'] | null,\n ): TuiSvgOptions => ({\n iconsPlace:\n options.iconsPlace ??\n fallback?.iconsPlace ??\n iconsPlace ??\n TUI_SVG_DEFAULT_OPTIONS.iconsPlace,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path ?? fallback?.path ?? path ?? TUI_SVG_DEFAULT_OPTIONS.path,\n deprecated:\n options.deprecated ??\n fallback?.deprecated ??\n TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor:\n options.srcProcessor ??\n fallback?.srcProcessor ??\n srcProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.srcProcessor,\n contentProcessor:\n options.contentProcessor ??\n fallback?.contentProcessor ??\n contentProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.contentProcessor,\n }),\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n TuiSafeHtml,\n TuiStaticRequestService,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {\n TUI_SVG_OPTIONS,\n TUI_SVG_SRC_INTERCEPTORS,\n TuiSvgInterceptorHandler,\n TuiSvgOptions,\n} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: TuiSafeHtml = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SVG_SRC_INTERCEPTORS)\n private readonly srcInterceptors: readonly TuiSvgInterceptorHandler[] | null,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n set src(src: TuiSafeHtml | null | undefined) {\n const deprecated = this.options.deprecated(String(src));\n\n ngDevMode && tuiAssert.assert(!deprecated, deprecated);\n\n this.icon = (this.srcInterceptors ?? []).reduce(\n (newSrc, interceptor: TuiSvgInterceptorHandler) =>\n interceptor(newSrc, this.options),\n this.options.srcProcessor(src || ''),\n );\n\n this.src$.next();\n }\n\n get src(): TuiSafeHtml {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;\n }\n\n private get isUse(): boolean {\n return this.use.replace(TUI_CACHE_BUSTING_PAYLOAD, '').includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return (\n tuiIsString(this.icon) &&\n this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg')\n );\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, win} = this;\n\n return (\n isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n ngDevMode && tuiAssert.assert(false, message, icon);\n this.el.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiStringHandler<string>): string {\n return iconsPath(name);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: TuiSafeHtml): TuiSafeHtml {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-svg.js","sources":["../../../projects/core/components/svg/deprecated-icons.ts","../../../projects/core/components/svg/svg-options.ts","../../../projects/core/components/svg/svg.component.ts","../../../projects/core/components/svg/svg.template.html","../../../projects/core/components/svg/svg.module.ts","../../../projects/core/components/svg/taiga-ui-core-components-svg.ts"],"sourcesContent":["export const TUI_DEPRECATED_ICONS: Record<string, string> = {\n tuiIconAttach: `tuiIconPaperclip`,\n tuiIconAttention: `tuiIconAlertCircle`,\n tuiIconBackCircle: `tuiIconArrowLeftCircle`,\n tuiIconCall: `tuiIconPhone`,\n tuiIconCallIn: `tuiIconPhoneIncoming`,\n tuiIconCallOut: `tuiIconPhoneOutgoing`,\n tuiIconCallTransfer: `tuiIconPhoneForwarded`,\n tuiIconCancel: `tuiIconXCircle`,\n tuiIconCancelCircle: `tuiIconSlash`,\n tuiIconCard: `tuiIconCreditCard`,\n tuiIconCards: `tuiIconCreditCard`,\n tuiIconChartBar: `tuiIconBarChart`,\n tuiIconChart: `tuiIconBarChart`,\n tuiIconCheckList: `tuiIconClipboard`,\n tuiIconCloseCircle: `tuiIconXCircle`,\n tuiIconCollapse: `tuiIconMinimize`,\n tuiIconComment: `tuiIconMessageSquare`,\n tuiIconCommentFw: `tuiIconMessageForward`,\n tuiIconCompany: `tuiIconBriefcase`,\n tuiIconDefaultDoc: `tuiIconFile`,\n tuiIconDesktop: `tuiIconMonitor`,\n tuiIconDesktopOff: `tuiIconMonitorOff`,\n tuiIconDislike: `tuiIconThumbsDown`,\n tuiIconDone: `tuiIconCheckCircle`,\n tuiIconDraft: `tuiIconEdit2`,\n tuiIconEyeOpen: `tuiIconEye`,\n tuiIconEyeClosed: `tuiIconEyeOff`,\n tuiIconExpand: `tuiIconMaximize`,\n tuiIconExternal: `tuiIconExternalLink`,\n tuiIconFrame: `tuiIconLayout`,\n tuiIconGeo: `tuiIconMapPin`,\n tuiIconHeartFilled: `tuiIconHeart`,\n tuiIconHide: `tuiIconEyeOff`,\n tuiIconImg: `tuiIconImage`,\n tuiIconInfoCircle: `tuiIconInfo`,\n tuiIconLike: `tuiIconThumbsUp`,\n tuiIconLockOpen: `tuiIconUnlock`,\n tuiIconMobile: `tuiIconSmartphone`,\n tuiIconMoreHor: `tuiIconMoreHorizontal`,\n tuiIconMoreVer: `tuiIconMoreVertical`,\n tuiIconMoreVert: `tuiIconMoreVertical`,\n tuiIconPicture: `tuiIconImage`,\n tuiIconPin: `tuiIconMapPin`,\n tuiIconPrint: `tuiIconPrinter`,\n tuiIconRefresh: `tuiIconRefreshCw`,\n tuiIconRemove: `tuiIconX`,\n tuiIconShow: `tuiIconEye`,\n tuiIconSound: `tuiIconVolume`,\n tuiIconSoundOff: `tuiIconVolumeX`,\n tuiIconStarFilled: `tuiIconStar`,\n tuiIconStop: `tuiIconSquare`,\n tuiIconStructure: `tuiIconGrid`,\n tuiIconTime: `tuiIconClock`,\n tuiIconTooltip: `tuiIconHelpCircle`,\n tuiIconViewList: `tuiIconList`,\n tuiIconWifiOn: `tuiIconWifi`,\n};\n","import {\n FactoryProvider,\n inject,\n InjectionToken,\n Optional,\n Provider,\n SkipSelf,\n} from '@angular/core';\nimport {\n tuiCreateTokenFromFactory,\n TuiHandler,\n tuiIsString,\n TuiSafeHtml,\n TuiStringHandler,\n tuiSvgLinearGradientProcessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DEFAULT_ICONS_PLACE,\n TUI_ICONS_PATH,\n TUI_ICONS_PLACE,\n TUI_SVG_CONTENT_PROCESSOR,\n TUI_SVG_SRC_PROCESSOR,\n} from '@taiga-ui/core/tokens';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\nimport {identity} from 'rxjs';\n\nimport {TUI_DEPRECATED_ICONS} from './deprecated-icons';\n\n// TODO: Refactor it all in 4.0 and remove deprecated backward compatibility hacks\nexport interface TuiSvgOptions {\n readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n readonly deprecated: TuiStringHandler<string>;\n readonly iconsPlace: string;\n readonly path: (name: string, baseHref?: string) => string;\n readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;\n}\n\nexport type TuiSvgInterceptorHandler =\n | ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml)\n | ((src: TuiSafeHtml) => TuiSafeHtml);\n\nexport const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions = {\n iconsPlace: TUI_DEFAULT_ICONS_PLACE,\n path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),\n srcProcessor: identity,\n contentProcessor: tuiSvgLinearGradientProcessor,\n deprecated: src => {\n const oldIcon = src.replace(`Large`, ``).replace(`Outline`, ``);\n const newIcon = TUI_DEPRECATED_ICONS[oldIcon];\n\n return newIcon\n ? `${oldIcon}/(Large|Outline) is deprecated, use ${newIcon}/(Large|Outline) instead`\n : ``;\n },\n};\n\n/**\n * SVG component options\n */\nexport const TUI_SVG_OPTIONS = tuiCreateTokenFromFactory<TuiSvgOptions>(() => ({\n iconsPlace: inject(TUI_ICONS_PLACE),\n path: inject(TUI_ICONS_PATH),\n deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),\n contentProcessor: inject(TUI_SVG_CONTENT_PROCESSOR),\n}));\n\nexport const TUI_SVG_SRC_INTERCEPTORS = new InjectionToken<TuiSvgInterceptorHandler>(\n `[TUI_SVG_SRC_INTERCEPTORS]`,\n);\n\nexport function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider {\n return {\n provide: TUI_SVG_SRC_INTERCEPTORS,\n useValue: interceptor,\n multi: true,\n };\n}\n\nexport const tuiSvgOptionsProvider: (\n options: Partial<Omit<TuiSvgOptions, 'path'>> & {\n path?: TuiSvgOptions['path'] | string;\n },\n) => FactoryProvider = options => ({\n provide: TUI_SVG_OPTIONS,\n deps: [\n [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],\n [new Optional(), TUI_ICONS_PLACE],\n [new Optional(), TUI_ICONS_PATH],\n [new Optional(), TUI_SVG_SRC_PROCESSOR],\n [new Optional(), TUI_SVG_CONTENT_PROCESSOR],\n ],\n useFactory: (\n fallback: TuiSvgOptions | null,\n iconsPlace: string | null,\n path: TuiSvgOptions['path'] | null,\n srcProcessor: TuiSvgOptions['srcProcessor'] | null,\n contentProcessor: TuiSvgOptions['contentProcessor'] | null,\n ): TuiSvgOptions => ({\n iconsPlace:\n options.iconsPlace ??\n fallback?.iconsPlace ??\n iconsPlace ??\n TUI_SVG_DEFAULT_OPTIONS.iconsPlace,\n path: tuiIsString(options.path)\n ? tuiIconsPathFactory(options.path)\n : options.path ?? fallback?.path ?? path ?? TUI_SVG_DEFAULT_OPTIONS.path,\n deprecated:\n options.deprecated ??\n fallback?.deprecated ??\n TUI_SVG_DEFAULT_OPTIONS.deprecated,\n srcProcessor:\n options.srcProcessor ??\n fallback?.srcProcessor ??\n srcProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.srcProcessor,\n contentProcessor:\n options.contentProcessor ??\n fallback?.contentProcessor ??\n contentProcessor ??\n TUI_SVG_DEFAULT_OPTIONS.contentProcessor,\n }),\n});\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Sanitizer,\n SecurityContext,\n} from '@angular/core';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_BASE_HREF,\n tuiAssert,\n tuiGetDocumentOrShadowRoot,\n tuiIsString,\n tuiPure,\n TuiSafeHtml,\n TuiStaticRequestService,\n} from '@taiga-ui/cdk';\nimport {TUI_CACHE_BUSTING_PAYLOAD, TUI_ICON_ERROR} from '@taiga-ui/core/constants';\nimport {TuiIconError} from '@taiga-ui/core/interfaces';\nimport {TuiSvgService} from '@taiga-ui/core/services';\nimport {TUI_SANITIZER} from '@taiga-ui/core/tokens';\nimport {tuiIsPresumedHTMLString} from '@taiga-ui/core/utils/miscellaneous';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {catchError, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {\n TUI_SVG_OPTIONS,\n TUI_SVG_SRC_INTERCEPTORS,\n TuiSvgInterceptorHandler,\n TuiSvgOptions,\n} from './svg-options';\n\nconst UNDEFINED_NAMED_ICON = 'Attempted to use undefined named icon';\nconst MISSING_EXTERNAL_ICON = 'External icon is missing on the given URL';\nconst FAILED_EXTERNAL_ICON = 'Failed to load external SVG';\n\n// TODO: Consider moving to CDK along with SvgService and SvgDefsHostComponent\n@Component({\n selector: 'tui-svg',\n templateUrl: './svg.template.html',\n styleUrls: ['./svg.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSvgComponent {\n private readonly src$ = new ReplaySubject<void>(1);\n private icon: TuiSafeHtml = '';\n\n readonly innerHTML$: Observable<SafeHtml>;\n\n constructor(\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_SVG_OPTIONS) private readonly options: TuiSvgOptions,\n @Optional()\n @Inject(TUI_SVG_SRC_INTERCEPTORS)\n private readonly srcInterceptors: readonly TuiSvgInterceptorHandler[] | null,\n @Optional()\n @Inject(TUI_SANITIZER)\n private readonly tuiSanitizer: Sanitizer | null,\n @Inject(TuiSvgService) private readonly svgService: TuiSvgService,\n @Inject(TuiStaticRequestService)\n private readonly staticRequestService: TuiStaticRequestService,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Inject(TUI_BASE_HREF) private readonly baseHref: string,\n ) {\n this.innerHTML$ = this.src$.pipe(\n switchMap(() => {\n if (tuiIsString(this.icon)) {\n return this.isExternal\n ? this.getExternalIcon(this.icon)\n : of(this.getSafeHtml(this.icon));\n }\n\n return of(this.icon);\n }),\n startWith(''),\n );\n }\n\n @Input()\n set src(src: TuiSafeHtml | null | undefined) {\n const deprecated = this.options.deprecated(String(src));\n\n ngDevMode && tuiAssert.assert(!deprecated, deprecated);\n\n this.icon = (this.srcInterceptors ?? []).reduce(\n (newSrc, interceptor: TuiSvgInterceptorHandler) =>\n interceptor(newSrc, this.options),\n this.options.srcProcessor(src || ''),\n );\n\n this.src$.next();\n }\n\n get src(): TuiSafeHtml {\n return this.icon;\n }\n\n get use(): string {\n if (tuiIsString(this.icon)) {\n return this.icon.includes('.svg#')\n ? this.icon\n : this.resolveName(this.icon, this.options.path);\n }\n\n return '';\n }\n\n get isInnerHTML(): boolean {\n return (\n !tuiIsString(this.icon) ||\n this.isSrc ||\n this.isExternal ||\n (this.isName && this.isShadowDOM)\n );\n }\n\n private get isShadowDOM(): boolean {\n return tuiGetDocumentOrShadowRoot(this.el.nativeElement) !== this.doc;\n }\n\n private get isUse(): boolean {\n return this.use.replace(TUI_CACHE_BUSTING_PAYLOAD, '').includes('.svg#');\n }\n\n private get isExternal(): boolean {\n return this.isUrl || this.isCrossDomain;\n }\n\n private get isUrl(): boolean {\n return (\n tuiIsString(this.icon) &&\n this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg')\n );\n }\n\n private get isSrc(): boolean {\n return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);\n }\n\n private get isName(): boolean {\n return !this.isUrl && !this.isUse && !this.isSrc;\n }\n\n private get isCrossDomain(): boolean {\n const {use, isUse, win} = this;\n\n return (\n isUse && use.startsWith('http') && !!win.origin && !use.startsWith(win.origin)\n );\n }\n\n onError(message: string = MISSING_EXTERNAL_ICON): void {\n const {icon} = this;\n const event = new CustomEvent<TuiIconError>(TUI_ICON_ERROR, {\n bubbles: true,\n detail: {\n message,\n icon: icon as string,\n },\n });\n\n ngDevMode && tuiAssert.assert(false, message, icon);\n this.el.nativeElement.dispatchEvent(event);\n }\n\n @tuiPure\n private resolveName(name: string, iconsPath: TuiSvgOptions['path']): string {\n return iconsPath(name, this.baseHref);\n }\n\n private getSafeHtml(src: string): SafeHtml {\n return this.isSrc ? this.sanitize(src) : this.process(src);\n }\n\n private process(src: string): SafeHtml {\n const icon = this.svgService.getOriginal(src);\n\n if (this.isName && !icon && !!src) {\n this.onError(UNDEFINED_NAMED_ICON);\n }\n\n // Empty line for innerHTML when icon is shown through USE tag\n return !this.isShadowDOM || !this.isName ? '' : this.sanitize(icon || '');\n }\n\n private sanitize(src: TuiSafeHtml): TuiSafeHtml {\n src = this.options.contentProcessor(src);\n\n return this.tuiSanitizer && tuiIsString(src)\n ? this.sanitizer.bypassSecurityTrustHtml(\n this.tuiSanitizer.sanitize(SecurityContext.HTML, src) || '',\n )\n : src;\n }\n\n private getExternalIcon(src: string): Observable<SafeHtml> {\n const url = src.includes('.svg') ? src : this.use;\n\n return this.staticRequestService.request(url).pipe(\n catchError(() => {\n this.onError(FAILED_EXTERNAL_ICON);\n\n return of('');\n }),\n map(response =>\n this.sanitize(response.replace('<svg', '<svg focusable=\"false\"')),\n ),\n );\n }\n}\n","<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n focusable=\"false\"\n height=\"100%\"\n version=\"1.1\"\n width=\"100%\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-svg\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiSvgComponent} from './svg.component';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [TuiSvgComponent],\n exports: [TuiSvgComponent],\n})\nexport class TuiSvgModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "3.46.0-canary.3d0ca4e",
3
+ "version": "3.46.0-canary.728f07e",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",