@taiga-ui/kit 2.35.0 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -0
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +129 -12
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +50 -13
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +22 -5
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/slider/index.d.ts +2 -0
- package/components/slider/slider-key-steps.directive.d.ts +17 -0
- package/components/slider/slider-options.d.ts +9 -0
- package/components/slider/slider.component.d.ts +6 -3
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/text-area/index.d.ts +1 -0
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/text-area/text-area.component.d.ts +2 -1
- package/components/text-area/text-area.directive.d.ts +5 -0
- package/directives/dropdown-selection/dropdown-selection.directive.d.ts +2 -2
- package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
- package/esm2015/components/combo-box/combo-box.component.js +2 -2
- package/esm2015/components/input-range/input-range.component.js +3 -3
- package/esm2015/components/input-slider/input-slider.component.js +3 -3
- package/esm2015/components/input-tag/input-tag.component.js +3 -3
- package/esm2015/components/line-clamp/line-clamp.directive.js +2 -1
- package/esm2015/components/slider/index.js +3 -1
- package/esm2015/components/slider/slider-key-steps.directive.js +81 -0
- package/esm2015/components/slider/slider-options.js +11 -0
- package/esm2015/components/slider/slider.component.js +19 -11
- package/esm2015/components/slider/slider.module.js +4 -3
- package/esm2015/components/text-area/index.js +2 -1
- package/esm2015/components/text-area/text-area.component.js +21 -13
- package/esm2015/components/text-area/text-area.directive.js +22 -0
- package/esm2015/components/text-area/text-area.module.js +7 -6
- package/esm2015/components/text-area/text-area.providers.js +6 -2
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
- package/esm5/components/combo-box/combo-box.component.js +2 -2
- package/esm5/components/input-range/input-range.component.js +3 -3
- package/esm5/components/input-slider/input-slider.component.js +3 -3
- package/esm5/components/input-tag/input-tag.component.js +3 -3
- package/esm5/components/line-clamp/line-clamp.directive.js +2 -1
- package/esm5/components/slider/index.js +3 -1
- package/esm5/components/slider/slider-key-steps.directive.js +102 -0
- package/esm5/components/slider/slider-options.js +12 -0
- package/esm5/components/slider/slider.component.js +19 -11
- package/esm5/components/slider/slider.module.js +4 -3
- package/esm5/components/text-area/index.js +2 -1
- package/esm5/components/text-area/text-area.component.js +21 -13
- package/esm5/components/text-area/text-area.directive.js +28 -0
- package/esm5/components/text-area/text-area.module.js +7 -6
- package/esm5/components/text-area/text-area.providers.js +6 -2
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
- package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -0
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +107 -15
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +47 -17
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +22 -5
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +1 -0
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +129 -16
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +53 -17
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +22 -5
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/package.json +4 -4
|
@@ -6,6 +6,14 @@ import { AbstractTuiDropdown, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIV
|
|
|
6
6
|
import { getWordRange } from '@taiga-ui/kit/utils/dom';
|
|
7
7
|
import { merge } from 'rxjs';
|
|
8
8
|
import { map, switchMapTo, takeUntil } from 'rxjs/operators';
|
|
9
|
+
var EMPTY_RECT = {
|
|
10
|
+
bottom: 0,
|
|
11
|
+
height: 0,
|
|
12
|
+
left: 0,
|
|
13
|
+
right: 0,
|
|
14
|
+
top: 0,
|
|
15
|
+
width: 0,
|
|
16
|
+
};
|
|
9
17
|
// @dynamic
|
|
10
18
|
var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
11
19
|
__extends(TuiDropdownSelectionDirective, _super);
|
|
@@ -19,6 +27,10 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
19
27
|
_this.visibilityHandler = ALWAYS_TRUE_HANDLER;
|
|
20
28
|
_this.position = 'selection';
|
|
21
29
|
_this.documentRef = shadowRootRef || documentRef;
|
|
30
|
+
// SSR protection
|
|
31
|
+
if (!_this.documentRef.createRange) {
|
|
32
|
+
return _this;
|
|
33
|
+
}
|
|
22
34
|
_this.range = _this.documentRef.createRange();
|
|
23
35
|
var nativeElement = _this.elementRef.nativeElement;
|
|
24
36
|
merge(typedFromEvent(_this.documentRef, 'mouseup'), typedFromEvent(nativeElement, 'mousedown').pipe(switchMapTo(typedFromEvent(nativeElement, 'mousemove').pipe(takeUntil(typedFromEvent(_this.documentRef, 'mouseup'))))), typedFromEvent(nativeElement, 'keyup'))
|
|
@@ -36,18 +48,20 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
36
48
|
: _this.range;
|
|
37
49
|
}), takeUntil(destroy$))
|
|
38
50
|
.subscribe(function (range) {
|
|
39
|
-
var contained = nativeElement.contains(range.commonAncestorContainer);
|
|
51
|
+
var contained = !!range && nativeElement.contains(range.commonAncestorContainer);
|
|
40
52
|
_this.range = contained ? range : _this.range;
|
|
41
53
|
var valid = contained &&
|
|
42
|
-
(!_this.visibilityHandler ||
|
|
43
|
-
|
|
54
|
+
(!_this.visibilityHandler ||
|
|
55
|
+
!_this.range ||
|
|
56
|
+
_this.visibilityHandler(_this.range));
|
|
57
|
+
_this.toggleDropdownBox(!!range && (valid || _this.inDropdown(range)));
|
|
44
58
|
});
|
|
45
59
|
return _this;
|
|
46
60
|
}
|
|
47
61
|
TuiDropdownSelectionDirective_1 = TuiDropdownSelectionDirective;
|
|
48
62
|
Object.defineProperty(TuiDropdownSelectionDirective.prototype, "tuiDropdownSelection", {
|
|
49
63
|
set: function (handler) {
|
|
50
|
-
if (!handler) {
|
|
64
|
+
if (!handler || !this.range) {
|
|
51
65
|
return;
|
|
52
66
|
}
|
|
53
67
|
var inHostAndValid = this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&
|
|
@@ -90,6 +104,9 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
90
104
|
* get ClientRect of current Range according to provided position
|
|
91
105
|
*/
|
|
92
106
|
get: function () {
|
|
107
|
+
if (!this.range) {
|
|
108
|
+
return EMPTY_RECT;
|
|
109
|
+
}
|
|
93
110
|
switch (this.position) {
|
|
94
111
|
case 'tag': {
|
|
95
112
|
var commonAncestorContainer = this.range.commonAncestorContainer;
|
|
@@ -130,7 +147,7 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
130
147
|
this.dropdownBoxRef.location.nativeElement.contains(node));
|
|
131
148
|
};
|
|
132
149
|
/**
|
|
133
|
-
* Check if given range is at
|
|
150
|
+
* Check if given range is at least partially inside dropdown
|
|
134
151
|
*/
|
|
135
152
|
TuiDropdownSelectionDirective.prototype.inDropdown = function (range) {
|
|
136
153
|
var startContainer = range.startContainer, endContainer = range.endContainer;
|
|
@@ -234,4 +251,4 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
234
251
|
return TuiDropdownSelectionDirective;
|
|
235
252
|
}(AbstractTuiDropdown));
|
|
236
253
|
export { TuiDropdownSelectionDirective };
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixFQUFFLEVBQ0Ysc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixlQUFlLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsV0FBVztBQVlYO0lBQ1ksaURBQW1CO0lBeUIzQix1Q0FDc0IsV0FBcUIsRUFFdkMsd0JBQWtELEVBQ2hDLFFBQWtCLEVBQ1YsYUFBK0IsRUFDN0Is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JztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19UUlVFX0hBTkRMRVIsXG4gICAgQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UsXG4gICAgZ2V0TmF0aXZlRm9jdXNlZCxcbiAgICBweCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlLFxuICAgIFR1aVBvcnRhbFNlcnZpY2UsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aURyb3Bkb3duLFxuICAgIFRVSV9ET0NVTUVOVF9PUl9TSEFET1dfUk9PVCxcbiAgICBUVUlfRFJPUERPV05fRElSRUNUSVZFLFxuICAgIFRVSV9FTEVNRU5UX1JFRixcbiAgICBUdWlEcm9wZG93bixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtnZXRXb3JkUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZG9tJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcFRvLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duU2VsZWN0aW9uXTpub3QobmctY29udGFpbmVyKScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EUk9QRE9XTl9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlEcm9wZG93blNlbGVjdGlvbkRpcmVjdGl2ZSksXG4gICAgICAgIH0sXG4gICAgICAgIFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlLFxuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93blNlbGVjdGlvbkRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlEcm9wZG93blxuICAgIGltcGxlbWVudHMgVHVpRHJvcGRvd24sIE9uRGVzdHJveVxue1xuICAgIHByaXZhdGUgdmlzaWJpbGl0eUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFJhbmdlPiA9IEFMV0FZU19UUlVFX0hBTkRMRVI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQ7XG4gICAgcHJpdmF0ZSBnaG9zdD86IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgcmFuZ2U6IFJhbmdlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHVpRHJvcGRvd25TZWxlY3Rpb24oaGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5Ib3N0QW5kVmFsaWQgPVxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGhpcy5yYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIGhhbmRsZXIodGhpcy5yYW5nZSk7XG5cbiAgICAgICAgdGhpcy52aXNpYmlsaXR5SGFuZGxlciA9IGhhbmRsZXI7XG4gICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd25Cb3goaW5Ib3N0QW5kVmFsaWQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcG9zaXRpb246ICdzZWxlY3Rpb24nIHwgJ3dvcmQnIHwgJ3RhZycgPSAnc2VsZWN0aW9uJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKVxuICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgQEluamVjdChJbmplY3RvcikgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFR1aVBvcnRhbFNlcnZpY2UpIHBvcnRhbFNlcnZpY2U6IFR1aVBvcnRhbFNlcnZpY2UsXG4gICAgICAgIEBIb3N0KCkgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBhY3RpdmVab25lOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRE9DVU1FTlRfT1JfU0hBRE9XX1JPT1QpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHNoYWRvd1Jvb3RSZWY6IERvY3VtZW50IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRUxFTUVOVF9SRUYpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGN1c3RvbUVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aVBhcmVudHNTY3JvbGxTZXJ2aWNlKSByZWFkb25seSByZWZyZXNoJDogVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChWaWV3Q29udGFpbmVyUmVmKSBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgY3VzdG9tRWxlbWVudFJlZiB8fCBlbGVtZW50UmVmLFxuICAgICAgICAgICAgYWN0aXZlWm9uZSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudFJlZiA9IHNoYWRvd1Jvb3RSZWYgfHwgZG9jdW1lbnRSZWY7XG4gICAgICAgIHRoaXMucmFuZ2UgPSB0aGlzLmRvY3VtZW50UmVmLmNyZWF0ZVJhbmdlKCk7XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNldXAnKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBnZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jdW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmRvY3VtZW50UmVmLmdldFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnlWZXJ5U2FkSW5wdXRGaXgoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnJhbmdlQ291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5yYW5nZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVkID0gbmF0aXZlRWxlbWVudC5jb250YWlucyhyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJhbmdlID0gY29udGFpbmVkID8gcmFuZ2UgOiB0aGlzLnJhbmdlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWQgPVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgKCF0aGlzLnZpc2liaWxpdHlIYW5kbGVyIHx8IHRoaXMudmlzaWJpbGl0eUhhbmRsZXIodGhpcy5yYW5nZSkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bkJveCh2YWxpZCB8fCB0aGlzLmluRHJvcGRvd24ocmFuZ2UpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBjb25zdCB7ZGVmYXVsdFZpZXd9ID0gdGhpcy5kb2N1bWVudFJlZjtcbiAgICAgICAgY29uc3Qge3JhbmdlUmVjdH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBmcmFtZUVsZW1lbnQgPSBkZWZhdWx0VmlldyA/IGRlZmF1bHRWaWV3LmZyYW1lRWxlbWVudCA6IG51bGw7XG5cbiAgICAgICAgaWYgKCFmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiByYW5nZVJlY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkb2N1bWVudFJlY3QgPSBmcmFtZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvcDogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AsXG4gICAgICAgICAgICBsZWZ0OiByYW5nZVJlY3QubGVmdCArIGRvY3VtZW50UmVjdC5sZWZ0LFxuICAgICAgICAgICAgcmlnaHQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQgKyByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBib3R0b206IHJhbmdlUmVjdC50b3AgKyBkb2N1bWVudFJlY3QudG9wICsgcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoOiByYW5nZVJlY3Qud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHJhbmdlUmVjdC5oZWlnaHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5naG9zdCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgQ2xpZW50UmVjdCBvZiBjdXJyZW50IFJhbmdlIGFjY29yZGluZyB0byBwcm92aWRlZCBwb3NpdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0IHJhbmdlUmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2NvbW1vbkFuY2VzdG9yQ29udGFpbmVyfSA9IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjb21tb25BbmNlc3RvckNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZHJvcGRvd24gdmlzaWJpbGl0eSAoaGFzIHRvIGJlIGluIG5nWm9uZS5ydW4gYmVjYXVzZSBpdCBjb3VsZCBiZSBpbml0aWF0ZWQgaW5zaWRlIGlmcmFtZSBpbiBFZGl0b3IpXG4gICAgICovXG4gICAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bkJveCh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duQm94KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBOb2RlIGlzIGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgYm94Q29udGFpbnMobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRyb3Bkb3duQm94UmVmICYmXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobm9kZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzZXQgcGFydGlhbGx5IGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgaW5Ecm9wZG93bihyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3N0YXJ0Q29udGFpbmVyLCBlbmRDb250YWluZXJ9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IGluRHJvcGRvd24gPSB0aGlzLmJveENvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaG9zdFRvRHJvcGRvd24gPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhlbmRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhzdGFydENvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duVG9Ib3N0ID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoc3RhcnRDb250YWluZXIpICYmXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhlbmRDb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiBpbkRyb3Bkb3duIHx8IGhvc3RUb0Ryb3Bkb3duIHx8IGRyb3Bkb3duVG9Ib3N0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIGludmlzaWJsZSBESVYgYW5kIGNyZWF0ZSBSYW5nZSBzaW1pbGFyIHRvIHNlbGVjdGVkIHJhbmdlIGluc2lkZSBpbnB1dC90ZXh0YXJlYVxuICAgICAqL1xuICAgIHByaXZhdGUgdmVyeVZlcnlTYWRJbnB1dEZpeChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IFJhbmdlIHtcbiAgICAgICAgY29uc3Qge2dob3N0ID0gdGhpcy5pbml0R2hvc3QoZWxlbWVudCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZH0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSBweCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gcHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gcHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyBlbGVtZW50LnZhbHVlICsgQ0hBUl9OT19CUkVBS19TUEFDRTtcblxuICAgICAgICByYW5nZS5zZXRTdGFydChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uU3RhcnQgfHwgMCk7XG4gICAgICAgIHJhbmdlLnNldEVuZChnaG9zdC5maXJzdENoaWxkISwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBnaG9zdCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50O1xuICAgICAgICBjb25zdCB7Zm9udCwgbGV0dGVyU3BhY2luZywgdGV4dFRyYW5zZm9ybSwgcGFkZGluZ30gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZ2hvc3Quc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgZ2hvc3Quc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUtd3JhcCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmZvbnQgPSBmb250O1xuICAgICAgICBnaG9zdC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gbGV0dGVyU3BhY2luZztcbiAgICAgICAgZ2hvc3Quc3R5bGUudGV4dFRyYW5zZm9ybSA9IHRleHRUcmFuc2Zvcm07XG4gICAgICAgIGdob3N0LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQobmF0aXZlRWxlbWVudCwgZ2hvc3QpO1xuICAgICAgICB0aGlzLmdob3N0ID0gZ2hvc3Q7XG5cbiAgICAgICAgcmV0dXJuIGdob3N0O1xuICAgIH1cbn1cbiJdfQ==
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9kcm9wZG93bi1zZWxlY3Rpb24vIiwic291cmNlcyI6WyJkcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixFQUFFLEVBQ0Ysc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixlQUFlLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsSUFBTSxVQUFVLEdBQWU7SUFDM0IsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsQ0FBQztJQUNULElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLEtBQUssRUFBRSxDQUFDO0NBQ1gsQ0FBQztBQUVGLFdBQVc7QUFZWDtJQUNZLGlEQUFtQjtJQXlCM0IsdUNBQ3NCLFdBQXFCLEVBRXZDLHdCQUFrRCxFQUNoQyxRQUFrQixFQUNWLGFBQStCLEVBQzdCLFVBQW1DLEVBRy9ELFVBQXlDLEVBR3pDLGFBQThCLEVBRzlCLGdCQUFnRCxFQUVoRCxRQUEyQixFQUNlLFFBQWlDLEVBQy9CLGlCQUFvQyxFQUMvQyxNQUFjLEVBQ1gsUUFBbUIsRUFDWixnQkFBa0M7UUF0QmpGLFlBd0JJLGtCQUNJLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsYUFBYSxFQUNiLGdCQUFnQixJQUFJLFVBQVUsRUFDOUIsVUFBVSxDQUNiLFNBeURKO1FBckU2QyxjQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUMvQix1QkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQy9DLFlBQU0sR0FBTixNQUFNLENBQVE7UUFDWCxjQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1osc0JBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTVDekUsdUJBQWlCLEdBQTZCLG1CQUFtQixDQUFDO1FBb0IxRSxjQUFRLEdBQWlDLFdBQVcsQ0FBQztRQWlDakQsS0FBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLElBQUksV0FBVyxDQUFDO1FBRWhELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7O1NBRWxDO1FBRUQsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXJDLElBQUEsOENBQWEsQ0FBb0I7UUFFeEMsS0FBSyxDQUNELGNBQWMsQ0FBQyxLQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUMzQyxjQUFjLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDM0MsV0FBVyxDQUNQLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUMzQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDekQsQ0FDSixDQUNKLEVBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FDekM7YUFDSSxJQUFJLENBQ0QsR0FBRyxDQUFDO1lBQ0EsSUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELElBQU0sU0FBUyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFbEQsdUJBQXVCO1lBQ3ZCLElBQ0ksQ0FBQyxNQUFNLFlBQVksZ0JBQWdCO2dCQUMvQixNQUFNLFlBQVksbUJBQW1CLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ2hDO2dCQUNFLE9BQU8sS0FBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzNDO1lBRUQsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLFVBQVU7Z0JBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxVQUFBLEtBQUs7WUFDWixJQUFNLFNBQVMsR0FDWCxDQUFDLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFFckUsS0FBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQztZQUU1QyxJQUFNLEtBQUssR0FDUCxTQUFTO2dCQUNULENBQUMsQ0FBQyxLQUFJLENBQUMsaUJBQWlCO29CQUNwQixDQUFDLEtBQUksQ0FBQyxLQUFLO29CQUNYLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUU1QyxLQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQzs7SUFDWCxDQUFDO3NDQWpIUSw2QkFBNkI7SUFVdEMsc0JBQUksK0RBQW9CO2FBQXhCLFVBQXlCLE9BQTZDO1lBQ2xFLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN6QixPQUFPO2FBQ1Y7WUFFRCxJQUFNLGNBQWMsR0FDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUM7Z0JBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzs7O09BQUE7SUE4RkQsc0JBQUkscURBQVU7YUFBZDtZQUNXLElBQUEsMENBQVcsQ0FBcUI7WUFDaEMsSUFBQSwwQkFBUyxDQUFTO1lBQ3pCLElBQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRW5FLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7YUFDcEI7WUFFRCxJQUFNLFlBQVksR0FBRyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUUxRCxPQUFPO2dCQUNILEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHO2dCQUNyQyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSTtnQkFDeEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSztnQkFDM0QsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTTtnQkFDM0QsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO2dCQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDM0IsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBRUQsbURBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FDYixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBS0Qsc0JBQVksb0RBQVM7UUFIckI7O1dBRUc7YUFDSDtZQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLE9BQU8sVUFBVSxDQUFDO2FBQ3JCO1lBRUQsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNuQixLQUFLLEtBQUssQ0FBQyxDQUFDO29CQUNELElBQUEsNERBQXVCLENBQWU7b0JBQzdDLElBQU0sT0FBTyxHQUNULHVCQUF1QixDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWTt3QkFDbEQsQ0FBQyxDQUFDLHVCQUF1Qjt3QkFDekIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQztvQkFFN0MsT0FBUSxPQUFtQixDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQ3ZEO2dCQUNELEtBQUssTUFBTTtvQkFDUCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDNUQ7b0JBQ0ksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFDakQ7UUFDTCxDQUFDOzs7T0FBQTtJQUVEOztPQUVHO0lBQ0sseURBQWlCLEdBQXpCLFVBQTBCLE9BQWdCO1FBQTFDLGlCQVVDO1FBVEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDWixJQUFJLE9BQU8sRUFBRTtnQkFDVCxLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0gsS0FBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDM0I7WUFFRCxLQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtREFBVyxHQUFuQixVQUFvQixJQUFVO1FBQzFCLE9BQU8sQ0FDSCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDNUQsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLGtEQUFVLEdBQWxCLFVBQW1CLEtBQVk7UUFDcEIsSUFBQSxxQ0FBYyxFQUFFLGlDQUFZLENBQVU7UUFDN0MsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNuRSxJQUFNLGNBQWMsR0FDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNELElBQU0sY0FBYyxHQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFekQsT0FBTyxVQUFVLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSywyREFBbUIsR0FBM0IsVUFBNEIsT0FBK0M7UUFDaEUsSUFBQSxlQUErQixFQUEvQixvREFBK0IsQ0FBUztRQUN6QyxJQUFBLG9DQUE0RCxFQUEzRCxZQUFHLEVBQUUsY0FBSSxFQUFFLGdCQUFLLEVBQUUsa0JBQXlDLENBQUM7UUFDNUQsSUFBQSx1Q0FBYyxFQUFFLG1DQUFZLENBQVk7UUFDL0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDO1FBRWhGLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVcsRUFBRSxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVyxFQUFFLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVuRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxpREFBUyxHQUFqQixVQUFrQixPQUErQztRQUM3RCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFBLDJEQUFhLENBQWtDO1FBQ2hELElBQUEsOEJBQXlFLEVBQXhFLGNBQUksRUFBRSxnQ0FBYSxFQUFFLGdDQUFhLEVBQUUsb0JBQW9DLENBQUM7UUFFaEYsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN4QixLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7O2dCQXJPa0MsUUFBUSx1QkFBdEMsTUFBTSxTQUFDLFFBQVE7Z0JBRVUsd0JBQXdCLHVCQURqRCxNQUFNLFNBQUMsd0JBQXdCO2dCQUVKLFFBQVEsdUJBQW5DLE1BQU0sU0FBQyxRQUFRO2dCQUN5QixnQkFBZ0IsdUJBQXhELE1BQU0sU0FBQyxnQkFBZ0I7Z0JBQ2dCLFVBQVUsdUJBQWpELElBQUksWUFBSSxNQUFNLFNBQUMsVUFBVTtnQkFHZCxzQkFBc0IsdUJBRmpDLE1BQU0sU0FBQyxzQkFBc0IsY0FDN0IsUUFBUTtnQkFJTSxRQUFRLHVCQUZ0QixNQUFNLFNBQUMsMkJBQTJCLGNBQ2xDLFFBQVE7Z0JBSVMsVUFBVSx1QkFGM0IsTUFBTSxTQUFDLGVBQWUsY0FDdEIsUUFBUTtnQkFHQyxpQkFBaUIsdUJBRDFCLE1BQU0sU0FBQyxpQkFBaUI7Z0JBRTJCLHVCQUF1Qix1QkFBMUUsTUFBTSxTQUFDLHVCQUF1QjtnQkFDZ0MsaUJBQWlCLHVCQUEvRSxNQUFNLFNBQUMsaUJBQWlCO2dCQUNnQixNQUFNLHVCQUE5QyxNQUFNLFNBQUMsTUFBTTtnQkFDZ0MsU0FBUyx1QkFBdEQsTUFBTSxTQUFDLFNBQVM7Z0JBQzRDLGdCQUFnQix1QkFBNUUsTUFBTSxTQUFDLGdCQUFnQjs7SUF0QzVCO1FBREMsS0FBSyxFQUFFOzZFQVlQO0lBR0Q7UUFEQyxLQUFLLENBQUMsOEJBQThCLENBQUM7bUVBQ2U7SUF4QjVDLDZCQUE2QjtRQVh6QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsMENBQTBDO1lBQ3BELFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsc0JBQXNCO29CQUMvQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSwrQkFBNkIsRUFBN0IsQ0FBNkIsQ0FBQztpQkFDL0Q7Z0JBQ0QsdUJBQXVCO2dCQUN2QixpQkFBaUI7YUFDcEI7U0FDSixDQUFDO1FBNEJPLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFaEMsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUN4QixXQUFBLElBQUksRUFBRSxDQUFBLEVBQUUsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDMUIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUM5QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBRVYsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUNuQyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBRVYsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDdkIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUVWLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUMvQixZQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFlBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsWUFBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDakIsWUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtPQWhEcEIsNkJBQTZCLENBaVF6QztJQUFELG9DQUFDO0NBQUEsQUFqUUQsQ0FDWSxtQkFBbUIsR0FnUTlCO1NBalFZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgQ0hBUl9aRVJPX1dJRFRIX1NQQUNFLFxuICAgIGdldE5hdGl2ZUZvY3VzZWQsXG4gICAgcHgsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICBUdWlQb3J0YWxTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlEcm9wZG93bixcbiAgICBUVUlfRE9DVU1FTlRfT1JfU0hBRE9XX1JPT1QsXG4gICAgVFVJX0RST1BET1dOX0RJUkVDVElWRSxcbiAgICBUVUlfRUxFTUVOVF9SRUYsXG4gICAgVHVpRHJvcGRvd24sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7Z2V0V29yZFJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2RvbSc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXBUbywgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IEVNUFRZX1JFQ1Q6IENsaWVudFJlY3QgPSB7XG4gICAgYm90dG9tOiAwLFxuICAgIGhlaWdodDogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgICB3aWR0aDogMCxcbn07XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93blNlbGVjdGlvbl06bm90KG5nLWNvbnRhaW5lciknLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRFJPUERPV05fRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpRHJvcGRvd25TZWxlY3Rpb25EaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgICAgICBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25TZWxlY3Rpb25EaXJlY3RpdmVcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpRHJvcGRvd25cbiAgICBpbXBsZW1lbnRzIFR1aURyb3Bkb3duLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIHZpc2liaWxpdHlIYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRSZWY6IERvY3VtZW50O1xuICAgIHByaXZhdGUgZ2hvc3Q/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJhbmdlPzogUmFuZ2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbihoYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKCFoYW5kbGVyIHx8ICF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbkhvc3RBbmRWYWxpZCA9XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLnJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKSAmJlxuICAgICAgICAgICAgaGFuZGxlcih0aGlzLnJhbmdlKTtcblxuICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bkJveChpbkhvc3RBbmRWYWxpZCk7XG4gICAgfVxuXG4gICAgQElucHV0KCd0dWlEcm9wZG93blNlbGVjdGlvblBvc2l0aW9uJylcbiAgICBwb3NpdGlvbjogJ3NlbGVjdGlvbicgfCAnd29yZCcgfCAndGFnJyA9ICdzZWxlY3Rpb24nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVHVpUG9ydGFsU2VydmljZSkgcG9ydGFsU2VydmljZTogVHVpUG9ydGFsU2VydmljZSxcbiAgICAgICAgQEhvc3QoKSBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NVTUVOVF9PUl9TSEFET1dfUk9PVClcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgc2hhZG93Um9vdFJlZjogRG9jdW1lbnQgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9FTEVNRU5UX1JFRilcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgY3VzdG9tRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpUGFyZW50c1Njcm9sbFNlcnZpY2UpIHJlYWRvbmx5IHJlZnJlc2gkOiBUdWlQYXJlbnRzU2Nyb2xsU2VydmljZSxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMikgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KFZpZXdDb250YWluZXJSZWYpIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICBpbmplY3RvcixcbiAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UsXG4gICAgICAgICAgICBjdXN0b21FbGVtZW50UmVmIHx8IGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBhY3RpdmVab25lLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVmID0gc2hhZG93Um9vdFJlZiB8fCBkb2N1bWVudFJlZjtcblxuICAgICAgICAvLyBTU1IgcHJvdGVjdGlvblxuICAgICAgICBpZiAoIXRoaXMuZG9jdW1lbnRSZWYuY3JlYXRlUmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmFuZ2UgPSB0aGlzLmRvY3VtZW50UmVmLmNyZWF0ZVJhbmdlKCk7XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5lbGVtZW50UmVmO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5kb2N1bWVudFJlZiwgJ21vdXNldXAnKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKFxuICAgICAgICAgICAgICAgICAgICB0eXBlZEZyb21FdmVudChuYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0eXBlZEZyb21FdmVudCh0aGlzLmRvY3VtZW50UmVmLCAnbW91c2V1cCcpKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBnZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jdW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLmRvY3VtZW50UmVmLmdldFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnlWZXJ5U2FkSW5wdXRGaXgoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnJhbmdlQ291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc2VsZWN0aW9uLmdldFJhbmdlQXQoMClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5yYW5nZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyYW5nZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVkID1cbiAgICAgICAgICAgICAgICAgICAgISFyYW5nZSAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmFuZ2UgPSBjb250YWluZWQgPyByYW5nZSA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAoIXRoaXMudmlzaWJpbGl0eUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnJhbmdlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlIYW5kbGVyKHRoaXMucmFuZ2UpKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd25Cb3goISFyYW5nZSAmJiAodmFsaWQgfHwgdGhpcy5pbkRyb3Bkb3duKHJhbmdlKSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGNsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIGNvbnN0IHtkZWZhdWx0Vmlld30gPSB0aGlzLmRvY3VtZW50UmVmO1xuICAgICAgICBjb25zdCB7cmFuZ2VSZWN0fSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyYW1lRWxlbWVudCA9IGRlZmF1bHRWaWV3ID8gZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50IDogbnVsbDtcblxuICAgICAgICBpZiAoIWZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHJhbmdlUmVjdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvY3VtZW50UmVjdCA9IGZyYW1lRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wOiByYW5nZVJlY3QudG9wICsgZG9jdW1lbnRSZWN0LnRvcCxcbiAgICAgICAgICAgIGxlZnQ6IHJhbmdlUmVjdC5sZWZ0ICsgZG9jdW1lbnRSZWN0LmxlZnQsXG4gICAgICAgICAgICByaWdodDogcmFuZ2VSZWN0LmxlZnQgKyBkb2N1bWVudFJlY3QubGVmdCArIHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGJvdHRvbTogcmFuZ2VSZWN0LnRvcCArIGRvY3VtZW50UmVjdC50b3AgKyByYW5nZVJlY3QuaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHJhbmdlUmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcmFuZ2VSZWN0LmhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duQm94KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLmdob3N0LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCBDbGllbnRSZWN0IG9mIGN1cnJlbnQgUmFuZ2UgYWNjb3JkaW5nIHRvIHByb3ZpZGVkIHBvc2l0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmFuZ2VSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWV9SRUNUO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICd0YWcnOiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2NvbW1vbkFuY2VzdG9yQ29udGFpbmVyfSA9IHRoaXMucmFuZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjb21tb25BbmNlc3RvckNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGUgZHJvcGRvd24gdmlzaWJpbGl0eSAoaGFzIHRvIGJlIGluIG5nWm9uZS5ydW4gYmVjYXVzZSBpdCBjb3VsZCBiZSBpbml0aWF0ZWQgaW5zaWRlIGlmcmFtZSBpbiBFZGl0b3IpXG4gICAgICovXG4gICAgcHJpdmF0ZSB0b2dnbGVEcm9wZG93bkJveCh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duQm94KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bkJveCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBOb2RlIGlzIGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgYm94Q29udGFpbnMobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRyb3Bkb3duQm94UmVmICYmXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQm94UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobm9kZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbkRyb3Bkb3duKHJhbmdlOiBSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c3RhcnRDb250YWluZXIsIGVuZENvbnRhaW5lcn0gPSByYW5nZTtcbiAgICAgICAgY29uc3QgaW5Ecm9wZG93biA9IHRoaXMuYm94Q29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuICAgICAgICBjb25zdCBob3N0VG9Ecm9wZG93biA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKGVuZENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25Ub0hvc3QgPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhzdGFydENvbnRhaW5lcikgJiZcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVuZENvbnRhaW5lcik7XG5cbiAgICAgICAgcmV0dXJuIGluRHJvcGRvd24gfHwgaG9zdFRvRHJvcGRvd24gfHwgZHJvcGRvd25Ub0hvc3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gaW52aXNpYmxlIERJViBhbmQgY3JlYXRlIFJhbmdlIHNpbWlsYXIgdG8gc2VsZWN0ZWQgcmFuZ2UgaW5zaWRlIGlucHV0L3RleHRhcmVhXG4gICAgICovXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdChlbGVtZW50KX0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kfSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5kb2N1bWVudFJlZi5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnRvcCA9IHB4KHRvcCAtIGhvc3RSZWN0LnRvcCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmxlZnQgPSBweChsZWZ0IC0gaG9zdFJlY3QubGVmdCk7XG4gICAgICAgIGdob3N0LnN0eWxlLndpZHRoID0gcHgod2lkdGgpO1xuICAgICAgICBnaG9zdC5zdHlsZS5oZWlnaHQgPSBweChoZWlnaHQpO1xuICAgICAgICBnaG9zdC50ZXh0Q29udGVudCA9IENIQVJfWkVST19XSURUSF9TUEFDRSArIGVsZW1lbnQudmFsdWUgKyBDSEFSX05PX0JSRUFLX1NQQUNFO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQhLCBzZWxlY3Rpb25FbmQgfHwgMCk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhbiBpbnZpc2libGUgRElWIHN0eWxlZCBleGFjdGx5IGxpa2UgaW5wdXQvdGV4dGFyZWEgZWxlbWVudCBpbnNpZGUgZGlyZWN0aXZlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0R2hvc3QoZWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGdob3N0ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtmb250LCBsZXR0ZXJTcGFjaW5nLCB0ZXh0VHJhbnNmb3JtLCBwYWRkaW5nfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cbiAgICAgICAgZ2hvc3Quc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICBnaG9zdC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICBnaG9zdC5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZS13cmFwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChuYXRpdmVFbGVtZW50LCBnaG9zdCk7XG4gICAgICAgIHRoaXMuZ2hvc3QgPSBnaG9zdDtcblxuICAgICAgICByZXR1cm4gZ2hvc3Q7XG4gICAgfVxufVxuIl19
|
|
@@ -42,7 +42,7 @@ let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullabl
|
|
|
42
42
|
this.identityMatcher = this.itemsHandlers.identityMatcher;
|
|
43
43
|
this.valueContent = '';
|
|
44
44
|
this.strict = true;
|
|
45
|
-
this.search =
|
|
45
|
+
this.search = null;
|
|
46
46
|
this.searchChange = new EventEmitter();
|
|
47
47
|
this.datalist = '';
|
|
48
48
|
this.open = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: remove in ivy compilation\nexport const COMBOBOX_OPTION: any = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {\n $implicit,\n active,\n };\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n checkOption(option: T) {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T) {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string) {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null) {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n toggle() {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close() {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<any>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput() {\n this.comboBox.updateValue(\n this.strict || this.comboBox.search === '' ? null : this.comboBox.search,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: remove in ivy compilation\nexport const COMBOBOX_OPTION: any = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {\n $implicit,\n active,\n };\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n checkOption(option: T) {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T) {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string) {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null) {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n toggle() {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close() {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<any>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput() {\n this.comboBox.updateValue(\n this.strict || this.comboBox.search === '' ? null : this.comboBox.search,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -193,7 +193,7 @@ __decorate([
|
|
|
193
193
|
TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
|
|
194
194
|
Component({
|
|
195
195
|
selector: 'tui-input-range',
|
|
196
|
-
template: "<div class=\"zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"content\">\n <span *ngIf=\"!showMinLabel\" class=\"label\">\n <span class=\"value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"native native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"pluralize pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n",
|
|
196
|
+
template: "<div class=\"t-zone\" (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n >\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"t-content\">\n <span *ngIf=\"!showMinLabel\" class=\"t-label\">\n <span class=\"t-value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"t-pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"t-max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n </tui-wrapper>\n\n <div class=\"t-native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"t-native t-native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize t-pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n</div>\n",
|
|
197
197
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
198
198
|
providers: [
|
|
199
199
|
{
|
|
@@ -201,7 +201,7 @@ TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
|
|
|
201
201
|
useExisting: forwardRef(() => TuiInputRangeComponent_1),
|
|
202
202
|
},
|
|
203
203
|
],
|
|
204
|
-
styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.zone{border-radius:inherit}.native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.pluralize_right{margin-left:-.75rem}:host[data-size='l'] .pluralize_right{padding-top:1.25rem}:host._disabled .pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .pluralize_right{color:var(--tui-text-03-night)}.native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.native_right{text-align:right}.native_hidden{opacity:0}:host._disabled .native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .native{color:var(--tui-text-03-night)}.content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .content{color:var(--tui-text-03-night)}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .value{color:var(--tui-text-03)}.label{display:flex;width:50%}:host[data-size='l'] .label{padding-top:1.25rem}.max{text-align:right;flex:1}:host[data-size='l'] .max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .slider,:host._readonly .slider{pointer-events:none}"]
|
|
204
|
+
styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.t-zone{border-radius:inherit}.t-native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.t-pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.t-pluralize_right{margin-left:-.75rem}:host[data-size='l'] .t-pluralize_right{padding-top:1.25rem}:host._disabled .t-pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-pluralize_right{color:var(--tui-text-03-night)}.t-native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_right{text-align:right}.t-native_hidden{opacity:0}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .t-content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .t-content{color:var(--tui-text-03-night)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}.t-value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .t-value{color:var(--tui-text-03)}.t-label{display:flex;width:50%}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-max{text-align:right;flex:1}:host[data-size='l'] .t-max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.t-slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]
|
|
205
205
|
}),
|
|
206
206
|
__param(0, Optional()),
|
|
207
207
|
__param(0, Self()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-range.js","sources":["ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts","ng://@taiga-ui/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('nativeLeft')\n private readonly nativeLeft?: ElementRef<HTMLInputElement>;\n\n @ViewChild('nativeRight')\n private readonly nativeRight?: ElementRef<HTMLInputElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;\n }\n\n get focused(): boolean {\n return this.focusedLeft || this.focusedRight;\n }\n\n get focusedLeft(): boolean {\n return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);\n }\n\n get focusedRight(): boolean {\n return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;\n }\n\n get inputValueLeft(): string {\n return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';\n }\n\n get inputValueRight(): string {\n return this.nativeRight ? this.nativeRight.nativeElement.value : '';\n }\n\n get computedValueLeft(): string {\n return this.formatNumber(this.value[0]);\n }\n\n get computedValueRight(): string {\n return this.formatNumber(this.value[1]);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onMouseDown() {\n if (this.nativeRight && !this.isMobile) {\n setNativeFocused(this.nativeRight.nativeElement);\n }\n }\n\n onKeyDownArrowUpLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, false);\n }\n\n onKeyDownArrowDownLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, false);\n }\n\n onKeyDownArrowUpRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, true);\n }\n\n onKeyDownArrowDownRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, true);\n }\n\n onInputLeft() {\n const value = this.inputValueLeft;\n const capped = this.capInputValue(value, this.value[1]);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeLeft && this.inputValueLeft !== newValue) {\n this.nativeLeft.nativeElement.value = newValue;\n }\n\n this.updateValue([capped, this.value[1]]);\n }\n\n onInputRight() {\n const value = this.inputValueRight;\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeRight && this.inputValueRight !== newValue) {\n this.nativeRight.nativeElement.value = newValue;\n }\n\n if (capped >= this.value[0]) {\n this.updateValue([this.value[0], capped]);\n }\n }\n\n onRangeValue(value: [number, number]) {\n const guardedValue = value.map(item => this.valueGuard(item)) as [number, number];\n\n if (\n !this.nativeLeft ||\n !this.nativeRight ||\n (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])\n ) {\n return;\n }\n\n if (!this.isMobile) {\n const element =\n guardedValue[0] !== this.value[0]\n ? this.nativeLeft.nativeElement\n : this.nativeRight.nativeElement;\n\n setNativeFocused(element);\n }\n\n this.updateValue(guardedValue);\n this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);\n }\n\n onLeftFocused(focused: boolean) {\n if (focused || !this.nativeLeft) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueLeft,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.nativeLeft.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[0]) {\n this.updateValue([value, this.value[1]]);\n }\n }\n\n onRightFocused(focused: boolean) {\n if (focused || !this.nativeRight) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueRight,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n const value = isNaN(inputValue)\n ? this.value[0]\n : this.valueGuard(Math.max(inputValue, this.value[0]));\n\n this.nativeRight.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[1]) {\n this.updateValue([this.value[0], value]);\n }\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private processStep(increment: boolean, right: boolean) {\n const start = this.valueGuard(\n increment ? this.value[0] + this.step : this.value[0] - this.step,\n );\n const end = this.valueGuard(\n increment ? this.value[1] + this.step : this.value[1] - this.step,\n );\n const value: [number, number] = [\n right ? this.value[0] : Math.min(start, this.value[1]),\n right ? Math.max(end, this.value[0]) : this.value[1],\n ];\n\n if (value[0] !== this.value[0] || value[1] !== this.value[1]) {\n this.updateValue(value);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiActiveZoneModule,\n TuiRangeModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-range.js","sources":["ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts","ng://@taiga-ui/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('nativeLeft')\n private readonly nativeLeft?: ElementRef<HTMLInputElement>;\n\n @ViewChild('nativeRight')\n private readonly nativeRight?: ElementRef<HTMLInputElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;\n }\n\n get focused(): boolean {\n return this.focusedLeft || this.focusedRight;\n }\n\n get focusedLeft(): boolean {\n return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);\n }\n\n get focusedRight(): boolean {\n return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;\n }\n\n get inputValueLeft(): string {\n return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';\n }\n\n get inputValueRight(): string {\n return this.nativeRight ? this.nativeRight.nativeElement.value : '';\n }\n\n get computedValueLeft(): string {\n return this.formatNumber(this.value[0]);\n }\n\n get computedValueRight(): string {\n return this.formatNumber(this.value[1]);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onMouseDown() {\n if (this.nativeRight && !this.isMobile) {\n setNativeFocused(this.nativeRight.nativeElement);\n }\n }\n\n onKeyDownArrowUpLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, false);\n }\n\n onKeyDownArrowDownLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, false);\n }\n\n onKeyDownArrowUpRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, true);\n }\n\n onKeyDownArrowDownRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, true);\n }\n\n onInputLeft() {\n const value = this.inputValueLeft;\n const capped = this.capInputValue(value, this.value[1]);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeLeft && this.inputValueLeft !== newValue) {\n this.nativeLeft.nativeElement.value = newValue;\n }\n\n this.updateValue([capped, this.value[1]]);\n }\n\n onInputRight() {\n const value = this.inputValueRight;\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeRight && this.inputValueRight !== newValue) {\n this.nativeRight.nativeElement.value = newValue;\n }\n\n if (capped >= this.value[0]) {\n this.updateValue([this.value[0], capped]);\n }\n }\n\n onRangeValue(value: [number, number]) {\n const guardedValue = value.map(item => this.valueGuard(item)) as [number, number];\n\n if (\n !this.nativeLeft ||\n !this.nativeRight ||\n (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])\n ) {\n return;\n }\n\n if (!this.isMobile) {\n const element =\n guardedValue[0] !== this.value[0]\n ? this.nativeLeft.nativeElement\n : this.nativeRight.nativeElement;\n\n setNativeFocused(element);\n }\n\n this.updateValue(guardedValue);\n this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);\n }\n\n onLeftFocused(focused: boolean) {\n if (focused || !this.nativeLeft) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueLeft,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.nativeLeft.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[0]) {\n this.updateValue([value, this.value[1]]);\n }\n }\n\n onRightFocused(focused: boolean) {\n if (focused || !this.nativeRight) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueRight,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n const value = isNaN(inputValue)\n ? this.value[0]\n : this.valueGuard(Math.max(inputValue, this.value[0]));\n\n this.nativeRight.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[1]) {\n this.updateValue([this.value[0], value]);\n }\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private processStep(increment: boolean, right: boolean) {\n const start = this.valueGuard(\n increment ? this.value[0] + this.step : this.value[0] - this.step,\n );\n const end = this.valueGuard(\n increment ? this.value[1] + this.step : this.value[1] - this.step,\n );\n const value: [number, number] = [\n right ? this.value[0] : Math.min(start, this.value[1]),\n right ? Math.max(end, this.value[0]) : this.value[1],\n ];\n\n if (value[0] !== this.value[0] || value[1] !== this.value[1]) {\n this.updateValue(value);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiActiveZoneModule,\n TuiRangeModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAgCA;IAaa,sBAAsB,8BAAnC,MAAa,sBACT,SAAQ,sBAAwC;IAShD,YAII,OAAyB,EACE,iBAAoC,EAG5C,aAAsC,EAExC,QAAiB,EAEf,YAAkC,EAE5C,UAAkB;QAE3B,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QARf,kBAAa,GAAb,aAAa,CAAyB;QAExC,aAAQ,GAAR,QAAQ,CAAS;QAEf,iBAAY,GAAZ,YAAY,CAAsB;QAE5C,eAAU,GAAV,UAAU,CAAQ;KAG9B;IAED,IAAI,sBAAsB;QACtB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACnF;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC;KAChD;IAED,IAAI,WAAW;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;KAC9E;IAED,IAAI,YAAY;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAChF;IAGD,IAAI,YAAY;QACZ,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;KAC7E;IAGD,IAAI,YAAY;QACZ,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;KAC9E;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;KACrE;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;KACvE;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;IAED,YAAY,CAAC,MAAe;QACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;IAED,WAAW;QACP,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACpD;KACJ;IAED,oBAAoB,CAAC,KAAoB;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACjC;IAED,sBAAsB,CAAC,KAAoB;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAClC;IAED,qBAAqB,CAAC,KAAoB;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAChC;IAED,uBAAuB,CAAC,KAAoB;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACjC;IAED,WAAW;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QAEtD,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnD,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAErD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;YACrD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC;SAClD;QAED,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;IAED,YAAY;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QAEtD,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE;YACnD,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAErD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE;YACvD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC;SACnD;QAED,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;SAC7C;KACJ;IAED,YAAY,CAAC,KAAuB;QAChC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAqB,CAAC;QAElF,IACI,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,IAAI,CAAC,WAAW;aAChB,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1E;YACE,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,MAAM,OAAO,GACT,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;kBAC3B,IAAI,CAAC,UAAU,CAAC,aAAa;kBAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAEzC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5E;IAED,aAAa,CAAC,OAAgB;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7B,OAAO;SACV;QAED,MAAM,UAAU,GAAG,0BAA0B,CACzC,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CACtC,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;KACJ;IAED,cAAc,CAAC,OAAgB;QAC3B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9B,OAAO;SACV;QAED,MAAM,UAAU,GAAG,0BAA0B,CACzC,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CACtC,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;cACzB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;cACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5C;KACJ;IAES,gBAAgB;QACtB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjB;IAEO,YAAY,CAAC,KAAa;QAC9B,OAAO,YAAY,CACf,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CACtC,CAAC;KACL;IAEO,WAAW,CAAC,SAAkB,EAAE,KAAc;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CACzB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CACpE,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CACvB,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CACpE,CAAC;QACF,MAAM,KAAK,GAAqB;YAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD,CAAC;QAEF,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC1D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;KACJ;EACJ;;YA3OgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;YAGS,gBAAgB,uBAFjD,QAAQ,YACR,MAAM,SAAC,gBAAgB;0CAEvB,MAAM,SAAC,aAAa;4CAEpB,MAAM,SAAC,iBAAiB;yCAExB,MAAM,SAAC,wBAAwB;;AAlBpC;IADC,SAAS,CAAC,YAAY,CAAC;0DACmC;AAG3D;IADC,SAAS,CAAC,aAAa,CAAC;2DACmC;AAsC5D;IADC,WAAW,CAAC,kBAAkB,CAAC;0DAG/B;AAGD;IADC,WAAW,CAAC,kBAAkB,CAAC;0DAG/B;AArDQ,sBAAsB;IAZlC,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,sxHAA0C;QAE1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAsB,CAAC;aACxD;SACJ;;KACJ,CAAC;IAYO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;IAErB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,MAAM,CAAC,wBAAwB,CAAC,CAAA;GAvB5B,sBAAsB,CAyPlC;;ICjQY,mBAAmB,GAAhC,MAAa,mBAAmB;EAAG;AAAtB,mBAAmB;IAnB/B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,cAAc;YACd,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,mBAAmB;YACnB,kBAAkB;YAClB,mBAAmB;YACnB,cAAc;YACd,gBAAgB;SACnB;QACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;KACpC,CAAC;GACW,mBAAmB,CAAG;;ACrCnC;;;;;;"}
|
|
@@ -152,7 +152,7 @@ __decorate([
|
|
|
152
152
|
TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
153
153
|
Component({
|
|
154
154
|
selector: 'tui-input-slider',
|
|
155
|
-
template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"placeholder placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"content\">\n <span *ngIf=\"showValue\" class=\"label\">\n <span class=\"value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"secondary\">\n {{ secondary }}\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n<tui-slider\n class=\"slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onSliderValue($event)\"\n (mousedown)=\"onMouseDown()\"\n></tui-slider>\n",
|
|
155
|
+
template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"t-content\">\n <span *ngIf=\"showValue\" class=\"t-label\">\n <span class=\"t-value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"t-label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"t-secondary\">\n {{ secondary }}\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n<tui-slider\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onSliderValue($event)\"\n (mousedown)=\"onMouseDown()\"\n></tui-slider>\n",
|
|
156
156
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
157
157
|
providers: [
|
|
158
158
|
{
|
|
@@ -161,7 +161,7 @@ TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
|
161
161
|
},
|
|
162
162
|
HINT_CONTROLLER_PROVIDER,
|
|
163
163
|
],
|
|
164
|
-
styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}.native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .native,:host._min-label .native{opacity:0}:host[data-size='l'] .native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .native{color:var(--tui-text-03-night)}.content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .content{height:var(--tui-height-l);padding:0 1rem}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-size='l']._focused._label-outside .placeholder,:host[data-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-size='l'] .placeholder{font-size:.9375rem}:host[data-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .placeholder,:host[data-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .placeholder{max-width:calc(100% - 1.75rem)}.value{visibility:hidden}.label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .label{padding-top:1.25rem}.secondary{color:var(--tui-text-01)}:host._disabled .secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .secondary{color:var(--tui-text-03-night)}.tooltip{margin-left:.75rem}.slider{position:absolute;top:100%;left:0;right:0;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .slider,:host._readonly .slider{pointer-events:none}"]
|
|
164
|
+
styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}.t-native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .t-native,:host._min-label .t-native{opacity:0}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .t-placeholder{max-width:calc(100% - 1.75rem)}.t-value{visibility:hidden}.t-label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-secondary{color:var(--tui-text-01)}:host._disabled .t-secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-secondary{color:var(--tui-text-03-night)}.t-tooltip{margin-left:.75rem}.t-slider{position:absolute;top:100%;left:0;right:0;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]
|
|
165
165
|
}),
|
|
166
166
|
__param(0, Optional()),
|
|
167
167
|
__param(0, Self()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n HINT_CONTROLLER_PROVIDER,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiHintControllerDirective,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n HINT_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n secondary = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focused && this.value === this.min && !!this.minLabel;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focused && this.value === this.max && !!this.maxLabel;\n }\n\n get computedValue(): string {\n if (this.focused && this.isInputValueNotFinished) {\n return this.inputValue;\n }\n\n return this.formattedValue;\n }\n\n get showValue(): boolean {\n return !this.showMinLabel && !this.showMaxLabel;\n }\n\n get inputValue(): string {\n return this.focusableElement ? this.focusableElement.nativeElement.value : '';\n }\n\n set inputValue(value: string) {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n }\n\n onMouseDown() {\n if (this.focusableElement) {\n setNativeFocused(this.focusableElement.nativeElement);\n }\n }\n\n onKeyDownArrowUp(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true);\n this.inputValue = this.formattedValue;\n }\n\n onKeyDownArrowDown(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false);\n this.inputValue = this.formattedValue;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.updateValue(value);\n this.inputValue = this.formattedValue;\n }\n\n onValue(value: string) {\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (value !== newValue) {\n this.inputValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n onSliderValue(value: number) {\n this.updateValue(this.valueGuard(value));\n this.inputValue = this.formattedValue;\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private get formattedValue(): string {\n return this.formatNumber(this.value);\n }\n\n private get isInputValueNotFinished(): boolean {\n if (this.inputValue === '') {\n return true;\n }\n\n const nativeNumberValue = maskedNumberStringToNumber(\n this.inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private processStep(increment: boolean) {\n const value = this.valueGuard(\n increment ? this.value + this.step : this.value - this.step,\n );\n\n if (value !== this.value) {\n this.updateValue(value);\n }\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiTooltipModule,\n TuiSliderModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n HINT_CONTROLLER_PROVIDER,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiHintControllerDirective,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n HINT_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n secondary = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focused && this.value === this.min && !!this.minLabel;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focused && this.value === this.max && !!this.maxLabel;\n }\n\n get computedValue(): string {\n if (this.focused && this.isInputValueNotFinished) {\n return this.inputValue;\n }\n\n return this.formattedValue;\n }\n\n get showValue(): boolean {\n return !this.showMinLabel && !this.showMaxLabel;\n }\n\n get inputValue(): string {\n return this.focusableElement ? this.focusableElement.nativeElement.value : '';\n }\n\n set inputValue(value: string) {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n }\n\n onMouseDown() {\n if (this.focusableElement) {\n setNativeFocused(this.focusableElement.nativeElement);\n }\n }\n\n onKeyDownArrowUp(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true);\n this.inputValue = this.formattedValue;\n }\n\n onKeyDownArrowDown(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false);\n this.inputValue = this.formattedValue;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.updateValue(value);\n this.inputValue = this.formattedValue;\n }\n\n onValue(value: string) {\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (value !== newValue) {\n this.inputValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n onSliderValue(value: number) {\n this.updateValue(this.valueGuard(value));\n this.inputValue = this.formattedValue;\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private get formattedValue(): string {\n return this.formatNumber(this.value);\n }\n\n private get isInputValueNotFinished(): boolean {\n if (this.inputValue === '') {\n return true;\n }\n\n const nativeNumberValue = maskedNumberStringToNumber(\n this.inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private processStep(increment: boolean) {\n const value = this.valueGuard(\n increment ? this.value + this.step : this.value - this.step,\n );\n\n if (value !== this.value) {\n this.updateValue(value);\n }\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiTooltipModule,\n TuiSliderModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|