@taiga-ui/core 3.20.0 → 3.21.0-dev.main-92c5f00

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 (61) hide show
  1. package/abstract/abstract-textfield-host.d.ts +1 -0
  2. package/bundles/taiga-ui-core-abstract.umd.js +7 -0
  3. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-dialog.umd.js +5 -4
  5. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +17 -9
  7. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +4 -23
  9. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +11 -5
  11. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  13. package/bundles/taiga-ui-core-directives-dropdown.umd.js +3 -0
  14. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-tokens.umd.js +5 -0
  16. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-utils-format.umd.js +20 -9
  18. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-utils-mask.umd.js +1 -1
  20. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +1 -1
  22. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  23. package/components/primitive-spin-button/primitive-spin-button.module.d.ts +1 -1
  24. package/components/primitive-textfield/textfield/textfield.component.d.ts +1 -0
  25. package/esm2015/abstract/abstract-textfield-host.js +4 -1
  26. package/esm2015/components/dialog/dialog.component.js +8 -7
  27. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +14 -6
  28. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  29. package/esm2015/components/primitive-spin-button/primitive-spin-button.module.js +5 -24
  30. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +9 -7
  31. package/esm2015/components/root/root.component.js +1 -1
  32. package/esm2015/directives/dropdown/dropdown.component.js +4 -1
  33. package/esm2015/interfaces/textfield-host.js +1 -1
  34. package/esm2015/tokens/number-format.js +5 -1
  35. package/esm2015/utils/format/format-phone.js +4 -4
  36. package/esm2015/utils/mask/create-number-mask.js +2 -2
  37. package/esm2015/utils/miscellaneous/icons-path-factory.js +2 -2
  38. package/fesm2015/taiga-ui-core-abstract.js +3 -0
  39. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  40. package/fesm2015/taiga-ui-core-components-dialog.js +6 -5
  41. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  42. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +13 -5
  43. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  44. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +5 -24
  45. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  46. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +7 -5
  47. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  48. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  49. package/fesm2015/taiga-ui-core-directives-dropdown.js +3 -0
  50. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  51. package/fesm2015/taiga-ui-core-tokens.js +5 -1
  52. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  53. package/fesm2015/taiga-ui-core-utils-format.js +3 -3
  54. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  55. package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
  56. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +1 -1
  58. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  59. package/interfaces/textfield-host.d.ts +1 -0
  60. package/package.json +4 -4
  61. package/tokens/number-format.d.ts +2 -1
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmit
3
3
  import { TuiActiveZoneDirective, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiGetClosestFocusable, tuiIsElement, tuiIsElementEditable, tuiIsHTMLElement, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, } from '@taiga-ui/cdk';
4
4
  import { TuiDropdownDirective, TuiDropdownHoverDirective, } from '@taiga-ui/core/directives/dropdown';
5
5
  import { tuiIsEditingKey } from '@taiga-ui/core/utils/miscellaneous';
6
+ import { shouldCall } from '@tinkoff/ng-event-plugins';
6
7
  import { BehaviorSubject, EMPTY, merge } from 'rxjs';
7
8
  import { distinctUntilChanged, skip } from 'rxjs/operators';
8
9
  import { TuiHostedDropdownConnectorDirective } from './hosted-dropdown-connector.directive';
@@ -11,6 +12,13 @@ import * as i1 from "@taiga-ui/cdk";
11
12
  import * as i2 from "@taiga-ui/core/directives/dropdown";
12
13
  import * as i3 from "@tinkoff/ng-polymorpheus";
13
14
  import * as i4 from "@angular/common";
