@taiga-ui/core 3.9.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +1 -1
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-alert.umd.js +1 -1
  4. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  8. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-data-list.umd.js +39 -21
  10. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.js +2 -2
  12. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  14. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-expand.umd.js +1 -1
  16. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-group.umd.js +1 -1
  18. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +15 -4
  20. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  22. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  24. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-loader.umd.js +1 -1
  26. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  28. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  30. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +1 -1
  32. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +1 -1
  34. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +3 -3
  36. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +3 -2
  38. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-root.umd.js +2 -2
  40. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  42. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -1
  44. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-svg.umd.js +1 -1
  46. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-theme-night.umd.js +1 -1
  48. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  50. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-directives-dropdown.umd.js +32 -17
  52. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-directives-hint.umd.js +2 -1
  54. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-directives-mode.umd.js +1 -1
  56. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +1 -1
  58. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +1 -1
  60. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +2 -2
  62. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +1 -1
  64. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +1 -1
  66. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
  67. package/bundles/taiga-ui-core-services.umd.js +1 -1
  68. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-tokens.umd.js +1 -1
  70. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -0
  72. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  73. package/bundles/taiga-ui-core-utils-format.umd.js +1 -1
  74. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-utils-mask.umd.js +3 -2
  76. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  77. package/components/data-list/data-list.component.d.ts +6 -3
  78. package/components/data-list/option/option.component.d.ts +2 -1
  79. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +9 -3
  80. package/components/svg/svg.component.d.ts +1 -1
  81. package/directives/dropdown/dropdown-position-sided.directive.d.ts +5 -3
  82. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  83. package/directives/hint/hint.directive.d.ts +2 -2
  84. package/esm2015/components/data-list/data-list.component.js +26 -8
  85. package/esm2015/components/data-list/option/option.component.js +4 -3
  86. package/esm2015/components/dialog/dialog.component.js +1 -1
  87. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +15 -5
  88. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +2 -2
  89. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  90. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  91. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -2
  92. package/esm2015/components/root/root.component.js +2 -2
  93. package/esm2015/components/svg/svg.component.js +1 -1
  94. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +26 -8
  95. package/esm2015/directives/dropdown/dropdown-position.directive.js +5 -6
  96. package/esm2015/directives/dropdown/dropdown.component.js +3 -3
  97. package/esm2015/directives/hint/hint-position.directive.js +2 -1
  98. package/esm2015/directives/hint/hint.directive.js +1 -1
  99. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  100. package/esm2015/pipes/calendar-sheet/utils.js +2 -2
  101. package/esm2015/utils/dom/get-word-range.js +2 -1
  102. package/esm2015/utils/mask/create-number-mask.js +3 -2
  103. package/fesm2015/taiga-ui-core-components-data-list.js +27 -8
  104. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  105. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  106. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +14 -4
  107. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  108. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +1 -1
  109. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  110. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  111. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  112. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -1
  113. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  114. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  115. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  116. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  117. package/fesm2015/taiga-ui-core-directives-dropdown.js +29 -13
  118. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  119. package/fesm2015/taiga-ui-core-directives-hint.js +1 -0
  120. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  121. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  122. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  123. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +1 -1
  124. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  125. package/fesm2015/taiga-ui-core-utils-dom.js +1 -0
  126. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  127. package/fesm2015/taiga-ui-core-utils-mask.js +2 -1
  128. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  129. package/package.json +4 -4
  130. package/styles/mixins/mixins.less +17 -0
  131. package/styles/mixins/picker.less +1 -1
  132. package/styles/mixins/picker.scss +1 -1
@@ -6,9 +6,11 @@ export declare class TuiDropdownPositionSidedDirective implements TuiPositionAcc
6
6
  private readonly options;
7
7
  private readonly windowRef;
8
8
  private readonly accessor;
9
+ private readonly vertical;
9
10
  private previous;
10
- constructor(options: TuiDropdownOptions, windowRef: Window, accessor: TuiRectAccessor);
11
- getPosition({ height, width }: ClientRect): TuiPoint;
11
+ tuiDropdownSided: boolean | string;
12
+ constructor(options: TuiDropdownOptions, windowRef: Window, accessor: TuiRectAccessor, vertical: TuiPositionAccessor);
13
+ getPosition(rect: ClientRect): TuiPoint;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPositionSidedDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionSidedDirective, "[tuiDropdownSided]", never, {}, {}, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPositionSidedDirective, "[tuiDropdownSided]", never, { "tuiDropdownSided": "tuiDropdownSided"; }, {}, never>;
14
16
  }
@@ -6,7 +6,7 @@ export declare class TuiDropdownPositionDirective implements TuiPositionAccessor
6
6
  private readonly options;
7
7
  private readonly windowRef;
8
8
  private readonly accessor;
9
- private previous;
9
+ private previous?;
10
10
  constructor(options: TuiDropdownOptions, windowRef: Window, accessor: TuiRectAccessor);
11
11
  getPosition({ width, height }: ClientRect): TuiPoint;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPositionDirective, never>;
@@ -8,14 +8,14 @@ import { TuiHintOptions } from './hint-options.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class TuiHintDirective<C> implements OnDestroy, OnChanges, TuiPortalItem<C>, TuiRectAccessor, TuiVehicle {
10
10
  private readonly elementRef;
11
- readonly component: PolymorpheusComponent<object, object>;
11
+ readonly component: PolymorpheusComponent<Record<string, any>, Record<string, any>>;
12
12
  private readonly hintService;
13
13
  private readonly options;
14
14
  readonly activeZone?: TuiActiveZoneDirective | null | undefined;
15
15
  content: PolymorpheusContent<C>;
16
16
  context?: C;
17
17
  tuiHintAppearance: string | null;
18
- constructor(elementRef: ElementRef<HTMLElement>, component: PolymorpheusComponent<object, object>, hintService: TuiHintService, options: TuiHintOptions, activeZone?: TuiActiveZoneDirective | null | undefined);
18
+ constructor(elementRef: ElementRef<HTMLElement>, component: PolymorpheusComponent<Record<string, any>, Record<string, any>>, hintService: TuiHintService, options: TuiHintOptions, activeZone?: TuiActiveZoneDirective | null | undefined);
19
19
  get appearance(): string;
20
20
  ngOnChanges(): void;
21
21
  ngOnDestroy(): void;
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, Optional, ViewEncapsulation, } from '@angular/core';
3
3
  import { EMPTY_QUERY, tuiDefaultProp, tuiIsElement, tuiIsNativeFocusedIn, tuiIsPresent, tuiItemsQueryListObservable, tuiMoveFocus, tuiPure, tuiSetNativeMouseFocused, } from '@taiga-ui/cdk';
4
+ import { TuiTextfieldSizeDirective } from '@taiga-ui/core/directives';
4
5
  import { TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor } from '@taiga-ui/core/tokens';
5
6
  import { map } from 'rxjs/operators';
6
7
  // TODO: find the best way for prevent cycle
@@ -9,15 +10,19 @@ import { TuiOptionComponent } from './option/option.component';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/common";
11
12
  import * as i2 from "@tinkoff/ng-polymorpheus";
