@taiga-ui/kit 4.39.1 → 4.39.2-canary.31339c4

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 (32) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +3 -1
  2. package/components/files/file/file.component.d.ts +1 -0
  3. package/components/files/file/file.options.d.ts +1 -1
  4. package/components/files/files.utils.d.ts +1 -1
  5. package/components/input-date/index.d.ts +0 -1
  6. package/components/input-date/input-date.d.ts +1 -2
  7. package/components/input-date/input-date.directive.d.ts +14 -3
  8. package/esm2022/components/calendar-range/calendar-range.component.mjs +41 -27
  9. package/esm2022/components/files/file/file.component.mjs +4 -3
  10. package/esm2022/components/files/file/file.options.mjs +1 -1
  11. package/esm2022/components/files/files.utils.mjs +3 -3
  12. package/esm2022/components/input-date/index.mjs +1 -2
  13. package/esm2022/components/input-date/input-date.directive.mjs +50 -37
  14. package/esm2022/components/input-date/input-date.mjs +1 -3
  15. package/esm2022/components/input-number/input-number.directive.mjs +2 -4
  16. package/esm2022/components/input-pin/input-pin.component.mjs +3 -3
  17. package/esm2022/components/segmented/segmented.component.mjs +2 -2
  18. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +40 -26
  19. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-kit-components-files.mjs +5 -4
  21. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-kit-components-input-date.mjs +51 -63
  23. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-kit-components-input-number.mjs +1 -3
  25. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
  27. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-kit-components-segmented.mjs +2 -2
  29. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  30. package/package.json +4 -4
  31. package/components/input-date/input-date.validator.d.ts +0 -10
  32. package/esm2022/components/input-date/input-date.validator.mjs +0 -31
