@taiga-ui/core 3.13.0 → 3.14.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.
Files changed (41) hide show
  1. package/bundles/taiga-ui-core-components-data-list.umd.js +2 -2
  2. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +40 -13
  4. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  6. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +153 -3
  7. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -2
  9. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  10. package/components/primitive-textfield/primitive-textfield.component.d.ts +10 -4
  11. package/directives/textfield-controller/index.d.ts +3 -0
  12. package/directives/textfield-controller/textfield-controller.module.d.ts +4 -1
  13. package/directives/textfield-controller/textfield-filler.directive.d.ts +9 -0
  14. package/directives/textfield-controller/textfield-postfix.directive.d.ts +9 -0
  15. package/directives/textfield-controller/textfield-prefix.directive.d.ts +9 -0
  16. package/directives/textfield-controller/textfield.controller.d.ts +10 -1
  17. package/esm2015/components/data-list/data-list.component.js +1 -1
  18. package/esm2015/components/data-list/option/option.component.js +1 -1
  19. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +29 -14
  20. package/esm2015/components/root/root.component.js +1 -1
  21. package/esm2015/directives/textfield-controller/index.js +4 -1
  22. package/esm2015/directives/textfield-controller/textfield-controller.module.js +18 -3
  23. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +7 -1
  24. package/esm2015/directives/textfield-controller/textfield-filler.directive.js +35 -0
  25. package/esm2015/directives/textfield-controller/textfield-postfix.directive.js +35 -0
  26. package/esm2015/directives/textfield-controller/textfield-prefix.directive.js +35 -0
  27. package/esm2015/directives/textfield-controller/textfield.controller.js +14 -2
  28. package/esm2015/utils/miscellaneous/size-bigger.js +4 -2
  29. package/fesm2015/taiga-ui-core-components-data-list.js +2 -2
  30. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  31. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +28 -13
  32. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  33. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  34. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +127 -4
  35. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  36. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +3 -1
  37. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  38. package/package.json +4 -4
  39. package/styles/theme/variables.less +3 -1
  40. package/styles/theme/wrapper/table.less +1 -1
  41. package/utils/miscellaneous/size-bigger.d.ts +1 -1
@@ -5,8 +5,11 @@ import * as i3 from "./textfield-label-outside.directive";
5
5
  import * as i4 from "./textfield-size.directive";
6
6
  import * as i5 from "./textfield-icon.directive";
7
7
  import * as i6 from "./textfield-icon-left.directive";
8
+ import * as i7 from "./textfield-prefix.directive";
9
+ import * as i8 from "./textfield-postfix.directive";
10
+ import * as i9 from "./textfield-filler.directive";
8
11
  export declare class TuiTextfieldControllerModule {
9
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldControllerModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextfieldControllerModule, [typeof i1.TuiTextfieldCleanerDirective, typeof i2.TuiTextfieldCustomContentDirective, typeof i3.TuiTextfieldLabelOutsideDirective, typeof i4.TuiTextfieldSizeDirective, typeof i5.TuiTextfieldIconDirective, typeof i6.TuiTextfieldIconLeftDirective], never, [typeof i1.TuiTextfieldCleanerDirective, typeof i2.TuiTextfieldCustomContentDirective, typeof i3.TuiTextfieldLabelOutsideDirective, typeof i4.TuiTextfieldSizeDirective, typeof i5.TuiTextfieldIconDirective, typeof i6.TuiTextfieldIconLeftDirective]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextfieldControllerModule, [typeof i1.TuiTextfieldCleanerDirective, typeof i2.TuiTextfieldCustomContentDirective, typeof i3.TuiTextfieldLabelOutsideDirective, typeof i4.TuiTextfieldSizeDirective, typeof i5.TuiTextfieldIconDirective, typeof i6.TuiTextfieldIconLeftDirective, typeof i7.TuiTextfieldPrefixDirective, typeof i8.TuiTextfieldPostfixDirective, typeof i9.TuiTextfieldFillerDirective], never, [typeof i1.TuiTextfieldCleanerDirective, typeof i2.TuiTextfieldCustomContentDirective, typeof i3.TuiTextfieldLabelOutsideDirective, typeof i4.TuiTextfieldSizeDirective, typeof i5.TuiTextfieldIconDirective, typeof i6.TuiTextfieldIconLeftDirective, typeof i7.TuiTextfieldPrefixDirective, typeof i8.TuiTextfieldPostfixDirective, typeof i9.TuiTextfieldFillerDirective]>;
11
14
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiTextfieldControllerModule>;
12
15
  }
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { AbstractTuiController } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export declare const TUI_TEXTFIELD_FILLER: InjectionToken<TuiTextfieldFillerDirective>;
5
+ export declare class TuiTextfieldFillerDirective extends AbstractTuiController {
6
+ filler: string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldFillerDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldFillerDirective, "[tuiTextfieldFiller]", never, { "filler": "tuiTextfieldFiller"; }, {}, never>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { AbstractTuiController } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export declare const TUI_TEXTFIELD_POSTFIX: InjectionToken<TuiTextfieldPostfixDirective>;
5
+ export declare class TuiTextfieldPostfixDirective extends AbstractTuiController {
6
+ postfix: string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldPostfixDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldPostfixDirective, "[tuiTextfieldPostfix]", never, { "postfix": "tuiTextfieldPostfix"; }, {}, never>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { AbstractTuiController } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export declare const TUI_TEXTFIELD_PREFIX: InjectionToken<TuiTextfieldPrefixDirective>;
5
+ export declare class TuiTextfieldPrefixDirective extends AbstractTuiController {
6
+ prefix: string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldPrefixDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldPrefixDirective, "[tuiTextfieldPrefix]", never, { "prefix": "tuiTextfieldPrefix"; }, {}, never>;
9
+ }
@@ -4,10 +4,13 @@ import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
4
4
  import { Observable } from 'rxjs';
5
5
  import { TuiTextfieldCleanerDirective } from './textfield-cleaner.directive';
6
6
  import { TuiTextfieldCustomContentDirective } from './textfield-custom-content.directive';
7
+ import { TuiTextfieldFillerDirective } from './textfield-filler.directive';
7
8
  import { TuiTextfieldIconDirective } from './textfield-icon.directive';
8
9
  import { TuiTextfieldIconLeftDirective } from './textfield-icon-left.directive';
9
10
  import { TuiTextfieldLabelOutsideDirective } from './textfield-label-outside.directive';
10
11
  import { TuiTextfieldOptions } from './textfield-options';
12
+ import { TuiTextfieldPostfixDirective } from './textfield-postfix.directive';
13
+ import { TuiTextfieldPrefixDirective } from './textfield-prefix.directive';
11
14
  import { TuiTextfieldSizeDirective } from './textfield-size.directive';
12
15
  export declare class TuiTextfieldController {
13
16
  readonly change$: Observable<void>;
@@ -18,11 +21,17 @@ export declare class TuiTextfieldController {
18
21
  private readonly iconLeftDirective;
19
22
  private readonly labelOutsideDirective;
20
23
  private readonly sizeDirective;
21
- constructor(change$: Observable<void>, options: TuiTextfieldOptions, cleanerDirective: TuiTextfieldCleanerDirective, customContentDirective: TuiTextfieldCustomContentDirective, iconDirective: TuiTextfieldIconDirective, iconLeftDirective: TuiTextfieldIconLeftDirective, labelOutsideDirective: TuiTextfieldLabelOutsideDirective, sizeDirective: TuiTextfieldSizeDirective);
24
+ private readonly prefixDirective;
25
+ private readonly postfixDirective;
26
+ private readonly fillerDirective;
27
+ constructor(change$: Observable<void>, options: TuiTextfieldOptions, cleanerDirective: TuiTextfieldCleanerDirective, customContentDirective: TuiTextfieldCustomContentDirective, iconDirective: TuiTextfieldIconDirective, iconLeftDirective: TuiTextfieldIconLeftDirective, labelOutsideDirective: TuiTextfieldLabelOutsideDirective, sizeDirective: TuiTextfieldSizeDirective, prefixDirective: TuiTextfieldPrefixDirective, postfixDirective: TuiTextfieldPostfixDirective, fillerDirective: TuiTextfieldFillerDirective);
22
28
  get cleaner(): boolean;
23
29
  get customContent(): PolymorpheusContent;
24
30
  get icon(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
25
31
  get iconLeft(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL | TuiSizeS>>;
26
32
  get labelOutside(): boolean;
27
33
  get size(): TuiSizeL | TuiSizeS;
34
+ get prefix(): string;
35
+ get postfix(): string;
36
+ get filler(): string;
28
37
  }
@@ -65,7 +65,7 @@ TuiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", ver
65
65
  TuiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListComponent, selector: "tui-data-list", inputs: { role: "role", emptyContent: "emptyContent", size: "size" }, host: { listeners: { "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)" }, properties: { "attr.role": "this.role", "attr.data-list-size": "this.size" } }, providers: [
66
66
  tuiAsDataListAccessor(TuiDataListComponent),
67
67
  TEXTFIELD_CONTROLLER_PROVIDER,
68
- ], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{--tui-padding: .25rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:var(--tui-padding);color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-list-size=l]{--tui-padding: .375rem}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-data-list[data-list-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-list-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-list-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-padding) .5rem var(--tui-padding);white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-padding);height:1px;background:var(--tui-base-03)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{padding:0 .5rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
68
+ ], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{--tui-data-list-padding: .25rem;--tui-data-list-margin: .0625rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding);color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-list-size=s]{--tui-data-list-margin: 0}tui-data-list[data-list-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-data-list[data-list-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-list-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-list-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem var(--tui-data-list-padding);margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-data-list-padding);height:1px;background:var(--tui-base-03)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{padding:0 .5rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
69
  __decorate([
70
70
  tuiDefaultProp()
71
71
  ], TuiDataListComponent.prototype, "role", void 0);
@@ -47,7 +47,7 @@ export class TuiOptionComponent {
47
47
  }
48
48
  }
49
49
  TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent) }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
50
- TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear-disabled)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem;margin:0}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem;margin:.25rem 0}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem;margin:var(--tui-data-list-margin) 0}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:var(--tui-data-list-margin) 0}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem;margin:var(--tui-data-list-margin) 0}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
51
51
  __decorate([
52
52
  tuiDefaultProp()
53
53
  ], TuiOptionComponent.prototype, "size", void 0);
