@taiga-ui/core 3.30.0 → 3.31.0

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.
@@ -1,18 +1,20 @@
1
1
  import { FactoryProvider, InjectionToken, Provider } from '@angular/core';
2
2
  import { TuiHandler, TuiSafeHtml, TuiStringHandler } from '@taiga-ui/cdk';
3
3
  export interface TuiSvgOptions {
4
+ readonly iconsPlace: string;
4
5
  readonly path: TuiStringHandler<string>;
5
6
  readonly deprecated: TuiStringHandler<string>;
6
7
  readonly srcProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
7
8
  readonly contentProcessor: TuiHandler<TuiSafeHtml, TuiSafeHtml>;
8
9
  }
10
+ export declare type TuiSvgInterceptorHandler = ((src: TuiSafeHtml, options: TuiSvgOptions) => TuiSafeHtml) | ((src: TuiSafeHtml) => TuiSafeHtml);
9
11
  export declare const TUI_SVG_DEFAULT_OPTIONS: TuiSvgOptions;
10
12
  /**
11
13
  * SVG component options
12
14
  */
13
15
  export declare const TUI_SVG_OPTIONS: InjectionToken<TuiSvgOptions>;
14
- export declare const TUI_SVG_SRC_INTERCEPTORS: InjectionToken<TuiHandler<TuiSafeHtml, TuiSafeHtml>>;
15
- export declare function tuiSvgSrcInterceptors(interceptor: TuiHandler<TuiSafeHtml, TuiSafeHtml>): Provider;
16
+ export declare const TUI_SVG_SRC_INTERCEPTORS: InjectionToken<TuiSvgInterceptorHandler>;
17
+ export declare function tuiSvgSrcInterceptors(interceptor: TuiSvgInterceptorHandler): Provider;
16
18
  export declare const tuiSvgOptionsProvider: (options: Partial<Omit<TuiSvgOptions, 'path'>> & {
17
19
  path?: TuiSvgOptions['path'] | string;
18
20
  }) => FactoryProvider;
@@ -1,9 +1,9 @@
1
1
  import { ElementRef, Sanitizer } from '@angular/core';
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
- import { TuiHandler, TuiSafeHtml, TuiStaticRequestService } from '@taiga-ui/cdk';
3
+ import { TuiSafeHtml, TuiStaticRequestService } from '@taiga-ui/cdk';
4
4
  import { TuiSvgService } from '@taiga-ui/core/services';
5
5
  import { Observable } from 'rxjs';
6
- import { TuiSvgOptions } from './svg-options';
6
+ import { TuiSvgInterceptorHandler, TuiSvgOptions } from './svg-options';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class TuiSvgComponent {
9
9
  private readonly doc;
@@ -18,7 +18,7 @@ export declare class TuiSvgComponent {
18
18
  private readonly src$;
19
19
  private icon;
20
20
  readonly innerHTML$: Observable<SafeHtml>;
21
- constructor(doc: Document, win: Window, options: TuiSvgOptions, srcInterceptors: Array<TuiHandler<TuiSafeHtml, TuiSafeHtml>> | null, tuiSanitizer: Sanitizer | null, svgService: TuiSvgService, staticRequestService: TuiStaticRequestService, sanitizer: DomSanitizer, el: ElementRef<Element>);
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
22
  set src(src: TuiSafeHtml);
23
23
  get src(): TuiSafeHtml;
24
24
  get use(): string;
@@ -1 +1 @@
1
- export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.30.0";
1
+ export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.31.0";
@@ -1,6 +1,6 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation, } from '@angular/core';
3
- import { TUI_DIALOGS, TUI_IS_MOBILE, TUI_VERSION } from '@taiga-ui/cdk';
3
+ import { TUI_DIALOGS, TUI_IS_ANDROID, TUI_IS_IOS, TUI_IS_MOBILE, TUI_VERSION, } from '@taiga-ui/cdk';
4
4
  import { TUI_IS_MOBILE_RES_PROVIDER } from '@taiga-ui/core/providers';
5
5
  import { TUI_ANIMATIONS_DURATION, TUI_IS_MOBILE_RES, TUI_THEME, } from '@taiga-ui/core/tokens';
6
6
  import { combineLatest, of } from 'rxjs';
@@ -13,19 +13,21 @@ import * as i4 from "@taiga-ui/core/components/hints-host";
13
13
  import * as i5 from "@angular/common";
14
14
  import * as i6 from "rxjs";
15
15
  export class TuiRootComponent {
16
- constructor(duration, dialogs, isMobile, isMobileRes$, { body }, theme) {
16
+ constructor(duration, dialogs, isMobile, isMobileRes$, isIOS, isAndroid, { body }, theme) {
17
17
  this.duration = duration;
18
18
  this.dialogs = dialogs;
19
19
  this.isMobile = isMobile;
20
20
  this.isMobileRes$ = isMobileRes$;
21
+ this.isIOS = isIOS;
22
+ this.isAndroid = isAndroid;
21
23
  this.scrollbars$ = this.dialogs.length && !this.isMobile
22
24
  ? combineLatest([...this.dialogs]).pipe(map(dialogs => !dialogs.some(({ length }) => length)))
23
25
  : of(!this.isMobile);
24
26
  body.setAttribute('data-tui-theme', theme.toLowerCase());
25
27
  }
26
28
  }
27
- TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
28
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.30.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
29
+ TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
30
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.31.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
29
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
30
32
  type: Component,
31
33
  args: [{
@@ -40,6 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
40
42
  host: {
41
43
  'data-tui-version': TUI_VERSION,
42
44
  '[style.--tui-duration.ms]': 'duration',
45
+ '[class._ios]': 'isIOS',
46
+ '[class._android]': 'isAndroid',
43
47
  '($.class._mobile)': 'isMobileRes$',
44
48
  },
45
49
  }]
@@ -55,6 +59,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
55
59
  }] }, { type: i6.Observable, decorators: [{
56
60
  type: Inject,
57
61
  args: [TUI_IS_MOBILE_RES]
62
+ }] }, { type: undefined, decorators: [{
63
+ type: Inject,
64
+ args: [TUI_IS_IOS]
65
+ }] }, { type: undefined, decorators: [{
66
+ type: Inject,
67
+ args: [TUI_IS_ANDROID]
58
68
  }] }, { type: Document, decorators: [{
59
69
  type: Inject,
60
70
  args: [DOCUMENT]
@@ -62,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
62
72
  type: Inject,
63
73
  args: [TUI_THEME]
64
74
  }] }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9yb290L3Jvb3QudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFDLGFBQWEsRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWlCbkMsTUFBTSxPQUFPLGdCQUFnQjtJQVF6QixZQUM4QyxRQUFnQixFQUVqRCxPQUFzRCxFQUN2QixRQUFpQixFQUNyQixZQUFpQyxFQUNuRCxFQUFDLElBQUksRUFBVyxFQUNmLEtBQWE7UUFOVSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRWpELFlBQU8sR0FBUCxPQUFPLENBQStDO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBWmhFLGdCQUFXLEdBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDakMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RDtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFXekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs4R0FsQlEsZ0JBQWdCLGtCQVNiLHVCQUF1QixhQUN2QixXQUFXLGFBRVgsYUFBYSxhQUNiLGlCQUFpQixhQUNqQixRQUFRLGFBQ1IsU0FBUztrR0FmWixnQkFBZ0Isb01BUmQsQ0FBQywwQkFBMEIsQ0FBQywwQkN4QjNDLGdxQkFrQkE7NEZEY2EsZ0JBQWdCO2tCQWY1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixXQUFXLEVBQUUsc0JBQXNCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDaEMsbURBQW1EO29CQUNuRCxxRkFBcUY7b0JBQ3JGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO29CQUNoRCxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDRixrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQiwyQkFBMkIsRUFBRSxVQUFVO3dCQUN2QyxtQkFBbUIsRUFBRSxjQUFjO3FCQUN0QztpQkFDSjs7MEJBVVEsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUM5QixNQUFNOzJCQUFDLFdBQVc7OzBCQUVsQixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGlCQUFpQjs4QkFDQyxRQUFROzBCQUFqQyxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRElBTE9HUywgVFVJX0lTX01PQklMRSwgVFVJX1ZFUlNJT059IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFX1JFU19QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTlNfRFVSQVRJT04sXG4gICAgVFVJX0lTX01PQklMRV9SRVMsXG4gICAgVFVJX1RIRU1FLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcm9vdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yb290LnN0eWxlLmxlc3MnXSxcbiAgICAvLyBTbyB0aGF0IHdlIGRvIG5vdCBmb3JjZSBPblB1c2ggb24gY3VzdG9tIGRpYWxvZ3NcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIHByb3ZpZGVyczogW1RVSV9JU19NT0JJTEVfUkVTX1BST1ZJREVSXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2RhdGEtdHVpLXZlcnNpb24nOiBUVUlfVkVSU0lPTixcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1kdXJhdGlvbi5tc10nOiAnZHVyYXRpb24nLFxuICAgICAgICAnKCQuY2xhc3MuX21vYmlsZSknOiAnaXNNb2JpbGVSZXMkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSb290Q29tcG9uZW50IHtcbiAgICByZWFkb25seSBzY3JvbGxiYXJzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9XG4gICAgICAgIHRoaXMuZGlhbG9ncy5sZW5ndGggJiYgIXRoaXMuaXNNb2JpbGVcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChbLi4udGhpcy5kaWFsb2dzXSkucGlwZShcbiAgICAgICAgICAgICAgICAgIG1hcChkaWFsb2dzID0+ICFkaWFsb2dzLnNvbWUoKHtsZW5ndGh9KSA9PiBsZW5ndGgpKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZighdGhpcy5pc01vYmlsZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OU19EVVJBVElPTikgcmVhZG9ubHkgZHVyYXRpb246IG51bWJlcixcbiAgICAgICAgQEluamVjdChUVUlfRElBTE9HUylcbiAgICAgICAgcmVhZG9ubHkgZGlhbG9nczogUmVhZG9ubHlBcnJheTxPYnNlcnZhYmxlPHJlYWRvbmx5IHVua25vd25bXT4+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRV9SRVMpIHJlYWRvbmx5IGlzTW9iaWxlUmVzJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkge2JvZHl9OiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEhFTUUpIHRoZW1lOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIGJvZHkuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS10aGVtZScsIHRoZW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbn1cbiIsIjx0dWktc2Nyb2xsLWNvbnRyb2xzXG4gICAgKm5nSWY9XCJzY3JvbGxiYXJzJCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cInQtcm9vdC1zY3JvbGxiYXJcIlxuPjwvdHVpLXNjcm9sbC1jb250cm9scz5cbjx0dWktc3ZnLWRlZnMtaG9zdD48L3R1aS1zdmctZGVmcy1ob3N0PlxuPHR1aS1kcm9wZG93bi1ob3N0PlxuICAgIDxkaXYgY2xhc3M9XCJ0LXJvb3QtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPHR1aS1kaWFsb2ctaG9zdD48L3R1aS1kaWFsb2ctaG9zdD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRGlhbG9nc1wiPjwvbmctY29udGVudD5cbiAgICA8dHVpLWFsZXJ0LWhvc3Q+PC90dWktYWxlcnQtaG9zdD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQWxlcnRzXCI+PC9uZy1jb250ZW50PlxuPC90dWktZHJvcGRvd24taG9zdD5cbjxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJQb3J0YWxzXCI+PC9uZy1jb250ZW50PlxuPHR1aS1oaW50cy1ob3N0PjwvdHVpLWhpbnRzLWhvc3Q+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVySGludHNcIj48L25nLWNvbnRlbnQ+XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9yb290L3Jvb3QudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEdBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsYUFBYSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBbUJuQyxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLFlBQzhDLFFBQWdCLEVBRWpELE9BQXNELEVBQ3ZCLFFBQWlCLEVBQ3JCLFlBQWlDLEVBQ3hDLEtBQWMsRUFDVixTQUFrQixFQUNqQyxFQUFDLElBQUksRUFBVyxFQUNmLEtBQWE7UUFSVSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRWpELFlBQU8sR0FBUCxPQUFPLENBQStDO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ3hDLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUFTO1FBZDlDLGdCQUFXLEdBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDakMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN0RDtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFhekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs4R0FwQlEsZ0JBQWdCLGtCQVNiLHVCQUF1QixhQUN2QixXQUFXLGFBRVgsYUFBYSxhQUNiLGlCQUFpQixhQUNqQixVQUFVLGFBQ1YsY0FBYyxhQUNkLFFBQVEsYUFDUixTQUFTO2tHQWpCWixnQkFBZ0IsMFBBVmQsQ0FBQywwQkFBMEIsQ0FBQywwQkM5QjNDLGdxQkFrQkE7NEZEc0JhLGdCQUFnQjtrQkFqQjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxtREFBbUQ7b0JBQ25ELHFGQUFxRjtvQkFDckYsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87b0JBQ2hELFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUN2QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFO3dCQUNGLGtCQUFrQixFQUFFLFdBQVc7d0JBQy9CLDJCQUEyQixFQUFFLFVBQVU7d0JBQ3ZDLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQixtQkFBbUIsRUFBRSxjQUFjO3FCQUN0QztpQkFDSjs7MEJBVVEsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUM5QixNQUFNOzJCQUFDLFdBQVc7OzBCQUVsQixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsY0FBYzs4QkFDSSxRQUFROzBCQUFqQyxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfRElBTE9HUyxcbiAgICBUVUlfSVNfQU5EUk9JRCxcbiAgICBUVUlfSVNfSU9TLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVFVJX1ZFUlNJT04sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFX1JFU19QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgVFVJX0FOSU1BVElPTlNfRFVSQVRJT04sXG4gICAgVFVJX0lTX01PQklMRV9SRVMsXG4gICAgVFVJX1RIRU1FLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1yb290JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcm9vdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yb290LnN0eWxlLmxlc3MnXSxcbiAgICAvLyBTbyB0aGF0IHdlIGRvIG5vdCBmb3JjZSBPblB1c2ggb24gY3VzdG9tIGRpYWxvZ3NcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIHByb3ZpZGVyczogW1RVSV9JU19NT0JJTEVfUkVTX1BST1ZJREVSXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2RhdGEtdHVpLXZlcnNpb24nOiBUVUlfVkVSU0lPTixcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1kdXJhdGlvbi5tc10nOiAnZHVyYXRpb24nLFxuICAgICAgICAnW2NsYXNzLl9pb3NdJzogJ2lzSU9TJyxcbiAgICAgICAgJ1tjbGFzcy5fYW5kcm9pZF0nOiAnaXNBbmRyb2lkJyxcbiAgICAgICAgJygkLmNsYXNzLl9tb2JpbGUpJzogJ2lzTW9iaWxlUmVzJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUm9vdENvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgc2Nyb2xsYmFycyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPVxuICAgICAgICB0aGlzLmRpYWxvZ3MubGVuZ3RoICYmICF0aGlzLmlzTW9iaWxlXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3QoWy4uLnRoaXMuZGlhbG9nc10pLnBpcGUoXG4gICAgICAgICAgICAgICAgICBtYXAoZGlhbG9ncyA9PiAhZGlhbG9ncy5zb21lKCh7bGVuZ3RofSkgPT4gbGVuZ3RoKSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoIXRoaXMuaXNNb2JpbGUpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTlNfRFVSQVRJT04pIHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0RJQUxPR1MpXG4gICAgICAgIHJlYWRvbmx5IGRpYWxvZ3M6IFJlYWRvbmx5QXJyYXk8T2JzZXJ2YWJsZTxyZWFkb25seSB1bmtub3duW10+PixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEVfUkVTKSByZWFkb25seSBpc01vYmlsZVJlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcmVhZG9ubHkgaXNJT1M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0FORFJPSUQpIHJlYWRvbmx5IGlzQW5kcm9pZDogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkge2JvZHl9OiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEhFTUUpIHRoZW1lOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIGJvZHkuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS10aGVtZScsIHRoZW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbn1cbiIsIjx0dWktc2Nyb2xsLWNvbnRyb2xzXG4gICAgKm5nSWY9XCJzY3JvbGxiYXJzJCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cInQtcm9vdC1zY3JvbGxiYXJcIlxuPjwvdHVpLXNjcm9sbC1jb250cm9scz5cbjx0dWktc3ZnLWRlZnMtaG9zdD48L3R1aS1zdmctZGVmcy1ob3N0PlxuPHR1aS1kcm9wZG93bi1ob3N0PlxuICAgIDxkaXYgY2xhc3M9XCJ0LXJvb3QtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPHR1aS1kaWFsb2ctaG9zdD48L3R1aS1kaWFsb2ctaG9zdD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRGlhbG9nc1wiPjwvbmctY29udGVudD5cbiAgICA8dHVpLWFsZXJ0LWhvc3Q+PC90dWktYWxlcnQtaG9zdD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQWxlcnRzXCI+PC9uZy1jb250ZW50PlxuPC90dWktZHJvcGRvd24taG9zdD5cbjxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJQb3J0YWxzXCI+PC9uZy1jb250ZW50PlxuPHR1aS1oaW50cy1ob3N0PjwvdHVpLWhpbnRzLWhvc3Q+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVySGludHNcIj48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { inject, InjectionToken, Optional, SkipSelf, } from '@angular/core';