12
- import * as i3 from "rxjs";
13
+ import * as i3 from "@taiga-ui/core/directives";
14
+ import * as i4 from "rxjs";
13
15
  // TODO: Consider aria-activedescendant for proper accessibility implementation
14
16
  export class TuiDataListComponent {
15
- constructor(elementRef, defaultEmptyContent$) {
17
+ constructor(controller, elementRef, defaultEmptyContent$) {
18
+ var _a;
19
+ this.controller = controller;
16
20
  this.elementRef = elementRef;
17
21
  this.defaultEmptyContent$ = defaultEmptyContent$;
18
22
  this.options = EMPTY_QUERY;
19
23
  this.role = `listbox`;
20
24
  this.emptyContent = ``;
25
+ this.size = ((_a = this.controller) === null || _a === void 0 ? void 0 : _a.size) || `m`;
21
26
  }
22
27
  get empty$() {
23
28
  return tuiItemsQueryListObservable(this.options).pipe(map(({ length }) => !length));
@@ -56,14 +61,17 @@ export class TuiDataListComponent {
56
61
  return Array.from(this.elementRef.nativeElement.querySelectorAll(`[tuiOption]`));
57
62
  }
58
63
  }
59
- TuiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListComponent, deps: [{ token: ElementRef }, { token: TUI_NOTHING_FOUND_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
60
- TuiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListComponent, selector: "tui-data-list", inputs: { role: "role", emptyContent: "emptyContent" }, host: { listeners: { "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)" }, properties: { "attr.role": "this.role" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:.375rem 0;color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-s);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:.375rem 1rem .75rem;line-height:1rem;white-space:normal}tui-opt-group:not(:empty)~tui-opt-group:before{padding:.875rem 1rem .75rem}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:.5rem 0 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\";position:absolute;left:1rem;right:1rem;top:.25rem;height:1px;background:var(--tui-base-03)}tui-opt-group[data-label=\"\"]:before{padding:0 1rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
64
+ TuiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListComponent, deps: [{ token: TuiTextfieldSizeDirective, optional: true }, { token: ElementRef }, { token: TUI_NOTHING_FOUND_MESSAGE }], target: i0.ɵɵFactoryTarget.Component });
65
+ TuiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListComponent, selector: "tui-data-list", inputs: { role: "role", emptyContent: "emptyContent", size: "size" }, host: { listeners: { "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)" }, properties: { "attr.role": "this.role", "attr.data-list-size": "this.size" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionComponent; }), descendants: true }], ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n", styles: ["tui-data-list{--tui-padding: .25rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:var(--tui-padding);color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-list-size=l]{--tui-padding: .375rem}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-02);flex-direction:column;line-height:1rem}tui-data-list[data-list-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-list-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-list-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-padding) .5rem var(--tui-padding);white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-padding);height:1px;background:var(--tui-base-03)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before{padding:var(--tui-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before{padding:0 .5rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
61
66
  __decorate([
62
67
  tuiDefaultProp()
63
68
  ], TuiDataListComponent.prototype, "role", void 0);
64
69
  __decorate([
65
70
  tuiDefaultProp()
66
71
  ], TuiDataListComponent.prototype, "emptyContent", void 0);
72
+ __decorate([
73
+ tuiDefaultProp()
74
+ ], TuiDataListComponent.prototype, "size", void 0);
67
75
  __decorate([
68
76
  tuiPure
69
77
  ], TuiDataListComponent.prototype, "empty$", null);
@@ -77,10 +85,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
77
85
  encapsulation: ViewEncapsulation.None,
78
86
  providers: [tuiAsDataListAccessor(TuiDataListComponent)],
79
87
  }]
80
- }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
88
+ }], ctorParameters: function () { return [{ type: i3.TuiTextfieldSizeDirective, decorators: [{
89
+ type: Optional
90
+ }, {
91
+ type: Inject,
92
+ args: [TuiTextfieldSizeDirective]
93
+ }] }, { type: i0.ElementRef, decorators: [{
81
94
  type: Inject,
82
95
  args: [ElementRef]
83
- }] }, { type: i3.Observable, decorators: [{
96
+ }] }, { type: i4.Observable, decorators: [{
84
97
  type: Inject,
85
98
  args: [TUI_NOTHING_FOUND_MESSAGE]
86
99
  }] }]; }, propDecorators: { options: [{
@@ -93,6 +106,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
93
106
  args: [`attr.role`]
94
107
  }], emptyContent: [{
95
108
  type: Input
109
+ }], size: [{
110
+ type: Input
111
+ }, {
112
+ type: HostBinding,
113
+ args: [`attr.data-list-size`]
96
114
  }], empty$: [], onFocusIn: [{
97
115
  type: HostListener,
98
116
  args: [`focusin`, [`$event.relatedTarget`, `$event.currentTarget`]]
@@ -112,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
112
130
  type: HostListener,
113
131
  args: [`mouseleave`, [`$event.target`]]
114
132
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxjQUFjLEVBQ2QsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLFlBQVksRUFDWixPQUFPLEVBQ1Asd0JBQXdCLEdBQzNCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBSXZGLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUU3RCwrRUFBK0U7QUFTL0UsTUFBTSxPQUFPLG9CQUFvQjtJQWU3QixZQUN5QyxVQUFtQyxFQUUvRCxvQkFBd0M7UUFGWixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUUvRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW9CO1FBaEJwQyxZQUFPLEdBQXFDLFdBQVcsQ0FBQztRQU96RSxTQUFJLEdBQW9CLFNBQVMsQ0FBQztRQUlsQyxpQkFBWSxHQUF3QixFQUFFLENBQUM7SUFN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LHNCQUFzQixDQUFDO2lCQUMzRDs7MEJBaUJRLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMseUJBQXlCOzRDQWZwQixPQUFPO3NCQUR2QixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFRMUUsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBTXhCLFlBQVk7c0JBRlgsS0FBSztnQkFXRixNQUFNLE1BS1YsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO2dCQVF6RSxJQUFJO3NCQURILFlBQVk7dUJBQUMsbUJBQW1CO2dCQUtqQyxjQUFjO3NCQUZiLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDOztzQkFDaEUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7Z0JBVWhFLDBCQUEwQjtzQkFGekIsWUFBWTt1QkFBQyxzQkFBc0I7O3NCQUNuQyxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlNb3ZlRm9jdXMsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlTZXROYXRpdmVNb3VzZUZvY3VzZWQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRSwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdFJvbGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlPcHRpb25Db21wb25lbnR9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG4vLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kYXRhLWxpc3RgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9kYXRhLWxpc3QudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vZGF0YS1saXN0LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRGF0YUxpc3RBY2Nlc3NvcihUdWlEYXRhTGlzdENvbXBvbmVudCldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEYXRhTGlzdENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4ge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb25Db21wb25lbnQpLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgb3JpZ2luPzogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5yb2xlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvbGU6IFR1aURhdGFMaXN0Um9sZSA9IGBsaXN0Ym94YDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlbXB0eUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRSlcbiAgICAgICAgcmVhZG9ubHkgZGVmYXVsdEVtcHR5Q29udGVudCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBlbXB0eSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5vcHRpb25zKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBmb2N1c2luYCwgW2AkZXZlbnQucmVsYXRlZFRhcmdldGAsIGAkZXZlbnQuY3VycmVudFRhcmdldGBdKVxuICAgIG9uRm9jdXNJbihyZWxhdGVkVGFyZ2V0OiBIVE1MRWxlbWVudCwgY3VycmVudFRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpICYmICF0aGlzLm9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4gPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgbW91c2Vkb3duLnByZXZlbnRgKVxuICAgIG5vb3AoKTogdm9pZCB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1VwLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c30gPSB0aGlzO1xuXG4gICAgICAgIHR1aU1vdmVGb2N1cyhlbGVtZW50cy5pbmRleE9mKGN1cnJlbnQpLCBlbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGZvciBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvblxuICAgIEBIb3N0TGlzdGVuZXIoYHdoZWVsLnNpbGVudC5wYXNzaXZlYClcbiAgICBASG9zdExpc3RlbmVyKGBtb3VzZWxlYXZlYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWdpbiAmJiB0dWlJc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgdHVpU2V0TmF0aXZlTW91c2VGb2N1c2VkKHRoaXMub3JpZ2luLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE9wdGlvbnMoaW5jbHVkZURpc2FibGVkOiBib29sZWFuID0gZmFsc2UpOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKHR1aUlzUHJlc2VudCk7XG4gICAgfVxuXG4gICAgb25Gb2N1cyh7dGFyZ2V0fTogRXZlbnQsIHRvcDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXR1aUlzRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICB0dWlNb3ZlRm9jdXModG9wID8gLTEgOiBlbGVtZW50cy5sZW5ndGgsIGVsZW1lbnRzLCB0b3AgPyAxIDogLTEpO1xuICAgICAgICB0aGlzLmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KHRhcmdldCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudHMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFt0dWlPcHRpb25dYCkpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIGNsYXNzPVwidC10cmFwXCJcbiAgICAoZm9jdXNpbik9XCJvbkZvY3VzKCRldmVudCwgdHJ1ZSlcIlxuPjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGRpdlxuICAgICpuZ0lmPVwiZW1wdHkkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwidC1lbXB0eVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZW1wdHlDb250ZW50IHx8IChkZWZhdWx0RW1wdHlDb250ZW50JCB8IGFzeW5jKSBhcyB0ZXh0XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPGRpdlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJ0LXRyYXBcIlxuICAgIChmb2N1c2luKT1cIm9uRm9jdXMoJGV2ZW50LCBmYWxzZSlcIlxuPjwvZGl2PlxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBRVIsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLDJCQUEyQixFQUMzQixZQUFZLEVBQ1osT0FBTyxFQUNQLHdCQUF3QixHQUMzQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxPQUFPLEVBQUMseUJBQXlCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBRTdELCtFQUErRTtBQVMvRSxNQUFNLE9BQU8sb0JBQW9CO0lBb0I3QixZQUdxQixVQUE0QyxFQUN4QixVQUFtQyxFQUUvRCxvQkFBd0M7O1FBSGhDLGVBQVUsR0FBVixVQUFVLENBQWtDO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRS9ELHlCQUFvQixHQUFwQixv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cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsXG4gICAgdHVpTW92ZUZvY3VzLFxuICAgIHR1aVB1cmUsXG4gICAgdHVpU2V0TmF0aXZlTW91c2VGb2N1c2VkLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfTk9USElOR19GT1VORF9NRVNTQUdFLCB0dWlBc0RhdGFMaXN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aURhdGFMaXN0Um9sZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIFRPRE86IGZpbmQgdGhlIGJlc3Qgd2F5IGZvciBwcmV2ZW50IGN5Y2xlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aU9wdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5cbi8vIFRPRE86IENvbnNpZGVyIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBmb3IgcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb25cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRhdGEtbGlzdGAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2RhdGEtbGlzdC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9kYXRhLWxpc3Quc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0Q29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPiB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aU9wdGlvbkNvbXBvbmVudCksIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uQ29tcG9uZW50PFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW4/OiBIVE1MRWxlbWVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLnJvbGVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcm9sZTogVHVpRGF0YUxpc3RSb2xlID0gYGxpc3Rib3hgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1saXN0LXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZSA9IHRoaXMuY29udHJvbGxlcj8uc2l6ZSB8fCBgbWA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRSlcbiAgICAgICAgcmVhZG9ubHkgZGVmYXVsdEVtcHR5Q29udGVudCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBlbXB0eSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5vcHRpb25zKS5waXBlKG1hcCgoe2xlbmd0aH0pID0+ICFsZW5ndGgpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBmb2N1c2luYCwgW2AkZXZlbnQucmVsYXRlZFRhcmdldGAsIGAkZXZlbnQuY3VycmVudFRhcmdldGBdKVxuICAgIG9uRm9jdXNJbihyZWxhdGVkVGFyZ2V0OiBIVE1MRWxlbWVudCwgY3VycmVudFRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpICYmICF0aGlzLm9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4gPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgbW91c2Vkb3duLnByZXZlbnRgKVxuICAgIG5vb3AoKTogdm9pZCB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1VwLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c30gPSB0aGlzO1xuXG4gICAgICAgIHR1aU1vdmVGb2N1cyhlbGVtZW50cy5pbmRleE9mKGN1cnJlbnQpLCBlbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGZvciBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvblxuICAgIEBIb3N0TGlzdGVuZXIoYHdoZWVsLnNpbGVudC5wYXNzaXZlYClcbiAgICBASG9zdExpc3RlbmVyKGBtb3VzZWxlYXZlYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yaWdpbiAmJiB0dWlJc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgdHVpU2V0TmF0aXZlTW91c2VGb2N1c2VkKHRoaXMub3JpZ2luLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE9wdGlvbnMoaW5jbHVkZURpc2FibGVkOiBib29sZWFuID0gZmFsc2UpOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKHR1aUlzUHJlc2VudCk7XG4gICAgfVxuXG4gICAgb25Gb2N1cyh7dGFyZ2V0fTogRXZlbnQsIHRvcDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXR1aUlzRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICB0dWlNb3ZlRm9jdXModG9wID8gLTEgOiBlbGVtZW50cy5sZW5ndGgsIGVsZW1lbnRzLCB0b3AgPyAxIDogLTEpO1xuICAgICAgICB0aGlzLmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KHRhcmdldCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudHMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFt0dWlPcHRpb25dYCkpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIGNsYXNzPVwidC10cmFwXCJcbiAgICAoZm9jdXNpbik9XCJvbkZvY3VzKCRldmVudCwgdHJ1ZSlcIlxuPjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGRpdlxuICAgICpuZ0lmPVwiZW1wdHkkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwidC1lbXB0eVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZW1wdHlDb250ZW50IHx8IChkZWZhdWx0RW1wdHlDb250ZW50JCB8IGFzeW5jKSBhcyB0ZXh0XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPGRpdlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJ0LXRyYXBcIlxuICAgIChmb2N1c2luKT1cIm9uRm9jdXMoJGV2ZW50LCBmYWxzZSlcIlxuPjwvZGl2PlxuIl19
@@ -24,7 +24,8 @@ export class TuiOptionComponent {
24
24
  this.elementRef = elementRef;
25
25
  this.host = host;
26
26
  this.dropdown = dropdown;
27
- this.size = `m`;
27
+ /** @deprecated use size on {@link TuiDataListComponent} instead */
28
+ this.size = null;
28
29
  this.role = `option`;
29
30
  this.disabled = false;
30
31
  }
@@ -46,7 +47,7 @@ export class TuiOptionComponent {
46
47
  }
47
48
  }
48
49
  TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent) }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