@@ -34,7 +34,8 @@ export class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
34
34
  this.options = options;
35
35
  this.elementRef = elementRef;
36
36
  this.editable = true;
37
- this.filler = ``;
37
+ /** @deprecated use `tuiTextfieldFiller` from {@link TuiTextfieldControllerModule} instead */
38
+ this.textfieldFiller = ``;
38
39
  /**
39
40
  * @deprecated:
40
41
  * use `tuiTextfieldOptionsProvider({iconCleaner: `tuiIconChevronUp`})`
@@ -43,12 +44,23 @@ export class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
43
44
  this.readOnly = false;
44
45
  this.invalid = false;
45
46
  this.disabled = false;
46
- this.prefix = ``;
47
- this.postfix = ``;
47
+ /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */
48
+ this.textfieldPrefix = ``;
49
+ /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */
50
+ this.textfieldPostfix = ``;
48
51
  this.value = ``;
49
52
  this.valueChange = new EventEmitter();
50
53
  this.autofilled = false;
51
54
  }
55
+ get prefix() {
56
+ return this.textfieldPrefix || this.controller.prefix;
57
+ }
58
+ get postfix() {
59
+ return this.textfieldPostfix || this.controller.postfix;
60
+ }
61
+ get filler() {
62
+ return this.textfieldFiller || this.controller.filler;
63
+ }
52
64
  get nativeFocusableElement() {
53
65
  if (this.computedDisabled || !this.focusableElement) {
54
66
  return null;
@@ -172,7 +184,7 @@ export class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
172
184
  }
173
185
  }
174
186
  TuiPrimitiveTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiPrimitiveTextfieldComponent, deps: [{ token: TUI_MODE }, { token: TUI_TEXTFIELD_APPEARANCE }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: TuiHintOptionsDirective, optional: true }, { token: TUI_TEXTFIELD_OPTIONS }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
175
- TuiPrimitiveTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", filler: "filler", iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", prefix: "prefix", postfix: "postfix", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "$.data-mode.attr": "mode$", "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._autofilled": "autofilled", "class._label-outside": "controller.labelOutside", "class._readonly": "this.readOnly", "attr.data-size": "this.size", "class._invalid": "this.computedInvalid", "class._hidden": "this.inputHidden", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd" } }, providers: [
187
+ TuiPrimitiveTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", textfieldFiller: ["filler", "textfieldFiller"], iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"], value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "$.data-mode.attr": "mode$", "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._autofilled": "autofilled", "class._label-outside": "controller.labelOutside", "class._readonly": "this.readOnly", "attr.data-size": "this.size", "class._invalid": "this.computedInvalid", "class._hidden": "this.inputHidden", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd" } }, providers: [
176
188
  tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
177
189
  TEXTFIELD_CONTROLLER_PROVIDER,
178
190
  MODE_PROVIDER,
@@ -182,7 +194,7 @@ __decorate([
182
194
  ], TuiPrimitiveTextfieldComponent.prototype, "editable", void 0);
183
195
  __decorate([
184
196
  tuiDefaultProp()
185
- ], TuiPrimitiveTextfieldComponent.prototype, "filler", void 0);
197
+ ], TuiPrimitiveTextfieldComponent.prototype, "textfieldFiller", void 0);
186
198
  __decorate([
187
199
  tuiDefaultProp()
188
200
  ], TuiPrimitiveTextfieldComponent.prototype, "iconCleaner", void 0);
@@ -197,10 +209,10 @@ __decorate([
197
209
  ], TuiPrimitiveTextfieldComponent.prototype, "disabled", void 0);
198
210
  __decorate([
199
211
  tuiDefaultProp()
200
- ], TuiPrimitiveTextfieldComponent.prototype, "prefix", void 0);
212
+ ], TuiPrimitiveTextfieldComponent.prototype, "textfieldPrefix", void 0);
201
213
  __decorate([
202
214
  tuiDefaultProp()
203
- ], TuiPrimitiveTextfieldComponent.prototype, "postfix", void 0);
215
+ ], TuiPrimitiveTextfieldComponent.prototype, "textfieldPostfix", void 0);
204
216
  __decorate([
205
217
  tuiDefaultProp()
206
218
  ], TuiPrimitiveTextfieldComponent.prototype, "value", void 0);
@@ -250,8 +262,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
250
262
  args: [`focusableElement`]