2
2
  import { tuiIsString, tuiSvgLinearGradientProcessor, } from '@taiga-ui/cdk';
3
- import { TUI_ICONS_PATH, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, } from '@taiga-ui/core/tokens';
3
+ import { TUI_DEFAULT_ICONS_PLACE, TUI_ICONS_PATH, TUI_ICONS_PLACE, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, } from '@taiga-ui/core/tokens';
4
4
  import { tuiIconsPathFactory } from '@taiga-ui/core/utils';
5
5
  import { identity } from 'rxjs';
6
6
  import { TUI_DEPRECATED_ICONS } from './deprecated-icons';
7
7
  export const TUI_SVG_DEFAULT_OPTIONS = {
8
- path: tuiIconsPathFactory(`assets/taiga-ui/icons`),
8
+ iconsPlace: TUI_DEFAULT_ICONS_PLACE,
9
+ path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),
9
10
  srcProcessor: identity,
10
11
  contentProcessor: tuiSvgLinearGradientProcessor,
11
12
  deprecated: src => {
@@ -21,6 +22,7 @@ export const TUI_SVG_DEFAULT_OPTIONS = {
21
22
  */
22
23
  export const TUI_SVG_OPTIONS = new InjectionToken(`[TUI_SVG_OPTIONS]`, {
23
24
  factory: () => ({
25
+ iconsPlace: inject(TUI_ICONS_PLACE),
24
26
  path: inject(TUI_ICONS_PATH),
25
27
  deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,
26
28
  srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),
@@ -39,20 +41,22 @@ export const tuiSvgOptionsProvider = options => ({
39
41
  provide: TUI_SVG_OPTIONS,
40
42
  deps: [
41
43
  [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],
44
+ [new Optional(), TUI_ICONS_PLACE],
42
45
  [new Optional(), TUI_ICONS_PATH],
43
46
  [new Optional(), TUI_SVG_SRC_PROCESSOR],
44
47
  [new Optional(), TUI_SVG_CONTENT_PROCESSOR],
45
48
  ],
46
- useFactory: (fallback, path, srcProcessor, contentProcessor) => {
47
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
49
+ useFactory: (fallback, iconsPlace, path, srcProcessor, contentProcessor) => {
50
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
48
51
  return ({
52
+ iconsPlace: (_c = (_b = (_a = options.iconsPlace) !== null && _a !== void 0 ? _a : fallback === null || fallback === void 0 ? void 0 : fallback.iconsPlace) !== null && _b !== void 0 ? _b : iconsPlace) !== null && _c !== void 0 ? _c : TUI_SVG_DEFAULT_OPTIONS.iconsPlace,
49
53
  path: tuiIsString(options.path)
50
54
  ? tuiIconsPathFactory(options.path)
51
- : (_c = (_b = (_a = options.path) !== null && _a !== void 0 ? _a : fallback === null || fallback === void 0 ? void 0 : fallback.path) !== null && _b !== void 0 ? _b : path) !== null && _c !== void 0 ? _c : TUI_SVG_DEFAULT_OPTIONS.path,
52
- deprecated: (_e = (_d = options.deprecated) !== null && _d !== void 0 ? _d : fallback === null || fallback === void 0 ? void 0 : fallback.deprecated) !== null && _e !== void 0 ? _e : TUI_SVG_DEFAULT_OPTIONS.deprecated,
53
- srcProcessor: (_h = (_g = (_f = options.srcProcessor) !== null && _f !== void 0 ? _f : fallback === null || fallback === void 0 ? void 0 : fallback.srcProcessor) !== null && _g !== void 0 ? _g : srcProcessor) !== null && _h !== void 0 ? _h : TUI_SVG_DEFAULT_OPTIONS.srcProcessor,
54
- contentProcessor: (_l = (_k = (_j = options.contentProcessor) !== null && _j !== void 0 ? _j : fallback === null || fallback === void 0 ? void 0 : fallback.contentProcessor) !== null && _k !== void 0 ? _k : contentProcessor) !== null && _l !== void 0 ? _l : TUI_SVG_DEFAULT_OPTIONS.contentProcessor,
55
+ : (_f = (_e = (_d = options.path) !== null && _d !== void 0 ? _d : fallback === null || fallback === void 0 ? void 0 : fallback.path) !== null && _e !== void 0 ? _e : path) !== null && _f !== void 0 ? _f : TUI_SVG_DEFAULT_OPTIONS.path,
56
+ deprecated: (_h = (_g = options.deprecated) !== null && _g !== void 0 ? _g : fallback === null || fallback === void 0 ? void 0 : fallback.deprecated) !== null && _h !== void 0 ? _h : TUI_SVG_DEFAULT_OPTIONS.deprecated,
57
+ srcProcessor: (_l = (_k = (_j = options.srcProcessor) !== null && _j !== void 0 ? _j : fallback === null || fallback === void 0 ? void 0 : fallback.srcProcessor) !== null && _k !== void 0 ? _k : srcProcessor) !== null && _l !== void 0 ? _l : TUI_SVG_DEFAULT_OPTIONS.srcProcessor,
58
+ contentProcessor: (_p = (_o = (_m = options.contentProcessor) !== null && _m !== void 0 ? _m : fallback === null || fallback === void 0 ? void 0 : fallback.contentProcessor) !== null && _o !== void 0 ? _o : contentProcessor) !== null && _p !== void 0 ? _p : TUI_SVG_DEFAULT_OPTIONS.contentProcessor,
55
59
  });
56
60
  },
57
61
  });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL3N2Zy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFFUixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILFdBQVcsRUFHWCw2QkFBNkIsR0FDaEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGNBQWMsRUFDZCx5QkFBeUIsRUFDekIscUJBQXFCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQVN4RCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBa0I7SUFDbEQsSUFBSSxFQUFFLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDO0lBQ2xELFlBQVksRUFBRSxRQUFRO0lBQ3RCLGdCQUFnQixFQUFFLDZCQUE2QjtJQUMvQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDZCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlDLE9BQU8sT0FBTztZQUNWLENBQUMsQ0FBQyxHQUFHLE9BQU8sdUNBQXVDLE9BQU8sMEJBQTBCO1lBQ3BGLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDYixDQUFDO0NBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFnQixtQkFBbUIsRUFBRTtJQUNsRixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNaLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzVCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVO1FBQzlDLFlBQVksRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDM0MsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixDQUFDO0tBQ3RELENBQUM7Q0FDTCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FFeEQsNEJBQTRCLENBQUMsQ0FBQztBQUVoQyxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLFdBQWlEO0lBRWpELE9BQU87UUFDSCxPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLEtBQUssRUFBRSxJQUFJO0tBQ2QsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FJWCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLGVBQWU7SUFDeEIsSUFBSSxFQUFFO1FBQ0YsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDO1FBQ2pELENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxjQUFjLENBQUM7UUFDaEMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDO1FBQ3ZDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx5QkFBeUIsQ0FBQztLQUM5QztJQUNELFVBQVUsRUFBRSxDQUNSLFFBQThCLEVBQzlCLElBQWtDLEVBQ2xDLFlBQWtELEVBQ2xELGdCQUEwRCxFQUM3QyxFQUFFOztRQUFDLE9BQUEsQ0FBQztZQUNqQixJQUFJLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBQSxNQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksbUNBQUksSUFBSSxtQ0FBSSx1QkFBdUIsQ0FBQyxJQUFJO1lBQzVFLFVBQVUsRUFDTixNQUFBLE1BQUEsT0FBTyxDQUFDLFVBQVUsbUNBQ2xCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLG1DQUNwQix1QkFBdUIsQ0FBQyxVQUFVO1lBQ3RDLFlBQVksRUFDUixNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsWUFBWSxtQ0FDcEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFlBQVksbUNBQ3RCLFlBQVksbUNBQ1osdUJBQXVCLENBQUMsWUFBWTtZQUN4QyxnQkFBZ0IsRUFDWixNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsZ0JBQWdCLG1DQUN4QixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsZ0JBQWdCLG1DQUMxQixnQkFBZ0IsbUNBQ2hCLHVCQUF1QixDQUFDLGdCQUFnQjtTQUMvQyxDQUFDLENBQUE7S0FBQTtDQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRmFjdG9yeVByb3ZpZGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPcHRpb25hbCxcbiAgICBQcm92aWRlcixcbiAgICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aUhhbmRsZXIsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgVHVpU2FmZUh0bWwsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbiAgICB0dWlTdmdMaW5lYXJHcmFkaWVudFByb2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9JQ09OU19QQVRILFxuICAgIFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX1NWR19TUkNfUFJPQ0VTU09SLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJY29uc1BhdGhGYWN0b3J5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge2lkZW50aXR5fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfREVQUkVDQVRFRF9JQ09OU30gZnJvbSAnLi9kZXByZWNhdGVkLWljb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlTdmdPcHRpb25zIHtcbiAgICByZWFkb25seSBwYXRoOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz47XG4gICAgcmVhZG9ubHkgZGVwcmVjYXRlZDogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IHNyY1Byb2Nlc3NvcjogVHVpSGFuZGxlcjxUdWlTYWZlSHRtbCwgVHVpU2FmZUh0bWw+O1xuICAgIHJlYWRvbmx5IGNvbnRlbnRQcm9jZXNzb3I6IFR1aUhhbmRsZXI8VHVpU2FmZUh0bWwsIFR1aVNhZmVIdG1sPjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9TVkdfREVGQVVMVF9PUFRJT05TOiBUdWlTdmdPcHRpb25zID0ge1xuICAgIHBhdGg6IHR1aUljb25zUGF0aEZhY3RvcnkoYGFzc2V0cy90YWlnYS11aS9pY29uc2ApLFxuICAgIHNyY1Byb2Nlc3NvcjogaWRlbnRpdHksXG4gICAgY29udGVudFByb2Nlc3NvcjogdHVpU3ZnTGluZWFyR3JhZGllbnRQcm9jZXNzb3IsXG4gICAgZGVwcmVjYXRlZDogc3JjID0+IHtcbiAgICAgICAgY29uc3Qgb2xkSWNvbiA9IHNyYy5yZXBsYWNlKGBMYXJnZWAsIGBgKS5yZXBsYWNlKGBPdXRsaW5lYCwgYGApO1xuICAgICAgICBjb25zdCBuZXdJY29uID0gVFVJX0RFUFJFQ0FURURfSUNPTlNbb2xkSWNvbl07XG5cbiAgICAgICAgcmV0dXJuIG5ld0ljb25cbiAgICAgICAgICAgID8gYCR7b2xkSWNvbn0vKExhcmdlfE91dGxpbmUpIGlzIGRlcHJlY2F0ZWQsIHVzZSAke25ld0ljb259LyhMYXJnZXxPdXRsaW5lKSBpbnN0ZWFkYFxuICAgICAgICAgICAgOiBgYDtcbiAgICB9LFxufTtcblxuLyoqXG4gKiBTVkcgY29tcG9uZW50IG9wdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9TVkdfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlTdmdPcHRpb25zPihgW1RVSV9TVkdfT1BUSU9OU11gLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgcGF0aDogaW5qZWN0KFRVSV9JQ09OU19QQVRIKSxcbiAgICAgICAgZGVwcmVjYXRlZDogVFVJX1NWR19ERUZBVUxUX09QVElPTlMuZGVwcmVjYXRlZCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOiBpbmplY3QoVFVJX1NWR19TUkNfUFJPQ0VTU09SKSxcbiAgICAgICAgY29udGVudFByb2Nlc3NvcjogaW5qZWN0KFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1IpLFxuICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpSGFuZGxlcjxUdWlTYWZlSHRtbCwgVHVpU2FmZUh0bWw+XG4+KGBbVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTXWApO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpU3ZnU3JjSW50ZXJjZXB0b3JzKFxuICAgIGludGVyY2VwdG9yOiBUdWlIYW5kbGVyPFR1aVNhZmVIdG1sLCBUdWlTYWZlSHRtbD4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTLFxuICAgICAgICB1c2VWYWx1ZTogaW50ZXJjZXB0b3IsXG4gICAgICAgIG11bHRpOiB0cnVlLFxuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCB0dWlTdmdPcHRpb25zUHJvdmlkZXI6IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPE9taXQ8VHVpU3ZnT3B0aW9ucywgJ3BhdGgnPj4gJiB7XG4gICAgICAgIHBhdGg/OiBUdWlTdmdPcHRpb25zWydwYXRoJ10gfCBzdHJpbmc7XG4gICAgfSxcbikgPT4gRmFjdG9yeVByb3ZpZGVyID0gb3B0aW9ucyA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9TVkdfT1BUSU9OUyxcbiAgICBkZXBzOiBbXG4gICAgICAgIFtuZXcgU2tpcFNlbGYoKSwgbmV3IE9wdGlvbmFsKCksIFRVSV9TVkdfT1BUSU9OU10sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX0lDT05TX1BBVEhdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9TVkdfU1JDX1BST0NFU1NPUl0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUl0sXG4gICAgXSxcbiAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIGZhbGxiYWNrOiBUdWlTdmdPcHRpb25zIHwgbnVsbCxcbiAgICAgICAgcGF0aDogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgbnVsbCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOiBUdWlTdmdPcHRpb25zWydzcmNQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgICAgIGNvbnRlbnRQcm9jZXNzb3I6IFR1aVN2Z09wdGlvbnNbJ2NvbnRlbnRQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgKTogVHVpU3ZnT3B0aW9ucyA9PiAoe1xuICAgICAgICBwYXRoOiB0dWlJc1N0cmluZyhvcHRpb25zLnBhdGgpXG4gICAgICAgICAgICA/IHR1aUljb25zUGF0aEZhY3Rvcnkob3B0aW9ucy5wYXRoKVxuICAgICAgICAgICAgOiBvcHRpb25zLnBhdGggPz8gZmFsbGJhY2s/LnBhdGggPz8gcGF0aCA/PyBUVUlfU1ZHX0RFRkFVTFRfT1BUSU9OUy5wYXRoLFxuICAgICAgICBkZXByZWNhdGVkOlxuICAgICAgICAgICAgb3B0aW9ucy5kZXByZWNhdGVkID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uZGVwcmVjYXRlZCA/P1xuICAgICAgICAgICAgVFVJX1NWR19ERUZBVUxUX09QVElPTlMuZGVwcmVjYXRlZCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOlxuICAgICAgICAgICAgb3B0aW9ucy5zcmNQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIGZhbGxiYWNrPy5zcmNQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIHNyY1Byb2Nlc3NvciA/P1xuICAgICAgICAgICAgVFVJX1NWR19ERUZBVUxUX09QVElPTlMuc3JjUHJvY2Vzc29yLFxuICAgICAgICBjb250ZW50UHJvY2Vzc29yOlxuICAgICAgICAgICAgb3B0aW9ucy5jb250ZW50UHJvY2Vzc29yID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uY29udGVudFByb2Nlc3NvciA/P1xuICAgICAgICAgICAgY29udGVudFByb2Nlc3NvciA/P1xuICAgICAgICAgICAgVFVJX1NWR19ERUZBVUxUX09QVElPTlMuY29udGVudFByb2Nlc3NvcixcbiAgICB9KSxcbn0pO1xuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3ZnL3N2Zy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFFUixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILFdBQVcsRUFHWCw2QkFBNkIsR0FDaEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsZUFBZSxFQUNmLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBY3hELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFrQjtJQUNsRCxVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLElBQUksRUFBRSxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQztJQUNsRCxZQUFZLEVBQUUsUUFBUTtJQUN0QixnQkFBZ0IsRUFBRSw2QkFBNkI7SUFDL0MsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQ2QsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QyxPQUFPLE9BQU87WUFDVixDQUFDLENBQUMsR0FBRyxPQUFPLHVDQUF1QyxPQUFPLDBCQUEwQjtZQUNwRixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2IsQ0FBQztDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsbUJBQW1CLEVBQUU7SUFDbEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDWixVQUFVLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUNuQyxJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVTtRQUM5QyxZQUFZLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzNDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztLQUN0RCxDQUFDO0NBQ0wsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDRCQUE0QixDQUMvQixDQUFDO0FBRUYsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFdBQXFDO0lBQ3ZFLE9BQU87UUFDSCxPQUFPLEVBQUUsd0JBQXdCO1FBQ2pDLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLEtBQUssRUFBRSxJQUFJO0tBQ2QsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FJWCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLGVBQWU7SUFDeEIsSUFBSSxFQUFFO1FBQ0YsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDO1FBQ2pELENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUM7UUFDakMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGNBQWMsQ0FBQztRQUNoQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUM7UUFDdkMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLHlCQUF5QixDQUFDO0tBQzlDO0lBQ0QsVUFBVSxFQUFFLENBQ1IsUUFBOEIsRUFDOUIsVUFBeUIsRUFDekIsSUFBa0MsRUFDbEMsWUFBa0QsRUFDbEQsZ0JBQTBELEVBQzdDLEVBQUU7O1FBQUMsT0FBQSxDQUFDO1lBQ2pCLFVBQVUsRUFDTixNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsVUFBVSxtQ0FDbEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFVBQVUsbUNBQ3BCLFVBQVUsbUNBQ1YsdUJBQXVCLENBQUMsVUFBVTtZQUN0QyxJQUFJLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBQSxNQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksbUNBQUksSUFBSSxtQ0FBSSx1QkFBdUIsQ0FBQyxJQUFJO1lBQzVFLFVBQVUsRUFDTixNQUFBLE1BQUEsT0FBTyxDQUFDLFVBQVUsbUNBQ2xCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLG1DQUNwQix1QkFBdUIsQ0FBQyxVQUFVO1lBQ3RDLFlBQVksRUFDUixNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsWUFBWSxtQ0FDcEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFlBQVksbUNBQ3RCLFlBQVksbUNBQ1osdUJBQXVCLENBQUMsWUFBWTtZQUN4QyxnQkFBZ0IsRUFDWixNQUFBLE1BQUEsTUFBQSxPQUFPLENBQUMsZ0JBQWdCLG1DQUN4QixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsZ0JBQWdCLG1DQUMxQixnQkFBZ0IsbUNBQ2hCLHVCQUF1QixDQUFDLGdCQUFnQjtTQUMvQyxDQUFDLENBQUE7S0FBQTtDQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRmFjdG9yeVByb3ZpZGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPcHRpb25hbCxcbiAgICBQcm92aWRlcixcbiAgICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aUhhbmRsZXIsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgVHVpU2FmZUh0bWwsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbiAgICB0dWlTdmdMaW5lYXJHcmFkaWVudFByb2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9ERUZBVUxUX0lDT05TX1BMQUNFLFxuICAgIFRVSV9JQ09OU19QQVRILFxuICAgIFRVSV9JQ09OU19QTEFDRSxcbiAgICBUVUlfU1ZHX0NPTlRFTlRfUFJPQ0VTU09SLFxuICAgIFRVSV9TVkdfU1JDX1BST0NFU1NPUixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSWNvbnNQYXRoRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtpZGVudGl0eX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0RFUFJFQ0FURURfSUNPTlN9IGZyb20gJy4vZGVwcmVjYXRlZC1pY29ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpU3ZnT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbnNQbGFjZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPjtcbiAgICByZWFkb25seSBkZXByZWNhdGVkOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz47XG4gICAgcmVhZG9ubHkgc3JjUHJvY2Vzc29yOiBUdWlIYW5kbGVyPFR1aVNhZmVIdG1sLCBUdWlTYWZlSHRtbD47XG4gICAgcmVhZG9ubHkgY29udGVudFByb2Nlc3NvcjogVHVpSGFuZGxlcjxUdWlTYWZlSHRtbCwgVHVpU2FmZUh0bWw+O1xufVxuXG5leHBvcnQgdHlwZSBUdWlTdmdJbnRlcmNlcHRvckhhbmRsZXIgPVxuICAgIHwgKChzcmM6IFR1aVNhZmVIdG1sLCBvcHRpb25zOiBUdWlTdmdPcHRpb25zKSA9PiBUdWlTYWZlSHRtbClcbiAgICB8ICgoc3JjOiBUdWlTYWZlSHRtbCkgPT4gVHVpU2FmZUh0bWwpO1xuXG5leHBvcnQgY29uc3QgVFVJX1NWR19ERUZBVUxUX09QVElPTlM6IFR1aVN2Z09wdGlvbnMgPSB7XG4gICAgaWNvbnNQbGFjZTogVFVJX0RFRkFVTFRfSUNPTlNfUExBQ0UsXG4gICAgcGF0aDogdHVpSWNvbnNQYXRoRmFjdG9yeShUVUlfREVGQVVMVF9JQ09OU19QTEFDRSksXG4gICAgc3JjUHJvY2Vzc29yOiBpZGVudGl0eSxcbiAgICBjb250ZW50UHJvY2Vzc29yOiB0dWlTdmdMaW5lYXJHcmFkaWVudFByb2Nlc3NvcixcbiAgICBkZXByZWNhdGVkOiBzcmMgPT4ge1xuICAgICAgICBjb25zdCBvbGRJY29uID0gc3JjLnJlcGxhY2UoYExhcmdlYCwgYGApLnJlcGxhY2UoYE91dGxpbmVgLCBgYCk7XG4gICAgICAgIGNvbnN0IG5ld0ljb24gPSBUVUlfREVQUkVDQVRFRF9JQ09OU1tvbGRJY29uXTtcblxuICAgICAgICByZXR1cm4gbmV3SWNvblxuICAgICAgICAgICAgPyBgJHtvbGRJY29ufS8oTGFyZ2V8T3V0bGluZSkgaXMgZGVwcmVjYXRlZCwgdXNlICR7bmV3SWNvbn0vKExhcmdlfE91dGxpbmUpIGluc3RlYWRgXG4gICAgICAgICAgICA6IGBgO1xuICAgIH0sXG59O1xuXG4vKipcbiAqIFNWRyBjb21wb25lbnQgb3B0aW9uc1xuICovXG5leHBvcnQgY29uc3QgVFVJX1NWR19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aVN2Z09wdGlvbnM+KGBbVFVJX1NWR19PUFRJT05TXWAsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICBpY29uc1BsYWNlOiBpbmplY3QoVFVJX0lDT05TX1BMQUNFKSxcbiAgICAgICAgcGF0aDogaW5qZWN0KFRVSV9JQ09OU19QQVRIKSxcbiAgICAgICAgZGVwcmVjYXRlZDogVFVJX1NWR19ERUZBVUxUX09QVElPTlMuZGVwcmVjYXRlZCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOiBpbmplY3QoVFVJX1NWR19TUkNfUFJPQ0VTU09SKSxcbiAgICAgICAgY29udGVudFByb2Nlc3NvcjogaW5qZWN0KFRVSV9TVkdfQ09OVEVOVF9QUk9DRVNTT1IpLFxuICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfU1ZHX1NSQ19JTlRFUkNFUFRPUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyPihcbiAgICBgW1RVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SU11gLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVN2Z1NyY0ludGVyY2VwdG9ycyhpbnRlcmNlcHRvcjogVHVpU3ZnSW50ZXJjZXB0b3JIYW5kbGVyKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgdXNlVmFsdWU6IGludGVyY2VwdG9yLFxuICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgdHVpU3ZnT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxPbWl0PFR1aVN2Z09wdGlvbnMsICdwYXRoJz4+ICYge1xuICAgICAgICBwYXRoPzogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgc3RyaW5nO1xuICAgIH0sXG4pID0+IEZhY3RvcnlQcm92aWRlciA9IG9wdGlvbnMgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfU1ZHX09QVElPTlMsXG4gICAgZGVwczogW1xuICAgICAgICBbbmV3IFNraXBTZWxmKCksIG5ldyBPcHRpb25hbCgpLCBUVUlfU1ZHX09QVElPTlNdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9JQ09OU19QTEFDRV0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX0lDT05TX1BBVEhdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFRVSV9TVkdfU1JDX1BST0NFU1NPUl0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgVFVJX1NWR19DT05URU5UX1BST0NFU1NPUl0sXG4gICAgXSxcbiAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgIGZhbGxiYWNrOiBUdWlTdmdPcHRpb25zIHwgbnVsbCxcbiAgICAgICAgaWNvbnNQbGFjZTogc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgcGF0aDogVHVpU3ZnT3B0aW9uc1sncGF0aCddIHwgbnVsbCxcbiAgICAgICAgc3JjUHJvY2Vzc29yOiBUdWlTdmdPcHRpb25zWydzcmNQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgICAgIGNvbnRlbnRQcm9jZXNzb3I6IFR1aVN2Z09wdGlvbnNbJ2NvbnRlbnRQcm9jZXNzb3InXSB8IG51bGwsXG4gICAgKTogVHVpU3ZnT3B0aW9ucyA9PiAoe1xuICAgICAgICBpY29uc1BsYWNlOlxuICAgICAgICAgICAgb3B0aW9ucy5pY29uc1BsYWNlID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uaWNvbnNQbGFjZSA/P1xuICAgICAgICAgICAgaWNvbnNQbGFjZSA/P1xuICAgICAgICAgICAgVFVJX1NWR19ERUZBVUxUX09QVElPTlMuaWNvbnNQbGFjZSxcbiAgICAgICAgcGF0aDogdHVpSXNTdHJpbmcob3B0aW9ucy5wYXRoKVxuICAgICAgICAgICAgPyB0dWlJY29uc1BhdGhGYWN0b3J5KG9wdGlvbnMucGF0aClcbiAgICAgICAgICAgIDogb3B0aW9ucy5wYXRoID8/IGZhbGxiYWNrPy5wYXRoID8/IHBhdGggPz8gVFVJX1NWR19ERUZBVUxUX09QVElPTlMucGF0aCxcbiAgICAgICAgZGVwcmVjYXRlZDpcbiAgICAgICAgICAgIG9wdGlvbnMuZGVwcmVjYXRlZCA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/LmRlcHJlY2F0ZWQgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmRlcHJlY2F0ZWQsXG4gICAgICAgIHNyY1Byb2Nlc3NvcjpcbiAgICAgICAgICAgIG9wdGlvbnMuc3JjUHJvY2Vzc29yID8/XG4gICAgICAgICAgICBmYWxsYmFjaz8uc3JjUHJvY2Vzc29yID8/XG4gICAgICAgICAgICBzcmNQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLnNyY1Byb2Nlc3NvcixcbiAgICAgICAgY29udGVudFByb2Nlc3NvcjpcbiAgICAgICAgICAgIG9wdGlvbnMuY29udGVudFByb2Nlc3NvciA/P1xuICAgICAgICAgICAgZmFsbGJhY2s/LmNvbnRlbnRQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIGNvbnRlbnRQcm9jZXNzb3IgPz9cbiAgICAgICAgICAgIFRVSV9TVkdfREVGQVVMVF9PUFRJT05TLmNvbnRlbnRQcm9jZXNzb3IsXG4gICAgfSksXG59KTtcbiJdfQ==
@@ -10,7 +10,7 @@ import { TUI_SANITIZER } from '@taiga-ui/core/tokens';
10
10
  import { tuiIsPresumedHTMLString } from '@taiga-ui/core/utils/miscellaneous';
11
11
  import { of, ReplaySubject } from 'rxjs';
12
12
  import { catchError, map, startWith, switchMap } from 'rxjs/operators';
13
- import { TUI_SVG_OPTIONS, TUI_SVG_SRC_INTERCEPTORS } from './svg-options';
13
+ import { TUI_SVG_OPTIONS, TUI_SVG_SRC_INTERCEPTORS, } from './svg-options';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@taiga-ui/cdk";
16
16
  import * as i2 from "@angular/common";
@@ -46,7 +46,7 @@ export class TuiSvgComponent {
46
46
  var _a;
47
47
  const deprecated = this.options.deprecated(String(src));
48
48
  ngDevMode && tuiAssert.assert(!deprecated, deprecated);
49
- this.icon = ((_a = this.srcInterceptors) !== null && _a !== void 0 ? _a : []).reduce((newSrc, interceptor) => interceptor(newSrc), this.options.srcProcessor(src));
49
+ this.icon = ((_a = this.srcInterceptors) !== null && _a !== void 0 ? _a : []).reduce((newSrc, interceptor) => interceptor(newSrc, this.options), this.options.srcProcessor(src));
50
50
  this.src$.next();
51
51
  }
52
52
  get src() {
@@ -76,7 +76,8 @@ export class TuiSvgComponent {
76
76
  return this.isUrl || this.isCrossDomain;
77
77
  }
78
78
  get isUrl() {
79
- return tuiIsString(this.icon) && this.icon.endsWith('.svg');
79
+ return (tuiIsString(this.icon) &&
80
+ this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg'));
80
81
  }
81
82
  get isSrc() {
82
83
  return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);
@@ -153,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
153
154
  }] }, { type: undefined, decorators: [{
154
155
  type: Inject,
155
156
  args: [TUI_SVG_OPTIONS]
156
- }] }, { type: Array, decorators: [{
157
+ }] }, { type: undefined, decorators: [{
157
158
  type: Optional
158
159
  }, {
159
160
  type: Inject,
@@ -178,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
178
179
  }] }]; }, propDecorators: { src: [{
179
180
  type: Input
180
181
  }], resolveName: [] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsMEJBQTBCLEVBRTFCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBRWpCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUUsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFDLGVBQWUsRUFBRSx3QkFBd0IsRUFBZ0Is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LGFBQWEsNkJBRWIsYUFBYSxhQUNiLHVCQUF1QixhQUV2QixZQUFZLGFBQ1osVUFBVTtpR0F0QmIsZUFBZSx1RUM3QzVCLHNvQkFxQkE7QURnRUk7SUFEQyxpQkFBaUIsRUFBRTswQ0FZbkI7QUF3RUQ7SUFEQyxPQUFPO2tEQUdQOzRGQTdIUSxlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxTQUFTO29CQUNuQixXQUFXLEVBQUUscUJBQXFCO29CQUNsQyxTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDL0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzBEQVErQyxRQUFROzBCQUEvQyxNQUFNOzJCQUFDLFFBQVE7OEJBQ3NCLE1BQU07MEJBQTNDLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxlQUFlOzhCQUdXLEtBQUs7MEJBRnRDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCOzswQkFJL0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFVBQVU7NENBa0JsQixHQUFHO3NCQUZOLEtBQUs7Z0JBcUZFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2FuaXRpemVyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc3NlcnQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgVHVpSGFuZGxlcixcbiAgICB0dWlJc1N0cmluZyxcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcXVpcmVkU2V0dGVyLFxuICAgIFR1aVNhZmVIdG1sLFxuICAgIFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQ0FDSEVfQlVTVElOR19QQVlMT0FELCBUVUlfSUNPTl9FUlJPUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSWNvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpU3ZnU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfU0FOSVRJWkVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc1ByZXN1bWVkSFRNTFN0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9TVkdfT1BUSU9OUywgVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTLCBUdWlTdmdPcHRpb25zfSBmcm9tICcuL3N2Zy1vcHRpb25zJztcblxuY29uc3QgVU5ERUZJTkVEX05BTUVEX0lDT04gPSAnQXR0ZW1wdGVkIHRvIHVzZSB1bmRlZmluZWQgbmFtZWQgaWNvbic7XG5jb25zdCBNSVNTSU5HX0VYVEVSTkFMX0lDT04gPSAnRXh0ZXJuYWwgaWNvbiBpcyBtaXNzaW5nIG9uIHRoZSBnaXZlbiBVUkwnO1xuY29uc3QgRkFJTEVEX0VYVEVSTkFMX0lDT04gPSAnRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgU1ZHJztcblxuLy8gVE9ETzogQ29uc2lkZXIgbW92aW5nIHRvIENESyBhbG9uZyB3aXRoIFN2Z1NlcnZpY2UgYW5kIFN2Z0RlZnNIb3N0Q29tcG9uZW50XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zdmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmcudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU3ZnQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNyYyQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgICBwcml2YXRlIGljb246IFR1aVNhZmVIdG1sID0gJyc7XG5cbiAgICByZWFkb25seSBpbm5lckhUTUwkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlTdmdPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzcmNJbnRlcmNlcHRvcnM6IEFycmF5PFxuICAgICAgICAgICAgVHVpSGFuZGxlcjxUdWlTYWZlSHRtbCwgVHVpU2FmZUh0bWw+XG4gICAgICAgID4gfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TQU5JVElaRVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHVpU2FuaXRpemVyOiBTYW5pdGl6ZXIgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aVN2Z1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgc3ZnU2VydmljZTogVHVpU3ZnU2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlTdGF0aWNSZXF1ZXN0U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNSZXF1ZXN0U2VydmljZTogVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaW5uZXJIVE1MJCA9IHRoaXMuc3JjJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHVpSXNTdHJpbmcodGhpcy5pY29uKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0V4dGVybmFsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZ2V0RXh0ZXJuYWxJY29uKHRoaXMuaWNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogb2YodGhpcy5nZXRTYWZlSHRtbCh0aGlzLmljb24pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5pY29uKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IHNyYyhzcmM6IFR1aVNhZmVIdG1sKSB7XG4gICAgICAgIGNvbnN0IGRlcHJlY2F0ZWQgPSB0aGlzLm9wdGlvbnMuZGVwcmVjYXRlZChTdHJpbmcoc3JjKSk7XG5cbiAgICAgICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoIWRlcHJlY2F0ZWQsIGRlcHJlY2F0ZWQpO1xuXG4gICAgICAgIHRoaXMuaWNvbiA9ICh0aGlzLnNyY0ludGVyY2VwdG9ycyA/PyBbXSkucmVkdWNlKFxuICAgICAgICAgICAgKG5ld1NyYzogVHVpU2FmZUh0bWwsIGludGVyY2VwdG9yKSA9PiBpbnRlcmNlcHRvcihuZXdTcmMpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnNyY1Byb2Nlc3NvcihzcmMpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc3JjJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0IHNyYygpOiBUdWlTYWZlSHRtbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb247XG4gICAgfVxuXG4gICAgZ2V0IHVzZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodHVpSXNTdHJpbmcodGhpcy5pY29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWNvbi5pbmNsdWRlcygnLnN2ZyMnKVxuICAgICAgICAgICAgICAgID8gdGhpcy5pY29uXG4gICAgICAgICAgICAgICAgOiB0aGlzLnJlc29sdmVOYW1lKHRoaXMuaWNvbiwgdGhpcy5vcHRpb25zLnBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGdldCBpc0lubmVySFRNTCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0dWlJc1N0cmluZyh0aGlzLmljb24pIHx8XG4gICAgICAgICAgICB0aGlzLmlzU3JjIHx8XG4gICAgICAgICAgICB0aGlzLmlzRXh0ZXJuYWwgfHxcbiAgICAgICAgICAgICh0aGlzLmlzTmFtZSAmJiB0aGlzLmlzU2hhZG93RE9NKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzU2hhZG93RE9NKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QodGhpcy5lbC5uYXRpdmVFbGVtZW50KSAhPT0gdGhpcy5kb2M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNVc2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZS5yZXBsYWNlKFRVSV9DQUNIRV9CVVNUSU5HX1BBWUxPQUQsICcnKS5pbmNsdWRlcygnLnN2ZyMnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0V4dGVybmFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1VybCB8fCB0aGlzLmlzQ3Jvc3NEb21haW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNVcmwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmljb24pICYmIHRoaXMuaWNvbi5lbmRzV2l0aCgnLnN2ZycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzU3JjKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNTdHJpbmcodGhpcy5pY29uKSAmJiB0dWlJc1ByZXN1bWVkSFRNTFN0cmluZyh0aGlzLmljb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmFtZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzVXJsICYmICF0aGlzLmlzVXNlICYmICF0aGlzLmlzU3JjO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQ3Jvc3NEb21haW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt1c2UsIGlzVXNlLCB3aW59ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNVc2UgJiYgdXNlLnN0YXJ0c1dpdGgoJ2h0dHAnKSAmJiAhIXdpbi5vcmlnaW4gJiYgIXVzZS5zdGFydHNXaXRoKHdpbi5vcmlnaW4pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25FcnJvcihtZXNzYWdlOiBzdHJpbmcgPSBNSVNTSU5HX0VYVEVSTkFMX0lDT04pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2ljb259ID0gdGhpcztcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQ8VHVpSWNvbkVycm9yPihUVUlfSUNPTl9FUlJPUiwge1xuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgaWNvbjogaWNvbiBhcyBzdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChmYWxzZSwgbWVzc2FnZSwgaWNvbik7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgcmVzb2x2ZU5hbWUobmFtZTogc3RyaW5nLCBpY29uc1BhdGg6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpY29uc1BhdGgobmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYWZlSHRtbChzcmM6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTcmMgPyB0aGlzLnNhbml0aXplKHNyYykgOiB0aGlzLnByb2Nlc3Moc3JjKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3Moc3JjOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLnN2Z1NlcnZpY2UuZ2V0T3JpZ2luYWwoc3JjKTtcblxuICAgICAgICBpZiAodGhpcy5pc05hbWUgJiYgIWljb24gJiYgISFzcmMpIHtcbiAgICAgICAgICAgIHRoaXMub25FcnJvcihVTkRFRklORURfTkFNRURfSUNPTik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBsaW5lIGZvciBpbm5lckhUTUwgd2hlbiBpY29uIGlzIHNob3duIHRocm91Z2ggVVNFIHRhZ1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNTaGFkb3dET00gfHwgIXRoaXMuaXNOYW1lID8gJycgOiB0aGlzLnNhbml0aXplKGljb24gfHwgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FuaXRpemUoc3JjOiBUdWlTYWZlSHRtbCk6IFR1aVNhZmVIdG1sIHtcbiAgICAgICAgc3JjID0gdGhpcy5vcHRpb25zLmNvbnRlbnRQcm9jZXNzb3Ioc3JjKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50dWlTYW5pdGl6ZXIgJiYgdHVpSXNTdHJpbmcoc3JjKVxuICAgICAgICAgICAgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgICAgICAgICAgIHRoaXMudHVpU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBzcmMpIHx8ICcnLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHNyYztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV4dGVybmFsSWNvbihzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8U2FmZUh0bWw+IHtcbiAgICAgICAgY29uc3QgdXJsID0gc3JjLmluY2x1ZGVzKCcuc3ZnJykgPyBzcmMgOiB0aGlzLnVzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0aWNSZXF1ZXN0U2VydmljZS5yZXF1ZXN0KHVybCkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25FcnJvcihGQUlMRURfRVhURVJOQUxfSUNPTik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnNhbml0aXplKHJlc3BvbnNlLnJlcGxhY2UoJzxzdmcnLCAnPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJpbm5lckhUTUwkIHwgYXN5bmMgYXMgaW5uZXJIVE1MXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlzSW5uZXJIVE1MOyBlbHNlIHVzZVRlbXBsYXRlXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNyY1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiaW5uZXJIVE1MXCJcbiAgICA+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICN1c2VUZW1wbGF0ZT5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtc3ZnXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkVycm9yKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwidXNlXCI+PC91c2U+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zdmcvc3ZnLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsaUJBQWlCLEVBRWpCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUUsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUNILGVBQWUsRUFDZix3QkFBd0IsR0FHM0Is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Q04sQ0FBQzs7NkdBdEtRLGVBQWUsa0JBT1osUUFBUSxhQUNSLE1BQU0sYUFDTixlQUFlLGFBRWYsd0JBQXdCLDZCQUd4QixhQUFhLDZCQUViLGFBQWEsYUFDYix1QkFBdUIsYUFFdkIsWUFBWSxhQUNaLFVBQVU7aUdBcEJiLGVBQWUsdUVDakQ1Qixzb0JBcUJBO0FEa0VJO0lBREMsaUJBQWlCLEVBQUU7MENBWW5CO0FBMkVEO0lBREMsT0FBTztrREFHUDs0RkE5SFEsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsV0FBVyxFQUFFLHFCQUFxQjtvQkFDbEMsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQy9CLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDswREFRK0MsUUFBUTswQkFBL0MsTUFBTTsyQkFBQyxRQUFROzhCQUNzQixNQUFNOzBCQUEzQyxNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCOzswQkFFL0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxhQUFhOzswQkFFcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLFVBQVU7NENBa0JsQixHQUFHO3NCQUZOLEtBQUs7Z0JBd0ZFLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2FuaXRpemVyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc3NlcnQsXG4gICAgdHVpR2V0RG9jdW1lbnRPclNoYWRvd1Jvb3QsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbiAgICBUdWlTYWZlSHRtbCxcbiAgICBUdWlTdGF0aWNSZXF1ZXN0U2VydmljZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0NBQ0hFX0JVU1RJTkdfUEFZTE9BRCwgVFVJX0lDT05fRVJST1J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUljb25FcnJvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVN2Z1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX1NBTklUSVpFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNQcmVzdW1lZEhUTUxTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfU1ZHX09QVElPTlMsXG4gICAgVFVJX1NWR19TUkNfSU5URVJDRVBUT1JTLFxuICAgIFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcixcbiAgICBUdWlTdmdPcHRpb25zLFxufSBmcm9tICcuL3N2Zy1vcHRpb25zJztcblxuY29uc3QgVU5ERUZJTkVEX05BTUVEX0lDT04gPSAnQXR0ZW1wdGVkIHRvIHVzZSB1bmRlZmluZWQgbmFtZWQgaWNvbic7XG5jb25zdCBNSVNTSU5HX0VYVEVSTkFMX0lDT04gPSAnRXh0ZXJuYWwgaWNvbiBpcyBtaXNzaW5nIG9uIHRoZSBnaXZlbiBVUkwnO1xuY29uc3QgRkFJTEVEX0VYVEVSTkFMX0lDT04gPSAnRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgU1ZHJztcblxuLy8gVE9ETzogQ29uc2lkZXIgbW92aW5nIHRvIENESyBhbG9uZyB3aXRoIFN2Z1NlcnZpY2UgYW5kIFN2Z0RlZnNIb3N0Q29tcG9uZW50XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1zdmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmcudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU3ZnQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNyYyQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgICBwcml2YXRlIGljb246IFR1aVNhZmVIdG1sID0gJyc7XG5cbiAgICByZWFkb25seSBpbm5lckhUTUwkOiBPYnNlcnZhYmxlPFNhZmVIdG1sPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlTdmdPcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9TVkdfU1JDX0lOVEVSQ0VQVE9SUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzcmNJbnRlcmNlcHRvcnM6IHJlYWRvbmx5IFR1aVN2Z0ludGVyY2VwdG9ySGFuZGxlcltdIHwgbnVsbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfU0FOSVRJWkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aVNhbml0aXplcjogU2FuaXRpemVyIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpU3RhdGljUmVxdWVzdFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGljUmVxdWVzdFNlcnZpY2U6IFR1aVN0YXRpY1JlcXVlc3RTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICB0aGlzLmlubmVySFRNTCQgPSB0aGlzLnNyYyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR1aUlzU3RyaW5nKHRoaXMuaWNvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNFeHRlcm5hbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmdldEV4dGVybmFsSWNvbih0aGlzLmljb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA6IG9mKHRoaXMuZ2V0U2FmZUh0bWwodGhpcy5pY29uKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuaWNvbik7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBzcmMoc3JjOiBUdWlTYWZlSHRtbCkge1xuICAgICAgICBjb25zdCBkZXByZWNhdGVkID0gdGhpcy5vcHRpb25zLmRlcHJlY2F0ZWQoU3RyaW5nKHNyYykpO1xuXG4gICAgICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KCFkZXByZWNhdGVkLCBkZXByZWNhdGVkKTtcblxuICAgICAgICB0aGlzLmljb24gPSAodGhpcy5zcmNJbnRlcmNlcHRvcnMgPz8gW10pLnJlZHVjZShcbiAgICAgICAgICAgIChuZXdTcmMsIGludGVyY2VwdG9yKSA9PiBpbnRlcmNlcHRvcihuZXdTcmMsIHRoaXMub3B0aW9ucyksXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuc3JjUHJvY2Vzc29yKHNyYyksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zcmMkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgc3JjKCk6IFR1aVNhZmVIdG1sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgdXNlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0dWlJc1N0cmluZyh0aGlzLmljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pY29uLmluY2x1ZGVzKCcuc3ZnIycpXG4gICAgICAgICAgICAgICAgPyB0aGlzLmljb25cbiAgICAgICAgICAgICAgICA6IHRoaXMucmVzb2x2ZU5hbWUodGhpcy5pY29uLCB0aGlzLm9wdGlvbnMucGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzSW5uZXJIVE1MKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXR1aUlzU3RyaW5nKHRoaXMuaWNvbikgfHxcbiAgICAgICAgICAgIHRoaXMuaXNTcmMgfHxcbiAgICAgICAgICAgIHRoaXMuaXNFeHRlcm5hbCB8fFxuICAgICAgICAgICAgKHRoaXMuaXNOYW1lICYmIHRoaXMuaXNTaGFkb3dET00pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTaGFkb3dET00oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlHZXREb2N1bWVudE9yU2hhZG93Um9vdCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpICE9PSB0aGlzLmRvYztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VzZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlLnJlcGxhY2UoVFVJX0NBQ0hFX0JVU1RJTkdfUEFZTE9BRCwgJycpLmluY2x1ZGVzKCcuc3ZnIycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzRXh0ZXJuYWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVXJsIHx8IHRoaXMuaXNDcm9zc0RvbWFpbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1VybCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR1aUlzU3RyaW5nKHRoaXMuaWNvbikgJiZcbiAgICAgICAgICAgIHRoaXMuaWNvbi5yZXBsYWNlKFRVSV9DQUNIRV9CVVNUSU5HX1BBWUxPQUQsICcnKS5lbmRzV2l0aCgnLnN2ZycpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNTcmMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh0aGlzLmljb24pICYmIHR1aUlzUHJlc3VtZWRIVE1MU3RyaW5nKHRoaXMuaWNvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNVcmwgJiYgIXRoaXMuaXNVc2UgJiYgIXRoaXMuaXNTcmM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNDcm9zc0RvbWFpbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3VzZSwgaXNVc2UsIHdpbn0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc1VzZSAmJiB1c2Uuc3RhcnRzV2l0aCgnaHR0cCcpICYmICEhd2luLm9yaWdpbiAmJiAhdXNlLnN0YXJ0c1dpdGgod2luLm9yaWdpbilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkVycm9yKG1lc3NhZ2U6IHN0cmluZyA9IE1JU1NJTkdfRVhURVJOQUxfSUNPTik6IHZvaWQge1xuICAgICAgICBjb25zdCB7aWNvbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudDxUdWlJY29uRXJyb3I+KFRVSV9JQ09OX0VSUk9SLCB7XG4gICAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uIGFzIHN0cmluZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KGZhbHNlLCBtZXNzYWdlLCBpY29uKTtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSByZXNvbHZlTmFtZShuYW1lOiBzdHJpbmcsIGljb25zUGF0aDogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGljb25zUGF0aChuYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNhZmVIdG1sKHNyYzogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NyYyA/IHRoaXMuc2FuaXRpemUoc3JjKSA6IHRoaXMucHJvY2VzcyhzcmMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2VzcyhzcmM6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMuc3ZnU2VydmljZS5nZXRPcmlnaW5hbChzcmMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzTmFtZSAmJiAhaWNvbiAmJiAhIXNyYykge1xuICAgICAgICAgICAgdGhpcy5vbkVycm9yKFVOREVGSU5FRF9OQU1FRF9JQ09OKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVtcHR5IGxpbmUgZm9yIGlubmVySFRNTCB3aGVuIGljb24gaXMgc2hvd24gdGhyb3VnaCBVU0UgdGFnXG4gICAgICAgIHJldHVybiAhdGhpcy5pc1NoYWRvd0RPTSB8fCAhdGhpcy5pc05hbWUgPyAnJyA6IHRoaXMuc2FuaXRpemUoaWNvbiB8fCAnJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZShzcmM6IFR1aVNhZmVIdG1sKTogVHVpU2FmZUh0bWwge1xuICAgICAgICBzcmMgPSB0aGlzLm9wdGlvbnMuY29udGVudFByb2Nlc3NvcihzcmMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnR1aVNhbml0aXplciAmJiB0dWlJc1N0cmluZyhzcmMpXG4gICAgICAgICAgICA/IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgICAgICAgICAgICAgICAgdGhpcy50dWlTYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHNyYykgfHwgJycsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogc3JjO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RXh0ZXJuYWxJY29uKHNyYzogc3RyaW5nKTogT2JzZXJ2YWJsZTxTYWZlSHRtbD4ge1xuICAgICAgICBjb25zdCB1cmwgPSBzcmMuaW5jbHVkZXMoJy5zdmcnKSA/IHNyYyA6IHRoaXMudXNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRpY1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QodXJsKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yKEZBSUxFRF9FWFRFUk5BTF9JQ09OKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc2FuaXRpemUocmVzcG9uc2UucmVwbGFjZSgnPHN2ZycsICc8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCInKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aUxldD1cImlubmVySFRNTCQgfCBhc3luYyBhcyBpbm5lckhUTUxcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNJbm5lckhUTUw7IGVsc2UgdXNlVGVtcGxhdGVcIlxuICAgICAgICBjbGFzcz1cInQtc3JjXCJcbiAgICAgICAgW2lubmVySFRNTF09XCJpbm5lckhUTUxcIlxuICAgID48L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3VzZVRlbXBsYXRlPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1zdmdcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJ1c2VcIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,9 +1,10 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ export const TUI_DEFAULT_ICONS_PLACE = `assets/taiga-ui/icons`;
2
3
  /**
3
4
  * Path to icons
4
5
  * @deprecated Use {@link TUI_SVG_OPTIONS} instead
5
6
  */
6
7
  export const TUI_ICONS_PLACE = new InjectionToken(`[TUI_ICONS_PLACE]`, {
7
- factory: () => `assets/taiga-ui/icons`,
8
+ factory: () => TUI_DEFAULT_ICONS_PLACE,
8
9
  });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1wbGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL2ljb24tcGxhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQTJCLElBQUksY0FBYyxDQUNyRSxtQkFBbUIsRUFDbkI7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCO0NBQ3pDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFBhdGggdG8gaWNvbnNcbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgVFVJX1NWR19PUFRJT05TfSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSUNPTlNfUExBQ0U6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgICBgW1RVSV9JQ09OU19QTEFDRV1gLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gYGFzc2V0cy90YWlnYS11aS9pY29uc2AsXG4gICAgfSxcbik7XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1wbGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL2ljb24tcGxhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyx1QkFBZ0MsQ0FBQztBQUV4RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQTJCLElBQUksY0FBYyxDQUNyRSxtQkFBbUIsRUFDbkI7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCO0NBQ3pDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVFVJX0RFRkFVTFRfSUNPTlNfUExBQ0UgPSBgYXNzZXRzL3RhaWdhLXVpL2ljb25zYCBhcyBjb25zdDtcblxuLyoqXG4gKiBQYXRoIHRvIGljb25zXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIFRVSV9TVkdfT1BUSU9OU30gaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lDT05TX1BMQUNFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICAgYFtUVUlfSUNPTlNfUExBQ0VdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9ERUZBVUxUX0lDT05TX1BMQUNFLFxuICAgIH0sXG4pO1xuIl19
@@ -3,7 +3,7 @@ import { DOCUMENT, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, NgModule } from '@angular/core';
5
5
  import * as i3 from '@taiga-ui/cdk';
6
- import { TUI_DIALOGS, TUI_IS_MOBILE, TUI_VERSION, TuiDragModule, TuiDropdownHostModule, TuiDialogHostModule, TuiAlertHostModule } from '@taiga-ui/cdk';
6
+ import { TUI_DIALOGS, TUI_IS_MOBILE, TUI_IS_IOS, TUI_IS_ANDROID, TUI_VERSION, TuiDragModule, TuiDropdownHostModule, TuiDialogHostModule, TuiAlertHostModule } from '@taiga-ui/cdk';
7
7
  import { TUI_IS_MOBILE_RES_PROVIDER } from '@taiga-ui/core/providers';
8
8
  import { TUI_ANIMATIONS_DURATION, TUI_IS_MOBILE_RES, TUI_THEME } from '@taiga-ui/core/tokens';
9
9
  import * as i6 from 'rxjs';
@@ -18,19 +18,21 @@ import { TuiHintsHostModule } from '@taiga-ui/core/components/hints-host';
18
18
  import { EventPluginsModule } from '@tinkoff/ng-event-plugins';
19
19
 
20
20
  class TuiRootComponent {
21
- constructor(duration, dialogs, isMobile, isMobileRes$, { body }, theme) {
21
+ constructor(duration, dialogs, isMobile, isMobileRes$, isIOS, isAndroid, { body }, theme) {
22
22
  this.duration = duration;
23
23
  this.dialogs = dialogs;
24
24
  this.isMobile = isMobile;
25
25
  this.isMobileRes$ = isMobileRes$;
26
+ this.isIOS = isIOS;
27
+ this.isAndroid = isAndroid;
26
28
  this.scrollbars$ = this.dialogs.length && !this.isMobile
27
29
  ? combineLatest([...this.dialogs]).pipe(map(dialogs => !dialogs.some(({ length }) => length)))
28
30
  : of(!this.isMobile);
29
31
  body.setAttribute('data-tui-theme', theme.toLowerCase());
30
32
  }
31
33
  }
32
- TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
33
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.30.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
34
+ TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
35
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.31.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
34
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
35
37
  type: Component,
36
38
  args: [{
@@ -45,6 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
45
47
  host: {
46
48
  'data-tui-version': TUI_VERSION,
47
49
  '[style.--tui-duration.ms]': 'duration',
50
+ '[class._ios]': 'isIOS',
51
+ '[class._android]': 'isAndroid',
48
52
  '($.class._mobile)': 'isMobileRes$',
49
53
  },
50
54
  }]
@@ -60,6 +64,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
60
64
  }] }, { type: i6.Observable, decorators: [{
61
65
  type: Inject,
62
66
  args: [TUI_IS_MOBILE_RES]
67
+ }] }, { type: undefined, decorators: [{
68
+ type: Inject,
69
+ args: [TUI_IS_IOS]
70
+ }] }, { type: undefined, decorators: [{
71
+ type: Inject,
72
+ args: [TUI_IS_ANDROID]
63
73
  }] }, { type: Document, decorators: [{
64
74
  type: Inject,
65
75
  args: [DOCUMENT]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-root.js","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_DIALOGS, TUI_IS_MOBILE, TUI_VERSION} from '@taiga-ui/cdk';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-root',\n templateUrl: './root.template.html',\n styleUrls: ['./root.style.less'],\n // So that we do not force OnPush on custom dialogs\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TUI_IS_MOBILE_RES_PROVIDER],\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '($.class._mobile)': 'isMobileRes$',\n },\n})\nexport class TuiRootComponent {\n readonly scrollbars$: Observable<boolean> =\n this.dialogs.length && !this.isMobile\n ? combineLatest([...this.dialogs]).pipe(\n map(dialogs => !dialogs.some(({length}) => length)),\n )\n : of(!this.isMobile);\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) readonly duration: number,\n @Inject(TUI_DIALOGS)\n readonly dialogs: ReadonlyArray<Observable<readonly unknown[]>>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_IS_MOBILE_RES) readonly isMobileRes$: Observable<boolean>,\n @Inject(DOCUMENT) {body}: Document,\n @Inject(TUI_THEME) theme: string,\n ) {\n body.setAttribute('data-tui-theme', theme.toLowerCase());\n }\n}\n","<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiAlertHostModule,\n TuiDialogHostModule,\n TuiDragModule,\n TuiDropdownHostModule,\n} from '@taiga-ui/cdk';\nimport {TuiHintsHostModule} from '@taiga-ui/core/components/hints-host';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiSvgDefsHostModule} from '@taiga-ui/core/internal/svg-defs-host';\nimport {EventPluginsModule} from '@tinkoff/ng-event-plugins';\n\nimport {TuiRootComponent} from './root.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EventPluginsModule,\n TuiDragModule,\n TuiDropdownHostModule,\n TuiSvgDefsHostModule,\n TuiHintsHostModule,\n TuiDialogHostModule,\n TuiAlertHostModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiRootComponent],\n exports: [TuiRootComponent],\n})\nexport class TuiRootModule {}\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-root.js","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n TUI_DIALOGS,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TUI_IS_MOBILE,\n TUI_VERSION,\n} from '@taiga-ui/cdk';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-root',\n templateUrl: './root.template.html',\n styleUrls: ['./root.style.less'],\n // So that we do not force OnPush on custom dialogs\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TUI_IS_MOBILE_RES_PROVIDER],\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '[class._ios]': 'isIOS',\n '[class._android]': 'isAndroid',\n '($.class._mobile)': 'isMobileRes$',\n },\n})\nexport class TuiRootComponent {\n readonly scrollbars$: Observable<boolean> =\n this.dialogs.length && !this.isMobile\n ? combineLatest([...this.dialogs]).pipe(\n map(dialogs => !dialogs.some(({length}) => length)),\n )\n : of(!this.isMobile);\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) readonly duration: number,\n @Inject(TUI_DIALOGS)\n readonly dialogs: ReadonlyArray<Observable<readonly unknown[]>>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_IS_MOBILE_RES) readonly isMobileRes$: Observable<boolean>,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_IS_ANDROID) readonly isAndroid: boolean,\n @Inject(DOCUMENT) {body}: Document,\n @Inject(TUI_THEME) theme: string,\n ) {\n body.setAttribute('data-tui-theme', theme.toLowerCase());\n }\n}\n","<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiAlertHostModule,\n TuiDialogHostModule,\n TuiDragModule,\n TuiDropdownHostModule,\n} from '@taiga-ui/cdk';\nimport {TuiHintsHostModule} from '@taiga-ui/core/components/hints-host';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiSvgDefsHostModule} from '@taiga-ui/core/internal/svg-defs-host';\nimport {EventPluginsModule} from '@tinkoff/ng-event-plugins';\n\nimport {TuiRootComponent} from './root.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EventPluginsModule,\n TuiDragModule,\n TuiDropdownHostModule,\n TuiSvgDefsHostModule,\n TuiHintsHostModule,\n TuiDialogHostModule,\n TuiAlertHostModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiRootComponent],\n exports: [TuiRootComponent],\n})\nexport class TuiRootModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { tuiSvgLinearGradientProcessor, tuiIsString, tuiAssert, tuiGetDocumentOr
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';
14
- import { TUI_ICONS_PATH, TUI_SVG_SRC_PROCESSOR, TUI_SVG_CONTENT_PROCESSOR, TUI_SANITIZER } from '@taiga-ui/core/tokens';
14
+ import { TUI_DEFAULT_ICONS_PLACE, TUI_ICONS_PLACE, TUI_ICONS_PATH, TUI_SVG_SRC_PROCESSOR, TUI_SVG_CONTENT_PROCESSOR, TUI_SANITIZER } from '@taiga-ui/core/tokens';
15
15
  import { tuiIsPresumedHTMLString } from '@taiga-ui/core/utils/miscellaneous';
16
16
  import { identity, ReplaySubject, of } from 'rxjs';
17
17
  import { switchMap, startWith, catchError, map } from 'rxjs/operators';
@@ -77,7 +77,8 @@ const TUI_DEPRECATED_ICONS = {
77
77
  };
78
78
 
79
79
  const TUI_SVG_DEFAULT_OPTIONS = {
80
- path: tuiIconsPathFactory(`assets/taiga-ui/icons`),
80
+ iconsPlace: TUI_DEFAULT_ICONS_PLACE,
81
+ path: tuiIconsPathFactory(TUI_DEFAULT_ICONS_PLACE),
81
82
  srcProcessor: identity,
82
83
  contentProcessor: tuiSvgLinearGradientProcessor,
83
84
  deprecated: src => {
@@ -93,6 +94,7 @@ const TUI_SVG_DEFAULT_OPTIONS = {
93
94
  */
94
95
  const TUI_SVG_OPTIONS = new InjectionToken(`[TUI_SVG_OPTIONS]`, {
95
96
  factory: () => ({
97
+ iconsPlace: inject(TUI_ICONS_PLACE),
96
98
  path: inject(TUI_ICONS_PATH),
97
99
  deprecated: TUI_SVG_DEFAULT_OPTIONS.deprecated,
98
100
  srcProcessor: inject(TUI_SVG_SRC_PROCESSOR),
@@ -111,19 +113,21 @@ const tuiSvgOptionsProvider = options => ({
111
113
  provide: TUI_SVG_OPTIONS,
112
114
  deps: [
113
115
  [new SkipSelf(), new Optional(), TUI_SVG_OPTIONS],
116
+ [new Optional(), TUI_ICONS_PLACE],
114
117
  [new Optional(), TUI_ICONS_PATH],
115
118
  [new Optional(), TUI_SVG_SRC_PROCESSOR],
116
119
  [new Optional(), TUI_SVG_CONTENT_PROCESSOR],
117
120
  ],
118
- useFactory: (fallback, path, srcProcessor, contentProcessor) => {
119
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
121
+ useFactory: (fallback, iconsPlace, path, srcProcessor, contentProcessor) => {
122
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
120
123
  return ({
124
+ iconsPlace: (_c = (_b = (_a = options.iconsPlace) !== null && _a !== void 0 ? _a : fallback === null || fallback === void 0 ? void 0 : fallback.iconsPlace) !== null && _b !== void 0 ? _b : iconsPlace) !== null && _c !== void 0 ? _c : TUI_SVG_DEFAULT_OPTIONS.iconsPlace,
121
125
  path: tuiIsString(options.path)
122
126
  ? tuiIconsPathFactory(options.path)
123
- : (_c = (_b = (_a = options.path) !== null && _a !== void 0 ? _a : fallback === null || fallback === void 0 ? void 0 : fallback.path) !== null && _b !== void 0 ? _b : path) !== null && _c !== void 0 ? _c : TUI_SVG_DEFAULT_OPTIONS.path,
124
- deprecated: (_e = (_d = options.deprecated) !== null && _d !== void 0 ? _d : fallback === null || fallback === void 0 ? void 0 : fallback.deprecated) !== null && _e !== void 0 ? _e : TUI_SVG_DEFAULT_OPTIONS.deprecated,
125
- srcProcessor: (_h = (_g = (_f = options.srcProcessor) !== null && _f !== void 0 ? _f : fallback === null || fallback === void 0 ? void 0 : fallback.srcProcessor) !== null && _g !== void 0 ? _g : srcProcessor) !== null && _h !== void 0 ? _h : TUI_SVG_DEFAULT_OPTIONS.srcProcessor,
126
- contentProcessor: (_l = (_k = (_j = options.contentProcessor) !== null && _j !== void 0 ? _j : fallback === null || fallback === void 0 ? void 0 : fallback.contentProcessor) !== null && _k !== void 0 ? _k : contentProcessor) !== null && _l !== void 0 ? _l : TUI_SVG_DEFAULT_OPTIONS.contentProcessor,
127
+ : (_f = (_e = (_d = options.path) !== null && _d !== void 0 ? _d : fallback === null || fallback === void 0 ? void 0 : fallback.path) !== null && _e !== void 0 ? _e : path) !== null && _f !== void 0 ? _f : TUI_SVG_DEFAULT_OPTIONS.path,
128
+ deprecated: (_h = (_g = options.deprecated) !== null && _g !== void 0 ? _g : fallback === null || fallback === void 0 ? void 0 : fallback.deprecated) !== null && _h !== void 0 ? _h : TUI_SVG_DEFAULT_OPTIONS.deprecated,
129
+ srcProcessor: (_l = (_k = (_j = options.srcProcessor) !== null && _j !== void 0 ? _j : fallback === null || fallback === void 0 ? void 0 : fallback.srcProcessor) !== null && _k !== void 0 ? _k : srcProcessor) !== null && _l !== void 0 ? _l : TUI_SVG_DEFAULT_OPTIONS.srcProcessor,
130
+ contentProcessor: (_p = (_o = (_m = options.contentProcessor) !== null && _m !== void 0 ? _m : fallback === null || fallback === void 0 ? void 0 : fallback.contentProcessor) !== null && _o !== void 0 ? _o : contentProcessor) !== null && _p !== void 0 ? _p : TUI_SVG_DEFAULT_OPTIONS.contentProcessor,
127
131
  });
128
132
  },
129
133
  });
@@ -158,7 +162,7 @@ class TuiSvgComponent {
158
162
  var _a;
159
163
  const deprecated = this.options.deprecated(String(src));
160
164
  ngDevMode && tuiAssert.assert(!deprecated, deprecated);
161
- this.icon = ((_a = this.srcInterceptors) !== null && _a !== void 0 ? _a : []).reduce((newSrc, interceptor) => interceptor(newSrc), this.options.srcProcessor(src));
165
+ this.icon = ((_a = this.srcInterceptors) !== null && _a !== void 0 ? _a : []).reduce((newSrc, interceptor) => interceptor(newSrc, this.options), this.options.srcProcessor(src));
162
166
  this.src$.next();
163
167
  }
164
168
  get src() {
@@ -188,7 +192,8 @@ class TuiSvgComponent {
188
192
  return this.isUrl || this.isCrossDomain;
189
193
  }
190
194
  get isUrl() {
191
- return tuiIsString(this.icon) && this.icon.endsWith('.svg');
195
+ return (tuiIsString(this.icon) &&
196
+ this.icon.replace(TUI_CACHE_BUSTING_PAYLOAD, '').endsWith('.svg'));
192
197
  }
193
198
  get isSrc() {
194
199
  return tuiIsString(this.icon) && tuiIsPresumedHTMLString(this.icon);
@@ -265,7 +270,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
265
270
  }] }, { type: undefined, decorators: [{
266
271
  type: Inject,
267
272
  args: [TUI_SVG_OPTIONS]
268
- }] }, { type: Array, decorators: [{
273
+ }] }, { type: undefined, decorators: [{
269
274
  type: Optional
270
275
  }, {
271
276
  type: Inject,