49
- TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear-disabled)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .375rem;margin:.0625rem .375rem}:host[data-size=s]{min-height:2rem;padding:.3125rem .375rem;margin:.0625rem .375rem}:host[data-size=m]{min-height:2.75rem;padding:.375rem .5rem;margin:.125rem .5rem}:host[data-size=l]{min-height:3.5rem;padding:.375rem .5rem;margin:.125rem .5rem}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
+ TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.init": "onMouseMove($event)", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear-disabled)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem;margin:0}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem;margin:.125rem 0}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem;margin:.25rem 0}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
51
  __decorate([
51
52
  tuiDefaultProp()
52
53
  ], TuiOptionComponent.prototype, "size", void 0);
@@ -122,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
122
123
  type: HostListener,
123
124
  args: [`mousemove.silent`, [`$event`]]
124
125
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L29wdGlvbi9vcHRpb24udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsY0FBYyxFQUVkLGtCQUFrQixHQUNyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHckQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUU1RCxTQUFTLFdBQVcsQ0FBQyxFQUFDLGFBQWEsRUFBd0M7SUFDdkUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCw4Q0FBOEM7QUFZOUMsTUFBTSxPQUFPLGtCQUFrQjtJQWtCM0IsWUFHYSxPQUVELEVBRVMsUUFBaUMsRUFDYixVQUFtQyxFQUd2RCxJQUErQixFQUl2QyxRQUFxQztRQVpyQyxZQUFPLEdBQVAsT0FBTyxDQUVSO1FBRVMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDYixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUd2RCxTQUFJLEdBQUosSUFBSSxDQUEyQjtRQUl2QyxhQUFRLEdBQVIsUUFBUSxDQUE2QjtRQTdCbEQsU0FBSSxHQUF5QixHQUFHLENBQUM7UUFLakMsU0FBSSxHQUFrQixRQUFRLENBQUM7UUFJL0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQXFCZCxDQUFDO0lBRUosSUFDSSxNQUFNO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7SUFDN0QsQ0FBQztJQUdELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVELG9GQUFvRjtJQUlwRixXQUFXLENBQUMsRUFBQyxhQUFhLEVBQXdDO1FBQzlELGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7Z0hBM0RRLGtCQUFrQixrQkFvQmYsa0JBQWtCLDZCQUlsQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsYUFFdEMsVUFBVSxhQUVWLGtCQUFrQiw2QkFJbEIsb0JBQW9CO29HQWhDdkIsa0JBQWtCLGllQy9DL0IsOFRBV0E7QUR3Q0k7SUFEQyxjQUFjLEVBQUU7Z0RBQ2dCO0FBS2pDO0lBREMsY0FBYyxFQUFFO2dEQUNjO0FBSS9CO0lBREMsY0FBYyxFQUFFO29EQUNBO0FBdUNqQjtJQUhDLFVBQVUsQ0FBQyxXQUFXLENBQUM7cURBS3ZCOzRGQXREUSxrQkFBa0I7a0JBWDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsaUJBQWlCLEVBQUUsa0JBQWtCO3FCQUN4QztpQkFDSjs7MEJBb0JRLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsa0JBQWtCOzswQkFJekIsTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7OzBCQUU3QyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFDUixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBRXpCLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsb0JBQW9COzRDQTVCaEMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPN0IsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBTXhCLFFBQVE7c0JBRlAsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBc0JGLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBTW5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQVdyQixXQUFXO3NCQUZWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN6QyxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUV2ZW50V2l0aCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aURhdGFMaXN0SG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgVFVJX09QVElPTl9DT05URU5UfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb25Sb2xlLCBUdWlTaXplTCwgVHVpU2l6ZVhTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0aW5rb2ZmL25nLWV2ZW50LXBsdWdpbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG4vLyBUT0RPOiBmaW5kIHRoZSBiZXN0IHdheSBmb3IgcHJldmVudCBjeWNsZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlEYXRhTGlzdENvbXBvbmVudH0gZnJvbSAnLi4vZGF0YS1saXN0LmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIHNob3VsZEZvY3VzKHtjdXJyZW50VGFyZ2V0fTogVHVpRXZlbnRXaXRoPE1vdXNlRXZlbnQsIEhUTUxFbGVtZW50Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdHVpSXNOYXRpdmVGb2N1c2VkKGN1cnJlbnRUYXJnZXQpO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciBhbGwgdXNlIGNhc2VzIGZvciBhcmlhIHJvbGVzXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYGJ1dHRvblt0dWlPcHRpb25dLCBhW3R1aU9wdGlvbl1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9vcHRpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vb3B0aW9uLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYkluZGV4OiBgLTFgLFxuICAgICAgICB0eXBlOiBgYnV0dG9uYCxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6IGBkaXNhYmxlZCB8fCBudWxsYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlPcHRpb25Db21wb25lbnQ8VCA9IHVua25vd24+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhTIHwgVHVpU2l6ZUwgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5yb2xlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvbGU6IFR1aU9wdGlvblJvbGUgPSBgb3B0aW9uYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICB2YWx1ZT86IFQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfT1BUSU9OX0NPTlRFTlQpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj5cbiAgICAgICAgPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBUdWlEYXRhTGlzdENvbXBvbmVudCkpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUxpc3Q6IFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEFfTElTVF9IT1NUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPiB8IG51bGwsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgZHJvcGRvd246IFR1aURyb3Bkb3duRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHt9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl93aXRoLWRyb3Bkb3duYClcbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duICYmICEhdGhpcy5kcm9wZG93bi5kcm9wZG93bkJveFJlZjtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBjbGlja2ApXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdC5oYW5kbGVPcHRpb24odGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IENvbnNpZGVyIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBmb3IgcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb25cbiAgICBAc2hvdWxkQ2FsbChzaG91bGRGb2N1cylcbiAgICBASG9zdExpc3RlbmVyKGBtb3VzZW1vdmUuaW5pdGAsIFtgJGV2ZW50YF0pXG4gICAgQEhvc3RMaXN0ZW5lcihgbW91c2Vtb3ZlLnNpbGVudGAsIFtgJGV2ZW50YF0pXG4gICAgb25Nb3VzZU1vdmUoe2N1cnJlbnRUYXJnZXR9OiBUdWlFdmVudFdpdGg8TW91c2VFdmVudCwgSFRNTEVsZW1lbnQ+KTogdm9pZCB7XG4gICAgICAgIGN1cnJlbnRUYXJnZXQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50aW5nIGZvY3VzIGxvc3MgdXBvbiBmb2N1c2VkIG9wdGlvbiByZW1vdmFsXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YUxpc3QuaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgfHwgYmFzZSBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBiYXNlfVwiPlxuICAgIHt7IHRleHQgfX1cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNiYXNlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8dHVpLXN2Z1xuICAgICAgICAqbmdJZj1cImRyb3Bkb3duXCJcbiAgICAgICAgc3JjPVwidHVpSWNvbkNoZXZyb25SaWdodFwiXG4gICAgICAgIGNsYXNzPVwidC1hcnJvd1wiXG4gICAgPjwvdHVpLXN2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L29wdGlvbi9vcHRpb24udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsY0FBYyxFQUVkLGtCQUFrQixHQUNyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHckQsNENBQTRDO0FBQzVDLDJDQUEyQztBQUMzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUU1RCxTQUFTLFdBQVcsQ0FBQyxFQUFDLGFBQWEsRUFBd0M7SUFDdkUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCw4Q0FBOEM7QUFZOUMsTUFBTSxPQUFPLGtCQUFrQjtJQW1CM0IsWUFHYSxPQUVELEVBRVMsUUFBaUMsRUFDYixVQUFtQyxFQUd2RCxJQUErQixFQUl2QyxRQUFxQztRQVpyQyxZQUFPLEdBQVAsT0FBTyxDQUVSO1FBRVMsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDYixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUd2RCxTQUFJLEdBQUosSUFBSSxDQUEyQjtRQUl2QyxhQUFRLEdBQVIsUUFBUSxDQUE2QjtRQWpDbEQsbUVBQW1FO1FBSW5FLFNBQUksR0FBZ0MsSUFBSSxDQUFDO1FBS3pDLFNBQUksR0FBa0IsUUFBUSxDQUFDO1FBSS9CLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFxQmQsQ0FBQztJQUVKLElBQ0ksTUFBTTtRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQzdELENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxvRkFBb0Y7SUFJcEYsV0FBVyxDQUFDLEVBQUMsYUFBYSxFQUF3QztRQUM5RCxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2dIQTVEUSxrQkFBa0Isa0JBcUJmLGtCQUFrQiw2QkFJbEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLGFBRXRDLFVBQVUsYUFFVixrQkFBa0IsNkJBSWxCLG9CQUFvQjtvR0FqQ3ZCLGtCQUFrQixpZUMvQy9CLDhUQVdBO0FEeUNJO0lBREMsY0FBYyxFQUFFO2dEQUN3QjtBQUt6QztJQURDLGNBQWMsRUFBRTtnREFDYztBQUkvQjtJQURDLGNBQWMsRUFBRTtvREFDQTtBQXVDakI7SUFIQyxVQUFVLENBQUMsV0FBVyxDQUFDO3FEQUt2Qjs0RkF2RFEsa0JBQWtCO2tCQVg5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNGLFFBQVEsRUFBRSxJQUFJO3dCQUNkLElBQUksRUFBRSxRQUFRO3dCQUNkLGlCQUFpQixFQUFFLGtCQUFrQjtxQkFDeEM7aUJBQ0o7OzBCQXFCUSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBSXpCLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOzswQkFFN0MsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLG9CQUFvQjs0Q0E1QmhDLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxXQUFXO2dCQU14QixRQUFRO3NCQUZQLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQXNCRixNQUFNO3NCQURULFdBQVc7dUJBQUMsc0JBQXNCO2dCQU1uQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFXckIsV0FBVztzQkFGVixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDekMsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlFdmVudFdpdGgsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIFRVSV9PUFRJT05fQ09OVEVOVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpT3B0aW9uUm9sZSwgVHVpU2l6ZUwsIFR1aVNpemVYU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtzaG91bGRDYWxsfSBmcm9tICdAdGlua29mZi9uZy1ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpRGF0YUxpc3RDb21wb25lbnR9IGZyb20gJy4uL2RhdGEtbGlzdC5jb21wb25lbnQnO1xuXG5mdW5jdGlvbiBzaG91bGRGb2N1cyh7Y3VycmVudFRhcmdldH06IFR1aUV2ZW50V2l0aDxNb3VzZUV2ZW50LCBIVE1MRWxlbWVudD4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXR1aUlzTmF0aXZlRm9jdXNlZChjdXJyZW50VGFyZ2V0KTtcbn1cblxuLy8gVE9ETzogQ29uc2lkZXIgYWxsIHVzZSBjYXNlcyBmb3IgYXJpYSByb2xlc1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGBidXR0b25bdHVpT3B0aW9uXSwgYVt0dWlPcHRpb25dYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vb3B0aW9uLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL29wdGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICB0YWJJbmRleDogYC0xYCxcbiAgICAgICAgdHlwZTogYGJ1dHRvbmAsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiBgZGlzYWJsZWQgfHwgbnVsbGAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT3B0aW9uQ29tcG9uZW50PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIEBkZXByZWNhdGVkIHVzZSBzaXplIG9uIHtAbGluayBUdWlEYXRhTGlzdENvbXBvbmVudH0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc2l6ZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplWFMgfCBUdWlTaXplTCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIucm9sZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByb2xlOiBUdWlPcHRpb25Sb2xlID0gYG9wdGlvbmA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU/OiBUO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX09QVElPTl9DT05URU5UKVxuICAgICAgICByZWFkb25seSBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+XG4gICAgICAgID4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gVHVpRGF0YUxpc3RDb21wb25lbnQpKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFMaXN0OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9EQVRBX0xJU1RfSE9TVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4gfCBudWxsLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGRyb3Bkb3duOiBUdWlEcm9wZG93bkRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fd2l0aC1kcm9wZG93bmApXG4gICAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93biAmJiAhIXRoaXMuZHJvcGRvd24uZHJvcGRvd25Cb3hSZWY7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgY2xpY2tgKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QgJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuaGFuZGxlT3B0aW9uKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQGJhZCBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG4gICAgQHNob3VsZENhbGwoc2hvdWxkRm9jdXMpXG4gICAgQEhvc3RMaXN0ZW5lcihgbW91c2Vtb3ZlLmluaXRgLCBbYCRldmVudGBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYG1vdXNlbW92ZS5zaWxlbnRgLCBbYCRldmVudGBdKVxuICAgIG9uTW91c2VNb3ZlKHtjdXJyZW50VGFyZ2V0fTogVHVpRXZlbnRXaXRoPE1vdXNlRXZlbnQsIEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICBjdXJyZW50VGFyZ2V0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgLy8gUHJldmVudGluZyBmb2N1cyBsb3NzIHVwb24gZm9jdXNlZCBvcHRpb24gcmVtb3ZhbFxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFMaXN0LmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IHx8IGJhc2UgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogYmFzZX1cIj5cbiAgICB7eyB0ZXh0IH19XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjYmFzZT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPHR1aS1zdmdcbiAgICAgICAgKm5nSWY9XCJkcm9wZG93blwiXG4gICAgICAgIHNyYz1cInR1aUljb25DaGV2cm9uUmlnaHRcIlxuICAgICAgICBjbGFzcz1cInQtYXJyb3dcIlxuICAgID48L3R1aS1zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -56,7 +56,7 @@ export class TuiDialogComponent {
56
56
  }
