@taiga-ui/core 3.14.0-dev.main-49a682e → 3.15.0-dev.main-35c5c0b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/bundles/taiga-ui-core-components-calendar.umd.js +20 -7
  2. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-expand.umd.js +5 -6
  4. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  8. package/bundles/taiga-ui-core-directives-dropdown.umd.js +23 -24
  9. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  10. package/components/calendar/calendar.component.d.ts +4 -2
  11. package/components/expand/expand.component.d.ts +1 -1
  12. package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -1
  13. package/esm2015/components/calendar/calendar.component.js +18 -9
  14. package/esm2015/components/expand/expand.component.js +6 -8
  15. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +1 -1
  16. package/esm2015/components/root/root.component.js +1 -1
  17. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +12 -9
  18. package/esm2015/directives/dropdown/dropdown-position.directive.js +8 -10
  19. package/esm2015/directives/dropdown/dropdown.component.js +6 -8
  20. package/fesm2015/taiga-ui-core-components-calendar.js +17 -8
  21. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  22. package/fesm2015/taiga-ui-core-components-expand.js +5 -7
  23. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  24. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +1 -1
  25. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  26. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  27. package/fesm2015/taiga-ui-core-directives-dropdown.js +23 -24
  28. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  29. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
- import { ALWAYS_FALSE_HANDLER, TUI_FIRST_DAY, TUI_LAST_DAY, tuiDefaultProp, TuiMonth, tuiNullableSame, } from '@taiga-ui/cdk';
3
+ import { ALWAYS_FALSE_HANDLER, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, tuiDefaultProp, TuiMonth, tuiNullableSame, } from '@taiga-ui/cdk';
4
4
  import { TUI_DEFAULT_MARKER_HANDLER } from '@taiga-ui/core/constants';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@taiga-ui/core/components/scrollbar";
@@ -11,8 +11,8 @@ import * as i5 from "@angular/common";
11
11
  import * as i6 from "@taiga-ui/cdk";