251
263
  }], editable: [{
252
264
  type: Input
253
- }], filler: [{
254
- type: Input
265
+ }], textfieldFiller: [{
266
+ type: Input,
267
+ args: [`filler`]
255
268
  }], iconCleaner: [{
256
269
  type: Input
257
270
  }], readOnly: [{
@@ -263,10 +276,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
263
276
  type: Input
264
277
  }], disabled: [{
265
278
  type: Input
266
- }], prefix: [{
267
- type: Input
268
- }], postfix: [{
269
- type: Input
279
+ }], textfieldPrefix: [{
280
+ type: Input,
281
+ args: [`prefix`]
282
+ }], textfieldPostfix: [{
283
+ type: Input,
284
+ args: [`postfix`]
270
285
  }], value: [{
271
286
  type: Input
272
287
  }], valueChange: [{
@@ -296,4 +311,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
296
311
  type: HostListener,
297
312
  args: [`focusout`, [`false`]]
298
313
  }], getIndent$: [] } });
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBRTFCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLGdDQUFnQyxHQUduQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFJbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQWtCM0IsTUFBTSxPQUFPLDhCQUNULFNBQVEsc0JBQXNCO0lBdUQ5QixZQUMrQixLQUF1QyxFQUN2QixVQUFrQixFQUVwRCxVQUFrQyxFQUdsQyxXQUEyQyxFQUUzQyxPQUE0QixFQUNBLFVBQW1DO1FBRXhFLEtBQUssRUFBRSxDQUFDO1FBWG1CLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBQ3ZCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFcEQsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFHbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWdDO1FBRTNDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQ0EsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF6RDVFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFJaEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaOzs7V0FHRztRQUdILGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFLdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWhCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFJakIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUlaLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFJYixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBR0YsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS2xELGVBQVUsR0FBRyxLQUFLLENBQUM7SUFlbkIsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRTlDLE9BQU8sQ0FBQyxhQUFhLENBQUMsc0JBQXNCO1lBQ3hDLGFBQWEsQ0FBNEIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLGVBQWU7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFDSSxXQUFXOztRQUNYLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxDQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTztZQUN2QixJQUFJLENBQUMsUUFBUTtZQUNiLENBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUN0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxVQUFVOztRQUNWLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxPQUFPLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sQ0FDSCxJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxrQkFBa0I7WUFDdkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLGtCQUFrQjs7UUFDbEIsTUFBTSxRQUFRLEdBQ1YsQ0FBQSxNQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsV0FBVyxLQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1RSxNQUFNLFNBQVMsR0FBRyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7UUFFckUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sQ0FDSCxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDekIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ3hELENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxDQUNILElBQUksQ0FBQyxtQkFBbUI7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ2pGLENBQUM7SUFDTixDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNULE9BQU8sWUFBWSxDQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUNsQixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUdmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxJQUFJLElBQUk7O1FBQ0osT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLHNCQUFzQiwwQ0FBRSxZQUFZLE1BQUssUUFBUTtZQUN6RCxDQUFDLENBQUMsY0FBYztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVTs7UUFDVixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLEVBQUUsS0FBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUlELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFHRCxVQUFVLENBQUMsT0FBb0I7UUFDM0IsT0FBTyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFdEMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssc0JBQXNCLEVBQUU7WUFDcEUsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBbUI7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztJQUM5RCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBbUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUNoQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7NEhBclBRLDhCQUE4QixrQkF5RDNCLFFBQVEsYUFDUix3QkFBd0IsYUFDeEIsZ0NBQWdDLGFBR2hDLHVCQUF1Qiw2QkFFdkIscUJBQXFCLGFBRXJCLFVBQVU7Z0hBbEViLDhCQUE4Qix5dUJBWDVCO1FBQ1AsMEJBQTBCLENBQUMsOEJBQThCLENBQUM7UUFDMUQsNkJBQTZCO1FBQzdCLGFBQWE7S0FDaEIsa0RBMERnQiwyQkFBMkIsNkxDL0doRCxrb0lBa0hBO0FEN0NJO0lBREMsY0FBYyxFQUFFO2dFQUNEO0FBSWhCO0lBREMsY0FBYyxFQUFFOzhEQUNMO0FBUVo7SUFEQyxjQUFjLEVBQUU7bUVBQ3NCO0FBS3ZDO0lBREMsY0FBYyxFQUFFO2dFQUNBO0FBSWpCO0lBREMsY0FBYyxFQUFFOytEQUNEO0FBSWhCO0lBREMsY0FBYyxFQUFFO2dFQUNBO0FBSWpCO0lBREMsY0FBYyxFQUFFOzhEQUNMO0FBSVo7SUFEQyxjQUFjLEVBQUU7K0RBQ0o7QUFJYjtJQURDLGNBQWMsRUFBRTs2REFDTjtBQXFKWDtJQURDLE9BQU87Z0VBR1A7NEZBck1RLDhCQUE4QjtrQkFoQjFDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7b0JBQy9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCLGdDQUFnQzt3QkFDMUQsNkJBQTZCO3dCQUM3QixhQUFhO3FCQUNoQjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTzt3QkFDN0IscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsd0JBQXdCLEVBQUUseUJBQXlCO3FCQUN0RDtpQkFDSjs7MEJBMERRLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMvQixNQUFNOzJCQUFDLGdDQUFnQzs7MEJBRXZDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsdUJBQXVCOzswQkFFOUIsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixNQUFNOzJCQUFDLFVBQVU7NENBN0RMLGdCQUFnQjtzQkFEaEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBSzdCLFFBQVE7c0JBRlAsS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7Z0JBVU4sV0FBVztzQkFGVixLQUFLO2dCQU9OLFFBQVE7c0JBSFAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLE9BQU87c0JBRk4sS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLE9BQU87c0JBRk4sS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBS0csV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxPQUFPO3NCQURmLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQW9DN0QsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNekIsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxlQUFlO2dCQXlEeEIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFNbkMsU0FBUztzQkFEWixXQUFXO3VCQUFDLHdCQUF3QjtnQkFpQ3JDLFNBQVM7c0JBRlIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFNbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgVHVpVGV4dGZpZWxkT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy90ZXh0ZmllbGQtY29udHJvbGxlcic7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9NT0RFLCBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlHZXRCb3JkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50LCBQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVByaW1pdGl2ZVRleHRmaWVsZH0gZnJvbSAnLi9wcmltaXRpdmUtdGV4dGZpZWxkLXR5cGVzJztcblxuY29uc3QgSUNPTl9QQURESU5HID0gMS43NTtcbmNvbnN0IElDT05fUEFERElOR19TID0gMS41O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vcHJpbWl0aXZlLXRleHRmaWVsZC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9wcmltaXRpdmUtdGV4dGZpZWxkLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiBgbW9kZSRgLFxuICAgICAgICAnW2NsYXNzLl9hdXRvZmlsbGVkXSc6IGBhdXRvZmlsbGVkYCxcbiAgICAgICAgJ1tjbGFzcy5fbGFiZWwtb3V0c2lkZV0nOiBgY29udHJvbGxlci5sYWJlbE91dHNpZGVgLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpUHJpbWl0aXZlVGV4dGZpZWxkXG57XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlZGl0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsbGVyID0gYGA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZDpcbiAgICAgKiB1c2UgYHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcih7aWNvbkNsZWFuZXI6IGB0dWlJY29uQ2hldnJvblVwYH0pYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQ2xlYW5lciA9IHRoaXMub3B0aW9ucy5pY29uQ2xlYW5lcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fcmVhZG9ubHlgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpbnZhbGlkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWUgPSBgYDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldERpcmVjdGl2ZSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICByZWFkb25seSBjb250ZW50PzogUXVlcnlMaXN0PHVua25vd24+O1xuXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaGludE9wdGlvbnM6IFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVRleHRmaWVsZE9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgIXRoaXMuZm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIChuYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmcgfHxcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQpIGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faW52YWxpZGApXG4gICAgZ2V0IGNvbXB1dGVkSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuaW52YWxpZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9oaWRkZW5gKVxuICAgIGdldCBpbnB1dEhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250ZW50Py5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLmNsZWFuZXIgJiZcbiAgICAgICAgICAgIHRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ3VzdG9tQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jb250cm9sbGVyLmN1c3RvbUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dPbmx5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgICAgICAgICAodGhpcy5zaXplID09PSBgc2AgfHwgKHRoaXMuc2l6ZSA9PT0gYG1gICYmICF0aGlzLnBsYWNlaG9sZGVyUmFpc2FibGUpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGhhc0RlY29yID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8ucGxhY2Vob2xkZXIgfHwgdGhpcy5wcmVmaXggfHwgdGhpcy5wb3N0Zml4O1xuICAgICAgICBjb25zdCBzaG93RGVjb3IgPSBoYXNEZWNvciAmJiAhdGhpcy5yZWFkT25seSAmJiB0aGlzLmNvbXB1dGVkRm9jdXNlZDtcblxuICAgICAgICByZXR1cm4gIXRoaXMuaGFzVmFsdWUgJiYgIXNob3dEZWNvcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5zaG93T25seVBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICAodGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlIHx8IHRoaXMucGxhY2Vob2xkZXJWaXNpYmxlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSAmJlxuICAgICAgICAgICAgKCh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgdGhpcy5oYXNWYWx1ZSB8fCB0aGlzLmF1dG9maWxsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBzdHlsZS4tLWJvcmRlci1zdGFydC5yZW1gKVxuICAgIGdldCBib3JkZXJTdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uTGVmdENvbnRlbnQgPyB0aGlzLmljb25QYWRkaW5nTGVmdCA6IDA7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBzdHlsZS4tLWJvcmRlci1lbmQucmVtYClcbiAgICBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgZ2V0IGljb25MZWZ0Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbkxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYXV0b2NvbXBsZXRlID09PSBgY2MtZXhwYFxuICAgICAgICAgICAgPyBgY2NleHBpcnl5ZWFyYFxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmlkIHx8IGBgO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGZvY3VzaW5gLCBbYHRydWVgXSlcbiAgICBASG9zdExpc3RlbmVyKGBmb2N1c291dGAsIFtgZmFsc2VgXSlcbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRJbmRlbnQkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudChlbGVtZW50LCBgc2Nyb2xsYCkucGlwZShtYXAoKCkgPT4gLTEgKiBlbGVtZW50LnNjcm9sbExlZnQpKTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gYGA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGBgKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBldmVudC50YXJnZXQgPT09IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25BdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGljb25QYWRkaW5nTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSBgc2AgPyBJQ09OX1BBRERJTkdfUyA6IElDT05fUEFERElORztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwbGFjZWhvbGRlclJhaXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplICE9PSBgc2AgJiYgIXRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBdXRvZmlsbGVkKGF1dG9maWxsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZpbGxlZCA9PT0gYXV0b2ZpbGxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gYXV0b2ZpbGxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5jaGFuZ2VzIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoaW50T3B0aW9ucz8uY2hhbmdlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG48ZGl2XG4gICAgdHVpV3JhcHBlclxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fd3JhcHBlclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW2FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW3N0eWxlLi0tdGV4dC1pbmRlbnQucHhdPVwiZGVjb3IucHJlJCB8IGFzeW5jXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgIChjbGljay5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgICh0dWlBdXRvZmlsbGVkQ2hhbmdlKT1cIm9uQXV0b2ZpbGxlZCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzZWxlY3RcIj48L25nLWNvbnRlbnQ+XG4gICAgPGlucHV0XG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR1aU1hc2tBY2Nlc3NvclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX25hdGl2ZS1pbnB1dFwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgIWVkaXRhYmxlXCJcbiAgICAgICAgW3R1aUZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWVcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF90ZW1wbGF0ZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpY29uTGVmdENvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC1pY29uX2xlZnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uTGVmdENvbnRlbnQgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtcGxhY2Vob2xkZXJfcmFpc2VkXT1cInBsYWNlaG9sZGVyUmFpc2VkXCJcbiAgICAgICAgICAgICAgICBbZm9yXT1cImNvbXB1dGVkSWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyLXZhbHVlLWRlY29yYXRpb25cIj5cbiAgICAgICAgICAgICAgICA8dHVpLXZhbHVlLWRlY29yYXRpb25cbiAgICAgICAgICAgICAgICAgICAgI2RlY29yXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWUtZGVjb3JhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZS1kZWNvcmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaGFzLXZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnRleHRJbmRlbnQucHhdPVwiZ2V0SW5kZW50JChmb2N1c2FibGVFbGVtZW50KSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+PC90dWktdmFsdWUtZGVjb3JhdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJoYXNDdXN0b21Db250ZW50XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fY3VzdG9tLWNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWN1c3RvbS1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udHJvbGxlci5jdXN0b21Db250ZW50IGFzIHNyY1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWN1c3RvbS1pY29uXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiaGFzQ2xlYW5lclwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRfX2NsZWFuZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNsZWFuZXJcIlxuICAgICAgICAgICAgKGNsaWNrLnN0b3ApPVwiY2xlYXIoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25DbGVhbmVyIHx8IGNvbnRyb2xsZXIub3B0aW9ucy5pY29uQ2xlYW5lciBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgKm5nSWY9XCJoaW50T3B0aW9ucyAmJiBoaW50T3B0aW9ucy5jb250ZW50ICYmICFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdG9vbHRpcFwiXG4gICAgICAgICAgICBbZGVzY3JpYmVJZF09XCJjb21wdXRlZElkXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cImhpbnRPcHRpb25zLmNvbnRlbnRcIlxuICAgICAgICAgICAgW2RpcmVjdGlvbl09XCJoaW50T3B0aW9ucy5kaXJlY3Rpb25cIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiaGludE9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICBbc2hvd0RlbGF5XT1cImhpbnRPcHRpb25zLnNob3dEZWxheVwiXG4gICAgICAgICAgICBbaGlkZURlbGF5XT1cImhpbnRPcHRpb25zLmhpZGVEZWxheVwiXG4gICAgICAgID48L3R1aS10b29sdGlwPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImljb25Db250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNvbnRlbnQgYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBRTFCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IscUJBQXFCLEVBQ3JCLGdDQUFnQyxHQUduQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsU0FBUyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFB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cG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgVHVpVGV4dGZpZWxkT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy90ZXh0ZmllbGQtY29udHJvbGxlcic7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9NT0RFLCBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlHZXRCb3JkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50LCBQb2x5bW9ycGhldXNPdXRsZXREaXJlY3RpdmV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge2Zyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVByaW1pdGl2ZVRleHRmaWVsZH0gZnJvbSAnLi9wcmltaXRpdmUtdGV4dGZpZWxkLXR5cGVzJztcblxuY29uc3QgSUNPTl9QQURESU5HID0gMS43NTtcbmNvbnN0IElDT05fUEFERElOR19TID0gMS41O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vcHJpbWl0aXZlLXRleHRmaWVsZC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9wcmltaXRpdmUtdGV4dGZpZWxkLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiBgbW9kZSRgLFxuICAgICAgICAnW2NsYXNzLl9hdXRvZmlsbGVkXSc6IGBhdXRvZmlsbGVkYCxcbiAgICAgICAgJ1tjbGFzcy5fbGFiZWwtb3V0c2lkZV0nOiBgY29udHJvbGxlci5sYWJlbE91dHNpZGVgLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpUHJpbWl0aXZlVGV4dGZpZWxkXG57XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlZGl0YWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRGaWxsZXJgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoYGZpbGxlcmApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0ZXh0ZmllbGRGaWxsZXIgPSBgYDtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOlxuICAgICAqIHVzZSBgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtpY29uQ2xlYW5lcjogYHR1aUljb25DaGV2cm9uVXBgfSlgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25DbGVhbmVyID0gdGhpcy5vcHRpb25zLmljb25DbGVhbmVyO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9yZWFkb25seWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGludmFsaWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkUHJlZml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KGBwcmVmaXhgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dGZpZWxkUHJlZml4ID0gYGA7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRQb3N0Zml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KGBwb3N0Zml4YClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRleHRmaWVsZFBvc3RmaXggPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9IGBgO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0RGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHJlYWRvbmx5IGNvbnRlbnQ/OiBRdWVyeUxpc3Q8dW5rbm93bj47XG5cbiAgICBhdXRvZmlsbGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSkgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBoaW50T3B0aW9uczogVHVpSGludE9wdGlvbnNEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogVHVpVGV4dGZpZWxkT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkUHJlZml4IHx8IHRoaXMuY29udHJvbGxlci5wcmVmaXg7XG4gICAgfVxuXG4gICAgZ2V0IHBvc3RmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkUG9zdGZpeCB8fCB0aGlzLmNvbnRyb2xsZXIucG9zdGZpeDtcbiAgICB9XG5cbiAgICBnZXQgZmlsbGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZEZpbGxlciB8fCB0aGlzLmNvbnRyb2xsZXIuZmlsbGVyO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhdGhpcy5mb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICByZXR1cm4gKG5hdGl2ZUVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZyB8fFxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudCkgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc2l6ZWApXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9pbnZhbGlkYClcbiAgICBnZXQgY29tcHV0ZWRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5pbnZhbGlkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2hpZGRlbmApXG4gICAgZ2V0IGlucHV0SGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRlbnQ/Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuY2xlYW5lciAmJlxuICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMuY29tcHV0ZWREaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzVG9vbHRpcCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oaW50T3B0aW9ucz8uY29udGVudCAmJiAhdGhpcy5jb21wdXRlZERpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBoYXNDdXN0b21Db250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNvbnRyb2xsZXIuY3VzdG9tQ29udGVudDtcbiAgICB9XG5cbiAgICBnZXQgc2hvd09ubHlQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCAmJlxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclZpc2libGUgJiZcbiAgICAgICAgICAgICh0aGlzLnNpemUgPT09IGBzYCB8fCAodGhpcy5zaXplID09PSBgbWAgJiYgIXRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaGFzRGVjb3IgPVxuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5wbGFjZWhvbGRlciB8fCB0aGlzLnByZWZpeCB8fCB0aGlzLnBvc3RmaXg7XG4gICAgICAgIGNvbnN0IHNob3dEZWNvciA9IGhhc0RlY29yICYmICF0aGlzLnJlYWRPbmx5ICYmIHRoaXMuY29tcHV0ZWRGb2N1c2VkO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNWYWx1ZSAmJiAhc2hvd0RlY29yO1xuICAgIH1cblxuICAgIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLnNob3dPbmx5UGxhY2Vob2xkZXIgJiZcbiAgICAgICAgICAgICh0aGlzLnBsYWNlaG9sZGVyUmFpc2FibGUgfHwgdGhpcy5wbGFjZWhvbGRlclZpc2libGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlIHx8IHRoaXMuYXV0b2ZpbGxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYHN0eWxlLi0tYm9yZGVyLXN0YXJ0LnJlbWApXG4gICAgZ2V0IGJvcmRlclN0YXJ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmljb25MZWZ0Q29udGVudCA/IHRoaXMuaWNvblBhZGRpbmdMZWZ0IDogMDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYHN0eWxlLi0tYm9yZGVyLWVuZC5yZW1gKVxuICAgIGdldCBib3JkZXJFbmQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aUdldEJvcmRlcihcbiAgICAgICAgICAgICEhdGhpcy5pY29uQ29udGVudCxcbiAgICAgICAgICAgIHRoaXMuaGFzQ2xlYW5lcixcbiAgICAgICAgICAgIHRoaXMuaGFzVG9vbHRpcCxcbiAgICAgICAgICAgIHRoaXMuaGFzQ3VzdG9tQ29udGVudCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZVM+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkxlZnRDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplUz5cbiAgICA+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5pY29uTGVmdDtcbiAgICB9XG5cbiAgICAvLyBTYWZhcmkgZXhwaXJhdGlvbiBkYXRlIGF1dG9maWxsIHdvcmthcm91bmRcbiAgICBnZXQgbmFtZSgpOiAnY2NleHBpcnl5ZWFyJyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50Py5hdXRvY29tcGxldGUgPT09IGBjYy1leHBgXG4gICAgICAgICAgICA/IGBjY2V4cGlyeXllYXJgXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uaWQgfHwgYGA7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgZm9jdXNpbmAsIFtgdHJ1ZWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGZvY3Vzb3V0YCwgW2BmYWxzZWBdKVxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldEluZGVudCQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGVsZW1lbnQsIGBzY3JvbGxgKS5waXBlKG1hcCgoKSA9PiAtMSAqIGVsZW1lbnQuc2Nyb2xsTGVmdCkpO1xuICAgIH1cblxuICAgIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSBgYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoYGApO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8IGV2ZW50LnRhcmdldCA9PT0gbmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uTW9kZWxDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkF1dG9maWxsZWQoYXV0b2ZpbGxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUF1dG9maWxsZWQoYXV0b2ZpbGxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaWNvblBhZGRpbmdMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgPT09IGBzYCA/IElDT05fUEFERElOR19TIDogSUNPTl9QQURESU5HO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBsYWNlaG9sZGVyUmFpc2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgIT09IGBzYCAmJiAhdGhpcy5jb250cm9sbGVyLmxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUF1dG9maWxsZWQoYXV0b2ZpbGxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvZmlsbGVkID09PSBhdXRvZmlsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmF1dG9maWxsZWQgPSBhdXRvZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQ/LmNoYW5nZXMgfCBhc3luY1wiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpbnRPcHRpb25zPy5jaGFuZ2UkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgICB0dWlXcmFwcGVyXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX193cmFwcGVyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbYWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbc3R5bGUuLS10ZXh0LWluZGVudC5weF09XCJkZWNvci5wcmUkIHwgYXN5bmNcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4gICAgKGNsaWNrLnByZXZlbnQuc2lsZW50KT1cIigwKVwiXG4gICAgKHR1aUF1dG9maWxsZWRDaGFuZ2UpPVwib25BdXRvZmlsbGVkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0XCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNlbGVjdFwiPjwvbmctY29udGVudD5cbiAgICA8aW5wdXRcbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgdHVpTWFza0FjY2Vzc29yXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fbmF0aXZlLWlucHV0XCJcbiAgICAgICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSB8fCAhZWRpdGFibGVcIlxuICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImlucHV0SGlkZGVuXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX192YWx1ZVwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dCB0LWlucHV0X3RlbXBsYXRlXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aUNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImljb25MZWZ0Q29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvbiB0LWljb25fbGVmdFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb25MZWZ0Q29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgICAgIFtmb3JdPVwiY29tcHV0ZWRJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXItdmFsdWUtZGVjb3JhdGlvblwiPlxuICAgICAgICAgICAgICAgIDx0dWktdmFsdWUtZGVjb3JhdGlvblxuICAgICAgICAgICAgICAgICAgICAjZGVjb3JcbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX192YWx1ZS1kZWNvcmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXZhbHVlLWRlY29yYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1oYXMtdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUudGV4dEluZGVudC5weF09XCJnZXRJbmRlbnQkKGZvY3VzYWJsZUVsZW1lbnQpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgID48L3R1aS12YWx1ZS1kZWNvcmF0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImhhc0N1c3RvbUNvbnRlbnRcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jdXN0b20tY29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY3VzdG9tLWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250cm9sbGVyLmN1c3RvbUNvbnRlbnQgYXMgc3JjXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY3VzdG9tLWljb25cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJoYXNDbGVhbmVyXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fY2xlYW5lclwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2xlYW5lclwiXG4gICAgICAgICAgICAoY2xpY2suc3RvcCk9XCJjbGVhcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkNsZWFuZXIgfHwgY29udHJvbGxlci5vcHRpb25zLmljb25DbGVhbmVyIGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICAqbmdJZj1cImhpbnRPcHRpb25zICYmIGhpbnRPcHRpb25zLmNvbnRlbnQgJiYgIWNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX190b29sdGlwXCJcbiAgICAgICAgICAgIFtkZXNjcmliZUlkXT1cImNvbXB1dGVkSWRcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGludE9wdGlvbnMuY29udGVudFwiXG4gICAgICAgICAgICBbZGlyZWN0aW9uXT1cImhpbnRPcHRpb25zLmRpcmVjdGlvblwiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJoaW50T3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgIFtzaG93RGVsYXldPVwiaGludE9wdGlvbnMuc2hvd0RlbGF5XCJcbiAgICAgICAgICAgIFtoaWRlRGVsYXldPVwiaGludE9wdGlvbnMuaGlkZURlbGF5XCJcbiAgICAgICAgPjwvdHVpLXRvb2x0aXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaWNvbkNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uQ29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -27,7 +27,7 @@ export class TuiRootComponent {
27
27
  }