57
57
  }
58
58
  TuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDialogComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_IS_MOBILE }, { token: POLYMORPHEUS_CONTEXT }, { token: TUI_DIALOG_CLOSE_STREAM }, { token: TUI_CLOSE_WORD }], target: i0.ɵɵFactoryTarget.Component });
59
- TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: TUI_DIALOG_PROVIDERS, ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n {{ text }}\n <div class=\"t-buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:\"\";border-radius:inherit;pointer-events:none}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100%;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]) .t-close{animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
59
+ TuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDialogComponent, selector: "tui-dialog", host: { properties: { "attr.data-size": "this.size", "class._centered": "this.header", "@tuiSlideInTop": "this.slideInTop", "@tuiFadeIn": "this.slideInTop" } }, providers: TUI_DIALOG_PROVIDERS, ngImport: i0, template: "<header\n *ngIf=\"header\"\n class=\"t-header\"\n>\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n</header>\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.content) as text; context: context\">\n {{ text }}\n <div class=\"t-buttons\">\n <button\n tuiButton\n size=\"m\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ $any(context.data)?.button || 'OK' }}\n </button>\n </div>\n </ng-container>\n </section>\n</div>\n<div\n *ngIf=\"context.closeable\"\n class=\"t-wrapper\"\n>\n <button\n tuiIconButton\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-dialog__close\"\n size=\"s\"\n appearance=\"\"\n icon=\"tuiIconCloseLarge\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close()\"\n ></button>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:2.5rem solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:\"\";border-radius:inherit;pointer-events:none}:host[data-size=auto]{width:auto}:host[data-size=s]{width:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}:host[data-size=m]{width:42.5rem}:host[data-size=m] .t-heading{margin-bottom:.75rem;font:var(--tui-font-heading-4)}:host[data-size=l]{width:55rem}:host[data-size=l] .t-heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100%;min-height:100%;border-radius:0;border:none;background:var(--tui-elevation-01);box-shadow:0 4rem var(--tui-elevation-01)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{margin-bottom:1rem}:host[data-size=page] .t-content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100%;width:100%;max-width:100%;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1.5rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{margin-bottom:.5rem;font:var(--tui-font-heading-5)}.t-heading{margin:0;word-wrap:break-word;font:var(--tui-font-heading-3)}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.t-close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=\"fullscreen\"]) .t-close{animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=\"fullscreen\"]).ng-animating .t-close{display:none}:host-context(tui-root._mobile) .t-close{position:absolute;top:0;right:0;background:transparent;color:var(--tui-base-06)}:host-context(tui-root._mobile) .t-close:hover{color:var(--tui-base-07)}.t-buttons{margin-top:1.25rem;text-align:right}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "async": i2.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.Default });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDialogComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
3
- import { tuiAsFocusableItemAccessor, tuiDefaultProp, tuiGetClosestFocusable, tuiIsElement, tuiIsElementEditable, tuiIsHTMLElement, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, } from '@taiga-ui/cdk';
3
+ import { TuiActiveZoneDirective, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiGetClosestFocusable, tuiIsElement, tuiIsElementEditable, tuiIsHTMLElement, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, } from '@taiga-ui/cdk';
4
4
  import { TuiDropdownDirective, TuiDropdownHoverDirective, } from '@taiga-ui/core/directives/dropdown';