12
12
  export class TuiCalendarComponent {
13
13
  constructor() {
14
+ this._value = null;
14
15
  this.month = TuiMonth.currentLocal();
15
- this.value = null;
16
16
  this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
17
17
  this.min = TUI_FIRST_DAY;
18
18
  this.max = TUI_LAST_DAY;
@@ -27,6 +27,15 @@ export class TuiCalendarComponent {
27
27
  this.year = null;
28
28
  this.disabledItemHandlerMapper = (disabledItemHandler, min, max) => item => item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);
29
29
  }
30
+ set value(value) {
31
+ this._value = value;
32
+ if (this.showAdjacent && value instanceof TuiDay) {
33
+ this.month = value;
34
+ }
35
+ }
36
+ get value() {
37
+ return this._value;
38
+ }
30
39
  get computedMinViewedMonth() {
31
40
  return this.minViewedMonth.monthSameOrAfter(this.min)
32
41
  ? this.minViewedMonth
@@ -69,13 +78,10 @@ export class TuiCalendarComponent {
69
78
  }
70
79
  }
71
80
  TuiCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- TuiCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiCalendarComponent, selector: "tui-calendar", inputs: { month: "month", value: "value", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : min : max\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n", styles: [":host{display:block;height:18.25rem;width:15.75rem;padding:1rem 1.125rem;box-sizing:content-box}.t-scrollbar{height:18.25rem;width:16.875rem}.t-pagination{margin-bottom:1rem}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i2.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i3.TuiPrimitiveYearMonthPaginationComponent, selector: "tui-primitive-year-month-pagination", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { type: i4.TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent"], outputs: ["hoveredItemChange", "dayClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "tuiMapper": i6.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ TuiCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiCalendarComponent, selector: "tui-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler", value: "value" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : min : max\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n", styles: [":host{display:block;height:18.25rem;width:15.75rem;padding:1rem 1.125rem;box-sizing:content-box}.t-scrollbar{height:18.25rem;width:16.875rem}.t-pagination{margin-bottom:1rem}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i2.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i3.TuiPrimitiveYearMonthPaginationComponent, selector: "tui-primitive-year-month-pagination", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { type: i4.TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent"], outputs: ["hoveredItemChange", "dayClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "tuiMapper": i6.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
82
  __decorate([
74
83
  tuiDefaultProp()
75
84
  ], TuiCalendarComponent.prototype, "month", void 0);
76
- __decorate([
77
- tuiDefaultProp()
78
- ], TuiCalendarComponent.prototype, "value", void 0);
79
85
  __decorate([
80
86
  tuiDefaultProp()
81
87
  ], TuiCalendarComponent.prototype, "disabledItemHandler", void 0);
@@ -100,6 +106,9 @@ __decorate([
100
106
  __decorate([
101
107
  tuiDefaultProp()
102
108
  ], TuiCalendarComponent.prototype, "markerHandler", void 0);
109
+ __decorate([
110
+ tuiDefaultProp()
111
+ ], TuiCalendarComponent.prototype, "value", null);
103
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiCalendarComponent, decorators: [{
104
113
  type: Component,
105
114
  args: [{
@@ -110,8 +119,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
110
119
  }]
111
120
  }], propDecorators: { month: [{
112
121
  type: Input
113
- }], value: [{
114
- type: Input
115
122
  }], disabledItemHandler: [{
116
123
  type: Input
117
124
  }], min: [{
@@ -128,6 +135,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
128
135
  type: Input
129
136
  }], markerHandler: [{
130
137
  type: Input
138
+ }], value: [{
139
+ type: Input
131
140
  }], dayClick: [{
132
141
  type: Output
133
142
  }], monthChange: [{
@@ -135,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
135
144
  }], hoveredItemChange: [{
136
145
  type: Output
137
146
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBSVosY0FBYyxFQUVkLFFBQVEsRUFDUixlQUFlLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQVVwRSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBU0ksVUFBSyxHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUkxQyxVQUFLLEdBQWdDLElBQUksQ0FBQztRQUkxQyx3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFJdEUsUUFBRyxHQUFHLGFBQWEsQ0FBQztRQUlwQixRQUFHLEdBQUcsWUFBWSxDQUFDO1FBSW5CLG1CQUFjLEdBQWEsYUFBYSxDQUFDO1FBSXpDLG1CQUFjLEdBQWEsWUFBWSxDQUFDO1FBSXhDLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUlsQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUlwQixrQkFBYSxHQUFxQiwwQkFBMEIsQ0FBQztRQUdwRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFHM0Msc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENB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QUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3BDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFJRyxLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sS0FBSztzQkFGSixLQUFLO2dCQU1OLG1CQUFtQjtzQkFGbEIsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sR0FBRztzQkFGRixLQUFLO2dCQU1OLGNBQWM7c0JBRmIsS0FBSztnQkFNTixjQUFjO3NCQUZiLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLFlBQVk7c0JBRlgsS0FBSztnQkFNTixhQUFhO3NCQUZaLEtBQUs7Z0JBS0csUUFBUTtzQkFEaEIsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNO2dCQUlFLGlCQUFpQjtzQkFEekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpTWFwcGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVdpdGhPcHRpb25hbE1pbk1heH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aU1hcmtlckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PFR1aURheT4ge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluVmlld2VkTW9udGg6IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhWaWV3ZWRNb250aDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaG92ZXJlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dBZGphY2VudCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IG1vbnRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgeWVhcjogVHVpWWVhciB8IG51bGwgPSBudWxsO1xuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWRJdGVtSGFuZGxlck1hcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+LFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+XG4gICAgPiA9IChkaXNhYmxlZEl0ZW1IYW5kbGVyLCBtaW46IFR1aURheSwgbWF4OiBUdWlEYXkpID0+IGl0ZW0gPT5cbiAgICAgICAgaXRlbS5kYXlCZWZvcmUobWluKSB8fCBpdGVtLmRheUFmdGVyKG1heCkgfHwgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcblxuICAgIGdldCBjb21wdXRlZE1pblZpZXdlZE1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluVmlld2VkTW9udGgubW9udGhTYW1lT3JBZnRlcih0aGlzLm1pbilcbiAgICAgICAgICAgID8gdGhpcy5taW5WaWV3ZWRNb250aFxuICAgICAgICAgICAgOiB0aGlzLm1pbjtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXhWaWV3ZWRNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heFZpZXdlZE1vbnRoLm1vbnRoU2FtZU9yQmVmb3JlKHRoaXMubWF4KVxuICAgICAgICAgICAgPyB0aGlzLm1heFZpZXdlZE1vbnRoXG4gICAgICAgICAgICA6IHRoaXMubWF4O1xuICAgIH1cblxuICAgIG9uUGFnaW5hdGlvblllYXJDbGljayh5ZWFyOiBUdWlZZWFyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhciA9IHllYXI7XG4gICAgfVxuXG4gICAgb25QaWNrZXJZZWFyQ2xpY2soe3llYXJ9OiBUdWlZZWFyKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhciA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlVmlld2VkTW9udGgobmV3IFR1aU1vbnRoKHllYXIsIHRoaXMubW9udGgubW9udGgpKTtcbiAgICB9XG5cbiAgICBvblBhZ2luYXRpb25WYWx1ZUNoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3ZWRNb250aChtb250aCk7XG4gICAgfVxuXG4gICAgb25EYXlDbGljayhkYXk6IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoZGF5KTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWRJdGVtQ2hhbmdlKGRheTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWREYXkoZGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVZpZXdlZE1vbnRoKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb250aC5tb250aFNhbWUobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoID0gbW9udGg7XG4gICAgICAgIHRoaXMubW9udGhDaGFuZ2UuZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkRGF5KGRheTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpTnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIGRheSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBkYXk7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChkYXkpO1xuICAgIH1cbn1cbiIsIjx0dWktc2Nyb2xsYmFyXG4gICAgKm5nSWY9XCJ5ZWFyOyBlbHNlIGNhbGVuZGFyXCJcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyX19zY3JvbGxiYXJcIlxuICAgIGNsYXNzPVwidC1zY3JvbGxiYXJcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXllYXItcGlja2VyXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXJfX3llYXJcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW2luaXRpYWxJdGVtXT1cInllYXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAoeWVhckNsaWNrKT1cIm9uUGlja2VyWWVhckNsaWNrKCRldmVudClcIlxuICAgID48L3R1aS1wcmltaXRpdmUteWVhci1waWNrZXI+XG48L3R1aS1zY3JvbGxiYXI+XG48bmctdGVtcGxhdGUgI2NhbGVuZGFyPlxuICAgIDx0dWktcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvblxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyX19wYWdpbmF0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LXBhZ2luYXRpb25cIlxuICAgICAgICBbbWluXT1cImNvbXB1dGVkTWluVmlld2VkTW9udGhcIlxuICAgICAgICBbbWF4XT1cImNvbXB1dGVkTWF4Vmlld2VkTW9udGhcIlxuICAgICAgICBbdmFsdWVdPVwibW9udGhcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25QYWdpbmF0aW9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICh5ZWFyQ2xpY2spPVwib25QYWdpbmF0aW9uWWVhckNsaWNrKCRldmVudClcIlxuICAgID48L3R1aS1wcmltaXRpdmUteWVhci1tb250aC1wYWdpbmF0aW9uPlxuICAgIDx0dWktcHJpbWl0aXZlLWNhbGVuZGFyXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXJfX2NhbGVuZGFyXCJcbiAgICAgICAgW3Nob3dBZGphY2VudF09XCJzaG93QWRqYWNlbnRcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbbW9udGhdPVwibW9udGhcIlxuICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyIHwgdHVpTWFwcGVyIDogZGlzYWJsZWRJdGVtSGFuZGxlck1hcHBlciA6IG1pbiA6IG1heFwiXG4gICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICBbaG92ZXJlZEl0ZW1dPVwiaG92ZXJlZEl0ZW1cIlxuICAgICAgICAoaG92ZXJlZEl0ZW1DaGFuZ2UpPVwib25Ib3ZlcmVkSXRlbUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGRheUNsaWNrKT1cIm9uRGF5Q2xpY2soJGV2ZW50KVwiXG4gICAgPjwvdHVpLXByaW1pdGl2ZS1jYWxlbmRhcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUVOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsZUFBZSxHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFVcEUsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQU9ZLFdBQU0sR0FBZ0MsSUFBSSxDQUFDO1FBSW5ELFVBQUssR0FBYSxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFJMUMsd0JBQW1CLEdBQThCLG9CQUFvQixDQUFDO1FBSXRFLFFBQUcsR0FBRyxhQUFhLENBQUM7UUFJcEIsUUFBRyxHQUFHLFlBQVksQ0FBQztRQUluQixtQkFBYyxHQUFhLGFBQWEsQ0FBQztRQUl6QyxtQkFBYyxHQUFhLFlBQVksQ0FBQztRQUl4QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFJbEMsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFJcEIsa0JBQWEsR0FBcUIsMEJBQTBCLENBQUM7UUFpQnBELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3RDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUczQyxzQkFBaUIsR0FBRyxJQUFJLFlB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RDtBQUl0RTtJQURDLGNBQWMsRUFBRTtpREFDRztBQUlwQjtJQURDLGNBQWMsRUFBRTtpREFDRTtBQUluQjtJQURDLGNBQWMsRUFBRTs0REFDd0I7QUFJekM7SUFEQyxjQUFjLEVBQUU7NERBQ3VCO0FBSXhDO0lBREMsY0FBYyxFQUFFO3lEQUNpQjtBQUlsQztJQURDLGNBQWMsRUFBRTswREFDRztBQUlwQjtJQURDLGNBQWMsRUFBRTsyREFDNEM7QUFJN0Q7SUFEQyxjQUFjLEVBQUU7aURBT2hCOzRGQS9DUSxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSwwQkFBMEI7b0JBQ3ZDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBTUcsS0FBSztzQkFGSixLQUFLO2dCQU1OLG1CQUFtQjtzQkFGbEIsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sR0FBRztzQkFGRixLQUFLO2dCQU1OLGNBQWM7c0JBRmIsS0FBSztnQkFNTixjQUFjO3NCQUZiLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU1OLFlBQVk7c0JBRlgsS0FBSztnQkFNTixhQUFhO3NCQUZaLEtBQUs7Z0JBTUYsS0FBSztzQkFGUixLQUFLO2dCQWVHLFFBQVE7c0JBRGhCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxpQkFBaUI7c0JBRHpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlXaXRoT3B0aW9uYWxNaW5NYXh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlNYXJrZXJIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+IHtcbiAgICBwcml2YXRlIF92YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluVmlld2VkTW9udGg6IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhWaWV3ZWRNb250aDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaG92ZXJlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dBZGphY2VudCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd0FkamFjZW50ICYmIHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICB0aGlzLm1vbnRoID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRheUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGg+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBob3ZlcmVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5IHwgbnVsbD4oKTtcblxuICAgIHllYXI6IFR1aVllYXIgfCBudWxsID0gbnVsbDtcblxuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PixcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PlxuICAgID4gPSAoZGlzYWJsZWRJdGVtSGFuZGxlciwgbWluOiBUdWlEYXksIG1heDogVHVpRGF5KSA9PiBpdGVtID0+XG4gICAgICAgIGl0ZW0uZGF5QmVmb3JlKG1pbikgfHwgaXRlbS5kYXlBZnRlcihtYXgpIHx8IGRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSk7XG5cbiAgICBnZXQgY29tcHV0ZWRNaW5WaWV3ZWRNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pblZpZXdlZE1vbnRoLm1vbnRoU2FtZU9yQWZ0ZXIodGhpcy5taW4pXG4gICAgICAgICAgICA/IHRoaXMubWluVmlld2VkTW9udGhcbiAgICAgICAgICAgIDogdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWF4Vmlld2VkTW9udGgoKTogVHVpTW9udGgge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhWaWV3ZWRNb250aC5tb250aFNhbWVPckJlZm9yZSh0aGlzLm1heClcbiAgICAgICAgICAgID8gdGhpcy5tYXhWaWV3ZWRNb250aFxuICAgICAgICAgICAgOiB0aGlzLm1heDtcbiAgICB9XG5cbiAgICBvblBhZ2luYXRpb25ZZWFyQ2xpY2soeWVhcjogVHVpWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgIH1cblxuICAgIG9uUGlja2VyWWVhckNsaWNrKHt5ZWFyfTogVHVpWWVhcik6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXIgPSBudWxsO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdlZE1vbnRoKG5ldyBUdWlNb250aCh5ZWFyLCB0aGlzLm1vbnRoLm1vbnRoKSk7XG4gICAgfVxuXG4gICAgb25QYWdpbmF0aW9uVmFsdWVDaGFuZ2UobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmlld2VkTW9udGgobW9udGgpO1xuICAgIH1cblxuICAgIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXlDbGljay5lbWl0KGRheSk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkSXRlbUNoYW5nZShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkRGF5KGRheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3ZWRNb250aChtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9udGgubW9udGhTYW1lKG1vbnRoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgICAgICB0aGlzLm1vbnRoQ2hhbmdlLmVtaXQobW9udGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZERheShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbGJhclxuICAgICpuZ0lmPVwieWVhcjsgZWxzZSBjYWxlbmRhclwiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhcl9fc2Nyb2xsYmFyXCJcbiAgICBjbGFzcz1cInQtc2Nyb2xsYmFyXCJcbj5cbiAgICA8dHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyX195ZWFyXCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFtpbml0aWFsSXRlbV09XCJ5ZWFyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgKHllYXJDbGljayk9XCJvblBpY2tlclllYXJDbGljaygkZXZlbnQpXCJcbiAgICA+PC90dWktcHJpbWl0aXZlLXllYXItcGlja2VyPlxuPC90dWktc2Nyb2xsYmFyPlxuPG5nLXRlbXBsYXRlICNjYWxlbmRhcj5cbiAgICA8dHVpLXByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb25cbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhcl9fcGFnaW5hdGlvblwiXG4gICAgICAgIGNsYXNzPVwidC1wYWdpbmF0aW9uXCJcbiAgICAgICAgW21pbl09XCJjb21wdXRlZE1pblZpZXdlZE1vbnRoXCJcbiAgICAgICAgW21heF09XCJjb21wdXRlZE1heFZpZXdlZE1vbnRoXCJcbiAgICAgICAgW3ZhbHVlXT1cIm1vbnRoXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uUGFnaW5hdGlvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoeWVhckNsaWNrKT1cIm9uUGFnaW5hdGlvblllYXJDbGljaygkZXZlbnQpXCJcbiAgICA+PC90dWktcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbj5cbiAgICA8dHVpLXByaW1pdGl2ZS1jYWxlbmRhclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyX19jYWxlbmRhclwiXG4gICAgICAgIFtzaG93QWRqYWNlbnRdPVwic2hvd0FkamFjZW50XCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW21vbnRoXT1cIm1vbnRoXCJcbiAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlciB8IHR1aU1hcHBlciA6IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXIgOiBtaW4gOiBtYXhcIlxuICAgICAgICBbbWFya2VySGFuZGxlcl09XCJtYXJrZXJIYW5kbGVyXCJcbiAgICAgICAgW2hvdmVyZWRJdGVtXT1cImhvdmVyZWRJdGVtXCJcbiAgICAgICAgKGhvdmVyZWRJdGVtQ2hhbmdlKT1cIm9uSG92ZXJlZEl0ZW1DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgID48L3R1aS1wcmltaXRpdmUtY2FsZW5kYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, HostBinding, HostListener, Inject, Input, TemplateRef, ViewChild, } from '@angular/core';
3
- import { tuiDefaultProp, tuiIsCurrentTarget, tuiRequiredSetter } from '@taiga-ui/cdk';
3
+ import { tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk';
4
4
  import { TUI_EXPAND_LOADED } from '@taiga-ui/core/constants';
5
5
  import { TuiExpandContentDirective } from './expand-content.directive';
6
6
  import * as i0 from "@angular/core";
@@ -60,10 +60,8 @@ export class TuiExpandComponent {
60
60
  get contentVisible() {
61
61
  return this.expanded || this.state !== 0 /* Idle */;
62
62
  }
63
- onTransitionEnd(event) {
64
- if (tuiIsCurrentTarget(event) &&
65
- event.propertyName === 'opacity' &&
66
- this.state === 3 /* Animated */) {
63
+ onTransitionEnd({ propertyName }) {
64
+ if (propertyName === 'opacity' && this.state === 3 /* Animated */) {
67
65
  this.state = 0 /* Idle */;
68
66
  }
69
67
  }
@@ -86,7 +84,7 @@ export class TuiExpandComponent {
86
84
  }
87
85
  }
88
86
  TuiExpandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiExpandComponent, deps: [{ token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89
- TuiExpandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiExpandComponent, selector: "tui-expand", inputs: { async: "async", expandedSetter: ["expanded", "expandedSetter"] }, host: { listeners: { "transitionend": "onTransitionEnd($event)", "tui-expand-loaded": "onExpandLoaded($event)" }, properties: { "class._expanded": "this.expanded", "attr.aria-expanded": "this.expanded", "class._overflow": "this.overflow", "class._loading": "this.loading", "style.height.px": "this.height" } }, queries: [{ propertyName: "content", first: true, predicate: TuiExpandContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: "<div\n #wrapper\n class=\"t-wrapper\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n", styles: [":host{display:block;transition-property:opacity,height,visibility;transition-duration:var(--tui-duration, .3s);opacity:0}:host._overflow{overflow:hidden}:host._expanded{opacity:1;transform:translate(0)}:host._loading{opacity:.99}.t-wrapper:before,.t-wrapper:after{content:\"\";display:table}\n"], components: [{ type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
+ TuiExpandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiExpandComponent, selector: "tui-expand", inputs: { async: "async", expandedSetter: ["expanded", "expandedSetter"] }, host: { listeners: { "transitionend.self": "onTransitionEnd($event)", "tui-expand-loaded": "onExpandLoaded($event)" }, properties: { "class._expanded": "this.expanded", "attr.aria-expanded": "this.expanded", "class._overflow": "this.overflow", "class._loading": "this.loading", "style.height.px": "this.height" } }, queries: [{ propertyName: "content", first: true, predicate: TuiExpandContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: "<div\n #wrapper\n class=\"t-wrapper\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n", styles: [":host{display:block;transition-property:opacity,height,visibility;transition-duration:var(--tui-duration, .3s);opacity:0}:host._overflow{overflow:hidden}:host._expanded{opacity:1;transform:translate(0)}:host._loading{opacity:.99}.t-wrapper:before,.t-wrapper:after{content:\"\";display:table}\n"], components: [{ type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
88
  __decorate([
91
89
  tuiDefaultProp()
92
90
  ], TuiExpandComponent.prototype, "async", void 0);
@@ -132,9 +130,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
132
130
  args: ['style.height.px']
133
131
  }], onTransitionEnd: [{
134
132
  type: HostListener,
135
- args: ['transitionend', ['$event']]
133
+ args: ['transitionend.self', ['$event']]
136
134
  }], onExpandLoaded: [{
137
135
  type: HostListener,
138
136
  args: [TUI_EXPAND_LOADED, ['$event']]
139
137
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUVyRSxJQUFXLEtBS1Y7QUFMRCxXQUFXLEtBQUs7SUFDWixpQ0FBSSxDQUFBO0lBQ0osdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUxVLEtBQUssS0FBTCxLQUFLLFFBS2Y7QUFFRCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFRekIsTUFBTSxPQUFPLGtCQUFrQjtJQXFDM0IsWUFDZ0QsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsQzVFLFVBQUssZ0JBQWM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQXVCZCxZQUFPLEdBQTZDLElBQUksQ0FBQztRQUl6RCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLElBQUksY0FBYyxDQUFDLFFBQXdCO1FB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QUFFO3dEQWlCbkI7NEZBNUJRLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBdUNRLE1BQU07MkJBQUMsaUJBQWlCOzRDQXBDWixjQUFjO3NCQUQ5QixTQUFTO3VCQUFDLFNBQVM7Z0JBT3BCLEtBQUs7c0JBRkosS0FBSztnQkFNRixjQUFjO3NCQUZqQixLQUFLO3VCQUFDLFVBQVU7Z0JBcUJqQixPQUFPO3NCQUROLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQUs1RCxRQUFRO3NCQUZQLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBUTdCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBK0I5QixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVl6QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZDb250ZXh0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgdHVpSXNDdXJyZW50VGFyZ2V0LCB0dWlSZXF1aXJlZFNldHRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9FWFBBTkRfTE9BREVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuXG5pbXBvcnQge1R1aUV4cGFuZENvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vZXhwYW5kLWNvbnRlbnQuZGlyZWN0aXZlJztcblxuY29uc3QgZW51bSBTdGF0ZSB7XG4gICAgSWRsZSxcbiAgICBMb2FkaW5nLFxuICAgIFByZXBhcmVkLFxuICAgIEFuaW1hdGVkLFxufVxuXG5jb25zdCBMT0FERVJfSEVJR0hUID0gNDg7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWV4cGFuZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4cGFuZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9leHBhbmQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlFeHBhbmRDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGQoJ3dyYXBwZXInKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGVudFdyYXBwZXI/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIHByaXZhdGUgc3RhdGUgPSBTdGF0ZS5JZGxlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBASW5wdXQoJ2V4cGFuZGVkJylcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBleHBhbmRlZFNldHRlcihleHBhbmRlZDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5BbmltYXRlZDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLnJldHJpZ2dlcih0aGlzLmFzeW5jICYmIGV4cGFuZGVkID8gU3RhdGUuTG9hZGluZyA6IFN0YXRlLkFuaW1hdGVkKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUV4cGFuZENvbnRlbnREaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgY29udGVudDogVGVtcGxhdGVSZWY8TmdJZkNvbnRleHQ8Ym9vbGVhbj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGV4cGFuZGVkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb3ZlcmZsb3cnKVxuICAgIGdldCBvdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgIT09IFN0YXRlLklkbGU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbG9hZGluZycpXG4gICAgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZXhwYW5kZWQgJiYgdGhpcy5hc3luYyAmJiB0aGlzLnN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZXhwYW5kZWQsIHN0YXRlLCBjb250ZW50V3JhcHBlcn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAoIWV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNvbnRlbnRXcmFwcGVyICYmXG4gICAgICAgICAgICAoKCFleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuUHJlcGFyZWQpIHx8XG4gICAgICAgICAgICAgICAgKGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5BbmltYXRlZCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbnRlbnRXcmFwcGVyICYmIGV4cGFuZGVkICYmIHN0YXRlID09PSBTdGF0ZS5Mb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsIExPQURFUl9IRUlHSFQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRlZCB8fCB0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBbJyRldmVudCddKVxuICAgIG9uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR1aUlzQ3VycmVudFRhcmdldChldmVudCkgJiZcbiAgICAgICAgICAgIGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gJ29wYWNpdHknICYmXG4gICAgICAgICAgICB0aGlzLnN0YXRlID09PSBTdGF0ZS5BbmltYXRlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5JZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihUVUlfRVhQQU5EX0xPQURFRCwgWyckZXZlbnQnXSlcbiAgICBvbkV4cGFuZExvYWRlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09IFN0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cmlnZ2VyKFN0YXRlLkFuaW1hdGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlnZ2VyKHN0YXRlOiBTdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0YXRlID0gU3RhdGUuUHJlcGFyZWQ7XG5cbiAgICAgICAgLy8gV2UgbmVlZCBkZWxheSB0byByZS10cmlnZ2VyIENTUyBoZWlnaHQgdHJhbnNpdGlvbiBmcm9tIHRoZSBjb3JyZWN0IG51bWJlclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBTdGF0ZS5QcmVwYXJlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICN3cmFwcGVyXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VmlzaWJsZVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAqbmdJZj1cImFzeW5jOyBlbHNlIGNvbnRlbnRcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJsb2FkaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9leHBhbmQvZXhwYW5kLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBRVosV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUVyRSxJQUFXLEtBS1Y7QUFMRCxXQUFXLEtBQUs7SUFDWixpQ0FBSSxDQUFBO0lBQ0osdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUxVLEtBQUssS0FBTCxLQUFLLFFBS2Y7QUFFRCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFRekIsTUFBTSxPQUFPLGtCQUFrQjtJQXFDM0IsWUFDZ0QsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsQzVFLFVBQUssZ0JBQWM7UUFJM0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQXVCZCxZQUFPLEdBQTZDLElBQUksQ0FBQztRQUl6RCxhQUFRLEdBQW1CLElBQUksQ0FBQztJQUk3QixDQUFDO0lBM0JKLElBQUksY0FBYyxDQUFDLFFBQXdCO1FBQ3ZDLElBQUksSUFB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QUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQXVDUSxNQUFNOzJCQUFDLGlCQUFpQjs0Q0FwQ1osY0FBYztzQkFEOUIsU0FBUzt1QkFBQyxTQUFTO2dCQU9wQixLQUFLO3NCQUZKLEtBQUs7Z0JBTUYsY0FBYztzQkFGakIsS0FBSzt1QkFBQyxVQUFVO2dCQXFCakIsT0FBTztzQkFETixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFLNUQsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQVE3QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU16QixNQUFNO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQStCOUIsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZDb250ZXh0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfRVhQQU5EX0xPQURFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuaW1wb3J0IHtUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2V4cGFuZC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGVudW0gU3RhdGUge1xuICAgIElkbGUsXG4gICAgTG9hZGluZyxcbiAgICBQcmVwYXJlZCxcbiAgICBBbmltYXRlZCxcbn1cblxuY29uc3QgTE9BREVSX0hFSUdIVCA9IDQ4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHBhbmQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCd3cmFwcGVyJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHN0YXRlID0gU3RhdGUuSWRsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQElucHV0KCdleHBhbmRlZCcpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgZXhwYW5kZWRTZXR0ZXIoZXhwYW5kZWQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gU3RhdGUuQW5pbWF0ZWQ7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgdGhpcy5yZXRyaWdnZXIodGhpcy5hc3luYyAmJiBleHBhbmRlZCA/IFN0YXRlLkxvYWRpbmcgOiBTdGF0ZS5BbmltYXRlZCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZChUdWlFeHBhbmRDb250ZW50RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPE5nSWZDb250ZXh0PGJvb2xlYW4+PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX292ZXJmbG93JylcbiAgICBnZXQgb3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlICE9PSBTdGF0ZS5JZGxlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xvYWRpbmcnKVxuICAgIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmV4cGFuZGVkICYmIHRoaXMuYXN5bmMgJiYgdGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpXG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2V4cGFuZGVkLCBzdGF0ZSwgY29udGVudFdyYXBwZXJ9ID0gdGhpcztcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLlByZXBhcmVkKSB8fFxuICAgICAgICAgICAgKCFleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuQW5pbWF0ZWQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjb250ZW50V3JhcHBlciAmJlxuICAgICAgICAgICAgKCghZXhwYW5kZWQgJiYgc3RhdGUgPT09IFN0YXRlLlByZXBhcmVkKSB8fFxuICAgICAgICAgICAgICAgIChleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuQW5pbWF0ZWQpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb250ZW50V3JhcHBlciAmJiBleHBhbmRlZCAmJiBzdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KGNvbnRlbnRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0LCBMT0FERVJfSEVJR0hUKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50VmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQgfHwgdGhpcy5zdGF0ZSAhPT0gU3RhdGUuSWRsZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kLnNlbGYnLCBbJyRldmVudCddKVxuICAgIG9uVHJhbnNpdGlvbkVuZCh7cHJvcGVydHlOYW1lfTogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdvcGFjaXR5JyAmJiB0aGlzLnN0YXRlID09PSBTdGF0ZS5BbmltYXRlZCkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFN0YXRlLklkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFRVSV9FWFBBTkRfTE9BREVELCBbJyRldmVudCddKVxuICAgIG9uRXhwYW5kTG9hZGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU3RhdGUuTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXIoU3RhdGUuQW5pbWF0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXRyaWdnZXIoc3RhdGU6IFN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTdGF0ZS5QcmVwYXJlZDtcblxuICAgICAgICAvLyBXZSBuZWVkIGRlbGF5IHRvIHJlLXRyaWdnZXIgQ1NTIGhlaWdodCB0cmFuc2l0aW9uIGZyb20gdGhlIGNvcnJlY3QgbnVtYmVyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT09IFN0YXRlLlByZXBhcmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI3dyYXBwZXJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRWaXNpYmxlXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiYXN5bmM7IGVsc2UgY29udGVudFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImxvYWRpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90dWktbG9hZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -161,7 +161,7 @@ export class TuiHostedDropdownComponent {
161
161
  }
162
162
  }
163
163
  TuiHostedDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiHostedDropdownComponent, deps: [{ token: TuiDropdownHoverDirective, optional: true }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
164
- TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { openChange: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "keydown.esc": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
164
+ TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", sided: "sided", canOpen: "canOpen", open: "open" }, outputs: { openChange: "openChange", focusedChange: "focusedChange" }, host: { listeners: { "focusin": "onFocusIn($event.target)", "click": "onClick($event.target)", "keydown.esc": "onKeyDownEsc($event)", "keydown.arrowDown": "onArrow($event,true)", "keydown.arrowUp": "onArrow($event,false)" }, properties: { "class._hosted_dropdown_focused": "this.focused" } }, providers: [tuiAsFocusableItemAccessor(TuiHostedDropdownComponent)], queries: [{ propertyName: "dropdownHost", first: true, predicate: TuiHostedDropdownConnectorDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, read: ElementRef }, { propertyName: "dropdownDirective", first: true, predicate: TuiDropdownDirective, descendants: true }, { propertyName: "activeZone", first: true, predicate: TuiActiveZoneDirective, descendants: true }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\n [tuiDropdownSided]=\"sided\"\n [tuiDropdownHost]=\"host\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen && canOpen\"\n [tuiObscuredEnabled]=\"isOpen\"\n (tuiObscured)=\"onHostObscured($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-content></ng-content>\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"context\"\n >\n <div\n #wrapper\n (keydown.esc)=\"onKeyDownEsc($event)\"\n (keydown)=\"onKeydown($event)\"\n >\n <ng-container\n *polymorpheusOutlet=\"\n content as text;\n context: {\n $implicit: activeZone,\n close: close\n }\n \"\n >\n {{ text }}\n </ng-container>\n </div>\n <!--This DIV is here to start backwards TreeWalker for focusing last focusable item on ArrowUp-->\n <div></div>\n </ng-template>\n</div>\n", styles: [":host{display:inline-flex}.t-wrapper{border-radius:inherit;height:inherit;flex:1 1 auto;width:100%}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
165
  __decorate([
166
166
  tuiDefaultProp()
167
167
  ], TuiHostedDropdownComponent.prototype, "content", void 0);
@@ -27,7 +27,7 @@ export class TuiRootComponent {
27
27
  }
28
28
  }
29
29
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_ASSERT_ENABLED }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
30
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.14.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
30
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.15.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
@@ -13,6 +13,7 @@ export class TuiDropdownPositionSidedDirective {
13
13
  this.vertical = vertical;
14
14
  this.previous = this.options.direction || 'bottom';
15
15
  this.tuiDropdownSided = '';
16
+ this.tuiDropdownSidedOffset = 4;
16
17
  }
17
18
  getPosition(rect) {
18
19
  if (this.tuiDropdownSided === false) {
@@ -21,18 +22,18 @@ export class TuiDropdownPositionSidedDirective {
21
22
  const { height, width } = rect;
22
23
  const hostRect = this.accessor.getClientRect();
23
24
  const { innerHeight, innerWidth } = this.windowRef;
24
- const { align, direction, minHeight } = this.options;
25
+ const { align, direction, minHeight, offset } = this.options;
25
26
  const available = {
26
27
  top: hostRect.bottom,
27
- left: hostRect.left - this.options.offset,
28
- right: innerWidth - hostRect.right - this.options.offset,
28
+ left: hostRect.left - offset,
29
+ right: innerWidth - hostRect.right - offset,
29
30
  bottom: innerHeight - hostRect.top,
30
31
  };
31
32
  const position = {
32
- top: hostRect.bottom - height + 1,
33
- left: hostRect.left - width - this.options.offset,
34
- right: hostRect.right + this.options.offset,
35
- bottom: hostRect.top - 1, // 1 for border
33
+ top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1,
34
+ left: hostRect.left - width - offset,
35
+ right: hostRect.right + offset,
36
+ bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border
36
37
  };
37
38
  const better = available.top > available.bottom ? 'top' : 'bottom';
38
39
  const maxLeft = available.left > available.right ? position.left : position.right;
@@ -46,7 +47,7 @@ export class TuiDropdownPositionSidedDirective {
46
47
  }
47
48
  }
48
49
  TuiDropdownPositionSidedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionSidedDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: WINDOW }, { token: TuiRectAccessor }, { token: TuiDropdownPositionDirective }], target: i0.ɵɵFactoryTarget.Directive });
49
- TuiDropdownPositionSidedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided" }, providers: [
50
+ TuiDropdownPositionSidedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [
50
51
  TuiDropdownPositionDirective,
51
52
  tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
52
53
  ], ngImport: i0 });
@@ -73,5 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
73
74
  args: [TuiDropdownPositionDirective]
74
75
  }] }]; }, propDecorators: { tuiDropdownSided: [{
75
76
  type: Input
77
+ }], tuiDropdownSidedOffset: [{
78
+ type: Input
76
79
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24tc2lkZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLXNpZGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsZUFBZSxHQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBUzNFLE1BQU0sT0FBTyxpQ0FBaUM7SUFNMUMsWUFDbUQsT0FBMkIsRUFDekMsU0FBaUIsRUFDUixRQUF5QixFQUVsRCxRQUE2QjtRQUpDLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDUixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUVsRCxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQVYxQyxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDO1FBR3RELHFCQUFnQixHQUFxQixFQUFFLENBQUM7SUFRckMsQ0FBQztJQUVKLFdBQVcsQ0FBQyxJQUFnQjtRQUN4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxLQUFLLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQztRQUVELE1BQU0sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0MsTUFBTSxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pELE1BQU0sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUc7WUFDZCxHQUFHLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDcEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3pDLEtBQUssRUFBRSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEQsTUFBTSxFQUFFLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRztTQUM1QixDQUFDO1FBQ1gsTUFBTSxRQUFRLEdBQUc7WUFDYixHQUFHLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQztZQUNqQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2pELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUMzQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsZUFBZTtTQUNuQyxDQUFDO1FBQ1gsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNuRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDbEYsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFbEUsSUFDSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFDMUI7WUFDRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBRXZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7K0hBakRRLGlDQUFpQyxrQkFPOUIsb0JBQW9CLGFBQ3BCLE1BQU0sYUFDTixlQUFlLGFBQ2YsNEJBQTRCO21IQVYvQixpQ0FBaUMsK0ZBTC9CO1FBQ1AsNEJBQTRCO1FBQzVCLHFCQUFxQixDQUFDLGlDQUFpQyxDQUFDO0tBQzNEOzRGQUVRLGlDQUFpQztrQkFQN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUU7d0JBQ1AsNEJBQTRCO3dCQUM1QixxQkFBcUIsbUNBQW1DO3FCQUMzRDtpQkFDSjs7MEJBUVEsTUFBTTsyQkFBQyxvQkFBb0I7OEJBQ2dCLE1BQU07MEJBQWpELE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyw0QkFBNEI7NENBTnhDLGdCQUFnQjtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1Bvc2l0aW9uQWNjZXNzb3IsXG4gICAgVHVpUG9zaXRpb25BY2Nlc3NvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgVHVpRHJvcGRvd25PcHRpb25zfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93blNpZGVkXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUsXG4gICAgICAgIHR1aUFzUG9zaXRpb25BY2Nlc3NvcihUdWlEcm9wZG93blBvc2l0aW9uU2lkZWREaXJlY3RpdmUpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duUG9zaXRpb25TaWRlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIFR1aVBvc2l0aW9uQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcHJldmlvdXMgPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uIHx8ICdib3R0b20nO1xuXG4gICAgQElucHV0KClcbiAgICB0dWlEcm9wZG93blNpZGVkOiBib29sZWFuIHwgc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFR1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmVydGljYWw6IFR1aVBvc2l0aW9uQWNjZXNzb3IsXG4gICAgKSB7fVxuXG4gICAgZ2V0UG9zaXRpb24ocmVjdDogQ2xpZW50UmVjdCk6IFR1aVBvaW50IHtcbiAgICAgICAgaWYgKHRoaXMudHVpRHJvcGRvd25TaWRlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnRpY2FsLmdldFBvc2l0aW9uKHJlY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2hlaWdodCwgd2lkdGh9ID0gcmVjdDtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge2lubmVySGVpZ2h0LCBpbm5lcldpZHRofSA9IHRoaXMud2luZG93UmVmO1xuICAgICAgICBjb25zdCB7YWxpZ24sIGRpcmVjdGlvbiwgbWluSGVpZ2h0fSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0ge1xuICAgICAgICAgICAgdG9wOiBob3N0UmVjdC5ib3R0b20sXG4gICAgICAgICAgICBsZWZ0OiBob3N0UmVjdC5sZWZ0IC0gdGhpcy5vcHRpb25zLm9mZnNldCxcbiAgICAgICAgICAgIHJpZ2h0OiBpbm5lcldpZHRoIC0gaG9zdFJlY3QucmlnaHQgLSB0aGlzLm9wdGlvbnMub2Zmc2V0LFxuICAgICAgICAgICAgYm90dG9tOiBpbm5lckhlaWdodCAtIGhvc3RSZWN0LnRvcCxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7XG4gICAgICAgICAgICB0b3A6IGhvc3RSZWN0LmJvdHRvbSAtIGhlaWdodCArIDEsIC8vIDEgZm9yIGJvcmRlclxuICAgICAgICAgICAgbGVmdDogaG9zdFJlY3QubGVmdCAtIHdpZHRoIC0gdGhpcy5vcHRpb25zLm9mZnNldCxcbiAgICAgICAgICAgIHJpZ2h0OiBob3N0UmVjdC5yaWdodCArIHRoaXMub3B0aW9ucy5vZmZzZXQsXG4gICAgICAgICAgICBib3R0b206IGhvc3RSZWN0LnRvcCAtIDEsIC8vIDEgZm9yIGJvcmRlclxuICAgICAgICB9IGFzIGNvbnN0O1xuICAgICAgICBjb25zdCBiZXR0ZXIgPSBhdmFpbGFibGUudG9wID4gYXZhaWxhYmxlLmJvdHRvbSA/ICd0b3AnIDogJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IG1heExlZnQgPSBhdmFpbGFibGUubGVmdCA+IGF2YWlsYWJsZS5yaWdodCA/IHBvc2l0aW9uLmxlZnQgOiBwb3NpdGlvbi5yaWdodDtcbiAgICAgICAgY29uc3QgbGVmdCA9IGF2YWlsYWJsZVthbGlnbl0gPiB3aWR0aCA/IHBvc2l0aW9uW2FsaWduXSA6IG1heExlZnQ7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGF2YWlsYWJsZVt0aGlzLnByZXZpb3VzXSA+IG1pbkhlaWdodCAmJiBkaXJlY3Rpb24pIHx8XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzID09PSBiZXR0ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW3RoaXMucHJldmlvdXNdLCBsZWZ0XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXMgPSBiZXR0ZXI7XG5cbiAgICAgICAgcmV0dXJuIFtwb3NpdGlvbltiZXR0ZXJdLCBsZWZ0XTtcbiAgICB9XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24tc2lkZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLXNpZGVkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsZUFBZSxHQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBUzNFLE1BQU0sT0FBTyxpQ0FBaUM7SUFTMUMsWUFDbUQsT0FBMkIsRUFDekMsU0FBaUIsRUFDUixRQUF5QixFQUVsRCxRQUE2QjtRQUpDLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDUixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUVsRCxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQWIxQyxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDO1FBR3RELHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFHeEMsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO0lBUXhCLENBQUM7SUFFSixXQUFXLENBQUMsSUFBZ0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUM7UUFFRCxNQUFNLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQztRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxNQUFNLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRztZQUNkLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTTtZQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNO1lBQzVCLEtBQUssRUFBRSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNO1lBQzNDLE1BQU0sRUFBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUc7U0FDNUIsQ0FBQztRQUNYLE1BQU0sUUFBUSxHQUFHO1lBQ2IsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDO1lBQy9ELElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssR0FBRyxNQUFNO1lBQ3BDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxHQUFHLE1BQU07WUFDOUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsRUFBRSxlQUFlO1NBQ2pFLENBQUM7UUFDWCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ25FLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNsRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUVsRSxJQUNJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1lBQ25ELElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUMxQjtZQUNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFFdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzsrSEFwRFEsaUNBQWlDLGtCQVU5QixvQkFBb0IsYUFDcEIsTUFBTSxhQUNOLGVBQWUsYUFDZiw0QkFBNEI7bUhBYi9CLGlDQUFpQyxpSkFML0I7UUFDUCw0QkFBNEI7UUFDNUIscUJBQXFCLENBQUMsaUNBQWlDLENBQUM7S0FDM0Q7NEZBRVEsaUNBQWlDO2tCQVA3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLHFCQUFxQixtQ0FBbUM7cUJBQzNEO2lCQUNKOzswQkFXUSxNQUFNOzJCQUFDLG9CQUFvQjs4QkFDZ0IsTUFBTTswQkFBakQsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLDRCQUE0Qjs0Q0FUeEMsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1Bvc2l0aW9uQWNjZXNzb3IsXG4gICAgVHVpUG9zaXRpb25BY2Nlc3NvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgVHVpRHJvcGRvd25PcHRpb25zfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93blNpZGVkXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUsXG4gICAgICAgIHR1aUFzUG9zaXRpb25BY2Nlc3NvcihUdWlEcm9wZG93blBvc2l0aW9uU2lkZWREaXJlY3RpdmUpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duUG9zaXRpb25TaWRlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIFR1aVBvc2l0aW9uQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcHJldmlvdXMgPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uIHx8ICdib3R0b20nO1xuXG4gICAgQElucHV0KClcbiAgICB0dWlEcm9wZG93blNpZGVkOiBib29sZWFuIHwgc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHR1aURyb3Bkb3duU2lkZWRPZmZzZXQgPSA0O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpRHJvcGRvd25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZlcnRpY2FsOiBUdWlQb3NpdGlvbkFjY2Vzc29yLFxuICAgICkge31cblxuICAgIGdldFBvc2l0aW9uKHJlY3Q6IENsaWVudFJlY3QpOiBUdWlQb2ludCB7XG4gICAgICAgIGlmICh0aGlzLnR1aURyb3Bkb3duU2lkZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52ZXJ0aWNhbC5nZXRQb3NpdGlvbihyZWN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtoZWlnaHQsIHdpZHRofSA9IHJlY3Q7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodCwgaW5uZXJXaWR0aH0gPSB0aGlzLndpbmRvd1JlZjtcbiAgICAgICAgY29uc3Qge2FsaWduLCBkaXJlY3Rpb24sIG1pbkhlaWdodCwgb2Zmc2V0fSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0ge1xuICAgICAgICAgICAgdG9wOiBob3N0UmVjdC5ib3R0b20sXG4gICAgICAgICAgICBsZWZ0OiBob3N0UmVjdC5sZWZ0IC0gb2Zmc2V0LFxuICAgICAgICAgICAgcmlnaHQ6IGlubmVyV2lkdGggLSBob3N0UmVjdC5yaWdodCAtIG9mZnNldCxcbiAgICAgICAgICAgIGJvdHRvbTogaW5uZXJIZWlnaHQgLSBob3N0UmVjdC50b3AsXG4gICAgICAgIH0gYXMgY29uc3Q7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0ge1xuICAgICAgICAgICAgdG9wOiBob3N0UmVjdC5ib3R0b20gLSBoZWlnaHQgKyB0aGlzLnR1aURyb3Bkb3duU2lkZWRPZmZzZXQgKyAxLCAvLyAxIGZvciBib3JkZXJcbiAgICAgICAgICAgIGxlZnQ6IGhvc3RSZWN0LmxlZnQgLSB3aWR0aCAtIG9mZnNldCxcbiAgICAgICAgICAgIHJpZ2h0OiBob3N0UmVjdC5yaWdodCArIG9mZnNldCxcbiAgICAgICAgICAgIGJvdHRvbTogaG9zdFJlY3QudG9wIC0gdGhpcy50dWlEcm9wZG93blNpZGVkT2Zmc2V0IC0gMSwgLy8gMSBmb3IgYm9yZGVyXG4gICAgICAgIH0gYXMgY29uc3Q7XG4gICAgICAgIGNvbnN0IGJldHRlciA9IGF2YWlsYWJsZS50b3AgPiBhdmFpbGFibGUuYm90dG9tID8gJ3RvcCcgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgbWF4TGVmdCA9IGF2YWlsYWJsZS5sZWZ0ID4gYXZhaWxhYmxlLnJpZ2h0ID8gcG9zaXRpb24ubGVmdCA6IHBvc2l0aW9uLnJpZ2h0O1xuICAgICAgICBjb25zdCBsZWZ0ID0gYXZhaWxhYmxlW2FsaWduXSA+IHdpZHRoID8gcG9zaXRpb25bYWxpZ25dIDogbWF4TGVmdDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoYXZhaWxhYmxlW3RoaXMucHJldmlvdXNdID4gbWluSGVpZ2h0ICYmIGRpcmVjdGlvbikgfHxcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXMgPT09IGJldHRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbcG9zaXRpb25bdGhpcy5wcmV2aW91c10sIGxlZnRdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IGJldHRlcjtcblxuICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW2JldHRlcl0sIGxlZnRdO1xuICAgIH1cbn1cbiJdfQ==
@@ -13,20 +13,18 @@ export class TuiDropdownPositionDirective {
13
13
  getPosition({ width, height }) {
14
14
  const hostRect = this.accessor.getClientRect();
15
15
  const { innerHeight, innerWidth } = this.windowRef;
16
- const { minHeight, align, direction } = this.options;
16
+ const { minHeight, align, direction, offset } = this.options;
17
17
  const previous = this.previous || direction || 'bottom';
18
- const right = Math.max(hostRect.right - width, this.options.offset);
18
+ const right = Math.max(hostRect.right - width, offset);
19
19
  const available = {
20
- top: hostRect.top - 2 * this.options.offset,
21
- bottom: innerHeight - hostRect.bottom - 2 * this.options.offset,
20
+ top: hostRect.top - 2 * offset,
21
+ bottom: innerHeight - hostRect.bottom - 2 * offset,
22
22
  };
23
23
  const position = {
24
- top: hostRect.top - this.options.offset - height,
25
- bottom: hostRect.bottom + this.options.offset,
24
+ top: hostRect.top - offset - height,
25
+ bottom: hostRect.bottom + offset,
26
26
  right,
27
- left: hostRect.left + width < innerWidth - this.options.offset
28
- ? hostRect.left
29
- : right,
27
+ left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,
30
28
  };
31
29
  const better = available.top > available.bottom ? 'top' : 'bottom';
32
30
  if ((available[previous] > minHeight && direction) ||
@@ -55,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
55
53
  type: Inject,
56
54
  args: [TuiRectAccessor]
57
55
  }] }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUNILHFCQUFxQixFQUVyQixlQUFlLEdBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFDOzs7QUFNdEYsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQyxZQUNtRCxPQUEyQixFQUN6QyxTQUFpQixFQUNSLFFBQXlCO1FBRnBCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDUixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNwRSxDQUFDO0lBRUosV0FBVyxDQUFDLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBYTtRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLFFBQVEsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEUsTUFBTSxTQUFTLEdBQUc7WUFDZCxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNDLE1BQU0sRUFBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1NBQ3pELENBQUM7UUFDWCxNQUFNLFFBQVEsR0FBRztZQUNiLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU07WUFDaEQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzdDLEtBQUs7WUFDTCxJQUFJLEVBQ0EsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtnQkFDcEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNmLENBQUMsQ0FBQyxLQUFLO1NBQ1QsQ0FBQztRQUNYLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFbkUsSUFDSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLEVBQzlCO1lBQ0UsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBRXZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7MEhBeENRLDRCQUE0QixrQkFJekIsb0JBQW9CLGFBQ3BCLE1BQU0sYUFDTixlQUFlOzhHQU5sQiw0QkFBNEIsaUdBRjFCLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLENBQUMsQ0FBQzs0RkFFdkQsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3RUFBd0U7b0JBQ2xGLFNBQVMsRUFBRSxDQUFDLHFCQUFxQiw4QkFBOEIsQ0FBQztpQkFDbkU7OzBCQUtRLE1BQU07MkJBQUMsb0JBQW9COzhCQUNnQixNQUFNOzBCQUFqRCxNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlBc1Bvc2l0aW9uQWNjZXNzb3IsXG4gICAgVHVpUG9zaXRpb25BY2Nlc3NvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpUG9pbnQsIFR1aVZlcnRpY2FsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7VFVJX0RST1BET1dOX09QVElPTlMsIFR1aURyb3Bkb3duT3B0aW9uc30gZnJvbSAnLi9kcm9wZG93bi1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXTpub3QoW3R1aURyb3Bkb3duQ3VzdG9tUG9zaXRpb25dKTpub3QoW3R1aURyb3Bkb3duU2lkZWRdKScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNQb3NpdGlvbkFjY2Vzc29yKFR1aURyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIFR1aVBvc2l0aW9uQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcHJldmlvdXM/OiBUdWlWZXJ0aWNhbERpcmVjdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9EUk9QRE9XTl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURyb3Bkb3duT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yOiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgKSB7fVxuXG4gICAgZ2V0UG9zaXRpb24oe3dpZHRoLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogVHVpUG9pbnQge1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHQsIGlubmVyV2lkdGh9ID0gdGhpcy53aW5kb3dSZWY7XG4gICAgICAgIGNvbnN0IHttaW5IZWlnaHQsIGFsaWduLCBkaXJlY3Rpb259ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucHJldmlvdXMgfHwgZGlyZWN0aW9uIHx8ICdib3R0b20nO1xuICAgICAgICBjb25zdCByaWdodCA9IE1hdGgubWF4KGhvc3RSZWN0LnJpZ2h0IC0gd2lkdGgsIHRoaXMub3B0aW9ucy5vZmZzZXQpO1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSB7XG4gICAgICAgICAgICB0b3A6IGhvc3RSZWN0LnRvcCAtIDIgKiB0aGlzLm9wdGlvbnMub2Zmc2V0LFxuICAgICAgICAgICAgYm90dG9tOiBpbm5lckhlaWdodCAtIGhvc3RSZWN0LmJvdHRvbSAtIDIgKiB0aGlzLm9wdGlvbnMub2Zmc2V0LFxuICAgICAgICB9IGFzIGNvbnN0O1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIHRvcDogaG9zdFJlY3QudG9wIC0gdGhpcy5vcHRpb25zLm9mZnNldCAtIGhlaWdodCxcbiAgICAgICAgICAgIGJvdHRvbTogaG9zdFJlY3QuYm90dG9tICsgdGhpcy5vcHRpb25zLm9mZnNldCxcbiAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgbGVmdDpcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0ICsgd2lkdGggPCBpbm5lcldpZHRoIC0gdGhpcy5vcHRpb25zLm9mZnNldFxuICAgICAgICAgICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnRcbiAgICAgICAgICAgICAgICAgICAgOiByaWdodCxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgYmV0dGVyID0gYXZhaWxhYmxlLnRvcCA+IGF2YWlsYWJsZS5ib3R0b20gPyAndG9wJyA6ICdib3R0b20nO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChhdmFpbGFibGVbcHJldmlvdXNdID4gbWluSGVpZ2h0ICYmIGRpcmVjdGlvbikgfHxcbiAgICAgICAgICAgIGF2YWlsYWJsZVtwcmV2aW91c10gPiBoZWlnaHRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW3ByZXZpb3VzXSwgcG9zaXRpb25bYWxpZ25dXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXMgPSBiZXR0ZXI7XG5cbiAgICAgICAgcmV0dXJuIFtwb3NpdGlvbltiZXR0ZXJdLCBwb3NpdGlvblthbGlnbl1dO1xuICAgIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUNILHFCQUFxQixFQUVyQixlQUFlLEdBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLDhCQUE4QixDQUFDOzs7QUFNdEYsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQyxZQUNtRCxPQUEyQixFQUN6QyxTQUFpQixFQUNSLFFBQXlCO1FBRnBCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDUixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNwRSxDQUFDO0lBRUosV0FBVyxDQUFDLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBYTtRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxNQUFNLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsSUFBSSxRQUFRLENBQUM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRztZQUNkLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNO1lBQzlCLE1BQU0sRUFBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTTtTQUM1QyxDQUFDO1FBQ1gsTUFBTSxRQUFRLEdBQUc7WUFDYixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsTUFBTTtZQUNuQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNO1lBQ2hDLEtBQUs7WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztTQUNuRSxDQUFDO1FBQ1gsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUVuRSxJQUNJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUM7WUFDOUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sRUFDOUI7WUFDRSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFFdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOzswSEFyQ1EsNEJBQTRCLGtCQUl6QixvQkFBb0IsYUFDcEIsTUFBTSxhQUNOLGVBQWU7OEdBTmxCLDRCQUE0QixpR0FGMUIsQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDOzRGQUV2RCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdFQUF3RTtvQkFDbEYsU0FBUyxFQUFFLENBQUMscUJBQXFCLDhCQUE4QixDQUFDO2lCQUNuRTs7MEJBS1EsTUFBTTsyQkFBQyxvQkFBb0I7OEJBQ2dCLE1BQU07MEJBQWpELE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR1aUFzUG9zaXRpb25BY2Nlc3NvcixcbiAgICBUdWlQb3NpdGlvbkFjY2Vzc29yLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludCwgVHVpVmVydGljYWxEaXJlY3Rpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgVHVpRHJvcGRvd25PcHRpb25zfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbnMuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25dOm5vdChbdHVpRHJvcGRvd25DdXN0b21Qb3NpdGlvbl0pOm5vdChbdHVpRHJvcGRvd25TaWRlZF0pJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc1Bvc2l0aW9uQWNjZXNzb3IoVHVpRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93blBvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgVHVpUG9zaXRpb25BY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSBwcmV2aW91cz86IFR1aVZlcnRpY2FsRGlyZWN0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpRHJvcGRvd25PcHRpb25zLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I6IFR1aVJlY3RBY2Nlc3NvcixcbiAgICApIHt9XG5cbiAgICBnZXRQb3NpdGlvbih7d2lkdGgsIGhlaWdodH06IENsaWVudFJlY3QpOiBUdWlQb2ludCB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodCwgaW5uZXJXaWR0aH0gPSB0aGlzLndpbmRvd1JlZjtcbiAgICAgICAgY29uc3Qge21pbkhlaWdodCwgYWxpZ24sIGRpcmVjdGlvbiwgb2Zmc2V0fSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnByZXZpb3VzIHx8IGRpcmVjdGlvbiB8fCAnYm90dG9tJztcbiAgICAgICAgY29uc3QgcmlnaHQgPSBNYXRoLm1heChob3N0UmVjdC5yaWdodCAtIHdpZHRoLCBvZmZzZXQpO1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSB7XG4gICAgICAgICAgICB0b3A6IGhvc3RSZWN0LnRvcCAtIDIgKiBvZmZzZXQsXG4gICAgICAgICAgICBib3R0b206IGlubmVySGVpZ2h0IC0gaG9zdFJlY3QuYm90dG9tIC0gMiAqIG9mZnNldCxcbiAgICAgICAgfSBhcyBjb25zdDtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7XG4gICAgICAgICAgICB0b3A6IGhvc3RSZWN0LnRvcCAtIG9mZnNldCAtIGhlaWdodCxcbiAgICAgICAgICAgIGJvdHRvbTogaG9zdFJlY3QuYm90dG9tICsgb2Zmc2V0LFxuICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICBsZWZ0OiBob3N0UmVjdC5sZWZ0ICsgd2lkdGggPCBpbm5lcldpZHRoIC0gb2Zmc2V0ID8gaG9zdFJlY3QubGVmdCA6IHJpZ2h0LFxuICAgICAgICB9IGFzIGNvbnN0O1xuICAgICAgICBjb25zdCBiZXR0ZXIgPSBhdmFpbGFibGUudG9wID4gYXZhaWxhYmxlLmJvdHRvbSA/ICd0b3AnIDogJ2JvdHRvbSc7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGF2YWlsYWJsZVtwcmV2aW91c10gPiBtaW5IZWlnaHQgJiYgZGlyZWN0aW9uKSB8fFxuICAgICAgICAgICAgYXZhaWxhYmxlW3ByZXZpb3VzXSA+IGhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbcG9zaXRpb25bcHJldmlvdXNdLCBwb3NpdGlvblthbGlnbl1dO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IGJldHRlcjtcblxuICAgICAgICByZXR1cm4gW3Bvc2l0aW9uW2JldHRlcl0sIHBvc2l0aW9uW2FsaWduXV07XG4gICAgfVxufVxuIl19
@@ -53,7 +53,7 @@ export class TuiDropdownComponent {
53
53
  update(top, left) {
54
54
  const { style } = this.elementRef.nativeElement;
55
55
  const { right } = this.elementRef.nativeElement.getBoundingClientRect();
56
- const { limitWidth, maxHeight } = this.options;
56
+ const { limitWidth, maxHeight, offset } = this.options;
57
57
  const { innerHeight } = this.windowRef;
58
58
  const { clientRect } = this.host;
59
59
  const { position } = this.directive;
@@ -62,14 +62,12 @@ export class TuiDropdownComponent {
62
62
  const offsetY = position === 'fixed' ? 0 : -clientRect.top;
63
63
  top += offsetY;
64
64
  left += offsetX;
65
- const isIntersecting = left < rect.right &&
66
- right > rect.left &&
67
- top < offsetY + 2 * this.options.offset;
65
+ const isIntersecting = left < rect.right && right > rect.left && top < offsetY + 2 * offset;
68
66
  const available = isIntersecting
69
- ? rect.top - 2 * this.options.offset
70
- : offsetY + innerHeight - top - this.options.offset;
67
+ ? rect.top - 2 * offset
68
+ : offsetY + innerHeight - top - offset;
71
69
  style.position = position;
72
- style.top = tuiPx(Math.max(top, offsetY + this.options.offset));
70
+ style.top = tuiPx(Math.max(top, offsetY + offset));
73
71
  style.left = tuiPx(left);
74
72
  style.maxHeight = tuiPx(Math.min(maxHeight, available));
75
73
  style.width = '';
@@ -143,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
143
141
  type: HostBinding,
144
142
  args: ['@tuiDropdownAnimation']
145
143
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRzVELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6Qyw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7OztBQUV0Rjs7R0FFRztBQUNILG9CQUFvQjtBQVNwQixNQUFNLE9BQU8s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TUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixRQUFROzswQkFDUixNQUFNOzJCQUFDLHlCQUF5Qjs0Q0FsQjVCLGlCQUFpQjtzQkFEekIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqICBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWwgdXNpbmcgZGVmYXVsdCBzdHlsZSBvZiB3aGl0ZSByb3VuZGVkIGJveCB3aXRoIGEgc2hhZG93XG4gKi9cbi8vIEBiYWQgVE9ETzogT25QdXNoXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2UsIFR1aVBvc2l0aW9uU2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnQHR1aURyb3Bkb3duQW5pbWF0aW9uJylcbiAgICByZWFkb25seSBkcm9wZG93bkFuaW1hdGlvbiA9IHtcbiAgICAgICAgdmFsdWU6IFR1aURyb3Bkb3duQW5pbWF0aW9uLkZhZGVJblRvcCxcbiAgICAgICAgLi4udGhpcy5hbmltYXRpb25PcHRpb25zLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpIHBvc2l0aW9uJDogT2JzZXJ2YWJsZTxUdWlQb2ludD4sXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uT3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3ZlckRpcmVjdGl2ZTogVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHBvc2l0aW9uJC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHRvcCwgbGVmdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRGlyZWN0aXZlLnRvZ2dsZShob3ZlcmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7cmlnaHR9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtsaW1pdFdpZHRoLCBtYXhIZWlnaHR9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHR9ID0gdGhpcy53aW5kb3dSZWY7XG4gICAgICAgIGNvbnN0IHtjbGllbnRSZWN0fSA9IHRoaXMuaG9zdDtcbiAgICAgICAgY29uc3Qge3Bvc2l0aW9ufSA9IHRoaXMuZGlyZWN0aXZlO1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldFggPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtY2xpZW50UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLWNsaWVudFJlY3QudG9wO1xuXG4gICAgICAgIHRvcCArPSBvZmZzZXRZO1xuICAgICAgICBsZWZ0ICs9IG9mZnNldFg7XG5cbiAgICAgICAgY29uc3QgaXNJbnRlcnNlY3RpbmcgPVxuICAgICAgICAgICAgbGVmdCA8IHJlY3QucmlnaHQgJiZcbiAgICAgICAgICAgIHJpZ2h0ID4gcmVjdC5sZWZ0ICYmXG4gICAgICAgICAgICB0b3AgPCBvZmZzZXRZICsgMiAqIHRoaXMub3B0aW9ucy5vZmZzZXQ7XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IGlzSW50ZXJzZWN0aW5nXG4gICAgICAgICAgICA/IHJlY3QudG9wIC0gMiAqIHRoaXMub3B0aW9ucy5vZmZzZXRcbiAgICAgICAgICAgIDogb2Zmc2V0WSArIGlubmVySGVpZ2h0IC0gdG9wIC0gdGhpcy5vcHRpb25zLm9mZnNldDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBzdHlsZS50b3AgPSB0dWlQeChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyB0aGlzLm9wdGlvbnMub2Zmc2V0KSk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSB0dWlQeChsZWZ0KTtcbiAgICAgICAgc3R5bGUubWF4SGVpZ2h0ID0gdHVpUHgoTWF0aC5taW4obWF4SGVpZ2h0LCBhdmFpbGFibGUpKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSAnJztcbiAgICAgICAgc3R5bGUubWluV2lkdGggPSAnJztcblxuICAgICAgICBzd2l0Y2ggKGxpbWl0V2lkdGgpIHtcbiAgICAgICAgICAgIGNhc2UgJ21pbic6XG4gICAgICAgICAgICAgICAgc3R5bGUubWluV2lkdGggPSB0dWlQeChyZWN0LndpZHRoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpeGVkJzpcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHR1aVB4KHJlY3Qud2lkdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlRm9jdXNPdXRzaWRlKHByZXZpb3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge293bmVyRG9jdW1lbnR9ID0gaG9zdDtcbiAgICAgICAgY29uc3Qgcm9vdCA9IG93bmVyRG9jdW1lbnQgPyBvd25lckRvY3VtZW50LmJvZHkgOiBob3N0O1xuICAgICAgICBsZXQgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogaG9zdCwgcm9vdCwgcHJldmlvdXN9KTtcblxuICAgICAgICB3aGlsZSAoZm9jdXNhYmxlICE9PSBudWxsICYmIGhvc3QuY29udGFpbnMoZm9jdXNhYmxlKSkge1xuICAgICAgICAgICAgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogZm9jdXNhYmxlLCByb290LCBwcmV2aW91c30pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjYWN0aXZlWm9uZT1cInR1aUFjdGl2ZVpvbmVcIlxuICAgIHR1aUFjdGl2ZVpvbmVcbiAgICB0dWlPdmVyc2Nyb2xsPVwiYWxsXCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW3R1aU1vZGVdPVwibnVsbFwiXG4gICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25Ib3ZlcmVkQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktc2Nyb2xsYmFyIGNsYXNzPVwidC1zY3JvbGxcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvblRvcEZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkaXJlY3RpdmUuY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBhY3RpdmVab25lfVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtcHJpbWl0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkJvdHRvbUZvY3VzKClcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC90dWktc2Nyb2xsYmFyPlxuPC9kaXY+XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRzVELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6Qyw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxvQkFBb0IsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7OztBQUV0Rjs7R0FFRztBQUNILG9CQUFvQjtBQVNwQixNQUFNLE9BQU8s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QkFEekIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpUG9ydGFsSG9zdENvbXBvbmVudCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aVB4LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpRHJvcGRvd25BbmltYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2VudW1zJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqICBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWwgdXNpbmcgZGVmYXVsdCBzdHlsZSBvZiB3aGl0ZSByb3VuZGVkIGJveCB3aXRoIGEgc2hhZG93XG4gKi9cbi8vIEBiYWQgVE9ETzogT25QdXNoXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2UsIFR1aVBvc2l0aW9uU2VydmljZV0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnQHR1aURyb3Bkb3duQW5pbWF0aW9uJylcbiAgICByZWFkb25seSBkcm9wZG93bkFuaW1hdGlvbiA9IHtcbiAgICAgICAgdmFsdWU6IFR1aURyb3Bkb3duQW5pbWF0aW9uLkZhZGVJblRvcCxcbiAgICAgICAgLi4udGhpcy5hbmltYXRpb25PcHRpb25zLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpIHBvc2l0aW9uJDogT2JzZXJ2YWJsZTxUdWlQb2ludD4sXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpIHJlYWRvbmx5IGRpcmVjdGl2ZTogVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChBYnN0cmFjdFR1aVBvcnRhbEhvc3RDb21wb25lbnQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQWJzdHJhY3RUdWlQb3J0YWxIb3N0Q29tcG9uZW50LFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdyxcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uT3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEcm9wZG93bk9wdGlvbnMsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3ZlckRpcmVjdGl2ZTogVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHBvc2l0aW9uJC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZSgoW3RvcCwgbGVmdF0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHRvcCwgbGVmdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRGlyZWN0aXZlLnRvZ2dsZShob3ZlcmVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVG9wRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZUZvY3VzT3V0c2lkZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbkJvdHRvbUZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdmVGb2N1c091dHNpZGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7cmlnaHR9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtsaW1pdFdpZHRoLCBtYXhIZWlnaHQsIG9mZnNldH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodH0gPSB0aGlzLndpbmRvd1JlZjtcbiAgICAgICAgY29uc3Qge2NsaWVudFJlY3R9ID0gdGhpcy5ob3N0O1xuICAgICAgICBjb25zdCB7cG9zaXRpb259ID0gdGhpcy5kaXJlY3RpdmU7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvc2l0aW9uID09PSAnZml4ZWQnID8gMCA6IC1jbGllbnRSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IDAgOiAtY2xpZW50UmVjdC50b3A7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBpc0ludGVyc2VjdGluZyA9XG4gICAgICAgICAgICBsZWZ0IDwgcmVjdC5yaWdodCAmJiByaWdodCA+IHJlY3QubGVmdCAmJiB0b3AgPCBvZmZzZXRZICsgMiAqIG9mZnNldDtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gaXNJbnRlcnNlY3RpbmdcbiAgICAgICAgICAgID8gcmVjdC50b3AgLSAyICogb2Zmc2V0XG4gICAgICAgICAgICA6IG9mZnNldFkgKyBpbm5lckhlaWdodCAtIHRvcCAtIG9mZnNldDtcblxuICAgICAgICBzdHlsZS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgICAgICBzdHlsZS50b3AgPSB0dWlQeChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQpO1xuICAgICAgICBzdHlsZS5tYXhIZWlnaHQgPSB0dWlQeChNYXRoLm1pbihtYXhIZWlnaHQsIGF2YWlsYWJsZSkpO1xuICAgICAgICBzdHlsZS53aWR0aCA9ICcnO1xuICAgICAgICBzdHlsZS5taW5XaWR0aCA9ICcnO1xuXG4gICAgICAgIHN3aXRjaCAobGltaXRXaWR0aCkge1xuICAgICAgICAgICAgY2FzZSAnbWluJzpcbiAgICAgICAgICAgICAgICBzdHlsZS5taW5XaWR0aCA9IHR1aVB4KHJlY3Qud2lkdGgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZml4ZWQnOlxuICAgICAgICAgICAgICAgIHN0eWxlLndpZHRoID0gdHVpUHgocmVjdC53aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVGb2N1c091dHNpZGUocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBob3N0O1xuICAgICAgICBjb25zdCByb290ID0gb3duZXJEb2N1bWVudCA/IG93bmVyRG9jdW1lbnQuYm9keSA6IGhvc3Q7XG4gICAgICAgIGxldCBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBob3N0LCByb290LCBwcmV2aW91c30pO1xuXG4gICAgICAgIHdoaWxlIChmb2N1c2FibGUgIT09IG51bGwgJiYgaG9zdC5jb250YWlucyhmb2N1c2FibGUpKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBmb2N1c2FibGUsIHJvb3QsIHByZXZpb3VzfSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb2N1c2FibGU/LmZvY3VzKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgdHVpQWN0aXZlWm9uZVxuICAgIHR1aU92ZXJzY3JvbGw9XCJhbGxcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbdHVpTW9kZV09XCJudWxsXCJcbiAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkhvdmVyZWRDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS1zY3JvbGxiYXIgY2xhc3M9XCJ0LXNjcm9sbFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uVG9wRm9jdXMoKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImRpcmVjdGl2ZS5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGl2ZVpvbmV9XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1wcmltaXRpdmVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uQm90dG9tRm9jdXMoKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L3R1aS1zY3JvbGxiYXI+XG48L2Rpdj5cbiJdfQ==