15
+ function shouldClose({ key }) {
16
+ var _a;
17
+ return (key.toLowerCase() === 'escape' &&
18
+ this.canOpen &&
19
+ this.open &&
20
+ !((_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.nextElementSibling));
21
+ }
14
22
  /* eslint-disable @typescript-eslint/member-ordering */
15
23
  export class TuiHostedDropdownComponent {
16
24
  constructor(hover$, elementRef) {
@@ -73,9 +81,6 @@ export class TuiHostedDropdownComponent {
73
81
  }
74
82
  }
75
83
  onKeyDownEsc(event) {
76
- if (!this.canOpen || !this.open) {
77
- return;
78
- }
79
84
  event.stopPropagation();
80
85
  this.closeDropdown();
81
86
  }
@@ -159,7 +164,7 @@ export class TuiHostedDropdownComponent {
159
164
  }
160
165
  }
161
166
  TuiHostedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHostedDropdownComponent, deps: [{ token: TuiDropdownHoverDirective, optional: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
162
- TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { open$: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "keydown.esc": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
167
+ TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { open$: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "document:keydown.silent": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
168
  __decorate([
164
169
  tuiDefaultProp()
165
170
  ], TuiHostedDropdownComponent.prototype, "content", void 0);
@@ -172,6 +177,9 @@ __decorate([
172
177
  __decorate([
173
178
  tuiDefaultProp()
174
179
  ], TuiHostedDropdownComponent.prototype, "open", null);
180
+ __decorate([
181
+ shouldCall(shouldClose)
182
+ ], TuiHostedDropdownComponent.prototype, "onKeyDownEsc", null);
175
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHostedDropdownComponent, decorators: [{
176
184
  type: Component,
177
185
  args: [{
@@ -225,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
225
233
  args: ['click', ['$event.target']]
226
234
  }], onKeyDownEsc: [{
227
235
  type: HostListener,
228
- args: ['keydown.esc', ['$event']]
236
+ args: ['document:keydown.silent', ['$event']]
229
237
  }], onArrow: [{
230
238
  type: HostListener,
231
239
  args: ['keydown.arrowDown', ['$event', 'true']]
@@ -233,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
233
241
  type: HostListener,
234
242
  args: ['keydown.arrowUp', ['$event', 'false']]
235
243
  }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUUxQixjQUFjLEVBRWQsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiw0QkFBNEIsR0FFL0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQix5QkFBeUIsR0FDNUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBTzFGLHVEQUF1RDtBQVF2RCxNQUFNLE9BQU8sMEJBQTBCO0lBdUNuQyxZQUdxQixNQUF3QyxFQUNw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RUFBRSxVQUFVLEVBQUM7Z0JBSXBELE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFJdkIsaUJBQWlCO3NCQURqQyxTQUFTO3VCQUFDLG9CQUFvQjtnQkFPdEIsVUFBVTtzQkFEbEIsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBS2pDLE9BQU87c0JBRk4sS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sT0FBTztzQkFGTixLQUFLO2dCQUtHLEtBQUs7c0JBRGIsTUFBTTt1QkFBQyxZQUFZO2dCQU9YLGFBQWE7c0JBRHJCLE1BQU07Z0JBY0gsSUFBSTtzQkFGUCxLQUFLO2dCQW9DRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZ0NBQWdDO2dCQVc3QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVExQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVl4QyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVl2QyxPQUFPO3NCQUZOLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDOztzQkFDcEQsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnRFZGl0YWJsZSxcbiAgICB0dWlJc0hUTUxFbGVtZW50LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzTmF0aXZlS2V5Ym9hcmRGb2N1c2FibGUsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHt0dWlJc0VkaXRpbmdLZXl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBza2lwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSG9zdGVkRHJvcGRvd25Db25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vaG9zdGVkLWRyb3Bkb3duLWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUhvc3RlZERyb3Bkb3duQ29udGV4dFxuICAgIGV4dGVuZHMgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPiB7XG4gICAgY2xvc2UoKTogdm9pZDtcbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaG9zdGVkLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hvc3RlZC1kcm9wZG93bi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3Ige1xuICAgIEBDb250ZW50Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db25uZWN0b3JEaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duSG9zdD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnd3JhcHBlcicsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpRHJvcGRvd25EaXJlY3RpdmUpXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkRpcmVjdGl2ZT86IFR1aURyb3Bkb3duRGlyZWN0aXZlO1xuXG4gICAgLyoqIFRPRE86IHJlbmFtZSBpbiA0LjAgKi9cbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBAVmlld0NoaWxkKFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgcmVhZG9ubHkgYWN0aXZlWm9uZSE6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlIb3N0ZWREcm9wZG93bkNvbnRleHQ+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2lkZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYW5PcGVuID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoJ29wZW5DaGFuZ2UnKVxuICAgIHJlYWRvbmx5IG9wZW4kID0gbWVyZ2UodGhpcy5vcGVuQ2hhbmdlLCB0aGlzLmhvdmVyJCB8fCBFTVBUWSkucGlwZShcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZm9jdXNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IGNvbnRleHQhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3ZlciQ6IFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICApIHt9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IG9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9wZW5DaGFuZ2UubmV4dChvcGVuKTtcbiAgICB9XG5cbiAgICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbkNoYW5nZS52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Ib3N0Py5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHxcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGRyb3Bkb3duKCk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25EaXJlY3RpdmU/LmRyb3Bkb3duQm94UmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlS2V5Ym9hcmRGb2N1c2FibGUodGhpcy5ob3N0KVxuICAgICAgICAgICAgPyB0aGlzLmhvc3RcbiAgICAgICAgICAgIDogdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICAgICAgICBpbml0aWFsOiB0aGlzLmhvc3QsXG4gICAgICAgICAgICAgICAgICByb290OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faG9zdGVkX2Ryb3Bkb3duX2ZvY3VzZWQnKVxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5ob3N0KSB8fFxuICAgICAgICAgICAgKHRoaXMub3BlbiAmJlxuICAgICAgICAgICAgICAgICEhdGhpcy53cmFwcGVyICYmXG4gICAgICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkZvY3VzSW4odGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29tcHV0ZWRIb3N0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5ob3N0RWRpdGFibGUgJiZcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRIb3N0LmNvbnRhaW5zKHRhcmdldCkgJiZcbiAgICAgICAgICAgICF0aGlzLmhvdmVyJD8uaG92ZXJlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd25Fc2MoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jYW5PcGVuIHx8ICF0aGlzLm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bicsIFsnJGV2ZW50JywgJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAnLCBbJyRldmVudCcsICdmYWxzZSddKVxuICAgIG9uQXJyb3coZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGRvd246IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0Ryb3Bkb3duKGV2ZW50LCBkb3duKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oe2tleSwgdGFyZ2V0LCBkZWZhdWx0UHJldmVudGVkfTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZGVmYXVsdFByZXZlbnRlZCAmJlxuICAgICAgICAgICAgdHVpSXNFZGl0aW5nS2V5KGtleSkgJiZcbiAgICAgICAgICAgIHRoaXMuaG9zdEVkaXRhYmxlICYmXG4gICAgICAgICAgICB0dWlJc0hUTUxFbGVtZW50KHRhcmdldCkgJiZcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnRFZGl0YWJsZSh0YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0hvc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKCFhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvc3RPYnNjdXJlZChvYnNjdXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAob2JzY3VyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlT3BlbihvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghb3BlbiB8fCB0aGlzLmNhbk9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWFkb25seSBjbG9zZSA9ICgpOiB2b2lkID0+IHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG5cbiAgICBwcml2YXRlIGdldCBob3N0RWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc0VsZW1lbnRFZGl0YWJsZSh0aGlzLmNvbXB1dGVkSG9zdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0Ryb3Bkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBmaXJzdDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFob3N0IHx8XG4gICAgICAgICAgICAhdHVpSXNIVE1MRWxlbWVudChob3N0KSB8fFxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudChldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAhaG9zdC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMud3JhcHBlciB8fFxuICAgICAgICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgICAgICAgIXRoaXMuZHJvcGRvd24gfHxcbiAgICAgICAgICAgICF0dWlJc0hUTUxFbGVtZW50KHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4odHJ1ZSk7XG5cbiAgICAgICAgICAgIGlmICghdHVpSXNFbGVtZW50RWRpdGFibGUoaG9zdCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbml0aWFsID0gZmlyc3RcbiAgICAgICAgICAgID8gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIDogdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtcbiAgICAgICAgICAgIGluaXRpYWwsXG4gICAgICAgICAgICByb290OiB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHByZXZpb3VzOiAhZmlyc3QsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNIb3N0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNIb3N0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBob3N0ID0gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICBob3N0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWRDaGFuZ2UuZW1pdChmb2N1c2VkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aUxldD1cIiEhKG9wZW4kIHwgYXN5bmMpIGFzIGlzT3BlblwiXG4gICAgI2FjdGl2ZVpvbmU9XCJ0dWlBY3RpdmVab25lXCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW3R1aURyb3Bkb3duU2lkZWRdPVwic2lkZWRcIlxuICAgIFt0dWlEcm9wZG93bkhvc3RdPVwiaG9zdFwiXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duXCJcbiAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwiaXNPcGVuICYmIGNhbk9wZW5cIlxuICAgIFt0dWlPYnNjdXJlZEVuYWJsZWRdPVwiaXNPcGVuXCJcbiAgICAodHVpT2JzY3VyZWQpPVwib25Ib3N0T2JzY3VyZWQoJGV2ZW50KVwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgI2Ryb3Bkb3duPVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgW3BvbHltb3JwaGV1c109XCJjb250ZXh0XCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN3cmFwcGVyXG4gICAgICAgICAgICAoa2V5ZG93bi5lc2MpPVwib25LZXlEb3duRXNjKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50IGFzIHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogYWN0aXZlWm9uZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOiBjbG9zZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS1UaGlzIERJViBpcyBoZXJlIHRvIHN0YXJ0IGJhY2t3YXJkcyBUcmVlV2Fsa2VyIGZvciBmb2N1c2luZyBsYXN0IGZvY3VzYWJsZSBpdGVtIG9uIEFycm93VXAtLT5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUUxQixjQUFjLEVBRWQsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiw0QkFBNEIsR0FFL0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQix5QkFBeUIsR0FDNUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUQsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQU8xRixTQUFTLFdBQVcs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OEIsQ0FBQztvQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLDBCQUEwQiw0QkFBNEIsQ0FBQztpQkFDdEU7OzBCQXlDUSxRQUFROzswQkFDUixNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBRWhDLE1BQU07MkJBQUMsVUFBVTs0Q0F6Q0wsWUFBWTtzQkFENUIsWUFBWTt1QkFBQyxtQ0FBbUMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBSXBELE9BQU87c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFJdkIsaUJBQWlCO3NCQURqQyxTQUFTO3VCQUFDLG9CQUFvQjtnQkFPdEIsVUFBVTtzQkFEbEIsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBS2pDLE9BQU87c0JBRk4sS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sT0FBTztzQkFGTixLQUFLO2dCQUtHLEtBQUs7c0JBRGIsTUFBTTt1QkFBQyxZQUFZO2dCQU9YLGFBQWE7c0JBRHJCLE1BQU07Z0JBY0gsSUFBSTtzQkFGUCxLQUFLO2dCQW9DRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZ0NBQWdDO2dCQVc3QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVExQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQWF4QyxZQUFZO3NCQURYLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUW5ELE9BQU87c0JBRk4sWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7O3NCQUNwRCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudEVkaXRhYmxlLFxuICAgIHR1aUlzSFRNTEVsZW1lbnQsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSxcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge3R1aUlzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0aW5rb2ZmL25nLWV2ZW50LXBsdWdpbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIEVNUFRZLCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBza2lwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSG9zdGVkRHJvcGRvd25Db25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vaG9zdGVkLWRyb3Bkb3duLWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUhvc3RlZERyb3Bkb3duQ29udGV4dFxuICAgIGV4dGVuZHMgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPiB7XG4gICAgY2xvc2UoKTogdm9pZDtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2xvc2UodGhpczogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsIHtrZXl9OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAga2V5LnRvTG93ZXJDYXNlKCkgPT09ICdlc2NhcGUnICYmXG4gICAgICAgIHRoaXMuY2FuT3BlbiAmJlxuICAgICAgICB0aGlzLm9wZW4gJiZcbiAgICAgICAgIXRoaXMuZHJvcGRvd24/Lm5leHRFbGVtZW50U2libGluZ1xuICAgICk7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWhvc3RlZC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hvc3RlZC1kcm9wZG93bi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ob3N0ZWQtZHJvcGRvd24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHtcbiAgICBAQ29udGVudENoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29ubmVjdG9yRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3dyYXBwZXInLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3cmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aURyb3Bkb3duRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25EaXJlY3RpdmU/OiBUdWlEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAgIC8qKiBUT0RPOiByZW5hbWUgaW4gNC4wICovXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgQFZpZXdDaGlsZChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGFjdGl2ZVpvbmUhOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpSG9zdGVkRHJvcGRvd25Db250ZXh0PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpZGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FuT3BlbiA9IHRydWU7XG5cbiAgICBAT3V0cHV0KCdvcGVuQ2hhbmdlJylcbiAgICByZWFkb25seSBvcGVuJCA9IG1lcmdlKHRoaXMub3BlbkNoYW5nZSwgdGhpcy5ob3ZlciQgfHwgRU1QVFkpLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGZvY3VzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICByZWFkb25seSBjb250ZXh0ITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXIkOiBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCBvcGVuKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLm5leHQob3Blbik7XG4gICAgfVxuXG4gICAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5DaGFuZ2UudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkhvc3Q/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBkcm9wZG93bigpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duRGlyZWN0aXZlPy5kcm9wZG93bkJveFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlKHRoaXMuaG9zdClcbiAgICAgICAgICAgID8gdGhpcy5ob3N0XG4gICAgICAgICAgICA6IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe1xuICAgICAgICAgICAgICAgICAgaW5pdGlhbDogdGhpcy5ob3N0LFxuICAgICAgICAgICAgICAgICAgcm9vdDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hvc3RlZF9kcm9wZG93bl9mb2N1c2VkJylcbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuaG9zdCkgfHxcbiAgICAgICAgICAgICh0aGlzLm9wZW4gJiZcbiAgICAgICAgICAgICAgICAhIXRoaXMud3JhcHBlciAmJlxuICAgICAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50KSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25Gb2N1c0luKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkSG9zdC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaG9zdEVkaXRhYmxlICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkSG9zdC5jb250YWlucyh0YXJnZXQpICYmXG4gICAgICAgICAgICAhdGhpcy5ob3ZlciQ/LmhvdmVyZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAc2hvdWxkQ2FsbChzaG91bGRDbG9zZSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLnNpbGVudCcsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duRXNjKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24nLCBbJyRldmVudCcsICd0cnVlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwJywgWyckZXZlbnQnLCAnZmFsc2UnXSlcbiAgICBvbkFycm93KGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkb3duOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNEcm9wZG93bihldmVudCwgZG93bik7XG4gICAgfVxuXG4gICAgb25LZXlkb3duKHtrZXksIHRhcmdldCwgZGVmYXVsdFByZXZlbnRlZH06IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWRlZmF1bHRQcmV2ZW50ZWQgJiZcbiAgICAgICAgICAgIHR1aUlzRWRpdGluZ0tleShrZXkpICYmXG4gICAgICAgICAgICB0aGlzLmhvc3RFZGl0YWJsZSAmJlxuICAgICAgICAgICAgdHVpSXNIVE1MRWxlbWVudCh0YXJnZXQpICYmXG4gICAgICAgICAgICAhdHVpSXNFbGVtZW50RWRpdGFibGUodGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNIb3N0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ib3N0T2JzY3VyZWQob2JzY3VyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9ic2N1cmVkKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZU9wZW4ob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIW9wZW4gfHwgdGhpcy5jYW5PcGVuKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgY2xvc2UgPSAoKTogdm9pZCA9PiB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNFbGVtZW50RWRpdGFibGUodGhpcy5jb21wdXRlZEhvc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZmlyc3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaG9zdCB8fFxuICAgICAgICAgICAgIXR1aUlzSFRNTEVsZW1lbnQoaG9zdCkgfHxcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIWhvc3QuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndyYXBwZXIgfHxcbiAgICAgICAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICAgICAgICF0aGlzLmRyb3Bkb3duIHx8XG4gICAgICAgICAgICAhdHVpSXNIVE1MRWxlbWVudCh0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoIXR1aUlzRWxlbWVudEVkaXRhYmxlKGhvc3QpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IGZpcnN0XG4gICAgICAgICAgICA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICBpbml0aWFsLFxuICAgICAgICAgICAgcm9vdDogdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91czogIWZpcnN0LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWZvY3VzYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSG9zdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoaG9zdCkge1xuICAgICAgICAgICAgaG9zdC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkQ2hhbmdlLmVtaXQoZm9jdXNlZCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICp0dWlMZXQ9XCIhIShvcGVuJCB8IGFzeW5jKSBhcyBpc09wZW5cIlxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlEcm9wZG93blNpZGVkXT1cInNpZGVkXCJcbiAgICBbdHVpRHJvcGRvd25Ib3N0XT1cImhvc3RcIlxuICAgIFt0dWlEcm9wZG93bl09XCJkcm9wZG93blwiXG4gICAgW3R1aURyb3Bkb3duTWFudWFsXT1cImlzT3BlbiAmJiBjYW5PcGVuXCJcbiAgICBbdHVpT2JzY3VyZWRFbmFibGVkXT1cImlzT3BlblwiXG4gICAgKHR1aU9ic2N1cmVkKT1cIm9uSG9zdE9ic2N1cmVkKCRldmVudClcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNkcm9wZG93bj1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgIFtwb2x5bW9ycGhldXNdPVwiY29udGV4dFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjd3JhcHBlclxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50IGFzIHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogYWN0aXZlWm9uZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlOiBjbG9zZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS1UaGlzIERJViBpcyBoZXJlIHRvIHN0YXJ0IGJhY2t3YXJkcyBUcmVlV2Fsa2VyIGZvciBmb2N1c2luZyBsYXN0IGZvY3VzYWJsZSBpdGVtIG9uIEFycm93VXAtLT5cbiAgICAgICAgPGRpdj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -45,7 +45,7 @@ export class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {
45
45
  }
46
46
  }
47
47
  TuiPrimitiveSpinButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonComponent, deps: [{ token: TUI_SPIN_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
48
- TuiPrimitiveSpinButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: { disabled: "disabled", mode: "mode", leftDisabled: "leftDisabled", rightDisabled: "rightDisabled" }, outputs: { leftClick: "leftClick", rightClick: "rightClick" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"false\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"false\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-l);text-align:center;font-weight:bold}.t-wrapper{display:flex;align-items:center;justify-content:space-between;outline:none}.t-arrow{margin:0 .25rem}.t-arrow_hidden{visibility:hidden}.t-content{padding:0 .5rem}:host._focus-visible .t-content{box-shadow:0 0 0 1px var(--tui-focus)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i3.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ TuiPrimitiveSpinButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: { disabled: "disabled", mode: "mode", leftDisabled: "leftDisabled", rightDisabled: "rightDisabled" }, outputs: { leftClick: "leftClick", rightClick: "rightClick" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n (focusin)=\"onFocused(true)\"\n (focusout)=\"onFocused(false)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-l);text-align:center;font-weight:bold}.t-wrapper{display:flex;align-items:center;justify-content:space-between;outline:none}.t-arrow{margin:0 .25rem}.t-arrow_hidden{visibility:hidden}.t-content{padding:0 .5rem}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
49
  __decorate([
50
50
  tuiDefaultProp()
51
51
  ], TuiPrimitiveSpinButtonComponent.prototype, "disabled", void 0);
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
85
85
  }], rightClick: [{
86
86
  type: Output
87
87
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXNwaW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVNyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsc0JBQXNCO0lBMEJ2RSxZQUNxQyxVQUF3QztRQUV6RSxLQUFLLEVBQUUsQ0FBQztRQUZ5QixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQXJCN0UsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixTQUFJLHFCQUFxQztRQUl6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUdiLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTS9DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFlBQXFCO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs2SEE5RFEsK0JBQStCLGtCQTJCNUIsY0FBYztpSEEzQmpCLCtCQUErQix5V0NyQjVDLCt2Q0F5Q0E7QURkSTtJQURDLGNBQWMsRUFBRTtpRUFDQTtBQUlqQjtJQURDLGNBQWMsRUFBRTs2REFDd0I7QUFJekM7SUFEQyxjQUFjLEVBQUU7cUVBQ0k7QUFJckI7SUFEQyxjQUFjLEVBQUU7c0VBQ0s7NEZBbEJiLCtCQUErQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ3BEOzswQkE0QlEsTUFBTTsyQkFBQyxjQUFjOzRDQXpCVCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVM7Z0JBS3BCLFFBQVE7c0JBRlAsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sWUFBWTtzQkFGWCxLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSztnQkFLRyxTQUFTO3NCQURqQixNQUFNO2dCQUlFLFVBQVU7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmUsIHR1aURlZmF1bHRQcm9wLCB0dWlJc05hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1RVSV9TUElOX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByaW1pdGl2ZS1zcGluLWJ1dHRvbi5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVNwaW5CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlIHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vZGU6IFR1aUFwcGVhcmFuY2UgPSBUdWlBcHBlYXJhbmNlLkZsYXQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGVmdERpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmlnaHREaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgbGVmdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmlnaHRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9TUElOX1RFWFRTKSByZWFkb25seSBzcGluVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLndyYXBwZXIgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbGVmdENvbXB1dGVkRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgdGhpcy5sZWZ0RGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHJpZ2h0Q29tcHV0ZWREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJpZ2h0RGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgb25MZWZ0Q2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sZWZ0Q29tcHV0ZWREaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Q2xpY2suZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SaWdodENsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmlnaHRDb21wdXRlZERpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2suZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGUpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAqbmdJZj1cInNwaW5UZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiXG4gICAgI3dyYXBwZXJcbiAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICh0dWlGb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAodHVpRm9jdXNWaXNpYmxlQ2hhbmdlKT1cIm9uRm9jdXNWaXNpYmxlKCRldmVudClcIlxuICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJvbkxlZnRDbGljaygpXCJcbiAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uUmlnaHRDbGljaygpXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1zcGluLWJ1dHRvbl9fbGVmdFwiXG4gICAgICAgIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRMYXJnZVwiXG4gICAgICAgIGNsYXNzPVwidC1hcnJvd1wiXG4gICAgICAgIFtjbGFzcy50LWFycm93X2hpZGRlbl09XCJsZWZ0Q29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCJ0ZXh0c1swXVwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAoY2xpY2spPVwib25MZWZ0Q2xpY2soKVwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwidC1jb250ZW50IHQtY2FsZW5kYXItdGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1zcGluLWJ1dHRvbl9fcmlnaHRcIlxuICAgICAgICBpY29uPVwidHVpSWNvbkNoZXZyb25SaWdodExhcmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWFycm93XCJcbiAgICAgICAgW2NsYXNzLnQtYXJyb3dfaGlkZGVuXT1cInJpZ2h0Q29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAoY2xpY2spPVwib25SaWdodENsaWNrKClcIlxuICAgID48L2J1dHRvbj5cbjwvZGl2PlxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXNwaW4tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQVNyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsc0JBQXNCO0lBMEJ2RSxZQUNxQyxVQUF3QztRQUV6RSxLQUFLLEVBQUUsQ0FBQztRQUZ5QixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQXJCN0UsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixTQUFJLHFCQUFxQztRQUl6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUdiLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTS9DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFlBQXFCO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs2SEE5RFEsK0JBQStCLGtCQTJCNUIsY0FBYztpSEEzQmpCLCtCQUErQix5V0NyQjVDLCtzQ0F3Q0E7QURiSTtJQURDLGNBQWMsRUFBRTtpRUFDQTtBQUlqQjtJQURDLGNBQWMsRUFBRTs2REFDd0I7QUFJekM7SUFEQyxjQUFjLEVBQUU7cUVBQ0k7QUFJckI7SUFEQyxjQUFjLEVBQUU7c0VBQ0s7NEZBbEJiLCtCQUErQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ3BEOzswQkE0QlEsTUFBTTsyQkFBQyxjQUFjOzRDQXpCVCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVM7Z0JBS3BCLFFBQVE7c0JBRlAsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sWUFBWTtzQkFGWCxLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSztnQkFLRyxTQUFTO3NCQURqQixNQUFNO2dCQUlFLFVBQVU7c0JBRGxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmUsIHR1aURlZmF1bHRQcm9wLCB0dWlJc05hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1RVSV9TUElOX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ByaW1pdGl2ZS1zcGluLWJ1dHRvbi5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVNwaW5CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlIHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vZGU6IFR1aUFwcGVhcmFuY2UgPSBUdWlBcHBlYXJhbmNlLkZsYXQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGVmdERpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmlnaHREaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgbGVmdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmlnaHRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9TUElOX1RFWFRTKSByZWFkb25seSBzcGluVGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLndyYXBwZXIgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbGVmdENvbXB1dGVkRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgdGhpcy5sZWZ0RGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHJpZ2h0Q29tcHV0ZWREaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCB0aGlzLnJpZ2h0RGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgb25MZWZ0Q2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sZWZ0Q29tcHV0ZWREaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5sZWZ0Q2xpY2suZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SaWdodENsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmlnaHRDb21wdXRlZERpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2suZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGUpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAqbmdJZj1cInNwaW5UZXh0cyQgfCBhc3luYyBhcyB0ZXh0c1wiXG4gICAgI3dyYXBwZXJcbiAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIChmb2N1c2luKT1cIm9uRm9jdXNlZCh0cnVlKVwiXG4gICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNlZChmYWxzZSlcIlxuICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJvbkxlZnRDbGljaygpXCJcbiAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uUmlnaHRDbGljaygpXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1zcGluLWJ1dHRvbl9fbGVmdFwiXG4gICAgICAgIGljb249XCJ0dWlJY29uQ2hldnJvbkxlZnRMYXJnZVwiXG4gICAgICAgIGNsYXNzPVwidC1hcnJvd1wiXG4gICAgICAgIFtjbGFzcy50LWFycm93X2hpZGRlbl09XCJsZWZ0Q29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCJ0ZXh0c1swXVwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICAoY2xpY2spPVwib25MZWZ0Q2xpY2soKVwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwidC1jb250ZW50IHQtY2FsZW5kYXItdGl0bGVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1zcGluLWJ1dHRvbl9fcmlnaHRcIlxuICAgICAgICBpY29uPVwidHVpSWNvbkNoZXZyb25SaWdodExhcmdlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWFycm93XCJcbiAgICAgICAgW2NsYXNzLnQtYXJyb3dfaGlkZGVuXT1cInJpZ2h0Q29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgIFtmb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICAoY2xpY2spPVwib25SaWdodENsaWNrKClcIlxuICAgID48L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,39 +1,20 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { TuiFocusableModule, TuiFocusedModule, TuiFocusVisibleModule, TuiPreventDefaultModule, } from '@taiga-ui/cdk';
3
+ import { TuiPreventDefaultModule } from '@taiga-ui/cdk';
4
4
  import { TuiButtonModule } from '@taiga-ui/core/components/button';
5
5
  import { TuiPrimitiveSpinButtonComponent } from './primitive-spin-button.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class TuiPrimitiveSpinButtonModule {
8
8
  }
9
9
  TuiPrimitiveSpinButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- TuiPrimitiveSpinButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, declarations: [TuiPrimitiveSpinButtonComponent], imports: [CommonModule,
11
- TuiFocusVisibleModule,
12
- TuiFocusedModule,
13
- TuiFocusableModule,
14
- TuiPreventDefaultModule,
15
- TuiButtonModule], exports: [TuiPrimitiveSpinButtonComponent] });
16
- TuiPrimitiveSpinButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, imports: [[
17
- CommonModule,
18
- TuiFocusVisibleModule,
19
- TuiFocusedModule,
20
- TuiFocusableModule,
21
- TuiPreventDefaultModule,
22
- TuiButtonModule,
23
- ]] });
10
+ TuiPrimitiveSpinButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, declarations: [TuiPrimitiveSpinButtonComponent], imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule], exports: [TuiPrimitiveSpinButtonComponent] });
11
+ TuiPrimitiveSpinButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, imports: [[CommonModule, TuiPreventDefaultModule, TuiButtonModule]] });
24
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, decorators: [{
25
13
  type: NgModule,
26
14
  args: [{
27
- imports: [
28
- CommonModule,
29
- TuiFocusVisibleModule,
30
- TuiFocusedModule,
31
- TuiFocusableModule,
32
- TuiPreventDefaultModule,
33
- TuiButtonModule,
34
- ],
15
+ imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule],
35
16
  declarations: [TuiPrimitiveSpinButtonComponent],
36
17
  exports: [TuiPrimitiveSpinButtonComponent],
37
18
  }]
38
19
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXNwaW4tYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsdUJBQXVCLEdBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFjbEYsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQUh0QiwrQkFBK0IsYUFQMUMsWUFBWTtRQUNaLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixlQUFlLGFBR1QsK0JBQStCOzJIQUVoQyw0QkFBNEIsWUFYNUI7WUFDTCxZQUFZO1lBQ1oscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLGVBQWU7U0FDbEI7NEZBSVEsNEJBQTRCO2tCQVp4QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsZUFBZTtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQy9DLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICBUdWlQcmV2ZW50RGVmYXVsdE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUJ1dHRvbk1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuXG5pbXBvcnQge1R1aVByaW1pdGl2ZVNwaW5CdXR0b25Db21wb25lbnR9IGZyb20gJy4vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNlZE1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlQcmV2ZW50RGVmYXVsdE1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpUHJpbWl0aXZlU3BpbkJ1dHRvbkNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1R1aVByaW1pdGl2ZVNwaW5CdXR0b25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVTcGluQnV0dG9uTW9kdWxlIHt9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXNwaW4tYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtc3Bpbi1idXR0b24vcHJpbWl0aXZlLXNwaW4tYnV0dG9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOztBQU9sRixNQUFNLE9BQU8sNEJBQTRCOzswSEFBNUIsNEJBQTRCOzJIQUE1Qiw0QkFBNEIsaUJBSHRCLCtCQUErQixhQURwQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxhQUV0RCwrQkFBK0I7MkhBRWhDLDRCQUE0QixZQUo1QixDQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxlQUFlLENBQUM7NEZBSXhELDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxDQUFDO29CQUNqRSxZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUHJldmVudERlZmF1bHRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlCdXR0b25Nb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcblxuaW1wb3J0IHtUdWlQcmltaXRpdmVTcGluQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL3ByaW1pdGl2ZS1zcGluLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aVByZXZlbnREZWZhdWx0TW9kdWxlLCBUdWlCdXR0b25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aVByaW1pdGl2ZVNwaW5CdXR0b25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlQcmltaXRpdmVTcGluQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlU3BpbkJ1dHRvbk1vZHVsZSB7fVxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, Inject } from '@angular/core';
2
2
  import { TuiIdService } from '@taiga-ui/cdk';
3
3
  import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_WATCHED_CONTROLLER, } from '@taiga-ui/core/directives';
4
4
  import { TUI_TEXTFIELD_HOST } from '@taiga-ui/core/tokens';
@@ -16,9 +16,12 @@ export class TuiTextfieldComponent {
16
16
  get id() {
17
17
  return this.elementRef.nativeElement.id || this.idService.generate();
18
18
  }
19
+ get inputMode() {
20
+ return this.elementRef.nativeElement.inputMode || this.host.inputMode;
21
+ }
19
22
  }
20
23
  TuiTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldComponent, deps: [{ token: TUI_TEXTFIELD_HOST }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: ElementRef }, { token: TuiIdService }], target: i0.ɵɵFactoryTarget.Component });