5
5
  import { tuiIsEditingKey } from '@taiga-ui/core/utils/miscellaneous';
6
6
  import { BehaviorSubject, combineLatest, EMPTY } from 'rxjs';
@@ -18,6 +18,7 @@ export class TuiHostedDropdownComponent {
18
18
  this.elementRef = elementRef;
19
19
  this.manual$ = new BehaviorSubject(false);
20
20
  this.content = ``;
21
+ this.sided = false;
21
22
  this.canOpen = true;
22
23
  this.openChange = new EventEmitter();
23
24
  this.focusedChange = new EventEmitter();
@@ -25,6 +26,7 @@ export class TuiHostedDropdownComponent {
25
26
  this.manual$,
26
27
  (this.hover$ || EMPTY).pipe(startWith(false)),
27
28
  ]).pipe(map(([manual, hover]) => manual || hover));
29
+ this.close = () => this.updateOpen(false);
28
30
  }
29
31
  set open(open) {
30
32
  this.manual$.next(open);
@@ -159,10 +161,13 @@ export class TuiHostedDropdownComponent {
159
161
  }
160
162
  }
161
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 });
162
- TuiHostedDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: { content: "content", 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 }], ngImport: i0, template: "<div\n *tuiLet=\"!!(open$ | async) as isOpen\"\n #activeZone=\"tuiActiveZone\"\n class=\"t-wrapper\"\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 *polymorpheusOutlet=\"content as text; context: {$implicit: activeZone}\">\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.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { 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"] }, { type: i2.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i2.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i2.TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: ["tuiDropdownHost"] }, { type: i2.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i1.TuiObscuredDirective, selector: "[tuiObscured]", inputs: ["tuiObscuredEnabled"], outputs: ["tuiObscured"] }, { type: i1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
163
165
  __decorate([
164
166
  tuiDefaultProp()
165
167
  ], TuiHostedDropdownComponent.prototype, "content", void 0);
168
+ __decorate([
169
+ tuiDefaultProp()
170
+ ], TuiHostedDropdownComponent.prototype, "sided", void 0);
166
171
  __decorate([
167
172
  tuiDefaultProp()
168
173
  ], TuiHostedDropdownComponent.prototype, "canOpen", void 0);
@@ -195,16 +200,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
195
200
  }], dropdownDirective: [{
196
201
  type: ViewChild,
197
202
  args: [TuiDropdownDirective]
203
+ }], activeZone: [{
204
+ type: ViewChild,
205
+ args: [TuiActiveZoneDirective]
198
206
  }], content: [{
199
207
  type: Input
200
- }], canOpen: [{
208
+ }], sided: [{
201
209
  type: Input
202
- }], open: [{
210
+ }], canOpen: [{
203
211
  type: Input
204
212
  }], openChange: [{
205
213
  type: Output
206
214
  }], focusedChange: [{
207
215
  type: Output
216
+ }], open: [{
217
+ type: Input
208
218
  }], focused: [{
209
219
  type: HostBinding,
210
220
  args: [`class._hosted_dropdown_focused`]
@@ -224,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
224
234
  type: HostListener,
225
235
  args: [`keydown.arrowUp`, [`$event`, `false`]]
226
236
  }] } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsMEJBQTBCLEVBRTFCLGNBQWMsRUFFZCxzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLDRCQUE0QixHQUUvQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUM1QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7OztBQVMxRixNQUFNLE9BQU8sMEJBQTBCO0lBdUNuQyxZQUdxQixNQUFrQyxFQUNkLFVBQXNCO1FBRDFDLFdBQU0sR0FBTixNQUFN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QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBSXZCLGlCQUFpQjtzQkFEakMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBTy9CLE9BQU87c0JBRk4sS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBTUYsSUFBSTtzQkFGUCxLQUFLO2dCQU9HLFVBQVU7c0JBRGxCLE1BQU07Z0JBSUUsYUFBYTtzQkFEckIsTUFBTTtnQkErQ0gsT0FBTztzQkFEVixXQUFXO3VCQUFDLGdDQUFnQztnQkFXN0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFRMUMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFReEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZdkMsT0FBTztzQkFGTixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzs7c0JBQ3BELFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNFbGVtZW50RWRpdGFibGUsXG4gICAgdHVpSXNIVE1MRWxlbWVudCxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbixcbiAgICB0dWlJc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7dHVpSXNFZGl0aW5nS2V5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSG9zdGVkRHJvcGRvd25Db25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vaG9zdGVkLWRyb3Bkb3duLWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1ob3N0ZWQtZHJvcGRvd25gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9ob3N0ZWQtZHJvcGRvd24udGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaG9zdGVkLWRyb3Bkb3duLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbm5lY3RvckRpcmVjdGl2ZSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25Ib3N0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKGB3cmFwcGVyYCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlEcm9wZG93bkRpcmVjdGl2ZSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duRGlyZWN0aXZlPzogVHVpRHJvcGRvd25EaXJlY3RpdmU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hbnVhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT4+ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FuT3BlbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IG9wZW4ob3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1hbnVhbCQubmV4dChvcGVuKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZm9jdXNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IGNvbnRleHQhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgcmVhZG9ubHkgb3BlbiQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5tYW51YWwkLFxuICAgICAgICAodGhpcy5ob3ZlciQgfHwgRU1QVFkpLnBpcGUoc3RhcnRXaXRoKGZhbHNlKSksXG4gICAgXSkucGlwZShtYXAoKFttYW51YWwsIGhvdmVyXSkgPT4gbWFudWFsIHx8IGhvdmVyKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyJDogT2JzZXJ2YWJsZTxib29sZWFuPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICkge31cblxuICAgIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW51YWwkLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Ib3N0Py5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkhvc3Q/Lm5hdGl2ZUVsZW1lbnQgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZHJvcGRvd24oKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkRpcmVjdGl2ZT8uZHJvcGRvd25Cb3hSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSh0aGlzLmhvc3QpXG4gICAgICAgICAgICA/IHRoaXMuaG9zdFxuICAgICAgICAgICAgOiB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtcbiAgICAgICAgICAgICAgICAgIGluaXRpYWw6IHRoaXMuaG9zdCxcbiAgICAgICAgICAgICAgICAgIHJvb3Q6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9ob3N0ZWRfZHJvcGRvd25fZm9jdXNlZGApXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmhvc3QpIHx8XG4gICAgICAgICAgICAodGhpcy5vcGVuICYmXG4gICAgICAgICAgICAgICAgISF0aGlzLndyYXBwZXIgJiZcbiAgICAgICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgZm9jdXNpbmAsIFtgJGV2ZW50LnRhcmdldGBdKVxuICAgIG9uRm9jdXNJbih0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEhvc3QuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ob3N0RWRpdGFibGUgJiYgdGhpcy5jb21wdXRlZEhvc3QuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5lc2NgLCBbYCRldmVudGBdKVxuICAgIG9uS2V5RG93bkVzYyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhbk9wZW4gfHwgIXRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dEb3duYCwgW2AkZXZlbnRgLCBgdHJ1ZWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dVcGAsIFtgJGV2ZW50YCwgYGZhbHNlYF0pXG4gICAgb25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgZG93bjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzRHJvcGRvd24oZXZlbnQsIGRvd24pO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bih7a2V5LCB0YXJnZXQsIGRlZmF1bHRQcmV2ZW50ZWR9OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFkZWZhdWx0UHJldmVudGVkICYmXG4gICAgICAgICAgICB0dWlJc0VkaXRpbmdLZXkoa2V5KSAmJlxuICAgICAgICAgICAgdGhpcy5ob3N0RWRpdGFibGUgJiZcbiAgICAgICAgICAgIHR1aUlzSFRNTEVsZW1lbnQodGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudEVkaXRhYmxlKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG9zdE9ic2N1cmVkKG9ic2N1cmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvYnNjdXJlZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgIXRoaXMuY2FuT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNFbGVtZW50RWRpdGFibGUodGhpcy5jb21wdXRlZEhvc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZmlyc3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaG9zdCB8fFxuICAgICAgICAgICAgIXR1aUlzSFRNTEVsZW1lbnQoaG9zdCkgfHxcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIWhvc3QuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndyYXBwZXIgfHxcbiAgICAgICAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICAgICAgICF0aGlzLmRyb3Bkb3duIHx8XG4gICAgICAgICAgICAhdHVpSXNIVE1MRWxlbWVudCh0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoIXR1aUlzRWxlbWVudEVkaXRhYmxlKGhvc3QpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IGZpcnN0XG4gICAgICAgICAgICA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICBpbml0aWFsLFxuICAgICAgICAgICAgcm9vdDogdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91czogIWZpcnN0LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWZvY3VzYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSG9zdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoaG9zdCkge1xuICAgICAgICAgICAgaG9zdC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkQ2hhbmdlLmVtaXQoZm9jdXNlZCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICp0dWlMZXQ9XCIhIShvcGVuJCB8IGFzeW5jKSBhcyBpc09wZW5cIlxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlEcm9wZG93bkhvc3RdPVwiaG9zdFwiXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duXCJcbiAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwiaXNPcGVuICYmIGNhbk9wZW5cIlxuICAgIFt0dWlPYnNjdXJlZEVuYWJsZWRdPVwiaXNPcGVuXCJcbiAgICAodHVpT2JzY3VyZWQpPVwib25Ib3N0T2JzY3VyZWQoJGV2ZW50KVwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgI2Ryb3Bkb3duPVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgW3BvbHltb3JwaGV1c109XCJjb250ZXh0XCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN3cmFwcGVyXG4gICAgICAgICAgICAoa2V5ZG93bi5lc2MpPVwib25LZXlEb3duRXNjKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGl2ZVpvbmV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tVGhpcyBESVYgaXMgaGVyZSB0byBzdGFydCBiYWNrd2FyZHMgVHJlZVdhbGtlciBmb3IgZm9jdXNpbmcgbGFzdCBmb2N1c2FibGUgaXRlbSBvbiBBcnJvd1VwLS0+XG4gICAgICAgIDxkaXY+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9ob3N0ZWQtZHJvcGRvd24vaG9zdGVkLWRyb3Bkb3duLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUUxQixjQUFjLEVBRWQsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiw0QkFBNEIsR0FFL0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQix5QkFBeUIsR0FDNUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFjMUYsTUFBTSxPQUFPLDBCQUEwQjtJQXdDbkMsWUFHcUIsTUFBa0MsRUFDZCxVQUFzQjtRQUQxQyxX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MEJBMENRLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsTUFBTTsyQkFBQyxVQUFVOzRDQTFDTCxZQUFZO3NCQUQ1QixZQUFZO3VCQUFDLG1DQUFtQyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFJcEQsT0FBTztzQkFEdkIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQUl2QixpQkFBaUI7c0JBRGpDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQU10QixVQUFVO3NCQURsQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFLakMsT0FBTztzQkFGTixLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBS0csVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxhQUFhO3NCQURyQixNQUFNO2dCQW1CSCxJQUFJO3NCQUZQLEtBQUs7Z0JBb0NGLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBVzdDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBUTFDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBUXhDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXZDLE9BQU87c0JBRk4sWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7O3NCQUNwRCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudEVkaXRhYmxlLFxuICAgIHR1aUlzSFRNTEVsZW1lbnQsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSxcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25Ib3ZlckRpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge3R1aUlzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgRU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhvc3RlZERyb3Bkb3duQ29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2hvc3RlZC1kcm9wZG93bi1jb25uZWN0b3IuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlIb3N0ZWREcm9wZG93bkNvbnRleHRcbiAgICBleHRlbmRzIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT4ge1xuICAgIGNsb3NlKCk6IHZvaWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWhvc3RlZC1kcm9wZG93bmAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2hvc3RlZC1kcm9wZG93bi50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9ob3N0ZWQtZHJvcGRvd24uc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHtcbiAgICBAQ29udGVudENoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29ubmVjdG9yRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYHdyYXBwZXJgLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3cmFwcGVyPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aURyb3Bkb3duRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25EaXJlY3RpdmU/OiBUdWlEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFudWFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgQFZpZXdDaGlsZChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGFjdGl2ZVpvbmUhOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpSG9zdGVkRHJvcGRvd25Db250ZXh0PiA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpZGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FuT3BlbiA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZm9jdXNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHJlYWRvbmx5IGNvbnRleHQhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgcmVhZG9ubHkgb3BlbiQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5tYW51YWwkLFxuICAgICAgICAodGhpcy5ob3ZlciQgfHwgRU1QVFkpLnBpcGUoc3RhcnRXaXRoKGZhbHNlKSksXG4gICAgXSkucGlwZShtYXAoKFttYW51YWwsIGhvdmVyXSkgPT4gbWFudWFsIHx8IGhvdmVyKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlEcm9wZG93bkhvdmVyRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyJDogT2JzZXJ2YWJsZTxib29sZWFuPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgb3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubWFudWFsJC5uZXh0KG9wZW4pO1xuICAgIH1cblxuICAgIGdldCBvcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYW51YWwkLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Ib3N0Py5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkhvc3Q/Lm5hdGl2ZUVsZW1lbnQgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZHJvcGRvd24oKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkRpcmVjdGl2ZT8uZHJvcGRvd25Cb3hSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSh0aGlzLmhvc3QpXG4gICAgICAgICAgICA/IHRoaXMuaG9zdFxuICAgICAgICAgICAgOiB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtcbiAgICAgICAgICAgICAgICAgIGluaXRpYWw6IHRoaXMuaG9zdCxcbiAgICAgICAgICAgICAgICAgIHJvb3Q6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9ob3N0ZWRfZHJvcGRvd25fZm9jdXNlZGApXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmhvc3QpIHx8XG4gICAgICAgICAgICAodGhpcy5vcGVuICYmXG4gICAgICAgICAgICAgICAgISF0aGlzLndyYXBwZXIgJiZcbiAgICAgICAgICAgICAgICB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgZm9jdXNpbmAsIFtgJGV2ZW50LnRhcmdldGBdKVxuICAgIG9uRm9jdXNJbih0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEhvc3QuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYCwgW2AkZXZlbnQudGFyZ2V0YF0pXG4gICAgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ob3N0RWRpdGFibGUgJiYgdGhpcy5jb21wdXRlZEhvc3QuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5lc2NgLCBbYCRldmVudGBdKVxuICAgIG9uS2V5RG93bkVzYyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhbk9wZW4gfHwgIXRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dEb3duYCwgW2AkZXZlbnRgLCBgdHJ1ZWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dVcGAsIFtgJGV2ZW50YCwgYGZhbHNlYF0pXG4gICAgb25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgZG93bjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzRHJvcGRvd24oZXZlbnQsIGRvd24pO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bih7a2V5LCB0YXJnZXQsIGRlZmF1bHRQcmV2ZW50ZWR9OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFkZWZhdWx0UHJldmVudGVkICYmXG4gICAgICAgICAgICB0dWlJc0VkaXRpbmdLZXkoa2V5KSAmJlxuICAgICAgICAgICAgdGhpcy5ob3N0RWRpdGFibGUgJiZcbiAgICAgICAgICAgIHR1aUlzSFRNTEVsZW1lbnQodGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudEVkaXRhYmxlKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcblxuICAgICAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG9zdE9ic2N1cmVkKG9ic2N1cmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvYnNjdXJlZCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKG9wZW4gJiYgIXRoaXMuY2FuT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgY2xvc2UgPSAoKTogdm9pZCA9PiB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNFbGVtZW50RWRpdGFibGUodGhpcy5jb21wdXRlZEhvc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZmlyc3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaG9zdCB8fFxuICAgICAgICAgICAgIXR1aUlzSFRNTEVsZW1lbnQoaG9zdCkgfHxcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIWhvc3QuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLndyYXBwZXIgfHxcbiAgICAgICAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICAgICAgICF0aGlzLmRyb3Bkb3duIHx8XG4gICAgICAgICAgICAhdHVpSXNIVE1MRWxlbWVudCh0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoIXR1aUlzRWxlbWVudEVkaXRhYmxlKGhvc3QpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbCA9IGZpcnN0XG4gICAgICAgICAgICA/IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICA6IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICBpbml0aWFsLFxuICAgICAgICAgICAgcm9vdDogdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBwcmV2aW91czogIWZpcnN0LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWZvY3VzYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzSG9zdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSG9zdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoaG9zdCkge1xuICAgICAgICAgICAgaG9zdC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkQ2hhbmdlLmVtaXQoZm9jdXNlZCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICp0dWlMZXQ9XCIhIShvcGVuJCB8IGFzeW5jKSBhcyBpc09wZW5cIlxuICAgICNhY3RpdmVab25lPVwidHVpQWN0aXZlWm9uZVwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlEcm9wZG93blNpZGVkXT1cInNpZGVkXCJcbiAgICBbdHVpRHJvcGRvd25Ib3N0XT1cImhvc3RcIlxuICAgIFt0dWlEcm9wZG93bl09XCJkcm9wZG93blwiXG4gICAgW3R1aURyb3Bkb3duTWFudWFsXT1cImlzT3BlbiAmJiBjYW5PcGVuXCJcbiAgICBbdHVpT2JzY3VyZWRFbmFibGVkXT1cImlzT3BlblwiXG4gICAgKHR1aU9ic2N1cmVkKT1cIm9uSG9zdE9ic2N1cmVkKCRldmVudClcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNkcm9wZG93bj1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgIFtwb2x5bW9ycGhldXNdPVwiY29udGV4dFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjd3JhcHBlclxuICAgICAgICAgICAgKGtleWRvd24uZXNjKT1cIm9uS2V5RG93bkVzYygkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCBhcyB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGFjdGl2ZVpvbmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9zZTogY2xvc2VcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tVGhpcyBESVYgaXMgaGVyZSB0byBzdGFydCBiYWNrd2FyZHMgVHJlZVdhbGtlciBmb3IgZm9jdXNpbmcgbGFzdCBmb2N1c2FibGUgaXRlbSBvbiBBcnJvd1VwLS0+XG4gICAgICAgIDxkaXY+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19