@@ -11,23 +11,23 @@ import { changeDateSeparator, tuiDirectiveBinding, } from '@taiga-ui/cdk/utils/m
11
11
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
12
12
  import { tuiInjectAuxiliary, TuiTextfieldComponent, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
13
13
  import { TuiDropdownAuto, tuiDropdownEnabled, tuiDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
14
- import { TuiItemsHandlersDirective } from '@taiga-ui/core/directives/items-handlers';
14
+ import { TuiItemsHandlersDirective, TuiItemsHandlersValidator, } from '@taiga-ui/core/directives/items-handlers';
15
15
  import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
16
+ import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
16
17
  import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
17
18
  import { tuiMaskito } from '@taiga-ui/kit/utils';
18
19
  import { TUI_INPUT_DATE_OPTIONS_NEW } from './input-date.options';
19
- import { TuiInputDateValidator } from './input-date.validator';
20
20
  import * as i0 from "@angular/core";
21
21
  import * as i1 from "@taiga-ui/core/components/textfield";
22
22
  import * as i2 from "@taiga-ui/core/directives/dropdown";
23
- import * as i3 from "./input-date.validator";
23
+ import * as i3 from "@taiga-ui/core/directives/items-handlers";
24
24
  import * as i4 from "@maskito/angular";
25
- const ADAPTER = {
25
+ export const TUI_DATE_ADAPTER = {
26
26
  DMY: 'dd/mm/yyyy',
27
27
  MDY: 'mm/dd/yyyy',
28
28
  YMD: 'yyyy/mm/dd',
29
29
  };
30
- class TuiInputDateDirective extends TuiControl {
30
+ class TuiInputDateBase extends TuiControl {
31
31
  constructor() {
32
32
  super(...arguments);
33
33
  this.el = tuiInjectElement();
@@ -36,7 +36,7 @@ class TuiInputDateDirective extends TuiControl {
36
36
  this.handlers = inject(TuiItemsHandlersDirective);
37
37
  this.textfield = inject(TuiTextfieldDirective);
38
38
  this.texts = toSignal(inject(TUI_DATE_TEXTS));
39
- this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar);
39
+ this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange);
40
40
  this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed(() => {
41
41
  const { mode, separator } = this.format();
42
42
  const texts = this.texts() || '';
@@ -50,7 +50,7 @@ class TuiInputDateDirective extends TuiControl {
50
50
  });
51
51
  this.mask = tuiMaskito(computed(() => maskitoDateOptionsGenerator({
52
52
  separator: this.format().separator,
53
- mode: ADAPTER[this.format().mode],
53
+ mode: TUI_DATE_ADAPTER[this.format().mode],
54
54
  min: this.min().toLocalNativeDate(),
55
55
  max: this.max().toLocalNativeDate(),
56
56
  })));
@@ -60,19 +60,15 @@ class TuiInputDateDirective extends TuiControl {
60
60
  this.textfield.value.set(value);
61
61
  }, TUI_ALLOW_SIGNAL_WRITES);
62
62
  this.calendarIn = effect(() => {
63
- const calendar = this.calendar();
64
- if (!calendar) {
65
- return;
63
+ if (this.calendar()) {
64
+ this.processCalendar(this.calendar());
66
65
  }
67
- calendar.value = this.value();
68
- calendar.disabledItemHandler = this.handlers.disabledItemHandler();
69
- calendar.min = this.min();
70
- calendar.max = this.max();
71
66
  }, TUI_ALLOW_SIGNAL_WRITES);
72
67
  this.calendarOut = effect((onCleanup) => {
73
- const subscription = this.calendar()?.dayClick.subscribe((day) => {
74
- this.onChange(day);
68
+ const subscription = this.calendar()?.valueChange.subscribe((value) => {
69
+ this.onChange(value);
75
70
  this.open.set(false);
71
+ this.el.blur();
76
72
  });
77
73
  onCleanup(() => subscription?.unsubscribe());
78
74
  });
@@ -86,22 +82,52 @@ class TuiInputDateDirective extends TuiControl {
86
82
  set maxSetter(max) {
87
83
  this.max.set(max || this.options.max);
88
84
  }
85
+ processCalendar(calendar) {
86
+ calendar.value = this.value();
87
+ calendar.disabledItemHandler = this.handlers.disabledItemHandler();
88
+ calendar.min = this.min();
89
+ calendar.max = this.max();
90
+ }
89
91
  onClick() {
90
92
  if (!this.mobile) {
91
93
  this.open.update((open) => !open);
92
94
  }
93
95
  }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateBase, isStandalone: true, inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "blur": "onTouched()", "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
98
+ }
99
+ export { TuiInputDateBase };
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateBase, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ standalone: true,
104
+ host: {
105
+ '[attr.inputmode]': 'open() ? "none" : "numeric"',
106
+ '[disabled]': 'disabled()',
107
+ '(blur)': 'onTouched()',
108
+ '(input)': 'onValueChange($event.target.value)',
109
+ '(click.capture.stop)': 'onClick()',
110
+ },
111
+ }]
112
+ }], propDecorators: { minSetter: [{
113
+ type: Input,
114
+ args: ['min']
115
+ }], maxSetter: [{
116
+ type: Input,
117
+ args: ['max']
118
+ }] } });
119
+ class TuiInputDateDirective extends TuiInputDateBase {
94
120
  onValueChange(value) {
95
121
  this.control?.control?.updateValueAndValidity({ emitEvent: false });
96
- this.onChange(value.length !== DATE_FILLER_LENGTH
97
- ? null
98
- : TuiDay.normalizeParse(value, this.format().mode));
122
+ this.onChange(value.length === DATE_FILLER_LENGTH
123
+ ? TuiDay.normalizeParse(value, this.format().mode)
124
+ : null);
99
125
  }
100
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
101
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "blur": "onTouched()", "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, providers: [
127
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", providers: [
102
128
  tuiAsControl(TuiInputDateDirective),
103
129
  tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS_NEW),
104
- ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiInputDateValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
130
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
105
131
  }
106
132
  export { TuiInputDateDirective };
107
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateDirective, decorators: [{
@@ -116,22 +142,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
116
142
  hostDirectives: [
117
143
  TuiWithTextfield,
118
144
  TuiDropdownAuto,
119
- TuiInputDateValidator,
145
+ TuiItemsHandlersValidator,
120
146
  MaskitoDirective,
121
147
  ],
122
- host: {
123
- '[attr.inputmode]': 'open() ? "none" : "numeric"',
124
- '[disabled]': 'disabled()',
125
- '(blur)': 'onTouched()',
126
- '(input)': 'onValueChange($event.target.value)',
127
- '(click.capture.stop)': 'onClick()',
128
- },
129
148
  }]
130
- }], propDecorators: { minSetter: [{
131
- type: Input,
132
- args: ['min']
133
- }], maxSetter: [{
134
- type: Input,
135
- args: ['max']
136
- }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFB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QUFDO1NBQ3REOztTQWVRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQXJCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDdEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDbkI7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLGtCQUFrQixFQUFFLDZCQUE2Qjt3QkFDakQsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFFBQVEsRUFBRSxhQUFhO3dCQUN2QixTQUFTLEVBQUUsb0NBQW9DO3dCQUMvQyxzQkFBc0IsRUFBRSxXQUFXO3FCQUN0QztpQkFDSjs4QkFnRmMsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU1ELFNBQVM7c0JBRG5CLEtBQUs7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB0eXBlIHtNYXNraXRvRGF0ZU1vZGV9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge21hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlEYXRlTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtEQVRFX0ZJTExFUl9MRU5HVEgsIFR1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICB0dWlEaXJlY3RpdmVCaW5kaW5nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcbmltcG9ydCB7VHVpSW5wdXREYXRlVmFsaWRhdG9yfSBmcm9tICcuL2lucHV0LWRhdGUudmFsaWRhdG9yJztcblxuY29uc3QgQURBUFRFUjogUmVjb3JkPFR1aURhdGVNb2RlLCBNYXNraXRvRGF0ZU1vZGU+ID0ge1xuICAgIERNWTogJ2RkL21tL3l5eXknLFxuICAgIE1EWTogJ21tL2RkL3l5eXknLFxuICAgIFlNRDogJ3l5eXkvbW0vZGQnLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICAgICAgVHVpRHJvcGRvd25BdXRvLFxuICAgICAgICBUdWlJbnB1dERhdGVWYWxpZGF0b3IsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pbnB1dG1vZGVdJzogJ29wZW4oKSA/IFwibm9uZVwiIDogXCJudW1lcmljXCInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgICAgICAnKGNsaWNrLmNhcHR1cmUuc3RvcCknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlDb250cm9sPFR1aURheSB8IG51bGw+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVycyA9IGluamVjdChUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dHMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfVEVYVFMpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyID0gdHVpSW5qZWN0QXV4aWxpYXJ5PFR1aUNhbGVuZGFyPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhcixcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGxlciA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgJ2ZpbGxlclNldHRlcicsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHttb2RlLCBzZXBhcmF0b3J9ID0gdGhpcy5mb3JtYXQoKTtcbiAgICAgICAgICAgIGNvbnN0IHRleHRzID0gdGhpcy50ZXh0cygpIHx8ICcnO1xuXG4gICAgICAgICAgICByZXR1cm4gdGV4dHMgJiYgY2hhbmdlRGF0ZVNlcGFyYXRvcih0ZXh0c1ttb2RlXSwgc2VwYXJhdG9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uID0gdHVpVGV4dGZpZWxkSWNvbkJpbmRpbmcoVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bkVuYWJsZWQgPSB0dWlEcm9wZG93bkVuYWJsZWQoXG4gICAgICAgIGNvbXB1dGVkKCgpID0+ICF0aGlzLm5hdGl2ZSAmJiB0aGlzLmludGVyYWN0aXZlKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBtb2RlOiBBREFQVEVSW3RoaXMuZm9ybWF0KCkubW9kZV0sXG4gICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbigpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCgpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgdGhpcy52YWx1ZSgpPy50b1N0cmluZyh0aGlzLmZvcm1hdCgpLm1vZGUsIHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yKSA/P1xuICAgICAgICAgICAgdGhpcy5lbC52YWx1ZTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhckluID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmNhbGVuZGFyKCk7XG5cbiAgICAgICAgaWYgKCFjYWxlbmRhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPSB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKTtcbiAgICAgICAgY2FsZW5kYXIubWluID0gdGhpcy5taW4oKTtcbiAgICAgICAgY2FsZW5kYXIubWF4ID0gdGhpcy5tYXgoKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJPdXQgPSBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNhbGVuZGFyKCk/LmRheUNsaWNrLnN1YnNjcmliZSgoZGF5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRheSk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID0gdGhpcy5lbC50eXBlID09PSAnZGF0ZScgJiYgdGhpcy5tb2JpbGU7XG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKG1pbjogVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIHx8IHRoaXMub3B0aW9ucy5taW4pO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcihtYXg6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXguc2V0KG1heCB8fCB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgob3BlbikgPT4gIW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAhPT0gREFURV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgOiBUdWlEYXkubm9ybWFsaXplUGFyc2UodmFsdWUsIHRoaXMuZm9ybWF0KCkubW9kZSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
149
+ }] });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLHlCQUF5QixHQUM1QixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFFaEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXlDO0lBQ2xFLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLEdBQUcsRUFBRSxZQUFZO0NBQ3BCLENBQUM7QUFFRixNQVVzQixnQkFFcEIsU0FBUSxVQUFvQjtJQVo5Qjs7UUFhcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxjQUFTLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsa0JBQWtCLENBQzFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksV0FBVyxJQUFJLENBQUMsWUFBWSxnQkFBZ0IsQ0FDbkUsQ0FBQztRQUVpQixXQUFNLEdBQUcsbUJBQW1CLENBQzNDLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFFakMsT0FBTyxLQUFLLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO1FBRWlCLFNBQUksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN6QixTQUFJLEdBQUcsdUJBQXVCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRCxvQkFBZSxHQUFHLGtCQUFrQixDQUNuRCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO1FBRWlCLFdBQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzFELFlBQVksRUFBRSx1QkFBdUI7U0FDeEMsQ0FBQyxDQUFDO1FBRWdCLFNBQUksR0FBRyxVQUFVLENBQ2hDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDViwyQkFBMkIsQ0FBQztZQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVM7WUFDbEMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFO1NBQ3RDLENBQUMsQ0FDTCxDQUNKLENBQUM7UUFFaUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUNQLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUVsQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFFVCxlQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFHLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRVQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVhLFdBQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxRQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBMEJsRDtJQXRCRyxJQUNXLFNBQVMsQ0FBQyxHQUFrQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFDVyxTQUFTLENBQUMsR0FBa0I7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGVBQWUsQ0FBQyxRQUF3QztRQUM5RCxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixRQUFRLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ25FLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFUyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQztJQUNMLENBQUM7K0dBakdpQixnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7U0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBVnJDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixrQkFBa0IsRUFBRSw2QkFBNkI7d0JBQ2pELFlBQVksRUFBRSxZQUFZO3dCQUMxQixRQUFRLEVBQUUsYUFBYTt3QkFDdkIsU0FBUyxFQUFFLG9DQUFvQzt3QkFDL0Msc0JBQXNCLEVBQUUsV0FBVztxQkFDdEM7aUJBQ0o7OEJBOEVjLFNBQVM7c0JBRG5CLEtBQUs7dUJBQUMsS0FBSztnQkFNRCxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7O0FBbUJoQixNQWNhLHFCQUFzQixTQUFRLGdCQUF3QjtJQUM1QyxhQUFhLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQ1QsS0FBSyxDQUFDLE1BQU0sS0FBSyxrQkFBa0I7WUFDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDbEQsQ0FBQyxDQUFDLElBQUksQ0FDYixDQUFDO0lBQ04sQ0FBQzsrR0FSUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixrRUFYbkI7WUFDUCxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDbkMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUM7U0FDdEQ7O1NBUVEscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBZGpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHVCQUF1Qjt3QkFDbkMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUM7cUJBQ3REO29CQUNELGNBQWMsRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YseUJBQXlCO3dCQUN6QixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUge01hc2tpdG9EYXRlTW9kZX0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7bWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aURhdGVNb2RlLCBUdWlEYXlSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtEQVRFX0ZJTExFUl9MRU5HVEgsIFR1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICB0dWlEaXJlY3RpdmVCaW5kaW5nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtcbiAgICBUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlLFxuICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfREFURV9GT1JNQVQsIFRVSV9ERUZBVUxUX0RBVEVfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhclJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHtUVUlfREFURV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9PUFRJT05TX05FV30gZnJvbSAnLi9pbnB1dC1kYXRlLm9wdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0RBVEVfQURBUFRFUjogUmVjb3JkPFR1aURhdGVNb2RlLCBNYXNraXRvRGF0ZU1vZGU+ID0ge1xuICAgIERNWTogJ2RkL21tL3l5eXknLFxuICAgIE1EWTogJ21tL2RkL3l5eXknLFxuICAgIFlNRDogJ3l5eXkvbW0vZGQnLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pbnB1dG1vZGVdJzogJ29wZW4oKSA/IFwibm9uZVwiIDogXCJudW1lcmljXCInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgICAgICAnKGNsaWNrLmNhcHR1cmUuc3RvcCknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlJbnB1dERhdGVCYXNlPFxuICAgIFQgZXh0ZW5kcyBUdWlEYXkgfCBUdWlEYXlSYW5nZSxcbj4gZXh0ZW5kcyBUdWlDb250cm9sPFQgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnMgPSBpbmplY3QoVHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRzID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX1RFWFRTKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2U+KFxuICAgICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIFR1aUNhbGVuZGFyIHx8IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhclJhbmdlLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsbGVyID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgICAgICAnZmlsbGVyU2V0dGVyJyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qge21vZGUsIHNlcGFyYXRvcn0gPSB0aGlzLmZvcm1hdCgpO1xuICAgICAgICAgICAgY29uc3QgdGV4dHMgPSB0aGlzLnRleHRzKCkgfHwgJyc7XG5cbiAgICAgICAgICAgIHJldHVybiB0ZXh0cyAmJiBjaGFuZ2VEYXRlU2VwYXJhdG9yKHRleHRzW21vZGVdLCBzZXBhcmF0b3IpO1xuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZChcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gIXRoaXMubmF0aXZlICYmIHRoaXMuaW50ZXJhY3RpdmUoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXQgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlKCk/LnRvU3RyaW5nKHRoaXMuZm9ybWF0KCkubW9kZSwgdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IpID8/XG4gICAgICAgICAgICB0aGlzLmVsLnZhbHVlO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFySW4gPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYWxlbmRhcigpKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDYWxlbmRhcih0aGlzLmNhbGVuZGFyKCkhKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhck91dCA9IGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuY2FsZW5kYXIoKT8udmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5lbC5ibHVyKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hdGl2ZSA9IHRoaXMuZWwudHlwZSA9PT0gJ2RhdGUnICYmIHRoaXMubW9iaWxlO1xuICAgIHB1YmxpYyByZWFkb25seSBtaW4gPSBzaWduYWwodGhpcy5vcHRpb25zLm1pbik7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWF4KTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKG1pbjogVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIHx8IHRoaXMub3B0aW9ucy5taW4pO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcihtYXg6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXguc2V0KG1heCB8fCB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPSB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKTtcbiAgICAgICAgY2FsZW5kYXIubWluID0gdGhpcy5taW4oKTtcbiAgICAgICAgY2FsZW5kYXIubWF4ID0gdGhpcy5tYXgoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgob3BlbikgPT4gIW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlXaXRoVGV4dGZpZWxkLFxuICAgICAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlRGlyZWN0aXZlIGV4dGVuZHMgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXk+IHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,9 @@
1
1
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
2
2
  import { TuiInputDateComponent } from './input-date.component';