21
- TuiTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]", host: { attributes: { "type": "text" }, listeners: { "input": "host.onValueChange($event.target.value)" }, properties: { "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value", "id": "this.id" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER], ngImport: i0, template: '', isInline: true, styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] :host:-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:hover,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"])::-ms-input-placeholder,:host :host-context(tui-text-area[data-mode=\"onDark\"])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"])::placeholder,:host :host-context(tui-text-area[data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::placeholder{opacity:1}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}textarea:host{white-space:normal}textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ TuiTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]", host: { attributes: { "type": "text" }, listeners: { "input": "host.onValueChange($event.target.value)" }, properties: { "attr.id": "id", "attr.inputMode": "inputMode", "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER], ngImport: i0, template: '', isInline: true, styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] :host:-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:hover,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,:host :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"])::-ms-input-placeholder,:host :host-context(tui-text-area[data-mode=\"onDark\"])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=\"onDark\"])::placeholder,:host :host-context(tui-text-area[data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::placeholder{opacity:1}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
23
26
  type: Component,
24
27
  args: [{
@@ -27,6 +30,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
27
30
  providers: [TEXTFIELD_CONTROLLER_PROVIDER],
28
31
  host: {
29
32
  type: 'text',
33
+ '[attr.id]': 'id',
34
+ '[attr.inputMode]': 'inputMode',
30
35
  '[attr.aria-invalid]': 'host.invalid',
31
36
  '[attr.disabled]': 'host.disabled || null',
32
37
  '[tabIndex]': 'host.focusable ? 0 : -1',
@@ -49,8 +54,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
49
54
  }] }, { type: i2.TuiIdService, decorators: [{
50
55
  type: Inject,
51
56
  args: [TuiIdService]
52
- }] }]; }, propDecorators: { id: [{
53
- type: HostBinding,
54
- args: ['id']
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FFbkMsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQWtCekQsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUN5QyxJQUFzQixFQUVsRCxVQUFrQyxFQUNOLFVBQXdDLEVBRTVELFNBQXVCO1FBTEgsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFFbEQsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDTixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUU1RCxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRXhDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQ0ksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekUsQ0FBQzs7bUhBZlEscUJBQXFCLGtCQUVsQixrQkFBa0IsYUFDbEIsZ0NBQWdDLGFBRWhDLFVBQVUsYUFDVixZQUFZO3VHQU5mLHFCQUFxQiw4WEFibkIsQ0FBQyw2QkFBNkIsQ0FBQywwQkFEaEMsRUFBRTs0RkFjSCxxQkFBcUI7a0JBaEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE1BQU07d0JBQ1oscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMsaUJBQWlCLEVBQUUsdUJBQXVCO3dCQUMxQyxZQUFZLEVBQUUseUJBQXlCO3dCQUN2QyxZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLFlBQVk7d0JBQ3ZCLFNBQVMsRUFBRSx5Q0FBeUM7cUJBQ3ZEO29CQUNELFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQUdRLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQyxnQ0FBZ0M7OzBCQUV2QyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLFlBQVk7NENBT3BCLEVBQUU7c0JBREwsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlUZXh0ZmllbGRdLCB0ZXh0YXJlYVt0dWlUZXh0ZmllbGRdJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcHJvdmlkZXJzOiBbVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdob3N0LmludmFsaWQnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2hvc3QuZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICdbdGFiSW5kZXhdJzogJ2hvc3QuZm9jdXNhYmxlID8gMCA6IC0xJyxcbiAgICAgICAgJ1tyZWFkT25seV0nOiAnaG9zdC5yZWFkT25seScsXG4gICAgICAgICdbdmFsdWVdJzogJ2hvc3QudmFsdWUnLFxuICAgICAgICAnKGlucHV0KSc6ICdob3N0Lm9uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgIH0sXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGZpZWxkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0hPU1QpIHJlYWRvbmx5IGhvc3Q6IFR1aVRleHRmaWVsZEhvc3QsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUlkU2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpZFNlcnZpY2U6IFR1aUlkU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5ob3N0LnByb2Nlc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnaWQnKVxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaWQgfHwgdGhpcy5pZFNlcnZpY2UuZ2VuZXJhdGUoKTtcbiAgICB9XG59XG4iXX0=
57
+ }] }]; } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3RleHRmaWVsZC90ZXh0ZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEdBRW5DLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQnpELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFDeUMsSUFBc0IsRUFFbEQsVUFBa0MsRUFDTixVQUF3QyxFQUU1RCxTQUF1QjtRQUxILFNBQUksR0FBSixJQUFJLENBQWtCO1FBRWxELGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ04sZUFBVSxHQUFWLFVBQVUsQ0FBOEI7UUFFNUQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDOzttSEFsQlEscUJBQXFCLGtCQUVsQixrQkFBa0IsYUFDbEIsZ0NBQWdDLGFBRWhDLFVBQVUsYUFDVixZQUFZO3VHQU5mLHFCQUFxQiw2WkFmbkIsQ0FBQyw2QkFBNkIsQ0FBQywwQkFEaEMsRUFBRTs0RkFnQkgscUJBQXFCO2tCQWxCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkNBQTZDO29CQUN2RCxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDMUMsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxNQUFNO3dCQUNaLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyxpQkFBaUIsRUFBRSx1QkFBdUI7d0JBQzFDLFlBQVksRUFBRSx5QkFBeUI7d0JBQ3ZDLFlBQVksRUFBRSxlQUFlO3dCQUM3QixTQUFTLEVBQUUsWUFBWTt3QkFDdkIsU0FBUyxFQUFFLHlDQUF5QztxQkFDdkQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBR1EsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLGdDQUFnQzs7MEJBRXZDLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpSWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1R1aVRleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpVGV4dGZpZWxkXSwgdGV4dGFyZWFbdHVpVGV4dGZpZWxkXScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHByb3ZpZGVyczogW1RFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5pbnB1dE1vZGVdJzogJ2lucHV0TW9kZScsXG4gICAgICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2hvc3QuaW52YWxpZCcsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnaG9zdC5kaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1t0YWJJbmRleF0nOiAnaG9zdC5mb2N1c2FibGUgPyAwIDogLTEnLFxuICAgICAgICAnW3JlYWRPbmx5XSc6ICdob3N0LnJlYWRPbmx5JyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAnaG9zdC52YWx1ZScsXG4gICAgICAgICcoaW5wdXQpJzogJ2hvc3Qub25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgfSxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0ZmllbGQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfSE9TVCkgcmVhZG9ubHkgaG9zdDogVHVpVGV4dGZpZWxkSG9zdCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlkU2VydmljZTogVHVpSWRTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmhvc3QucHJvY2Vzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlucHV0TW9kZSB8fCB0aGlzLmhvc3QuaW5wdXRNb2RlO1xuICAgIH1cbn1cbiJdfQ==
@@ -27,7 +27,7 @@ export class TuiRootComponent {
27
27
  }