28
28
  }
29
29
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_ASSERT_ENABLED }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
30
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.13.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 });
30
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.14.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 });
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
@@ -3,9 +3,12 @@ export * from './textfield-cleaner.directive';
3
3
  export * from './textfield-controller.module';
4
4
  export * from './textfield-controller.provider';
5
5
  export * from './textfield-custom-content.directive';
6
+ export * from './textfield-filler.directive';
6
7
  export * from './textfield-icon.directive';
7
8
  export * from './textfield-icon-left.directive';
8
9
  export * from './textfield-label-outside.directive';
9
10
  export * from './textfield-options';
11
+ export * from './textfield-postfix.directive';
12
+ export * from './textfield-prefix.directive';
10
13
  export * from './textfield-size.directive';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLmNvbnRyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY2xlYW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY29udHJvbGxlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY29udHJvbGxlci5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtaWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtaWNvbi1sZWZ0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1sYWJlbC1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLXNpemUuZGlyZWN0aXZlJztcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLmNvbnRyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY2xlYW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY29udHJvbGxlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtY29udHJvbGxlci5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtZmlsbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1pY29uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1pY29uLWxlZnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLWxhYmVsLW91dHNpZGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtcG9zdGZpeC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0ZmllbGQtcHJlZml4LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1zaXplLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,9 +1,12 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { TuiTextfieldCleanerDirective } from './textfield-cleaner.directive';