3
3
  import { TuiInputDateDirective } from './input-date.directive';
4
- import { TuiInputDateValidator } from './input-date.validator';
5
4
  export const TuiInputDate = [
6
5
  TuiInputDateDirective,
7
6
  TuiInputDateComponent,
8
- TuiInputDateValidator,
9
7
  TuiCalendar,
10
8
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLFdBQVc7Q0FDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7VHVpSW5wdXREYXRlRGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LWRhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSW5wdXREYXRlVmFsaWRhdG9yfSBmcm9tICcuL2lucHV0LWRhdGUudmFsaWRhdG9yJztcblxuZXhwb3J0IGNvbnN0IFR1aUlucHV0RGF0ZSA9IFtcbiAgICBUdWlJbnB1dERhdGVEaXJlY3RpdmUsXG4gICAgVHVpSW5wdXREYXRlQ29tcG9uZW50LFxuICAgIFR1aUlucHV0RGF0ZVZhbGlkYXRvcixcbiAgICBUdWlDYWxlbmRhcixcbl0gYXMgY29uc3Q7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsV0FBVztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcblxuaW1wb3J0IHtUdWlJbnB1dERhdGVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dERhdGVEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVHVpSW5wdXREYXRlID0gW1xuICAgIFR1aUlucHV0RGF0ZURpcmVjdGl2ZSxcbiAgICBUdWlJbnB1dERhdGVDb21wb25lbnQsXG4gICAgVHVpQ2FsZW5kYXIsXG5dIGFzIGNvbnN0O1xuIl19
@@ -5,7 +5,7 @@ import { maskitoInitialCalibrationPlugin } from '@maskito/core';
5
5
  import { maskitoCaretGuard, maskitoNumberOptionsGenerator, maskitoParseNumber, } from '@maskito/kit';
6
6
  import { tuiAsControl, TuiControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
7
7
  import { CHAR_HYPHEN, CHAR_MINUS, TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
8
- import { TUI_IS_IOS, tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
8
+ import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
9
9
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
10
10
  import { tuiIsSafeToRound } from '@taiga-ui/cdk/utils/math';
11
11
  import { TuiTextfieldDirective, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
@@ -152,7 +152,6 @@ class TuiInputNumberDirective extends TuiControl {
152
152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
153
153
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberDirective, isStandalone: true, selector: "input[tuiInputNumber]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { listeners: { "blur": "onBlur()", "focus": "onFocus()" }, properties: { "disabled": "disabled()", "attr.inputMode": "inputMode()", "attr.maxLength": "element.maxLength > 0 ? element.maxLength : defaultMaxLength()" } }, providers: [
154
154
  tuiAsControl(TuiInputNumberDirective),
155
- tuiFallbackValueProvider(null),
156
155
  tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
157
156
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
158
157
  }
@@ -164,7 +163,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
164
163
  selector: 'input[tuiInputNumber]',
165
164
  providers: [
166
165
  tuiAsControl(TuiInputNumberDirective),
167
- tuiFallbackValueProvider(null),
168
166
  tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
169
167
  ],
170
168
  hostDirectives: [TuiWithTextfield, MaskitoDirective],
@@ -189,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
189
187
  type: Input,
190
188
  args: ['postfix']
191
189
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixD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QjtrQkFsQm5DLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHlCQUF5Qjt3QkFDckMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO3dCQUM5Qix1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsa0JBQWtCLEVBQ2QsZ0VBQWdFO3dCQUNwRSxRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQXdGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2lufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvTnVtYmVyUGFyYW1zfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvUGFyc2VOdW1iZXIsXG59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc1NhZmVUb1JvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULCBUVUlfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpRm9ybWF0TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTlVNQkVSX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5jb25zdCBERUZBVUxUX01BWF9MRU5HVEggPSAxODtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TnVtYmVyXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihudWxsKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgTWFza2l0b0RpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1thdHRyLmlucHV0TW9kZV0nOiAnaW5wdXRNb2RlKCknLFxuICAgICAgICAnW2F0dHIubWF4TGVuZ3RoXSc6XG4gICAgICAgICAgICAnZWxlbWVudC5tYXhMZW5ndGggPiAwID8gZWxlbWVudC5tYXhMZW5ndGggOiBkZWZhdWx0TWF4TGVuZ3RoKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSBleHRlbmRzIFR1aUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdCA9IHRvU2lnbmFsKGluamVjdChUVUlfTlVNQkVSX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXR0ZWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBtYXNraXRvUGFyc2VOdW1iZXIodGhpcy50ZXh0ZmllbGQudmFsdWUoKSwgdGhpcy5udW1iZXJGb3JtYXQoKS5kZWNpbWFsU2VwYXJhdG9yKSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmVjaXNpb24gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBOdW1iZXIuaXNOYU4odGhpcy5udW1iZXJGb3JtYXQoKS5wcmVjaXNpb24pID8gMiA6IHRoaXMubnVtYmVyRm9ybWF0KCkucHJlY2lzaW9uLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuZmluaXNoZWQgPSBjb21wdXRlZCgodmFsdWUgPSB0aGlzLmZvcm1hdHRlZCgpKSA9PlxuICAgICAgICB2YWx1ZSA8IDAgPyB2YWx1ZSA+IHRoaXMubWF4KCkgOiB2YWx1ZSA8IHRoaXMubWluKCksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkNoYW5nZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtYXR0ZWQoKTtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkKCkgfHxcbiAgICAgICAgICAgIHZhbHVlIDwgdGhpcy5taW4oKSB8fFxuICAgICAgICAgICAgdmFsdWUgPiB0aGlzLm1heCgpIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlKCkgPT09IHZhbHVlXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1vZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TICYmIHRoaXMubWluKCkgPCAwKSB7XG4gICAgICAgICAgICAvLyBpUGhvbmUgZG9lcyBub3QgaGF2ZSBtaW51cyBzaWduIGlmIGlucHV0TW9kZSBpcyBlcXVhbCB0byAnbnVtZXJpYycgLyAnZGVjaW1hbCdcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24oKSA/ICdkZWNpbWFsJyA6ICdudW1lcmljJztcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0TWF4TGVuZ3RoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7ZGVjaW1hbFNlcGFyYXRvciwgdGhvdXNhbmRTZXBhcmF0b3J9ID0gdGhpcy5udW1iZXJGb3JtYXQoKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPVxuICAgICAgICAgICAgISF0aGlzLnByZWNpc2lvbigpICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkuaW5jbHVkZXMoZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gTWF0aC5taW4odGhpcy5wcmVjaXNpb24oKSArIDEsIDIwKSA6IDA7XG4gICAgICAgIGNvbnN0IHRha2VUaG91c2FuZCA9IHRob3VzYW5kU2VwYXJhdG9yLnJlcGVhdCg1KS5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIERFRkFVTFRfTUFYX0xFTkdUSCArIHByZWNpc2lvbiArIHRha2VUaG91c2FuZDtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAge2RlY2ltYWxNb2RlLCAuLi5udW1iZXJGb3JtYXR9ID0gdGhpcy5udW1iZXJGb3JtYXQoKSxcbiAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSB0aGlzLnByZWNpc2lvbigpLFxuICAgICAgICAgICAgKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZU1hc2soe1xuICAgICAgICAgICAgICAgICAgICAuLi5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0cyxcbiAgICAgICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbigpLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCksXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeDogdGhpcy5wcmVmaXgoKSxcbiAgICAgICAgICAgICAgICAgICAgcG9zdGZpeDogdGhpcy5wb3N0Zml4KCksXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyA/IG1heGltdW1GcmFjdGlvbkRpZ2l0cyA6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBtaW4gPSBzaWduYWwodGhpcy5vcHRpb25zLm1pbik7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWF4KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJlZml4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5wcmVmaXgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwb3N0Zml4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5wb3N0Zml4KTtcblxuICAgIEBJbnB1dCgnbWluJylcbiAgICBwdWJsaWMgc2V0IG1pblNldHRlcih4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluTWF4TGltaXRzKHgsIHRoaXMubWF4KCkpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcih4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluTWF4TGltaXRzKHRoaXMubWluKCksIHgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdwcmVmaXgnKVxuICAgIHB1YmxpYyBzZXQgcHJlZml4U2V0dGVyKHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByZWZpeC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3Bvc3RmaXgnKVxuICAgIHB1YmxpYyBzZXQgcG9zdGZpeFNldHRlcih4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wb3N0Zml4LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5mb3JtYXROdW1iZXIodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gICAgICAgIGlmICghdGhpcy51bmZpbmlzaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHRoaXMuZm9ybWF0dGVkKCkpICYmICF0aGlzLnJlYWRPbmx5KCkpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLnByZWZpeCgpICsgdGhpcy5wb3N0Zml4KCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLnByZWZpeCgpICE9PSBDSEFSX01JTlVTID8gdGhpcy5wcmVmaXgoKSA6ICcnKSArXG4gICAgICAgICAgICB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm51bWJlckZvcm1hdCgpLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE51bWJlciBjYW4gc2F0aXNmeSBpbnRlcnZhbCBbTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXVxuICAgICAgICAgICAgICAgICAqIGJ1dCBpdHMgcm91bmRpbmcgY2FuIHZpb2xhdGUgaXQuXG4gICAgICAgICAgICAgICAgICogQmVmb3JlIEJpZ0ludCBzdXBwb3J0IHRoZXJlIGlzIG5vIHBlcmZlY3Qgc29sdXRpb24g4oCTIG9ubHkgdHJhZGUgb2ZmLlxuICAgICAgICAgICAgICAgICAqIE5vIHJvdW5kaW5nIGlzIGJldHRlciB0aGFuIGxvc2UgcHJlY2lzaW9uIGFuZCBpbmNvcnJlY3QgbXV0YXRpb24gb2YgYWxyZWFkeSB2YWxpZCB2YWx1ZS5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IHR1aUlzU2FmZVRvUm91bmQodmFsdWUsIHRoaXMucHJlY2lzaW9uKCkpXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb24oKVxuICAgICAgICAgICAgICAgICAgICA6IEluZmluaXR5LFxuICAgICAgICAgICAgfSkucmVwbGFjZShDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUykgK1xuICAgICAgICAgICAgdGhpcy5wb3N0Zml4KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1pbk1heExpbWl0cyhcbiAgICAgICAgbnVsbGFibGVNaW46IG51bWJlciB8IG51bGwsXG4gICAgICAgIG51bGxhYmxlTWF4OiBudW1iZXIgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBtaW4gPSB0aGlzLnRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUobnVsbGFibGVNaW4pID8/IHRoaXMub3B0aW9ucy5taW47XG4gICAgICAgIGNvbnN0IG1heCA9IHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShudWxsYWJsZU1heCkgPz8gdGhpcy5vcHRpb25zLm1heDtcblxuICAgICAgICB0aGlzLm1pbi5zZXQoTWF0aC5taW4obWluLCBtYXgpKTtcbiAgICAgICAgdGhpcy5tYXguc2V0KE1hdGgubWF4KG1pbiwgbWF4KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhwYXJhbXM6IE1hc2tpdG9OdW1iZXJQYXJhbXMpOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHtwcmVmaXggPSAnJywgcG9zdGZpeCA9ICcnfSA9IHBhcmFtcztcbiAgICAgICAgY29uc3Qge3BsdWdpbnMsIC4uLm9wdGlvbnN9ID0gbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IocGFyYW1zKTtcbiAgICAgICAgY29uc3QgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luID0gbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbihcbiAgICAgICAgICAgIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgbWluOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgICAgICBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgICAgICAgICBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sXG4gICAgICAgICAgICAgICAgbWFza2l0b0NhcmV0R3VhcmQoKHZhbHVlKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAtIHBvc3RmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9B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STtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNQLFlBQVkseUJBQXlCO3dCQUNyQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsa0JBQWtCLEVBQ2QsZ0VBQWdFO3dCQUNwRSxRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQXdGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2lufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvTnVtYmVyUGFyYW1zfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvUGFyc2VOdW1iZXIsXG59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNTYWZlVG9Sb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVCwgVFVJX05VTUJFUl9GT1JNQVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUZvcm1hdE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX05VTUJFUl9PUFRJT05TfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE51bWJlcl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkLCBNYXNraXRvRGlyZWN0aXZlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW2F0dHIuaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUoKScsXG4gICAgICAgICdbYXR0ci5tYXhMZW5ndGhdJzpcbiAgICAgICAgICAgICdlbGVtZW50Lm1heExlbmd0aCA+IDAgPyBlbGVtZW50Lm1heExlbmd0aCA6IGRlZmF1bHRNYXhMZW5ndGgoKScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxudW1iZXIgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzSU9TID0gaW5qZWN0KFRVSV9JU19JT1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIG1hc2tpdG9QYXJzZU51bWJlcih0aGlzLnRleHRmaWVsZC52YWx1ZSgpLCB0aGlzLm51bWJlckZvcm1hdCgpLmRlY2ltYWxTZXBhcmF0b3IpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWNpc2lvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIE51bWJlci5pc05hTih0aGlzLm51bWJlckZvcm1hdCgpLnByZWNpc2lvbikgPyAyIDogdGhpcy5udW1iZXJGb3JtYXQoKS5wcmVjaXNpb24sXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5maW5pc2hlZCA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMuZm9ybWF0dGVkKCkpID0+XG4gICAgICAgIHZhbHVlIDwgMCA/IHZhbHVlID4gdGhpcy5tYXgoKSA6IHZhbHVlIDwgdGhpcy5taW4oKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uQ2hhbmdlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1hdHRlZCgpO1xuXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnVuZmluaXNoZWQoKSB8fFxuICAgICAgICAgICAgdmFsdWUgPCB0aGlzLm1pbigpIHx8XG4gICAgICAgICAgICB2YWx1ZSA+IHRoaXMubWF4KCkgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUoKSA9PT0gdmFsdWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0TW9kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5taW4oKSA8IDApIHtcbiAgICAgICAgICAgIC8vIGlQaG9uZSBkb2VzIG5vdCBoYXZlIG1pbnVzIHNpZ24gaWYgaW5wdXRNb2RlIGlzIGVxdWFsIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbigpID8gJ2RlY2ltYWwnIDogJ251bWVyaWMnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNYXhMZW5ndGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsU2VwYXJhdG9yLCB0aG91c2FuZFNlcGFyYXRvcn0gPSB0aGlzLm51bWJlckZvcm1hdCgpO1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICAhIXRoaXMucHJlY2lzaW9uKCkgJiYgdGhpcy50ZXh0ZmllbGQudmFsdWUoKS5pbmNsdWRlcyhkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyBNYXRoLm1pbih0aGlzLnByZWNpc2lvbigpICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB7ZGVjaW1hbE1vZGUsIC4uLm51bWJlckZvcm1hdH0gPSB0aGlzLm51bWJlckZvcm1hdCgpLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHRoaXMucHJlY2lzaW9uKCksXG4gICAgICAgICAgICApID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlTWFzayh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCksXG4gICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKSxcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCgpLFxuICAgICAgICAgICAgICAgICAgICBwb3N0Zml4OiB0aGlzLnBvc3RmaXgoKSxcbiAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbE1vZGUgPT09ICdhbHdheXMnID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIDogMCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwcmVmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnByZWZpeCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHBvc3RmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnBvc3RmaXgpO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKHg6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaW5NYXhMaW1pdHMoeCwgdGhpcy5tYXgoKSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKHg6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaW5NYXhMaW1pdHModGhpcy5taW4oKSwgeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3ByZWZpeCcpXG4gICAgcHVibGljIHNldCBwcmVmaXhTZXR0ZXIoeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucHJlZml4LnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgncG9zdGZpeCcpXG4gICAgcHVibGljIHNldCBwb3N0Zml4U2V0dGVyKHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnBvc3RmaXguc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnVuZmluaXNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odGhpcy5mb3JtYXR0ZWQoKSkgJiYgIXRoaXMucmVhZE9ubHkoKSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMucHJlZml4KCkgKyB0aGlzLnBvc3RmaXgoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMucHJlZml4KCkgIT09IENIQVJfTUlOVVMgPyB0aGlzLnByZWZpeCgpIDogJycpICtcbiAgICAgICAgICAgIHR1aUZvcm1hdE51bWJlcih2YWx1ZSwge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMubnVtYmVyRm9ybWF0KCksXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogTnVtYmVyIGNhbiBzYXRpc2Z5IGludGVydmFsIFtOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjsgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJdXG4gICAgICAgICAgICAgICAgICogYnV0IGl0cyByb3VuZGluZyBjYW4gdmlvbGF0ZSBpdC5cbiAgICAgICAgICAgICAgICAgKiBCZWZvcmUgQmlnSW50IHN1cHBvcnQgdGhlcmUgaXMgbm8gcGVyZmVjdCBzb2x1dGlvbiDigJMgb25seSB0cmFkZSBvZmYuXG4gICAgICAgICAgICAgICAgICogTm8gcm91bmRpbmcgaXMgYmV0dGVyIHRoYW4gbG9zZSBwcmVjaXNpb24gYW5kIGluY29ycmVjdCBtdXRhdGlvbiBvZiBhbHJlYWR5IHZhbGlkIHZhbHVlLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHByZWNpc2lvbjogdHVpSXNTYWZlVG9Sb3VuZCh2YWx1ZSwgdGhpcy5wcmVjaXNpb24oKSlcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnByZWNpc2lvbigpXG4gICAgICAgICAgICAgICAgICAgIDogSW5maW5pdHksXG4gICAgICAgICAgICB9KS5yZXBsYWNlKENIQVJfSFlQSEVOLCBDSEFSX01JTlVTKSArXG4gICAgICAgICAgICB0aGlzLnBvc3RmaXgoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWluTWF4TGltaXRzKFxuICAgICAgICBudWxsYWJsZU1pbjogbnVtYmVyIHwgbnVsbCxcbiAgICAgICAgbnVsbGFibGVNYXg6IG51bWJlciB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1pbiA9IHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShudWxsYWJsZU1pbikgPz8gdGhpcy5vcHRpb25zLm1pbjtcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy50cmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKG51bGxhYmxlTWF4KSA/PyB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgICAgIHRoaXMubWluLnNldChNYXRoLm1pbihtaW4sIG1heCkpO1xuICAgICAgICB0aGlzLm1heC5zZXQoTWF0aC5tYXgobWluLCBtYXgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVNYXNrKHBhcmFtczogTWFza2l0b051bWJlclBhcmFtcyk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3Qge3ByZWZpeCA9ICcnLCBwb3N0Zml4ID0gJyd9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ub3B0aW9uc30gPSBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4gPSBtYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luKFxuICAgICAgICAgICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgICAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbixcbiAgICAgICAgICAgICAgICBtYXNraXRvQ2FyZXRHdWFyZCgodmFsdWUpID0+IFtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoIC0gcG9zdGZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -46,7 +46,7 @@ class TuiInputPin {
46
46
  index === this.el.maxLength - 1)));
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPin, isStandalone: true, selector: "input[tuiInputPin]", inputs: { maskSetter: ["mask", "maskSetter"] }, host: { attributes: { "ngSkipHydration": "true", "inputmode": "numeric", "spellcheck": "false" }, listeners: { "selectionchange": "onSelection()", "keydown.arrowLeft": "onArrow()" } }, hostDirectives: [{ directive: i1.MaskitoDirective }], ngImport: i0, template: "<div\n *tuiTextfieldContent\n class=\"t-wrapper\"\n>\n <label\n *tuiRepeatTimes=\"let index of el.maxLength\"\n class=\"t-item\"\n [tuiAppearance]=\"appearance()\"\n [tuiAppearanceFocus]=\"isFocused(index)\"\n [tuiAppearanceMode]=\"control.invalid && control.touched ? 'invalid' : null\"\n (mousedown.prevent)=\"onClick(index)\"\n >\n <span\n class=\"t-value\"\n [class.t-value_filled]=\"el.value[index]\"\n [textContent]=\"el.value[index] || el.placeholder[index]\"\n ></span>\n </label>\n</div>\n", styles: ["@keyframes blink{50%{opacity:0}}:host{color:transparent;caret-color:transparent;background:transparent;border:none;outline:none}:host::selection{background:transparent}:host::placeholder{color:transparent!important}:host ::ng-deep+.t-content .t-clear{display:none!important}.t-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;gap:inherit;border-radius:inherit}.t-item{display:flex;flex:1;align-items:center;justify-content:center;border-radius:inherit;pointer-events:auto;cursor:text}.t-item[data-focus=true] .t-value_filled{background:var(--tui-service-selection-background)}.t-item[data-focus=true] .t-value_filled:before{display:none}.t-item[data-focus=true] .t-value:before{content:\"\";block-size:1em;border-left:1px solid var(--tui-text-primary);animation:blink 1s steps(1) infinite}.t-value{color:var(--tui-text-tertiary)}.t-value_filled{color:var(--tui-text-primary)}\n"], dependencies: [{ kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPin, isStandalone: true, selector: "input[tuiInputPin]", inputs: { maskSetter: ["mask", "maskSetter"] }, host: { attributes: { "ngSkipHydration": "true", "inputmode": "numeric", "spellcheck": "false" }, listeners: { "selectionchange": "onSelection()", "keydown.arrowLeft": "onArrow()" } }, hostDirectives: [{ directive: i1.MaskitoDirective }], ngImport: i0, template: "<div\n *tuiTextfieldContent\n class=\"t-wrapper\"\n>\n <label\n *tuiRepeatTimes=\"let index of el.maxLength\"\n class=\"t-item\"\n [tuiAppearance]=\"appearance()\"\n [tuiAppearanceFocus]=\"isFocused(index)\"\n [tuiAppearanceMode]=\"control.invalid && control.touched ? 'invalid' : null\"\n (pointerdown.prevent)=\"onClick(index)\"\n >\n <span\n class=\"t-value\"\n [class.t-value_filled]=\"el.value[index]\"\n [textContent]=\"el.value[index] || el.placeholder[index]\"\n ></span>\n </label>\n</div>\n", styles: ["@keyframes blink{50%{opacity:0}}:host{color:transparent;caret-color:transparent;background:transparent;border:none;outline:none}:host::selection{background:transparent}:host::placeholder{color:transparent!important}:host ::ng-deep+.t-content .t-clear{display:none!important}.t-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;gap:inherit;border-radius:inherit}.t-item{display:flex;flex:1;align-items:center;justify-content:center;border-radius:inherit;pointer-events:auto;cursor:text}.t-item[data-focus=true] .t-value_filled{background:var(--tui-service-selection-background)}.t-item[data-focus=true] .t-value_filled:before{display:none}.t-item[data-focus=true] .t-value:before{content:\"\";block-size:1em;border-left:1px solid var(--tui-text-primary);animation:blink 1s steps(1) infinite}.t-value{color:var(--tui-text-tertiary)}.t-value_filled{color:var(--tui-text-primary)}\n"], dependencies: [{ kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
51
  export { TuiInputPin };
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPin, decorators: [{
@@ -57,9 +57,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
57
57
  spellcheck: 'false',
58
58
  '(selectionchange)': 'onSelection()',
59
59
  '(keydown.arrowLeft)': 'onArrow()',
60
- }, template: "<div\n *tuiTextfieldContent\n class=\"t-wrapper\"\n>\n <label\n *tuiRepeatTimes=\"let index of el.maxLength\"\n class=\"t-item\"\n [tuiAppearance]=\"appearance()\"\n [tuiAppearanceFocus]=\"isFocused(index)\"\n [tuiAppearanceMode]=\"control.invalid && control.touched ? 'invalid' : null\"\n (mousedown.prevent)=\"onClick(index)\"\n >\n <span\n class=\"t-value\"\n [class.t-value_filled]=\"el.value[index]\"\n [textContent]=\"el.value[index] || el.placeholder[index]\"\n ></span>\n </label>\n</div>\n", styles: ["@keyframes blink{50%{opacity:0}}:host{color:transparent;caret-color:transparent;background:transparent;border:none;outline:none}:host::selection{background:transparent}:host::placeholder{color:transparent!important}:host ::ng-deep+.t-content .t-clear{display:none!important}.t-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;gap:inherit;border-radius:inherit}.t-item{display:flex;flex:1;align-items:center;justify-content:center;border-radius:inherit;pointer-events:auto;cursor:text}.t-item[data-focus=true] .t-value_filled{background:var(--tui-service-selection-background)}.t-item[data-focus=true] .t-value_filled:before{display:none}.t-item[data-focus=true] .t-value:before{content:\"\";block-size:1em;border-left:1px solid var(--tui-text-primary);animation:blink 1s steps(1) infinite}.t-value{color:var(--tui-text-tertiary)}.t-value_filled{color:var(--tui-text-primary)}\n"] }]
60
+ }, template: "<div\n *tuiTextfieldContent\n class=\"t-wrapper\"\n>\n <label\n *tuiRepeatTimes=\"let index of el.maxLength\"\n class=\"t-item\"\n [tuiAppearance]=\"appearance()\"\n [tuiAppearanceFocus]=\"isFocused(index)\"\n [tuiAppearanceMode]=\"control.invalid && control.touched ? 'invalid' : null\"\n (pointerdown.prevent)=\"onClick(index)\"\n >\n <span\n class=\"t-value\"\n [class.t-value_filled]=\"el.value[index]\"\n [textContent]=\"el.value[index] || el.placeholder[index]\"\n ></span>\n </label>\n</div>\n", styles: ["@keyframes blink{50%{opacity:0}}:host{color:transparent;caret-color:transparent;background:transparent;border:none;outline:none}:host::selection{background:transparent}:host::placeholder{color:transparent!important}:host ::ng-deep+.t-content .t-clear{display:none!important}.t-wrapper{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;display:flex;gap:inherit;border-radius:inherit}.t-item{display:flex;flex:1;align-items:center;justify-content:center;border-radius:inherit;pointer-events:auto;cursor:text}.t-item[data-focus=true] .t-value_filled{background:var(--tui-service-selection-background)}.t-item[data-focus=true] .t-value_filled:before{display:none}.t-item[data-focus=true] .t-value:before{content:\"\";block-size:1em;border-left:1px solid var(--tui-text-primary);animation:blink 1s steps(1) infinite}.t-value{color:var(--tui-text-tertiary)}.t-value_filled{color:var(--tui-text-primary)}\n"] }]
61
61
  }], propDecorators: { maskSetter: [{
62
62
  type: Input,
63
63
  args: ['mask']
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbi9pbnB1dC1waW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGluL2lucHV0LXBpbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUUvQyxNQWdCYSxXQUFXO0lBaEJ4QjtRQWlCdUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQWMsT0FBTyxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCLFlBQU8sR0FBRyxVQUFVLENBQ25DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsYUFBYSxFQUFFLFNBQVM7U0FDM0IsQ0FBQyxDQUFDLENBQ04sQ0FBQztLQW1DTDtJQWpDRyxJQUNXLFVBQVUsQ0FBQyxJQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQ0ksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQztZQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFDNUM7WUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYTtRQUMxQixPQUFPLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLEtBQUs7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO29CQUN6QyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7K0dBN0NRLFdBQVc7bUdBQVgsV0FBVyw2V0N0Q3hCLDRsQkFtQkEsMjhCRE1jLGFBQWEsd0pBQUUsY0FBYyw2R0FBRSxtQkFBbUI7O1NBYW5ELFdBQVc7NEZBQVgsV0FBVztrQkFoQnZCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsbUJBRzVDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsZ0JBQWdCLENBQUMsUUFDNUI7d0JBQ0YsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsbUJBQW1CLEVBQUUsZUFBZTt3QkFDcEMscUJBQXFCLEVBQUUsV0FBVztxQkFDckM7OEJBZ0JVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b01hc2t9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRQaW5dJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpUmVwZWF0VGltZXMsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waW4udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGluLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW01hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgIGlucHV0bW9kZTogJ251bWVyaWMnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICAnKHNlbGVjdGlvbmNoYW5nZSknOiAnb25TZWxlY3Rpb24oKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ29uQXJyb3coKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaW4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHNpZ25hbDxNYXNraXRvTWFzaz4oL15cXGQrJC8pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAgICAgbWFzazogdGhpcy5tYXNrKCksXG4gICAgICAgICAgICBvdmVyd3JpdGVNb2RlOiAncmVwbGFjZScsXG4gICAgICAgIH0pKSxcbiAgICApO1xuXG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogTWFza2l0b01hc2sgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXNrLnNldCh0dWlJc1N0cmluZyhtYXNrKSA/IG5ldyBSZWdFeHAobWFzaykgOiBtYXNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCwgaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmVsLm1heExlbmd0aCAtIDEsIHRoaXMuZWwubWF4TGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkFycm93KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAtIDEgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuc2VsZWN0aW9uRW5kID09PSB0aGlzLmVsLm1heExlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2V0U2VsZWN0aW9uUmFuZ2UodGhpcy5lbC5tYXhMZW5ndGggLSAyLCB0aGlzLmVsLm1heExlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5lbC5tYXhMZW5ndGggLSAxKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBlbC5tYXhMZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlRm9jdXNdPVwiaXNGb2N1c2VkKGluZGV4KVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlTW9kZV09XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogbnVsbFwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJvbkNsaWNrKGluZGV4KVwiXG4gICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0LXZhbHVlXCJcbiAgICAgICAgICAgIFtjbGFzcy50LXZhbHVlX2ZpbGxlZF09XCJlbC52YWx1ZVtpbmRleF1cIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cImVsLnZhbHVlW2luZGV4XSB8fCBlbC5wbGFjZWhvbGRlcltpbmRleF1cIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbi9pbnB1dC1waW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGluL2lucHV0LXBpbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUUvQyxNQWdCYSxXQUFXO0lBaEJ4QjtRQWlCdUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQWMsT0FBTyxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN0RCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCLFlBQU8sR0FBRyxVQUFVLENBQ25DLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsYUFBYSxFQUFFLFNBQVM7U0FDM0IsQ0FBQyxDQUFDLENBQ04sQ0FBQztLQW1DTDtJQWpDRyxJQUNXLFVBQVUsQ0FBQyxJQUEwQjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQ0ksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQztZQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFDNUM7WUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYTtRQUMxQixPQUFPLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLEtBQUs7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTO29CQUN6QyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7K0dBN0NRLFdBQVc7bUdBQVgsV0FBVyw2V0N0Q3hCLDhsQkFtQkEsMjhCRE1jLGFBQWEsd0pBQUUsY0FBYyw2R0FBRSxtQkFBbUI7O1NBYW5ELFdBQVc7NEZBQVgsV0FBVztrQkFoQnZCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsbUJBRzVDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsZ0JBQWdCLENBQUMsUUFDNUI7d0JBQ0YsZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixVQUFVLEVBQUUsT0FBTzt3QkFDbkIsbUJBQW1CLEVBQUUsZUFBZTt3QkFDcEMscUJBQXFCLEVBQUUsV0FBVztxQkFDckM7OEJBZ0JVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b01hc2t9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3JlcGVhdC10aW1lcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRQaW5dJyxcbiAgICBpbXBvcnRzOiBbVHVpQXBwZWFyYW5jZSwgVHVpUmVwZWF0VGltZXMsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waW4udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGluLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW01hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgIGlucHV0bW9kZTogJ251bWVyaWMnLFxuICAgICAgICBzcGVsbGNoZWNrOiAnZmFsc2UnLFxuICAgICAgICAnKHNlbGVjdGlvbmNoYW5nZSknOiAnb25TZWxlY3Rpb24oKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ29uQXJyb3coKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaW4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHNpZ25hbDxNYXNraXRvTWFzaz4oL15cXGQrJC8pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAgICAgbWFzazogdGhpcy5tYXNrKCksXG4gICAgICAgICAgICBvdmVyd3JpdGVNb2RlOiAncmVwbGFjZScsXG4gICAgICAgIH0pKSxcbiAgICApO1xuXG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogTWFza2l0b01hc2sgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5tYXNrLnNldCh0dWlJc1N0cmluZyhtYXNrKSA/IG5ldyBSZWdFeHAobWFzaykgOiBtYXNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShpbmRleCwgaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmVsLm1heExlbmd0aCAtIDEsIHRoaXMuZWwubWF4TGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkFycm93KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAtIDEgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuc2VsZWN0aW9uRW5kID09PSB0aGlzLmVsLm1heExlbmd0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2V0U2VsZWN0aW9uUmFuZ2UodGhpcy5lbC5tYXhMZW5ndGggLSAyLCB0aGlzLmVsLm1heExlbmd0aCAtIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRm9jdXNlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICh0aGlzLmVsLnNlbGVjdGlvblN0YXJ0ID09PSB0aGlzLmVsLm1heExlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5lbC5tYXhMZW5ndGggLSAxKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPGxhYmVsXG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCBpbmRleCBvZiBlbC5tYXhMZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlRm9jdXNdPVwiaXNGb2N1c2VkKGluZGV4KVwiXG4gICAgICAgIFt0dWlBcHBlYXJhbmNlTW9kZV09XCJjb250cm9sLmludmFsaWQgJiYgY29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogbnVsbFwiXG4gICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cIm9uQ2xpY2soaW5kZXgpXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInQtdmFsdWVcIlxuICAgICAgICAgICAgW2NsYXNzLnQtdmFsdWVfZmlsbGVkXT1cImVsLnZhbHVlW2luZGV4XVwiXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiZWwudmFsdWVbaW5kZXhdIHx8IGVsLnBsYWNlaG9sZGVyW2luZGV4XVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgPC9sYWJlbD5cbjwvZGl2PlxuIl19
@@ -49,14 +49,14 @@ class TuiSegmented {
49
49
  this.el.style.setProperty('--t-width', tuiPx(offsetWidth));
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSegmented, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSegmented, isStandalone: true, selector: "tui-segmented", inputs: { size: "size", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [ResizeObserverService, tuiBadgeNotificationOptionsProvider({ size: 's' })], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiSegmentedDirective }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-segmented{position:relative;display:flex;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(black,black);mask-image:linear-gradient(#000,#000)}tui-segmented[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-font-text-s);border-radius:var(--tui-radius-m)}tui-segmented[data-size=s] tui-icon{font-size:1rem}tui-segmented[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-font-text-m);border-radius:var(--tui-radius-m)}tui-segmented[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-font-text-l);border-radius:var(--tui-radius-l)}tui-segmented[data-size=l]>*:before{block-size:1.25rem}tui-segmented>a,tui-segmented>button,tui-segmented>label,tui-segmented>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented>a>*,tui-segmented>button>*,tui-segmented>label>*,tui-segmented>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented>a:focus-visible,tui-segmented>button:focus-visible,tui-segmented>label:focus-visible,tui-segmented>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media (hover: hover) and (pointer: fine){tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>a.tui-segmented_active:hover,tui-segmented>button.tui-segmented_active:hover,tui-segmented>label.tui-segmented_active:hover,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active:hover{opacity:var(--tui-disabled-opacity)}}tui-segmented>a:active,tui-segmented>button:active,tui-segmented>label:active,tui-segmented>label>input:not([tuiRadio]):active,tui-segmented>a:active+*,tui-segmented>button:active+*,tui-segmented>label:active+*,tui-segmented>label>input:not([tuiRadio]):active+*,tui-segmented>a.tui-segmented_active,tui-segmented>button.tui-segmented_active,tui-segmented>label.tui-segmented_active,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented>a.tui-segmented_active+*,tui-segmented>button.tui-segmented_active+*,tui-segmented>label.tui-segmented_active+*,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>label>input:not([tuiRadio]){position:absolute;top:-.125rem;left:-.125rem;right:-.125rem;bottom:-.125rem;background:transparent!important}tui-segmented:before{transition-property:top,left,width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;left:var(--t-left);top:var(--t-top);block-size:var(--t-height);inline-size:var(--t-width);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}[tuiTheme=dark] tui-segmented,tui-segmented[tuiTheme=dark]{--tui-background-base: var(--tui-background-neutral-1-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSegmented, isStandalone: true, selector: "tui-segmented", inputs: { size: "size", activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "attr.data-size": "size" } }, providers: [ResizeObserverService, tuiBadgeNotificationOptionsProvider({ size: 's' })], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiSegmentedDirective }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-segmented{position:relative;display:flex;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(black,black);mask-image:linear-gradient(#000,#000)}tui-segmented[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-font-text-s);border-radius:var(--tui-radius-m)}tui-segmented[data-size=s] tui-icon{font-size:1rem}tui-segmented[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-font-text-m);border-radius:var(--tui-radius-m)}tui-segmented[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-font-text-l);border-radius:var(--tui-radius-l)}tui-segmented[data-size=l]>*:before{block-size:1.25rem}tui-segmented>a,tui-segmented>button,tui-segmented>label,tui-segmented>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented>a>*,tui-segmented>button>*,tui-segmented>label>*,tui-segmented>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented>a:focus-visible,tui-segmented>button:focus-visible,tui-segmented>label:focus-visible,tui-segmented>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media (hover: hover) and (pointer: fine){tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented>a:active,tui-segmented>button:active,tui-segmented>label:active,tui-segmented>label>input:not([tuiRadio]):active,tui-segmented>a:active+*,tui-segmented>button:active+*,tui-segmented>label:active+*,tui-segmented>label>input:not([tuiRadio]):active+*,tui-segmented>a.tui-segmented_active,tui-segmented>button.tui-segmented_active,tui-segmented>label.tui-segmented_active,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented>a.tui-segmented_active+*,tui-segmented>button.tui-segmented_active+*,tui-segmented>label.tui-segmented_active+*,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>label>input:not([tuiRadio]){position:absolute;top:-.125rem;left:-.125rem;right:-.125rem;bottom:-.125rem;background:transparent!important}tui-segmented:before{transition-property:top,left,width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;left:var(--t-left);top:var(--t-top);block-size:var(--t-height);inline-size:var(--t-width);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}[tuiTheme=dark] tui-segmented,tui-segmented[tuiTheme=dark]{--tui-background-base: var(--tui-background-neutral-1-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
53
  }
54
54
  export { TuiSegmented };
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSegmented, decorators: [{
56
56
  type: Component,
57
57
  args: [{ standalone: true, selector: 'tui-segmented', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [ResizeObserverService, tuiBadgeNotificationOptionsProvider({ size: 's' })], hostDirectives: [TuiSegmentedDirective], host: {
58
58
  '[attr.data-size]': 'size',
59
- }, styles: ["tui-segmented{position:relative;display:flex;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(black,black);mask-image:linear-gradient(#000,#000)}tui-segmented[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-font-text-s);border-radius:var(--tui-radius-m)}tui-segmented[data-size=s] tui-icon{font-size:1rem}tui-segmented[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-font-text-m);border-radius:var(--tui-radius-m)}tui-segmented[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-font-text-l);border-radius:var(--tui-radius-l)}tui-segmented[data-size=l]>*:before{block-size:1.25rem}tui-segmented>a,tui-segmented>button,tui-segmented>label,tui-segmented>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented>a>*,tui-segmented>button>*,tui-segmented>label>*,tui-segmented>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented>a:focus-visible,tui-segmented>button:focus-visible,tui-segmented>label:focus-visible,tui-segmented>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media (hover: hover) and (pointer: fine){tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>a.tui-segmented_active:hover,tui-segmented>button.tui-segmented_active:hover,tui-segmented>label.tui-segmented_active:hover,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active:hover{opacity:var(--tui-disabled-opacity)}}tui-segmented>a:active,tui-segmented>button:active,tui-segmented>label:active,tui-segmented>label>input:not([tuiRadio]):active,tui-segmented>a:active+*,tui-segmented>button:active+*,tui-segmented>label:active+*,tui-segmented>label>input:not([tuiRadio]):active+*,tui-segmented>a.tui-segmented_active,tui-segmented>button.tui-segmented_active,tui-segmented>label.tui-segmented_active,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented>a.tui-segmented_active+*,tui-segmented>button.tui-segmented_active+*,tui-segmented>label.tui-segmented_active+*,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>label>input:not([tuiRadio]){position:absolute;top:-.125rem;left:-.125rem;right:-.125rem;bottom:-.125rem;background:transparent!important}tui-segmented:before{transition-property:top,left,width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;left:var(--t-left);top:var(--t-top);block-size:var(--t-height);inline-size:var(--t-width);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}[tuiTheme=dark] tui-segmented,tui-segmented[tuiTheme=dark]{--tui-background-base: var(--tui-background-neutral-1-hover)}\n"] }]
59
+ }, styles: ["tui-segmented{position:relative;display:flex;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(black,black);mask-image:linear-gradient(#000,#000)}tui-segmented[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-font-text-s);border-radius:var(--tui-radius-m)}tui-segmented[data-size=s] tui-icon{font-size:1rem}tui-segmented[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-font-text-m);border-radius:var(--tui-radius-m)}tui-segmented[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-font-text-l);border-radius:var(--tui-radius-l)}tui-segmented[data-size=l]>*:before{block-size:1.25rem}tui-segmented>a,tui-segmented>button,tui-segmented>label,tui-segmented>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented>a>*,tui-segmented>button>*,tui-segmented>label>*,tui-segmented>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented>a:focus-visible,tui-segmented>button:focus-visible,tui-segmented>label:focus-visible,tui-segmented>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media (hover: hover) and (pointer: fine){tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented>a:not(.tui-segmented_active):not(:active):hover,tui-segmented>button:not(.tui-segmented_active):not(:active):hover,tui-segmented>label:not(.tui-segmented_active):not(:active):hover,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented>a:active,tui-segmented>button:active,tui-segmented>label:active,tui-segmented>label>input:not([tuiRadio]):active,tui-segmented>a:active+*,tui-segmented>button:active+*,tui-segmented>label:active+*,tui-segmented>label>input:not([tuiRadio]):active+*,tui-segmented>a.tui-segmented_active,tui-segmented>button.tui-segmented_active,tui-segmented>label.tui-segmented_active,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented>a.tui-segmented_active+*,tui-segmented>button.tui-segmented_active+*,tui-segmented>label.tui-segmented_active+*,tui-segmented>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented>label>input:not([tuiRadio]){position:absolute;top:-.125rem;left:-.125rem;right:-.125rem;bottom:-.125rem;background:transparent!important}tui-segmented:before{transition-property:top,left,width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;left:var(--t-left);top:var(--t-top);block-size:var(--t-height);inline-size:var(--t-width);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}[tuiTheme=dark] tui-segmented,tui-segmented[tuiTheme=dark]{--tui-background-base: var(--tui-background-neutral-1-hover)}\n"] }]
60
60
  }], propDecorators: { size: [{
61
61
  type: Input
62
62
  }], activeItemIndex: [{