28
28
  }
29
29
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.20.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.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.21.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.17", ngImport: i0, type: TuiRootComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
@@ -89,6 +89,9 @@ export class TuiDropdownComponent {
89
89
  break;
90
90
  case 'fixed':
91
91
  style.width = tuiPx(rect.width);
92
+ break;
93
+ case 'auto':
94
+ break;
92
95
  }
93
96
  }
94
97
  moveFocusOutside(previous) {
@@ -164,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
164
167
  type: HostBinding,
165
168
  args: ['@tuiDropdownAnimation']
166
169
  }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUVOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBRXRGOzs7O0dBSUc7QUFnQkgsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUNnQyxTQUErQixFQUN4QixRQUEwQixFQUN0QixTQUErQixFQUNqQyxVQUFtQyxFQUV2RCxJQUFvQyxFQUNYLFFBQXlCLEVBQ2xDLFNBQWlCLEVBRWpDLGdCQUFrQyxFQUNKLE9BQTJCLEVBR3pELGNBQWdEO1FBWDFCLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRXZELFNBQUksR0FBSixJQUFJLENBQWdDO1FBQ1gsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUVqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ0osWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFHekQsbUJBQWMsR0FBZCxjQUFjLENBQWtDO1FBbkI1RCxzQkFBaUIsbUJBQ3RCLEtBQUssaUNBQ0YsSUFBSSxDQUFDLGdCQUFnQixFQUMxQjtRQWtCRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNwQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdEUsTUFBTSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLE1BQU0sRUFBQyxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFFM0QsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUNmLElBQUksSUFBSSxPQUFPLENBQUM7UUFFaEIsTUFBTSxjQUFjLEdBQ2hCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxjQUFjO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNO1lBQ3ZCLENBQUMsQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFFM0MsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDZixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEVBQUMsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVsQyxRQUFRLFVBQVUsRUFBRTtZQUNoQixLQUFLLEtBQUs7Z0JBQ04sS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxNQUFNO1lBQ1YsS0FBSyxPQUFPO2dCQUNSLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUN0QyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDbEQsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNoRSxJQUFJLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFFakYsT0FBTyxTQUFTLEtBQUssSUFBSSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUQsU0FBUyxHQUFHLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztTQUM1RTtRQUVELFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOztrSEF2R1Esb0JBQW9CLGtCQVFqQixrQkFBa0IsYUFDVixpQkFBaUIseUJBQ3pCLG9CQUFvQixhQUNwQixVQUFVLGFBQ1YsOEJBQThCLGFBRTlCLGVBQWUsYUFDZixNQUFNLGFBQ04scUJBQXFCLGFBRXJCLG9CQUFvQixhQUVwQix5QkFBeUI7c0dBcEI1QixvQkFBb0Isb0hBWGxCO1FBQ1AsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixzQkFBc0IsQ0FBQyxVQUFVLENBQUM7UUFDbEMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDO0tBQ3ZELDBCQ25ETCxpcEJBeUJBLCswQ0QyQmdCLENBQUMsb0JBQW9CLENBQUM7NEZBS3pCLG9CQUFvQjtrQkFmaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3BDLFNBQVMsRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsc0JBQXNCLENBQUMsVUFBVSxDQUFDO3dCQUNsQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7cUJBQ3ZEO29CQUNELFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNsQyxvQkFBb0I7b0JBQ3BCLHFGQUFxRjtvQkFDckYsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87aUJBQ25EOzswQkFTUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDaEMsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsZUFBZTs4QkFDcUIsTUFBTTswQkFBakQsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyx5QkFBeUI7NENBbEI1QixpQkFBaUI7c0JBRHpCLFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25PcHRpb25zfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpUHgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yLFxuICAgIFR1aVJlY3RBY2Nlc3NvcixcbiAgICB0dWlSZWN0QWNjZXNzb3JGb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7dHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUdWlQb3NpdGlvblNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0RST1BET1dOX09QVElPTlMsIFR1aURyb3Bkb3duT3B0aW9uc30gZnJvbSAnLi9kcm9wZG93bi1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uOlxuICogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBzaG93IHRlbXBsYXRlIGluIGEgcG9ydGFsXG4gKiB1c2luZyBkZWZhdWx0IHN0eWxlIG9mIHdoaXRlIHJvdW5kZWQgYm94IHdpdGggYSBzaGFkb3dcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlQb3NpdGlvblNlcnZpY2UsXG4gICAgICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJyksXG4gICAgICAgIHR1aVJlY3RBY2Nlc3NvckZvcignZHJvcGRvd24nLCBUdWlEcm9wZG93bkRpcmVjdGl2ZSksXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRHJvcGRvd25BbmltYXRpb25dLFxuICAgIC8vIEBiYWQgVE9ETzogT25QdXNoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBIb3N0QmluZGluZygnQHR1aURyb3Bkb3duQW5pbWF0aW9uJylcbiAgICByZWFkb25seSBkcm9wZG93bkFuaW1hdGlvbiA9IHtcbiAgICAgICAgdmFsdWU6IFR1aURyb3Bkb3duQW5pbWF0aW9uLkZhZGVJblRvcCxcbiAgICAgICAgLi4udGhpcy5hbmltYXRpb25PcHRpb25zLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpIHBvc2l0aW9uJDogT2JzZXJ2YWJsZTxUdWlQb2ludD4sXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uT3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3ZlckRpcmVjdGl2ZTogVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHBvc2l0aW9uJC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHRvcCwgbGVmdCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkhvdmVyZWRDaGFuZ2UoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRGlyZWN0aXZlLnRvZ2dsZShob3ZlcmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7cmlnaHR9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHttYXhIZWlnaHQsIG9mZnNldH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodH0gPSB0aGlzLndpbmRvd1JlZjtcbiAgICAgICAgY29uc3Qge2NsaWVudFJlY3R9ID0gdGhpcy5ob3N0O1xuICAgICAgICBjb25zdCB7cG9zaXRpb259ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IC1jbGllbnRSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtY2xpZW50UmVjdC50b3A7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBpc0ludGVyc2VjdGluZyA9XG4gICAgICAgICAgICBsZWZ0IDwgcmVjdC5yaWdodCAmJiByaWdodCA+IHJlY3QubGVmdCAmJiB0b3AgPCBvZmZzZXRZICsgMiAqIG9mZnNldDtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gaXNJbnRlcnNlY3RpbmdcbiAgICAgICAgICAgID8gcmVjdC50b3AgLSAyICogb2Zmc2V0XG4gICAgICAgICAgICA6IG9mZnNldFkgKyBpbm5lckhlaWdodCAtIHRvcCAtIG9mZnNldDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBzdHlsZS50b3AgPSB0dWlQeChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQpO1xuICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSB0dWlQeChNYXRoLm1pbihtYXhIZWlnaHQsIGF2YWlsYWJsZSkpO1xuICAgICAgICBzdHlsZS53aWR0aCA9ICcnO1xuICAgICAgICBzdHlsZS5taW5XaWR0aCA9ICcnO1xuXG4gICAgICAgIHRoaXMudXBkYXRlV2lkdGgoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdpZHRoKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge2xpbWl0V2lkdGh9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgICAgIHN3aXRjaCAobGltaXRXaWR0aCkge1xuICAgICAgICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9IHR1aVB4KHJlY3Qud2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZml4ZWQnOlxuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gdHVpUHgocmVjdC53aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5kaXJlY3RpdmUuZWxlbWVudFJlZjtcbiAgICAgICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gbmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgcm9vdCA9IG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmJvZHkgOiBuYXRpdmVFbGVtZW50O1xuICAgICAgICBsZXQgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogbmF0aXZlRWxlbWVudCwgcm9vdCwgcHJldmlvdXN9KTtcblxuICAgICAgICB3aGlsZSAoZm9jdXNhYmxlICE9PSBudWxsICYmIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZm9jdXNhYmxlKSkge1xuICAgICAgICAgICAgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogZm9jdXNhYmxlLCByb290LCBwcmV2aW91c30pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjYWN0aXZlWm9uZT1cInR1aUFjdGl2ZVpvbmVcIlxuICAgIHR1aUFjdGl2ZVpvbmVcbiAgICB0dWlPdmVyc2Nyb2xsPVwiYWxsXCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW3R1aU1vZGVdPVwibnVsbFwiXG4gICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25Ib3ZlcmVkQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktc2Nyb2xsYmFyIGNsYXNzPVwidC1zY3JvbGxcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvblRvcEZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkaXJlY3RpdmUuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBhY3RpdmVab25lfVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcHJpbWl0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkJvdHRvbUZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC90dWktc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUVOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBRXRGOzs7O0dBSUc7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QUFDO29CQUNwQyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLHNCQUFzQixDQUFDLFVBQVUsQ0FBQzt3QkFDbEMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDO3FCQUN2RDtvQkFDRCxVQUFVLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDbEMsb0JBQW9CO29CQUNwQixxRkFBcUY7b0JBQ3JGLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO2lCQUNuRDs7MEJBU1EsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ2hDLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyw4QkFBOEI7OzBCQUVyQyxNQUFNOzJCQUFDLGVBQWU7OEJBQ3FCLE1BQU07MEJBQWpELE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzRDQWxCNUIsaUJBQWlCO3NCQUR6QixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHVpUmVjdEFjY2Vzc29yRm9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbjpcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gc2hvdyB0ZW1wbGF0ZSBpbiBhIHBvcnRhbFxuICogdXNpbmcgZGVmYXVsdCBzdHlsZSBvZiB3aGl0ZSByb3VuZGVkIGJveCB3aXRoIGEgc2hhZG93XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgICAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdkcm9wZG93bicpLFxuICAgICAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJywgVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbiAgICAvLyBAYmFkIFRPRE86IE9uUHVzaFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ0B0dWlEcm9wZG93bkFuaW1hdGlvbicpXG4gICAgcmVhZG9ubHkgZHJvcGRvd25BbmltYXRpb24gPSB7XG4gICAgICAgIHZhbHVlOiBUdWlEcm9wZG93bkFuaW1hdGlvbi5GYWRlSW5Ub3AsXG4gICAgICAgIC4uLnRoaXMuYW5pbWF0aW9uT3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpUG9zaXRpb25TZXJ2aWNlKSBwb3NpdGlvbiQ6IE9ic2VydmFibGU8VHVpUG9pbnQ+LFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKSByZWFkb25seSBkaXJlY3RpdmU6IFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVFVJX0FOSU1BVElPTl9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbk9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpRHJvcGRvd25PcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJEaXJlY3RpdmU6IFR1aURyb3Bkb3duSG92ZXJEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBwb3NpdGlvbiQucGlwZSh0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoKFt0b3AsIGxlZnRdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh0b3AsIGxlZnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ib3ZlcmVkQ2hhbmdlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWRDaGFuZ2UoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3ZlckRpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5ob3ZlckRpcmVjdGl2ZS50b2dnbGUoaG92ZXJlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvcEZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgb25Cb3R0b21Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlRm9jdXNPdXRzaWRlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3JpZ2h0fSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7bWF4SGVpZ2h0LCBvZmZzZXR9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHR9ID0gdGhpcy53aW5kb3dSZWY7XG4gICAgICAgIGNvbnN0IHtjbGllbnRSZWN0fSA9IHRoaXMuaG9zdDtcbiAgICAgICAgY29uc3Qge3Bvc2l0aW9ufSA9IHRoaXMuZGlyZWN0aXZlO1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldFggPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtY2xpZW50UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLWNsaWVudFJlY3QudG9wO1xuXG4gICAgICAgIHRvcCArPSBvZmZzZXRZO1xuICAgICAgICBsZWZ0ICs9IG9mZnNldFg7XG5cbiAgICAgICAgY29uc3QgaXNJbnRlcnNlY3RpbmcgPVxuICAgICAgICAgICAgbGVmdCA8IHJlY3QucmlnaHQgJiYgcmlnaHQgPiByZWN0LmxlZnQgJiYgdG9wIDwgb2Zmc2V0WSArIDIgKiBvZmZzZXQ7XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IGlzSW50ZXJzZWN0aW5nXG4gICAgICAgICAgICA/IHJlY3QudG9wIC0gMiAqIG9mZnNldFxuICAgICAgICAgICAgOiBvZmZzZXRZICsgaW5uZXJIZWlnaHQgLSB0b3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgc3R5bGUucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgc3R5bGUudG9wID0gdHVpUHgoTWF0aC5tYXgodG9wLCBvZmZzZXRZICsgb2Zmc2V0KSk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSB0dWlQeChsZWZ0KTtcbiAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gdHVpUHgoTWF0aC5taW4obWF4SGVpZ2h0LCBhdmFpbGFibGUpKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSAnJztcbiAgICAgICAgc3R5bGUubWluV2lkdGggPSAnJztcblxuICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVXaWR0aCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtsaW1pdFdpZHRofSA9IHRoaXMub3B0aW9ucztcblxuICAgICAgICBzd2l0Y2ggKGxpbWl0V2lkdGgpIHtcbiAgICAgICAgICAgIGNhc2UgJ21pbic6XG4gICAgICAgICAgICAgICAgc3R5bGUubWluV2lkdGggPSB0dWlQeChyZWN0LndpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpeGVkJzpcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHR1aVB4KHJlY3Qud2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYXV0byc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5kaXJlY3RpdmUuZWxlbWVudFJlZjtcbiAgICAgICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gbmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgcm9vdCA9IG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmJvZHkgOiBuYXRpdmVFbGVtZW50O1xuICAgICAgICBsZXQgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogbmF0aXZlRWxlbWVudCwgcm9vdCwgcHJldmlvdXN9KTtcblxuICAgICAgICB3aGlsZSAoZm9jdXNhYmxlICE9PSBudWxsICYmIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZm9jdXNhYmxlKSkge1xuICAgICAgICAgICAgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogZm9jdXNhYmxlLCByb290LCBwcmV2aW91c30pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjYWN0aXZlWm9uZT1cInR1aUFjdGl2ZVpvbmVcIlxuICAgIHR1aUFjdGl2ZVpvbmVcbiAgICB0dWlPdmVyc2Nyb2xsPVwiYWxsXCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW3R1aU1vZGVdPVwibnVsbFwiXG4gICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25Ib3ZlcmVkQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktc2Nyb2xsYmFyIGNsYXNzPVwidC1zY3JvbGxcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvblRvcEZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkaXJlY3RpdmUuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBhY3RpdmVab25lfVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcHJpbWl0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkJvdHRvbUZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC90dWktc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVyZmFjZXMvdGV4dGZpZWxkLWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHVpVGV4dGZpZWxkSG9zdCB7XG4gICAgcmVhZG9ubHkgcmVhZE9ubHk6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW52YWxpZDogYm9vbGVhbjtcbiAgICByZWFkb25seSBmb2N1c2FibGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVyZmFjZXMvdGV4dGZpZWxkLWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHVpVGV4dGZpZWxkSG9zdCB7XG4gICAgcmVhZG9ubHkgaW5wdXRNb2RlOlxuICAgICAgICB8ICdkZWNpbWFsJ1xuICAgICAgICB8ICdlbWFpbCdcbiAgICAgICAgfCAnbm9uZSdcbiAgICAgICAgfCAnbnVtZXJpYydcbiAgICAgICAgfCAnc2VhcmNoJ1xuICAgICAgICB8ICd0ZWwnXG4gICAgICAgIHwgJ3RleHQnXG4gICAgICAgIHwgJ3VybCc7XG4gICAgcmVhZG9ubHkgcmVhZE9ubHk6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW52YWxpZDogYm9vbGVhbjtcbiAgICByZWFkb25seSBmb2N1c2FibGU6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xufVxuIl19