3
3
  import { TuiTextfieldCustomContentDirective } from './textfield-custom-content.directive';
4
+ import { TuiTextfieldFillerDirective } from './textfield-filler.directive';
4
5
  import { TuiTextfieldIconDirective } from './textfield-icon.directive';
5
6
  import { TuiTextfieldIconLeftDirective } from './textfield-icon-left.directive';
6
7
  import { TuiTextfieldLabelOutsideDirective } from './textfield-label-outside.directive';
8
+ import { TuiTextfieldPostfixDirective } from './textfield-postfix.directive';
9
+ import { TuiTextfieldPrefixDirective } from './textfield-prefix.directive';
7
10
  import { TuiTextfieldSizeDirective } from './textfield-size.directive';
8
11
  import * as i0 from "@angular/core";
9
12
  export class TuiTextfieldControllerModule {
@@ -14,12 +17,18 @@ TuiTextfieldControllerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.
14
17
  TuiTextfieldLabelOutsideDirective,
15
18
  TuiTextfieldSizeDirective,
16
19
  TuiTextfieldIconDirective,
17
- TuiTextfieldIconLeftDirective], exports: [TuiTextfieldCleanerDirective,
20
+ TuiTextfieldIconLeftDirective,
21
+ TuiTextfieldPrefixDirective,
22
+ TuiTextfieldPostfixDirective,
23
+ TuiTextfieldFillerDirective], exports: [TuiTextfieldCleanerDirective,
18
24
  TuiTextfieldCustomContentDirective,
19
25
  TuiTextfieldLabelOutsideDirective,
20
26
  TuiTextfieldSizeDirective,
21
27
  TuiTextfieldIconDirective,
22
- TuiTextfieldIconLeftDirective] });
28
+ TuiTextfieldIconLeftDirective,
29
+ TuiTextfieldPrefixDirective,
30
+ TuiTextfieldPostfixDirective,
31
+ TuiTextfieldFillerDirective] });
23
32
  TuiTextfieldControllerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldControllerModule });
24
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldControllerModule, decorators: [{
25
34
  type: NgModule,
@@ -31,6 +40,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
31
40
  TuiTextfieldSizeDirective,
32
41
  TuiTextfieldIconDirective,
33
42
  TuiTextfieldIconLeftDirective,
43
+ TuiTextfieldPrefixDirective,
44
+ TuiTextfieldPostfixDirective,
45
+ TuiTextfieldFillerDirective,
34
46
  ],
35
47
  exports: [
36
48
  TuiTextfieldCleanerDirective,
@@ -39,7 +51,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
39
51
  TuiTextfieldSizeDirective,
40
52
  TuiTextfieldIconDirective,
41
53
  TuiTextfieldIconLeftDirective,
54
+ TuiTextfieldPrefixDirective,
55
+ TuiTextfieldPostfixDirective,
56
+ TuiTextfieldFillerDirective,
42
57
  ],
43
58
  }]
44
59
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWNvbnRyb2xsZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3RleHRmaWVsZC1jb250cm9sbGVyL3RleHRmaWVsZC1jb250cm9sbGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOztBQW9CckUsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQWhCakMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qiw2QkFBNkIsYUFHN0IsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7MkhBR3hCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQWxCeEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLGlDQUFpQzt3QkFDakMseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLDZCQUE2QjtxQkFDaEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyxpQ0FBaUM7d0JBQ2pDLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6Qiw2QkFBNkI7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQtY2xlYW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRJY29uRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZEljb25MZWZ0RGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1pY29uLWxlZnQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1sYWJlbC1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZFNpemVEaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLXNpemUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgVHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uTGVmdERpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uTGVmdERpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIHt9XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWNvbnRyb2xsZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3RleHRmaWVsZC1jb250cm9sbGVyL3RleHRmaWVsZC1jb250cm9sbGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOztBQTBCckUsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQXRCakMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QiwyQkFBMkIsYUFHM0IsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxpQ0FBaUM7UUFDakMseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QiwyQkFBMkI7MkhBR3RCLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQXhCeEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLGlDQUFpQzt3QkFDakMseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLDJCQUEyQjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3dCQUNsQyxpQ0FBaUM7d0JBQ2pDLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QiwyQkFBMkI7cUJBQzlCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQtY2xlYW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRGaWxsZXJEaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLWZpbGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRJY29uRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZEljb25MZWZ0RGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1pY29uLWxlZnQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1sYWJlbC1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZFBvc3RmaXhEaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLXBvc3RmaXguZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkUHJlZml4RGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC1wcmVmaXguZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQtc2l6ZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlUZXh0ZmllbGRDbGVhbmVyRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRMYWJlbE91dHNpZGVEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZEljb25EaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZEljb25MZWZ0RGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRQcmVmaXhEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZFBvc3RmaXhEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZEZpbGxlckRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRJY29uTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkUHJlZml4RGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRQb3N0Zml4RGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGRGaWxsZXJEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSB7fVxuIl19
@@ -5,10 +5,13 @@ import { takeUntil } from 'rxjs/operators';
5
5
  import { TuiTextfieldController } from './textfield.controller';
6
6
  import { TUI_TEXTFIELD_CLEANER, } from './textfield-cleaner.directive';
7
7
  import { TUI_TEXTFIELD_CUSTOM_CONTENT, } from './textfield-custom-content.directive';
8
+ import { TUI_TEXTFIELD_FILLER, } from './textfield-filler.directive';
8
9
  import { TUI_TEXTFIELD_ICON } from './textfield-icon.directive';
9
10
  import { TUI_TEXTFIELD_ICON_LEFT, } from './textfield-icon-left.directive';
10
11
  import { TUI_TEXTFIELD_LABEL_OUTSIDE, } from './textfield-label-outside.directive';
11
12
  import { TUI_TEXTFIELD_OPTIONS } from './textfield-options';
13
+ import { TUI_TEXTFIELD_POSTFIX, } from './textfield-postfix.directive';
14
+ import { TUI_TEXTFIELD_PREFIX, } from './textfield-prefix.directive';
12
15
  import { TUI_TEXTFIELD_SIZE } from './textfield-size.directive';
13
16
  export const TUI_TEXTFIELD_WATCHED_CONTROLLER = new InjectionToken(`[TUI_TEXTFIELD_WATCHED_CONTROLLER]: watched textfield controller`);
14
17
  export const TEXTFIELD_CONTROLLER_PROVIDER = [
@@ -25,6 +28,9 @@ export const TEXTFIELD_CONTROLLER_PROVIDER = [
25
28
  TUI_TEXTFIELD_ICON_LEFT,
26
29
  TUI_TEXTFIELD_LABEL_OUTSIDE,
27
30
  TUI_TEXTFIELD_SIZE,
31
+ TUI_TEXTFIELD_PREFIX,
32
+ TUI_TEXTFIELD_POSTFIX,
33
+ TUI_TEXTFIELD_FILLER,
28
34
  ],
29
35
  useFactory: (changeDetectorRef, destroy$, options, ...controllers) => {
30
36
  const change$ = merge(...controllers.map(({ change$ }) => change$ || NEVER)).pipe(tuiWatch(changeDetectorRef), takeUntil(destroy$));
@@ -33,4 +39,4 @@ export const TEXTFIELD_CONTROLLER_PROVIDER = [
33
39
  },
34
40
  },
35
41
  ];
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWNvbnRyb2xsZXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXIvdGV4dGZpZWxkLWNvbnRyb2xsZXIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEdBRXhCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNILDRCQUE0QixHQUUvQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBQyxrQkFBa0IsRUFBNEIsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQ0gsdUJBQXVCLEdBRTFCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUNILDJCQUEyQixHQUU5QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFFekYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQ3pDLElBQUksY0FBYyxDQUNkLGtFQUFrRSxDQUNyRSxDQUFDO0FBRU4sTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWE7SUFDbkQsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdDQUFnQztRQUN6QyxJQUFJLEVBQUU7WUFDRixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLGtCQUFrQjtTQUNyQjtRQUNELFVBQVUsRUFBRSxDQUNSLGlCQUFvQyxFQUNwQyxRQUEwQixFQUMxQixPQUE0QixFQUM1QixHQUFHLFdBT0YsRUFDSCxFQUFFO1lBQ0EsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUNqQixHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQ3RELENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRXpELE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVwQixPQUFPLElBQUksc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpV2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHttZXJnZSwgTkVWRVIsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyfSBmcm9tICcuL3RleHRmaWVsZC5jb250cm9sbGVyJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9DTEVBTkVSLFxuICAgIFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGV4dGZpZWxkLWNsZWFuZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9DVVNUT01fQ09OVEVOVCxcbiAgICBUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlLFxufSBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0lDT04sIFR1aVRleHRmaWVsZEljb25EaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9JQ09OX0xFRlQsXG4gICAgVHVpVGV4dGZpZWxkSWNvbkxlZnREaXJlY3RpdmUsXG59IGZyb20gJy4vdGV4dGZpZWxkLWljb24tbGVmdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX0xBQkVMX09VVFNJREUsXG4gICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxufSBmcm9tICcuL3RleHRmaWVsZC1sYWJlbC1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfT1BUSU9OUywgVHVpVGV4dGZpZWxkT3B0aW9uc30gZnJvbSAnLi90ZXh0ZmllbGQtb3B0aW9ucyc7XG5pbXBvcnQge1RVSV9URVhURklFTERfU0laRSwgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQtc2l6ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlUZXh0ZmllbGRDb250cm9sbGVyPihcbiAgICAgICAgYFtUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUl06IHdhdGNoZWQgdGV4dGZpZWxkIGNvbnRyb2xsZXJgLFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUjogUHJvdmlkZXIgPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfQ0xFQU5FUixcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfQ1VTVE9NX0NPTlRFTlQsXG4gICAgICAgICAgICBUVUlfVEVYVEZJRUxEX0lDT04sXG4gICAgICAgICAgICBUVUlfVEVYVEZJRUxEX0lDT05fTEVGVCxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfTEFCRUxfT1VUU0lERSxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICAgICAgXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgICAgICBvcHRpb25zOiBUdWlUZXh0ZmllbGRPcHRpb25zLFxuICAgICAgICAgICAgLi4uY29udHJvbGxlcnM6IFtcbiAgICAgICAgICAgICAgICBUdWlUZXh0ZmllbGRDbGVhbmVyRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIFR1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgICBUdWlUZXh0ZmllbGRJY29uTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgICBUdWlUZXh0ZmllbGRMYWJlbE91dHNpZGVEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2UkID0gbWVyZ2UoXG4gICAgICAgICAgICAgICAgLi4uY29udHJvbGxlcnMubWFwKCh7Y2hhbmdlJH0pID0+IGNoYW5nZSQgfHwgTkVWRVIpLFxuICAgICAgICAgICAgKS5waXBlKHR1aVdhdGNoKGNoYW5nZURldGVjdG9yUmVmKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSk7XG5cbiAgICAgICAgICAgIGNoYW5nZSQuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgVHVpVGV4dGZpZWxkQ29udHJvbGxlcihjaGFuZ2UkLCBvcHRpb25zLCAuLi5jb250cm9sbGVycyk7XG4gICAgICAgIH0sXG4gICAgfSxcbl07XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWNvbnRyb2xsZXIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXIvdGV4dGZpZWxkLWNvbnRyb2xsZXIucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEdBRXhCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNILDRCQUE0QixHQUUvQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFDSCxvQkFBb0IsR0FFdkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsa0JBQWtCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFDekYsT0FBTyxFQUNILHVCQUF1QixHQUUxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFDSCwyQkFBMkIsR0FFOUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUNILHFCQUFxQixHQUV4QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxvQkFBb0IsR0FFdkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsa0JBQWtCLEVBQTRCLE1BQU0sNEJBQTRCLENBQUM7QUFFekYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQ3pDLElBQUksY0FBYyxDQUNkLGtFQUFrRSxDQUNyRSxDQUFDO0FBRU4sTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWE7SUFDbkQsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdDQUFnQztRQUN6QyxJQUFJLEVBQUU7WUFDRixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsNEJBQTRCO1lBQzVCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLG9CQUFvQjtTQUN2QjtRQUNELFVBQVUsRUFBRSxDQUNSLGlCQUFvQyxFQUNwQyxRQUEwQixFQUMxQixPQUE0QixFQUM1QixHQUFHLFdBVUYsRUFDSCxFQUFFO1lBQ0EsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUNqQixHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQ3RELENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRXpELE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUVwQixPQUFPLElBQUksc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpV2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHttZXJnZSwgTkVWRVIsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyfSBmcm9tICcuL3RleHRmaWVsZC5jb250cm9sbGVyJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9DTEVBTkVSLFxuICAgIFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGV4dGZpZWxkLWNsZWFuZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9DVVNUT01fQ09OVEVOVCxcbiAgICBUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlLFxufSBmcm9tICcuL3RleHRmaWVsZC1jdXN0b20tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX0ZJTExFUixcbiAgICBUdWlUZXh0ZmllbGRGaWxsZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vdGV4dGZpZWxkLWZpbGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0lDT04sIFR1aVRleHRmaWVsZEljb25EaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9JQ09OX0xFRlQsXG4gICAgVHVpVGV4dGZpZWxkSWNvbkxlZnREaXJlY3RpdmUsXG59IGZyb20gJy4vdGV4dGZpZWxkLWljb24tbGVmdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX0xBQkVMX09VVFNJREUsXG4gICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxufSBmcm9tICcuL3RleHRmaWVsZC1sYWJlbC1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfT1BUSU9OUywgVHVpVGV4dGZpZWxkT3B0aW9uc30gZnJvbSAnLi90ZXh0ZmllbGQtb3B0aW9ucyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfUE9TVEZJWCxcbiAgICBUdWlUZXh0ZmllbGRQb3N0Zml4RGlyZWN0aXZlLFxufSBmcm9tICcuL3RleHRmaWVsZC1wb3N0Zml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfUFJFRklYLFxuICAgIFR1aVRleHRmaWVsZFByZWZpeERpcmVjdGl2ZSxcbn0gZnJvbSAnLi90ZXh0ZmllbGQtcHJlZml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfU0laRSwgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQtc2l6ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlUZXh0ZmllbGRDb250cm9sbGVyPihcbiAgICAgICAgYFtUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUl06IHdhdGNoZWQgdGV4dGZpZWxkIGNvbnRyb2xsZXJgLFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUjogUHJvdmlkZXIgPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfQ0xFQU5FUixcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfQ1VTVE9NX0NPTlRFTlQsXG4gICAgICAgICAgICBUVUlfVEVYVEZJRUxEX0lDT04sXG4gICAgICAgICAgICBUVUlfVEVYVEZJRUxEX0lDT05fTEVGVCxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfTEFCRUxfT1VUU0lERSxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICAgICAgICAgIFRVSV9URVhURklFTERfUFJFRklYLFxuICAgICAgICAgICAgVFVJX1RFWFRGSUVMRF9QT1NURklYLFxuICAgICAgICAgICAgVFVJX1RFWFRGSUVMRF9GSUxMRVIsXG4gICAgICAgIF0sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICAgICAgb3B0aW9uczogVHVpVGV4dGZpZWxkT3B0aW9ucyxcbiAgICAgICAgICAgIC4uLmNvbnRyb2xsZXJzOiBbXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkQ2xlYW5lckRpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgICBUdWlUZXh0ZmllbGRDdXN0b21Db250ZW50RGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIFR1aVRleHRmaWVsZEljb25EaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkSWNvbkxlZnREaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkUHJlZml4RGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIFR1aVRleHRmaWVsZFBvc3RmaXhEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgVHVpVGV4dGZpZWxkRmlsbGVyRGlyZWN0aXZlLFxuICAgICAgICAgICAgXVxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZSQgPSBtZXJnZShcbiAgICAgICAgICAgICAgICAuLi5jb250cm9sbGVycy5tYXAoKHtjaGFuZ2UkfSkgPT4gY2hhbmdlJCB8fCBORVZFUiksXG4gICAgICAgICAgICApLnBpcGUodHVpV2F0Y2goY2hhbmdlRGV0ZWN0b3JSZWYpLCB0YWtlVW50aWwoZGVzdHJveSQpKTtcblxuICAgICAgICAgICAgY2hhbmdlJC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBUdWlUZXh0ZmllbGRDb250cm9sbGVyKGNoYW5nZSQsIG9wdGlvbnMsIC4uLmNvbnRyb2xsZXJzKTtcbiAgICAgICAgfSxcbiAgICB9LFxuXTtcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Directive, forwardRef, InjectionToken, Input } from '@angular/core';
2
+ import { AbstractTuiController } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export const TUI_TEXTFIELD_FILLER = new InjectionToken(`[TUI_TEXTFIELD_FILLER]: tuiTextfieldPrefix`, {
5
+ factory: () => new TuiTextfieldFillerDirective(),
6
+ });
7
+ export class TuiTextfieldFillerDirective extends AbstractTuiController {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.filler = ``;
11
+ }
12
+ }
13
+ TuiTextfieldFillerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldFillerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ TuiTextfieldFillerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: { filler: ["tuiTextfieldFiller", "filler"] }, providers: [
15
+ {
16
+ provide: TUI_TEXTFIELD_FILLER,
17
+ useExisting: forwardRef(() => TuiTextfieldFillerDirective),
18
+ },
19
+ ], usesInheritance: true, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldFillerDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: `[tuiTextfieldFiller]`,
24
+ providers: [
25
+ {
26
+ provide: TUI_TEXTFIELD_FILLER,
27
+ useExisting: forwardRef(() => TuiTextfieldFillerDirective),
28
+ },
29
+ ],
30
+ }]
31
+ }], propDecorators: { filler: [{
32
+ type: Input,
33
+ args: [`tuiTextfieldFiller`]
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWZpbGxlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXIvdGV4dGZpZWxkLWZpbGxlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNsRCw0Q0FBNEMsRUFDNUM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSwyQkFBMkIsRUFBRTtDQUNuRCxDQUNKLENBQUM7QUFXRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEscUJBQXFCO0lBVHRFOztRQVdJLFdBQU0sR0FBRyxFQUFFLENBQUM7S0FDZjs7eUhBSFksMkJBQTJCOzZHQUEzQiwyQkFBMkIscUdBUHpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7U0FDN0Q7S0FDSjs0RkFFUSwyQkFBMkI7a0JBVHZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO3lCQUM3RDtxQkFDSjtpQkFDSjs4QkFHRyxNQUFNO3NCQURMLEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIEluamVjdGlvblRva2VuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpQ29udHJvbGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEVYVEZJRUxEX0ZJTExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlUZXh0ZmllbGRGaWxsZXJEaXJlY3RpdmU+KFxuICAgIGBbVFVJX1RFWFRGSUVMRF9GSUxMRVJdOiB0dWlUZXh0ZmllbGRQcmVmaXhgLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gbmV3IFR1aVRleHRmaWVsZEZpbGxlckRpcmVjdGl2ZSgpLFxuICAgIH0sXG4pO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYFt0dWlUZXh0ZmllbGRGaWxsZXJdYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9GSUxMRVIsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlUZXh0ZmllbGRGaWxsZXJEaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZEZpbGxlckRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbGxlciB7XG4gICAgQElucHV0KGB0dWlUZXh0ZmllbGRGaWxsZXJgKVxuICAgIGZpbGxlciA9IGBgO1xufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Directive, forwardRef, InjectionToken, Input } from '@angular/core';
2
+ import { AbstractTuiController } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export const TUI_TEXTFIELD_POSTFIX = new InjectionToken(`[TUI_TEXTFIELD_POSTFIX]: tuiTextfieldPostfix`, {
5
+ factory: () => new TuiTextfieldPostfixDirective(),
6
+ });
7
+ export class TuiTextfieldPostfixDirective extends AbstractTuiController {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.postfix = ``;
11
+ }
12
+ }
13
+ TuiTextfieldPostfixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldPostfixDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ TuiTextfieldPostfixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: { postfix: ["tuiTextfieldPostfix", "postfix"] }, providers: [
15
+ {
16
+ provide: TUI_TEXTFIELD_POSTFIX,
17
+ useExisting: forwardRef(() => TuiTextfieldPostfixDirective),
18
+ },
19
+ ], usesInheritance: true, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldPostfixDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: `[tuiTextfieldPostfix]`,
24
+ providers: [
25
+ {
26
+ provide: TUI_TEXTFIELD_POSTFIX,
27
+ useExisting: forwardRef(() => TuiTextfieldPostfixDirective),
28
+ },
29
+ ],
30
+ }]
31
+ }], propDecorators: { postfix: [{
32
+ type: Input,
33
+ args: [`tuiTextfieldPostfix`]
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLXBvc3RmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3RleHRmaWVsZC1jb250cm9sbGVyL3RleHRmaWVsZC1wb3N0Zml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELDhDQUE4QyxFQUM5QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLDRCQUE0QixFQUFFO0NBQ3BELENBQ0osQ0FBQztBQVdGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxxQkFBcUI7SUFUdkU7O1FBV0ksWUFBTyxHQUFHLEVBQUUsQ0FBQztLQUNoQjs7MEhBSFksNEJBQTRCOzhHQUE1Qiw0QkFBNEIseUdBUDFCO1FBQ1A7WUFDSSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7U0FDOUQ7S0FDSjs0RkFFUSw0QkFBNEI7a0JBVHhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDO3lCQUM5RDtxQkFDSjtpQkFDSjs4QkFHRyxPQUFPO3NCQUROLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIEluamVjdGlvblRva2VuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpQ29udHJvbGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBjb25zdCBUVUlfVEVYVEZJRUxEX1BPU1RGSVggPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpVGV4dGZpZWxkUG9zdGZpeERpcmVjdGl2ZT4oXG4gICAgYFtUVUlfVEVYVEZJRUxEX1BPU1RGSVhdOiB0dWlUZXh0ZmllbGRQb3N0Zml4YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IG5ldyBUdWlUZXh0ZmllbGRQb3N0Zml4RGlyZWN0aXZlKCksXG4gICAgfSxcbik7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3R1aVRleHRmaWVsZFBvc3RmaXhdYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9QT1NURklYLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkUG9zdGZpeERpcmVjdGl2ZSksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkUG9zdGZpeERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbGxlciB7XG4gICAgQElucHV0KGB0dWlUZXh0ZmllbGRQb3N0Zml4YClcbiAgICBwb3N0Zml4ID0gYGA7XG59XG4iXX0=