@@ -6,4 +6,8 @@ import { TUI_DEFAULT_NUMBER_FORMAT } from '@taiga-ui/core/constants';
6
6
  export const TUI_NUMBER_FORMAT = new InjectionToken(`[TUI_NUMBER_FORMAT]`, {
7
7
  factory: () => TUI_DEFAULT_NUMBER_FORMAT,
8
8
  });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL251bWJlci1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUduRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxxQkFBcUIsRUFDckI7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCO0NBQzNDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlOdW1iZXJGb3JtYXRTZXR0aW5nc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRm9ybWF0dGluZyBjb25maWd1cmF0aW9uIGZvciBkaXNwbGF5ZWQgbnVtYmVyc1xuICovXG5leHBvcnQgY29uc3QgVFVJX05VTUJFUl9GT1JNQVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+KFxuICAgIGBbVFVJX05VTUJFUl9GT1JNQVRdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsXG4gICAgfSxcbik7XG4iXX0=
9
+ export const tuiNumberFormatProvider = (options) => ({
10
+ provide: TUI_NUMBER_FORMAT,
11
+ useValue: Object.assign(Object.assign({}, TUI_DEFAULT_NUMBER_FORMAT), options),
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL251bWJlci1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDL0MscUJBQXFCLEVBQ3JCO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QjtDQUMzQyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FFZixDQUFDLE9BQXlDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLGtDQUFNLHlCQUF5QixHQUFLLE9BQU8sQ0FBQztDQUN2RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIEZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBmb3IgZGlzcGxheWVkIG51bWJlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9OVU1CRVJfRk9STUFUID0gbmV3IEluamVjdGlvblRva2VuPFR1aU51bWJlckZvcm1hdFNldHRpbmdzPihcbiAgICBgW1RVSV9OVU1CRVJfRk9STUFUXWAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpTnVtYmVyRm9ybWF0UHJvdmlkZXI6IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aU51bWJlckZvcm1hdFNldHRpbmdzPixcbikgPT4gVmFsdWVQcm92aWRlciA9IChvcHRpb25zOiBQYXJ0aWFsPFR1aU51bWJlckZvcm1hdFNldHRpbmdzPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsIC4uLm9wdGlvbnN9LFxufSk7XG4iXX0=
@@ -23,18 +23,18 @@ export function tuiFormatPhone(value, countryCode, phoneMask) {
23
23
  if (splitValue.length === 0) {
24
24
  return result;
25
25
  }
26
- for (let i = 0; i < splitPhoneMask.length; i++) {
26
+ for (const mask of splitPhoneMask) {
27
27
  if (splitValue.length === 0) {
28
28
  break;
29
29
  }
30
- if (splitPhoneMask[i] === `#`) {
30
+ if (mask === `#`) {
31
31
  result += splitValue[0] || ``;
32
32
  splitValue.splice(0, 1);
33
33
  }
34
34
  else {
35
- result += splitPhoneMask[i];
35
+ result += mask;
36
36
  }
37
37
  }
38
38
  return result;
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9mb3JtYXQvZm9ybWF0LXBob25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUMxQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsU0FBaUI7SUFFakIsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUM7SUFFekIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ2hDLEtBQUssR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDdEQ7SUFFRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3RCxNQUFNLElBQUksR0FBRyxDQUFDO0lBRWQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN6QixPQUFPLE1BQU0sQ0FBQztLQUNqQjtJQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzVDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTTtTQUNUO1FBRUQsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO1lBQzNCLE1BQU0sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzNCO2FBQU07WUFDSCxNQUFNLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0tBQ0o7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDSEFSX1BMVVN9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBzdHJpbmcgd2l0aCB0aGUgcGhvbmUgZm9ybWF0ICs3WFhYWFhYWFhYWFhYIG9yIFhYWFhYWFhYWFhYWCxcbiAqIGFkZGluZyBwYXJlbnRoZXNlcyBhbmQgaHlwaGVucy5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIGlucHV0IHN0cmluZ1xuICogQHBhcmFtIGNvdW50cnlDb2RlIGEgY291bnRyeSBjb2RlXG4gKiBAcGFyYW0gcGhvbmVNYXNrIGEgcGhvbmUgbnVtYmVyIG1hc2tcbiAqIEByZXR1cm4gdGhlIGZvcm1hdHRlZCBwaG9uZSBzdHJpbmcgb2YgdGhlIGZvcm0gKzcgWFhYIFhYWC1YWC1YWFxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpRm9ybWF0UGhvbmUoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nLFxuICAgIHBob25lTWFzazogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiBgYDtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0gY291bnRyeUNvZGU7XG5cbiAgICBjb3VudHJ5Q29kZSA9IGNvdW50cnlDb2RlLnJlcGxhY2UoL1soKV0vZywgYGApO1xuXG4gICAgaWYgKCF2YWx1ZS5zdGFydHNXaXRoKGNvdW50cnlDb2RlKSkge1xuICAgICAgICB2YWx1ZSA9IGNvdW50cnlDb2RlICsgdmFsdWUucmVwbGFjZShDSEFSX1BMVVMsIGBgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzcGxpdFBob25lTWFzayA9IHBob25lTWFzay5zcGxpdChgYCk7XG4gICAgY29uc3Qgc3BsaXRWYWx1ZSA9IHZhbHVlLnNsaWNlKGNvdW50cnlDb2RlLmxlbmd0aCkuc3BsaXQoYGApO1xuXG4gICAgcmVzdWx0ICs9IGAgYDtcblxuICAgIGlmIChzcGxpdFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BsaXRQaG9uZU1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNwbGl0VmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzcGxpdFBob25lTWFza1tpXSA9PT0gYCNgKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gc3BsaXRWYWx1ZVswXSB8fCBgYDtcbiAgICAgICAgICAgIHNwbGl0VmFsdWUuc3BsaWNlKDAsIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ICs9IHNwbGl0UGhvbmVNYXNrW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXBob25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9mb3JtYXQvZm9ybWF0LXBob25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUMxQixLQUFhLEVBQ2IsV0FBbUIsRUFDbkIsU0FBaUI7SUFFakIsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUM7SUFFekIsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ2hDLEtBQUssR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDdEQ7SUFFRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3RCxNQUFNLElBQUksR0FBRyxDQUFDO0lBRWQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN6QixPQUFPLE1BQU0sQ0FBQztLQUNqQjtJQUVELEtBQUssTUFBTSxJQUFJLElBQUksY0FBYyxFQUFFO1FBQy9CLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTTtTQUNUO1FBRUQsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2QsTUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0I7YUFBTTtZQUNILE1BQU0sSUFBSSxJQUFJLENBQUM7U0FDbEI7S0FDSjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfUExVU30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogRm9ybWF0cyBhIHN0cmluZyB3aXRoIHRoZSBwaG9uZSBmb3JtYXQgKzdYWFhYWFhYWFhYWFggb3IgWFhYWFhYWFhYWFhYLFxuICogYWRkaW5nIHBhcmVudGhlc2VzIGFuZCBoeXBoZW5zLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSB0aGUgaW5wdXQgc3RyaW5nXG4gKiBAcGFyYW0gY291bnRyeUNvZGUgYSBjb3VudHJ5IGNvZGVcbiAqIEBwYXJhbSBwaG9uZU1hc2sgYSBwaG9uZSBudW1iZXIgbWFza1xuICogQHJldHVybiB0aGUgZm9ybWF0dGVkIHBob25lIHN0cmluZyBvZiB0aGUgZm9ybSArNyBYWFggWFhYLVhYLVhYXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlGb3JtYXRQaG9uZShcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmcsXG4gICAgcGhvbmVNYXNrOiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGBgO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQgPSBjb3VudHJ5Q29kZTtcblxuICAgIGNvdW50cnlDb2RlID0gY291bnRyeUNvZGUucmVwbGFjZSgvWygpXS9nLCBgYCk7XG5cbiAgICBpZiAoIXZhbHVlLnN0YXJ0c1dpdGgoY291bnRyeUNvZGUpKSB7XG4gICAgICAgIHZhbHVlID0gY291bnRyeUNvZGUgKyB2YWx1ZS5yZXBsYWNlKENIQVJfUExVUywgYGApO1xuICAgIH1cblxuICAgIGNvbnN0IHNwbGl0UGhvbmVNYXNrID0gcGhvbmVNYXNrLnNwbGl0KGBgKTtcbiAgICBjb25zdCBzcGxpdFZhbHVlID0gdmFsdWUuc2xpY2UoY291bnRyeUNvZGUubGVuZ3RoKS5zcGxpdChgYCk7XG5cbiAgICByZXN1bHQgKz0gYCBgO1xuXG4gICAgaWYgKHNwbGl0VmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBtYXNrIG9mIHNwbGl0UGhvbmVNYXNrKSB7XG4gICAgICAgIGlmIChzcGxpdFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWFzayA9PT0gYCNgKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gc3BsaXRWYWx1ZVswXSB8fCBgYDtcbiAgICAgICAgICAgIHNwbGl0VmFsdWUuc3BsaWNlKDAsIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ICs9IG1hc2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19